@wengine-ai/llms 2.3.16 → 2.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,312 +1,312 @@
1
- var eC=Object.create;var Ys=Object.defineProperty;var tC=Object.getOwnPropertyDescriptor;var nC=Object.getOwnPropertyNames;var rC=Object.getPrototypeOf,oC=Object.prototype.hasOwnProperty;var re=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var X=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Bu=(t,e)=>{for(var n in e)Ys(t,n,{get:e[n],enumerable:!0})},wh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of nC(e))!oC.call(t,o)&&o!==n&&Ys(t,o,{get:()=>e[o],enumerable:!(r=tC(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?eC(rC(t)):{},wh(e||!t||!t.__esModule?Ys(n,"default",{value:t,enumerable:!0}):n,t)),sC=t=>wh(Ys({},"__esModule",{value:!0}),t);var Eh=X((ZR,Qs)=>{Qs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Qs.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Qs.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Lu=X((ex,kh)=>{var Mu=Eh();kh.exports={isSpaceSeparator(t){return typeof t=="string"&&Mu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Mu.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Mu.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var Dh=X((tx,Th)=>{var We=Lu(),Uu,ot,Cn,Zs,jn,Lt,Ge,zu,Po;Th.exports=function(e,n){Uu=String(e),ot="start",Cn=[],Zs=0,jn=1,Lt=0,Ge=void 0,zu=void 0,Po=void 0;do Ge=iC(),cC[ot]();while(Ge.type!=="eof");return typeof n=="function"?$u({"":Po},"",n):Po};function $u(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),a=$u(r,s,n);a===void 0?delete r[s]:Object.defineProperty(r,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=$u(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var be,ye,Oo,bn,Ee;function iC(){for(be="default",ye="",Oo=!1,bn=1;;){Ee=wn();let t=Sh[be]();if(t)return t}}function wn(){if(Uu[Zs])return String.fromCodePoint(Uu.codePointAt(Zs))}function W(){let t=wn();return t===`
2
- `?(jn++,Lt=0):t?Lt+=t.length:Lt++,t&&(Zs+=t.length),t}var Sh={default(){switch(Ee){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
- `:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),be="comment";return;case void 0:return W(),Ne("eof")}if(We.isSpaceSeparator(Ee)){W();return}return Sh[ot]()},comment(){switch(Ee){case"*":W(),be="multiLineComment";return;case"/":W(),be="singleLineComment";return}throw Be(W())},multiLineComment(){switch(Ee){case"*":W(),be="multiLineCommentAsterisk";return;case void 0:throw Be(W())}W()},multiLineCommentAsterisk(){switch(Ee){case"*":W();return;case"/":W(),be="default";return;case void 0:throw Be(W())}W(),be="multiLineComment"},singleLineComment(){switch(Ee){case`
4
- `:case"\r":case"\u2028":case"\u2029":W(),be="default";return;case void 0:return W(),Ne("eof")}W()},value(){switch(Ee){case"{":case"[":return Ne("punctuator",W());case"n":return W(),ar("ull"),Ne("null",null);case"t":return W(),ar("rue"),Ne("boolean",!0);case"f":return W(),ar("alse"),Ne("boolean",!1);case"-":case"+":W()==="-"&&(bn=-1),be="sign";return;case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",1/0);case"N":return W(),ar("aN"),Ne("numeric",NaN);case'"':case"'":Oo=W()==='"',ye="",be="string";return}throw Be(W())},identifierNameStartEscape(){if(Ee!=="u")throw Be(W());W();let t=qu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw Ah();break}ye+=t,be="identifierName"},identifierName(){switch(Ee){case"$":case"_":case"\u200C":case"\u200D":ye+=W();return;case"\\":W(),be="identifierNameEscape";return}if(We.isIdContinueChar(Ee)){ye+=W();return}return Ne("identifier",ye)},identifierNameEscape(){if(Ee!=="u")throw Be(W());W();let t=qu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!We.isIdContinueChar(t))throw Ah();break}ye+=t,be="identifierName"},sign(){switch(Ee){case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",bn*(1/0));case"N":return W(),ar("aN"),Ne("numeric",NaN)}throw Be(W())},zero(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return;case"x":case"X":ye+=W(),be="hexadecimal";return}return Ne("numeric",bn*0)},decimalInteger(){switch(Ee){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalPointLeading(){if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}throw Be(W())},decimalPoint(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W(),be="decimalFraction";return}return Ne("numeric",bn*Number(ye))},decimalFraction(){switch(Ee){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalExponent(){switch(Ee){case"+":case"-":ye+=W(),be="decimalExponentSign";return}if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentSign(){if(We.isDigit(Ee)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentInteger(){if(We.isDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},hexadecimal(){if(We.isHexDigit(Ee)){ye+=W(),be="hexadecimalInteger";return}throw Be(W())},hexadecimalInteger(){if(We.isHexDigit(Ee)){ye+=W();return}return Ne("numeric",bn*Number(ye))},string(){switch(Ee){case"\\":W(),ye+=aC();return;case'"':if(Oo)return W(),Ne("string",ye);ye+=W();return;case"'":if(!Oo)return W(),Ne("string",ye);ye+=W();return;case`
5
- `:case"\r":throw Be(W());case"\u2028":case"\u2029":lC(Ee);break;case void 0:throw Be(W())}ye+=W()},start(){switch(Ee){case"{":case"[":return Ne("punctuator",W())}be="value"},beforePropertyName(){switch(Ee){case"$":case"_":ye=W(),be="identifierName";return;case"\\":W(),be="identifierNameStartEscape";return;case"}":return Ne("punctuator",W());case'"':case"'":Oo=W()==='"',be="string";return}if(We.isIdStartChar(Ee)){ye+=W(),be="identifierName";return}throw Be(W())},afterPropertyName(){if(Ee===":")return Ne("punctuator",W());throw Be(W())},beforePropertyValue(){be="value"},afterPropertyValue(){switch(Ee){case",":case"}":return Ne("punctuator",W())}throw Be(W())},beforeArrayValue(){if(Ee==="]")return Ne("punctuator",W());be="value"},afterArrayValue(){switch(Ee){case",":case"]":return Ne("punctuator",W())}throw Be(W())},end(){throw Be(W())}};function Ne(t,e){return{type:t,value:e,line:jn,column:Lt}}function ar(t){for(let e of t){if(wn()!==e)throw Be(W());W()}}function aC(){switch(wn()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
6
- `;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),We.isDigit(wn()))throw Be(W());return"\0";case"x":return W(),uC();case"u":return W(),qu();case`
1
+ var nC=Object.create;var Qs=Object.defineProperty;var rC=Object.getOwnPropertyDescriptor;var oC=Object.getOwnPropertyNames;var sC=Object.getPrototypeOf,iC=Object.prototype.hasOwnProperty;var re=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Le=(t,e)=>()=>(t&&(e=t(t=0)),e);var X=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Mu=(t,e)=>{for(var n in e)Qs(t,n,{get:e[n],enumerable:!0})},kh=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of oC(e))!iC.call(t,o)&&o!==n&&Qs(t,o,{get:()=>e[o],enumerable:!(r=rC(e,o))||r.enumerable});return t};var Ln=(t,e,n)=>(n=t!=null?nC(sC(t)):{},kh(e||!t||!t.__esModule?Qs(n,"default",{value:t,enumerable:!0}):n,t)),aC=t=>kh(Qs({},"__esModule",{value:!0}),t);var Ah=X((tx,Xs)=>{Xs.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Xs.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Xs.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var ju=X((nx,Sh)=>{var Lu=Ah();Sh.exports={isSpaceSeparator(t){return typeof t=="string"&&Lu.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Lu.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Lu.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var xh=X((rx,Rh)=>{var We=ju(),$u,ot,Cn,ei,jn,Lt,Ge,Hu,Fo;Rh.exports=function(e,n){$u=String(e),ot="start",Cn=[],ei=0,jn=1,Lt=0,Ge=void 0,Hu=void 0,Fo=void 0;do Ge=uC(),dC[ot]();while(Ge.type!=="eof");return typeof n=="function"?qu({"":Fo},"",n):Fo};function qu(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),a=qu(r,s,n);a===void 0?delete r[s]:Object.defineProperty(r,s,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=qu(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var be,ye,Po,bn,ke;function uC(){for(be="default",ye="",Po=!1,bn=1;;){ke=wn();let t=Th[be]();if(t)return t}}function wn(){if($u[ei])return String.fromCodePoint($u.codePointAt(ei))}function W(){let t=wn();return t===`
2
+ `?(jn++,Lt=0):t?Lt+=t.length:Lt++,t&&(ei+=t.length),t}var Th={default(){switch(ke){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
3
+ `:case"\r":case"\u2028":case"\u2029":W();return;case"/":W(),be="comment";return;case void 0:return W(),Ne("eof")}if(We.isSpaceSeparator(ke)){W();return}return Th[ot]()},comment(){switch(ke){case"*":W(),be="multiLineComment";return;case"/":W(),be="singleLineComment";return}throw Be(W())},multiLineComment(){switch(ke){case"*":W(),be="multiLineCommentAsterisk";return;case void 0:throw Be(W())}W()},multiLineCommentAsterisk(){switch(ke){case"*":W();return;case"/":W(),be="default";return;case void 0:throw Be(W())}W(),be="multiLineComment"},singleLineComment(){switch(ke){case`
4
+ `:case"\r":case"\u2028":case"\u2029":W(),be="default";return;case void 0:return W(),Ne("eof")}W()},value(){switch(ke){case"{":case"[":return Ne("punctuator",W());case"n":return W(),ar("ull"),Ne("null",null);case"t":return W(),ar("rue"),Ne("boolean",!0);case"f":return W(),ar("alse"),Ne("boolean",!1);case"-":case"+":W()==="-"&&(bn=-1),be="sign";return;case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",1/0);case"N":return W(),ar("aN"),Ne("numeric",NaN);case'"':case"'":Po=W()==='"',ye="",be="string";return}throw Be(W())},identifierNameStartEscape(){if(ke!=="u")throw Be(W());W();let t=zu();switch(t){case"$":case"_":break;default:if(!We.isIdStartChar(t))throw vh();break}ye+=t,be="identifierName"},identifierName(){switch(ke){case"$":case"_":case"\u200C":case"\u200D":ye+=W();return;case"\\":W(),be="identifierNameEscape";return}if(We.isIdContinueChar(ke)){ye+=W();return}return Ne("identifier",ye)},identifierNameEscape(){if(ke!=="u")throw Be(W());W();let t=zu();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!We.isIdContinueChar(t))throw vh();break}ye+=t,be="identifierName"},sign(){switch(ke){case".":ye=W(),be="decimalPointLeading";return;case"0":ye=W(),be="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":ye=W(),be="decimalInteger";return;case"I":return W(),ar("nfinity"),Ne("numeric",bn*(1/0));case"N":return W(),ar("aN"),Ne("numeric",NaN)}throw Be(W())},zero(){switch(ke){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return;case"x":case"X":ye+=W(),be="hexadecimal";return}return Ne("numeric",bn*0)},decimalInteger(){switch(ke){case".":ye+=W(),be="decimalPoint";return;case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalPointLeading(){if(We.isDigit(ke)){ye+=W(),be="decimalFraction";return}throw Be(W())},decimalPoint(){switch(ke){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=W(),be="decimalFraction";return}return Ne("numeric",bn*Number(ye))},decimalFraction(){switch(ke){case"e":case"E":ye+=W(),be="decimalExponent";return}if(We.isDigit(ke)){ye+=W();return}return Ne("numeric",bn*Number(ye))},decimalExponent(){switch(ke){case"+":case"-":ye+=W(),be="decimalExponentSign";return}if(We.isDigit(ke)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentSign(){if(We.isDigit(ke)){ye+=W(),be="decimalExponentInteger";return}throw Be(W())},decimalExponentInteger(){if(We.isDigit(ke)){ye+=W();return}return Ne("numeric",bn*Number(ye))},hexadecimal(){if(We.isHexDigit(ke)){ye+=W(),be="hexadecimalInteger";return}throw Be(W())},hexadecimalInteger(){if(We.isHexDigit(ke)){ye+=W();return}return Ne("numeric",bn*Number(ye))},string(){switch(ke){case"\\":W(),ye+=cC();return;case'"':if(Po)return W(),Ne("string",ye);ye+=W();return;case"'":if(!Po)return W(),Ne("string",ye);ye+=W();return;case`
5
+ `:case"\r":throw Be(W());case"\u2028":case"\u2029":fC(ke);break;case void 0:throw Be(W())}ye+=W()},start(){switch(ke){case"{":case"[":return Ne("punctuator",W())}be="value"},beforePropertyName(){switch(ke){case"$":case"_":ye=W(),be="identifierName";return;case"\\":W(),be="identifierNameStartEscape";return;case"}":return Ne("punctuator",W());case'"':case"'":Po=W()==='"',be="string";return}if(We.isIdStartChar(ke)){ye+=W(),be="identifierName";return}throw Be(W())},afterPropertyName(){if(ke===":")return Ne("punctuator",W());throw Be(W())},beforePropertyValue(){be="value"},afterPropertyValue(){switch(ke){case",":case"}":return Ne("punctuator",W())}throw Be(W())},beforeArrayValue(){if(ke==="]")return Ne("punctuator",W());be="value"},afterArrayValue(){switch(ke){case",":case"]":return Ne("punctuator",W())}throw Be(W())},end(){throw Be(W())}};function Ne(t,e){return{type:t,value:e,line:jn,column:Lt}}function ar(t){for(let e of t){if(wn()!==e)throw Be(W());W()}}function cC(){switch(wn()){case"b":return W(),"\b";case"f":return W(),"\f";case"n":return W(),`
6
+ `;case"r":return W(),"\r";case"t":return W()," ";case"v":return W(),"\v";case"0":if(W(),We.isDigit(wn()))throw Be(W());return"\0";case"x":return W(),lC();case"u":return W(),zu();case`
7
7
  `:case"\u2028":case"\u2029":return W(),"";case"\r":return W(),wn()===`
8
- `&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(W());case void 0:throw Be(W())}return W()}function uC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=W(),e=wn(),!We.isHexDigit(e)))throw Be(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function qu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Be(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var cC={start(){if(Ge.type==="eof")throw ur();ju()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":zu=Ge.value,ot="afterPropertyName";return;case"punctuator":Xs();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();ju()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Xs();return}ju()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Xs()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Xs()}},end(){}};function ju(){let t;switch(Ge.type){case"punctuator":switch(Ge.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Ge.value;break}if(Po===void 0)Po=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,zu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cn.push(t),Array.isArray(t)?ot="beforeArrayValue":ot="beforePropertyName";else{let e=Cn[Cn.length-1];e==null?ot="end":Array.isArray(e)?ot="afterArrayValue":ot="afterPropertyValue"}}function Xs(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Be(t){return ei(t===void 0?`JSON5: invalid end of input at ${jn}:${Lt}`:`JSON5: invalid character '${vh(t)}' at ${jn}:${Lt}`)}function ur(){return ei(`JSON5: invalid end of input at ${jn}:${Lt}`)}function Ah(){return Lt-=5,ei(`JSON5: invalid identifier character at ${jn}:${Lt}`)}function lC(t){console.warn(`JSON5: '${vh(t)}' in strings is not valid ECMAScript; consider escaping`)}function vh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function ei(t){let e=new SyntaxError(t);return e.lineNumber=jn,e.columnNumber=Lt,e}});var xh=X((nx,Rh)=>{var Hu=Lu();Rh.exports=function(e,n,r){let o=[],s="",a,u,l="",d;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,d=n.quote,n=n.replacer),typeof n=="function")u=n;else if(Array.isArray(n)){a=[];for(let y of n){let g;typeof y=="string"?g=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(g=String(y)),g!==void 0&&a.indexOf(g)<0&&a.push(g)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),l=" ".substr(0,r)):typeof r=="string"&&(l=r.substr(0,10)),f("",{"":e});function f(y,g){let _=g[y];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(y):typeof _.toJSON=="function"&&(_=_.toJSON(y))),u&&(_=u.call(g,y,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return p(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?w(_):m(_)}function p(y){let g={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},A="";for(let S=0;S<y.length;S++){let T=y[S];switch(T){case"'":case'"':g[T]++,A+=T;continue;case"\0":if(Hu.isDigit(y[S+1])){A+="\\x00";continue}}if(_[T]){A+=_[T];continue}if(T<" "){let R=T.charCodeAt(0).toString(16);A+="\\x"+("00"+R).substring(R.length);continue}A+=T}let C=d||Object.keys(g).reduce((S,T)=>g[S]<g[T]?S:T);return A=A.replace(new RegExp(C,"g"),_[C]),C+A+C}function m(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=a||Object.keys(y),A=[];for(let S of _){let T=f(S,y);if(T!==void 0){let R=b(S)+":";l!==""&&(R+=" "),R+=T,A.push(R)}}let C;if(A.length===0)C="{}";else{let S;if(l==="")S=A.join(","),C="{"+S+"}";else{let T=`,
9
- `+s;S=A.join(T),C=`{
10
- `+s+S+`,
11
- `+g+"}"}}return o.pop(),s=g,C}function b(y){if(y.length===0)return p(y,!0);let g=String.fromCodePoint(y.codePointAt(0));if(!Hu.isIdStartChar(g))return p(y,!0);for(let _=g.length;_<y.length;_++)if(!Hu.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return p(y,!0);return y}function w(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=[];for(let C=0;C<y.length;C++){let S=f(String(C),y);_.push(S!==void 0?S:"null")}let A;if(_.length===0)A="[]";else if(l==="")A="["+_.join(",")+"]";else{let C=`,
12
- `+s,S=_.join(C);A=`[
13
- `+s+S+`,
14
- `+g+"]"}return o.pop(),s=g,A}}});var Wu=X((rx,Oh)=>{var dC=Dh(),fC=xh(),hC={parse:dC,stringify:fC};Oh.exports=hC});var Hh={};Bu(Hh,{getFallbackPromotionStore:()=>Fo,resetFallbackPromotionStore:()=>kC});function Fo(t){return cr||(cr=new Ju,t&&cr.configure(t)),cr}function kC(){cr&&(cr.clearAll(),cr=null)}var EC,Ju,cr,oi=Le(()=>{"use strict";Un();EC=600*1e3,Ju=class{promotions=new Map;enabled=!0;ttlMs=EC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,n,r){return`${e},${n}:${r}`}promote(e,n,r,o,s,a){if(!this.enabled)return;let u=this.getKey(e,n,r),l=`${o},${s}`;this.promotions.set(u,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,n,r,o){if(!this.enabled)return null;let s=this.getKey(e,n,r),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...d]=a.promotedModel.split(","),f=d.join(",");if(!Ye().isAvailable(l,f))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),b=m?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!m||!b||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${b}`}clear(e,n,r){let o=this.getKey(e,n,r);this.promotions.delete(o)}clearByPrimary(e,n){let r=`${e},${n}:`,o=0;for(let s of this.promotions.keys())s.startsWith(r)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[n,r]of this.promotions)e-r.timestamp>=r.ttlMs&&this.promotions.delete(n)}getAllPromotions(){let e=Date.now(),n=[];for(let[r,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&n.push({key:r,promotedModel:o.promotedModel,remainingMs:s})}return n}},cr=null});import{existsSync as Jh,mkdirSync as AC,readFileSync as SC,writeFileSync as vC}from"fs";import{join as Vh}from"path";import{HOME_DIR as TC}from"@wengine-ai/claude-code-router-shared";function OC(t){try{if(!Jh(Yu))return;let e=JSON.parse(SC(Yu,"utf-8"));if(!Array.isArray(e))return;let n=Date.now();for(let r of e){if(!r||!r.provider||!r.model)continue;let o=r.updatedAt||r.lastFailureTime||0;o&&n-o>1440*60*1e3||t.restore({provider:r.provider,model:r.model,status:r.status,failureCount:r.failureCount??0,successCount:r.successCount??0,lastFailureTime:r.lastFailureTime??0,lastProbeTime:r.lastProbeTime??0,lastError:r.lastError,rateLimitUntil:r.rateLimitUntil})}}catch{}}function Gh(t){try{let e=t.getAllStates();if(e.length===0)return;Jh(Ku)||AC(Ku,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));vC(Yu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Qu(){if(Wh)return;Wh=!0;let t=Ye();OC(t),xC=setInterval(()=>Gh(t),6e4),process.on("exit",()=>Gh(t))}function Ye(t){return Vu||(Vu=new si(t)),Vu}var DC,RC,si,Ku,Yu,Wh,xC,Vu,Un=Le(()=>{"use strict";DC=120,RC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},si=class{states=new Map;config;probeTimer;constructor(e){this.config={...RC,...e}}getKey(e,n){return`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n),o=this.states.get(r);o&&(o.successCount++,!o.rateLimitUntil&&(o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,n),this.states.delete(r)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0)))}clearPromotionsForPrimary(e,n){try{let{getFallbackPromotionStore:r}=(oi(),sC(Hh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),s=this.states.get(o);s||(s={provider:e,model:n,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=r,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,n){return this.states.get(this.getKey(e,n))}isAvailable(e,n){if(!this.config.enabled)return!0;let r=this.getState(e,n);return r?r.status==="open"&&r.rateLimitUntil?!(Date.now()<r.rateLimitUntil):r.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;let r=this.getState(e,n);if(!r)return 0;switch(r.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&e.push(n);return e}getHalfOpenModels(){let e=[];for(let[n,r]of this.states)r.status==="half-open"&&e.push(n);return e}forceOpen(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=r,s.lastProbeTime=0):(s={provider:e,model:n,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:r},this.states.set(o,s))}markRateLimited(e,n,r,o){if(!this.config.enabled)return;let s=this.getKey(e,n),a=this.states.get(s);a?(a.status="open",a.lastFailureTime=Date.now(),a.lastError=o||"rate-limited",a.lastProbeTime=0):(a={provider:e,model:n,status:"open",failureCount:0,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:o||"rate-limited"},this.states.set(s,a));let u=(r??DC)*1e3;a.rateLimitUntil=Date.now()+u}getRateLimitedModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&r.rateLimitUntil&&e.push(n);return e}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,n){let r=this.getKey(e,n),o=this.states.get(r);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,n){let r=this.getKey(e,n);this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){this.states.set(this.getKey(e.provider,e.model),{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Ku=Vh(TC,"runtime"),Yu=Vh(Ku,"provider-health.json"),Wh=!1,xC=null;Vu=null});var pc=X((E1,Pp)=>{"use strict";var mi=Object.prototype.hasOwnProperty,Op=Object.prototype.toString,Sp=Object.defineProperty,vp=Object.getOwnPropertyDescriptor,Tp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Op.call(e)==="[object Array]"},Dp=function(e){if(!e||Op.call(e)!=="[object Object]")return!1;var n=mi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&mi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||mi.call(e,o)},Rp=function(e,n){Sp&&n.name==="__proto__"?Sp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},xp=function(e,n){if(n==="__proto__")if(mi.call(e,n)){if(vp)return vp(e,n).value}else return;return e[n]};Pp.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,d=arguments.length,f=!1;for(typeof u=="boolean"&&(f=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<d;++l)if(e=arguments[l],e!=null)for(n in e)r=xp(u,n),o=xp(e,n),u!==o&&(f&&o&&(Dp(o)||(s=Tp(o)))?(s?(s=!1,a=r&&Tp(r)?r:[]):a=r&&Dp(r)?r:{},Rp(u,{name:n,newValue:t(f,a,o)})):typeof o<"u"&&Rp(u,{name:n,newValue:o}));return u}});var Fp=X((k1,kw)=>{kw.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Np=X((A1,Ip)=>{"use strict";var Aw=Fp();Ip.exports={pkg:Aw}});var yc=X(St=>{"use strict";var Mp=St&&St.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(St,"__esModule",{value:!0});St.GaxiosError=St.GAXIOS_ERROR_SYMBOL=void 0;St.defaultErrorRedactor=Lp;var Bp=Mp(pc()),Sw=Mp(Np()),mc=Sw.default.pkg;St.GAXIOS_ERROR_SYMBOL=Symbol.for(`${mc.name}-gaxios-error`);var gc=class t extends Error{config;response;code;status;error;[St.GAXIOS_ERROR_SYMBOL]=mc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&St.GAXIOS_ERROR_SYMBOL in e&&e[St.GAXIOS_ERROR_SYMBOL]===mc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,Bp.default)(!0,{},n),this.response&&(this.response.config=(0,Bp.default)(!0,{},this.response.config)),this.response){try{this.response.data=vw(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.message);return Object.assign({message:a.join(`
15
- `)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};St.GaxiosError=gc;function vw(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Lp(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function r(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Lp({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var Up=X(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.getRetryConfig=Tw;async function Tw(t){let e=jp(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||Dw)(t))return{shouldRetry:!1,config:t.config};let o=Rw(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function Dw(t){let e=jp(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function jp(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function Rw(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var Cc=X(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.GaxiosInterceptorManager=void 0;var bc=class extends Set{};gi.GaxiosInterceptorManager=bc});var qp=X((D1,$p)=>{var zr=1e3,Hr=zr*60,Wr=Hr*60,dr=Wr*24,xw=dr*7,Ow=dr*365.25;$p.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Pw(t);if(n==="number"&&isFinite(t))return e.long?Iw(t):Fw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Pw(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*Ow;case"weeks":case"week":case"w":return n*xw;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Wr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Hr;case"seconds":case"second":case"secs":case"sec":case"s":return n*zr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Fw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Wr?Math.round(t/Wr)+"h":e>=Hr?Math.round(t/Hr)+"m":e>=zr?Math.round(t/zr)+"s":t+"ms"}function Iw(t){var e=Math.abs(t);return e>=dr?yi(t,e,dr,"day"):e>=Wr?yi(t,e,Wr,"hour"):e>=Hr?yi(t,e,Hr,"minute"):e>=zr?yi(t,e,zr,"second"):t+" ms"}function yi(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var wc=X((R1,zp)=>{function Nw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=qp(),n.destroy=d,Object.keys(t).forEach(f=>{n[f]=t[f]}),n.names=[],n.skips=[],n.formatters={};function e(f){let p=0;for(let m=0;m<f.length;m++)p=(p<<5)-p+f.charCodeAt(m),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(f){let p,m=null,b,w;function y(...g){if(!y.enabled)return;let _=y,A=Number(new Date),C=A-(p||A);_.diff=C,_.prev=p,_.curr=A,p=A,g[0]=n.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(R,$)=>{if(R==="%%")return"%";S++;let V=n.formatters[$];if(typeof V=="function"){let P=g[S];R=V.call(_,P),g.splice(S,1),S--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=f,y.useColors=n.useColors(),y.color=n.selectColor(f),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(b!==n.namespaces&&(b=n.namespaces,w=n.enabled(f)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(f,p){let m=n(this.namespace+(typeof p>"u"?":":p)+f);return m.log=this.log,m}function o(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of p)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(f,p){let m=0,b=0,w=-1,y=0;for(;m<f.length;)if(b<p.length&&(p[b]===f[m]||p[b]==="*"))p[b]==="*"?(w=b,y=m,b++):(m++,b++);else if(w!==-1)b=w+1,y++,m=y;else return!1;for(;b<p.length&&p[b]==="*";)b++;return b===p.length}function a(){let f=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),f}function u(f){for(let p of n.skips)if(s(f,p))return!1;for(let p of n.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}zp.exports=Nw});var Hp=X((ut,_i)=>{ut.formatArgs=Mw;ut.save=Lw;ut.load=jw;ut.useColors=Bw;ut.storage=Uw();ut.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ut.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Bw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Mw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+_i.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}ut.log=console.debug||console.log||(()=>{});function Lw(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function jw(){let t;try{t=ut.storage.getItem("debug")||ut.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Uw(){try{return localStorage}catch{}}_i.exports=wc()(ut);var{formatters:$w}=_i.exports;$w.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Gp=X((x1,Wp)=>{"use strict";Wp.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var Kp=X((O1,Vp)=>{"use strict";var qw=re("os"),Jp=re("tty"),vt=Gp(),{env:Je}=process,$n;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?$n=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&($n=1);"FORCE_COLOR"in Je&&(Je.FORCE_COLOR==="true"?$n=1:Je.FORCE_COLOR==="false"?$n=0:$n=Je.FORCE_COLOR.length===0?1:Math.min(parseInt(Je.FORCE_COLOR,10),3));function Ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function kc(t,e){if($n===0)return 0;if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2;if(t&&!e&&$n===void 0)return 0;let n=$n||0;if(Je.TERM==="dumb")return n;if(process.platform==="win32"){let r=qw.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in Je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in Je)||Je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in Je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Je.TEAMCITY_VERSION)?1:0;if(Je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Je){let r=parseInt((Je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Je.TERM)||"COLORTERM"in Je?1:n}function zw(t){let e=kc(t,t&&t.isTTY);return Ec(e)}Vp.exports={supportsColor:zw,stdout:Ec(kc(!0,Jp.isatty(1))),stderr:Ec(kc(!0,Jp.isatty(2)))}});var Qp=X((Ve,Ci)=>{var Hw=re("tty"),bi=re("util");Ve.init=Qw;Ve.log=Vw;Ve.formatArgs=Gw;Ve.save=Kw;Ve.load=Yw;Ve.useColors=Ww;Ve.destroy=bi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ve.colors=[6,2,3,4,5,1];try{let t=Kp();t&&(t.stderr||t).level>=2&&(Ve.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ve.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function Ww(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Hw.isatty(process.stderr.fd)}function Gw(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
8
+ `&&W(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(W());case void 0:throw Be(W())}return W()}function lC(){let t="",e=wn();if(!We.isHexDigit(e)||(t+=W(),e=wn(),!We.isHexDigit(e)))throw Be(W());return t+=W(),String.fromCodePoint(parseInt(t,16))}function zu(){let t="",e=4;for(;e-- >0;){let n=wn();if(!We.isHexDigit(n))throw Be(W());t+=W()}return String.fromCodePoint(parseInt(t,16))}var dC={start(){if(Ge.type==="eof")throw ur();Uu()},beforePropertyName(){switch(Ge.type){case"identifier":case"string":Hu=Ge.value,ot="afterPropertyName";return;case"punctuator":Zs();return;case"eof":throw ur()}},afterPropertyName(){if(Ge.type==="eof")throw ur();ot="beforePropertyValue"},beforePropertyValue(){if(Ge.type==="eof")throw ur();Uu()},beforeArrayValue(){if(Ge.type==="eof")throw ur();if(Ge.type==="punctuator"&&Ge.value==="]"){Zs();return}Uu()},afterPropertyValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforePropertyName";return;case"}":Zs()}},afterArrayValue(){if(Ge.type==="eof")throw ur();switch(Ge.value){case",":ot="beforeArrayValue";return;case"]":Zs()}},end(){}};function Uu(){let t;switch(Ge.type){case"punctuator":switch(Ge.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=Ge.value;break}if(Fo===void 0)Fo=t;else{let e=Cn[Cn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Hu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")Cn.push(t),Array.isArray(t)?ot="beforeArrayValue":ot="beforePropertyName";else{let e=Cn[Cn.length-1];e==null?ot="end":Array.isArray(e)?ot="afterArrayValue":ot="afterPropertyValue"}}function Zs(){Cn.pop();let t=Cn[Cn.length-1];t==null?ot="end":Array.isArray(t)?ot="afterArrayValue":ot="afterPropertyValue"}function Be(t){return ti(t===void 0?`JSON5: invalid end of input at ${jn}:${Lt}`:`JSON5: invalid character '${Dh(t)}' at ${jn}:${Lt}`)}function ur(){return ti(`JSON5: invalid end of input at ${jn}:${Lt}`)}function vh(){return Lt-=5,ti(`JSON5: invalid identifier character at ${jn}:${Lt}`)}function fC(t){console.warn(`JSON5: '${Dh(t)}' in strings is not valid ECMAScript; consider escaping`)}function Dh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function ti(t){let e=new SyntaxError(t);return e.lineNumber=jn,e.columnNumber=Lt,e}});var Ph=X((ox,Oh)=>{var Wu=ju();Oh.exports=function(e,n,r){let o=[],s="",a,u,l="",f;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,f=n.quote,n=n.replacer),typeof n=="function")u=n;else if(Array.isArray(n)){a=[];for(let y of n){let g;typeof y=="string"?g=y:(typeof y=="number"||y instanceof String||y instanceof Number)&&(g=String(y)),g!==void 0&&a.indexOf(g)<0&&a.push(g)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),l=" ".substr(0,r)):typeof r=="string"&&(l=r.substr(0,10)),d("",{"":e});function d(y,g){let _=g[y];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(y):typeof _.toJSON=="function"&&(_=_.toJSON(y))),u&&(_=u.call(g,y,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return p(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?w(_):m(_)}function p(y){let g={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},A="";for(let v=0;v<y.length;v++){let T=y[v];switch(T){case"'":case'"':g[T]++,A+=T;continue;case"\0":if(Wu.isDigit(y[v+1])){A+="\\x00";continue}}if(_[T]){A+=_[T];continue}if(T<" "){let R=T.charCodeAt(0).toString(16);A+="\\x"+("00"+R).substring(R.length);continue}A+=T}let C=f||Object.keys(g).reduce((v,T)=>g[v]<g[T]?v:T);return A=A.replace(new RegExp(C,"g"),_[C]),C+A+C}function m(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=a||Object.keys(y),A=[];for(let v of _){let T=d(v,y);if(T!==void 0){let R=b(v)+":";l!==""&&(R+=" "),R+=T,A.push(R)}}let C;if(A.length===0)C="{}";else{let v;if(l==="")v=A.join(","),C="{"+v+"}";else{let T=`,
9
+ `+s;v=A.join(T),C=`{
10
+ `+s+v+`,
11
+ `+g+"}"}}return o.pop(),s=g,C}function b(y){if(y.length===0)return p(y,!0);let g=String.fromCodePoint(y.codePointAt(0));if(!Wu.isIdStartChar(g))return p(y,!0);for(let _=g.length;_<y.length;_++)if(!Wu.isIdContinueChar(String.fromCodePoint(y.codePointAt(_))))return p(y,!0);return y}function w(y){if(o.indexOf(y)>=0)throw TypeError("Converting circular structure to JSON5");o.push(y);let g=s;s=s+l;let _=[];for(let C=0;C<y.length;C++){let v=d(String(C),y);_.push(v!==void 0?v:"null")}let A;if(_.length===0)A="[]";else if(l==="")A="["+_.join(",")+"]";else{let C=`,
12
+ `+s,v=_.join(C);A=`[
13
+ `+s+v+`,
14
+ `+g+"]"}return o.pop(),s=g,A}}});var Gu=X((sx,Fh)=>{var hC=xh(),pC=Ph(),mC={parse:hC,stringify:pC};Fh.exports=mC});var Gh={};Mu(Gh,{getFallbackPromotionStore:()=>Br,resetFallbackPromotionStore:()=>SC});function Br(t){return cr||(cr=new Vu,t&&cr.configure(t)),cr}function SC(){cr&&(cr.clearAll(),cr=null)}var AC,Vu,cr,si=Le(()=>{"use strict";Un();AC=600*1e3,Vu=class{promotions=new Map;enabled=!0;ttlMs=AC;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,n,r){return`${e},${n}:${r}`}promote(e,n,r,o,s,a){if(!this.enabled)return;let u=this.getKey(e,n,r),l=`${o},${s}`;this.promotions.set(u,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,n,r,o){if(!this.enabled)return null;let s=this.getKey(e,n,r),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...f]=a.promotedModel.split(","),d=f.join(",");if(!Ye().isAvailable(l,d))return this.promotions.delete(s),null;let m=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),b=m?.models?.find(w=>String(w).toLowerCase()===d.toLowerCase());return!m||!b||m.enabled===!1?(this.promotions.delete(s),null):`${m.name},${b}`}clear(e,n,r){let o=this.getKey(e,n,r);this.promotions.delete(o)}clearByPrimary(e,n){let r=`${e},${n}:`,o=0;for(let s of this.promotions.keys())s.startsWith(r)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[n,r]of this.promotions)e-r.timestamp>=r.ttlMs&&this.promotions.delete(n)}getAllPromotions(){let e=Date.now(),n=[];for(let[r,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&n.push({key:r,promotedModel:o.promotedModel,remainingMs:s})}return n}},cr=null});import{existsSync as Kh,mkdirSync as vC,readFileSync as TC,writeFileSync as DC}from"fs";import{join as Yh}from"path";import{HOME_DIR as RC}from"@wengine-ai/claude-code-router-shared";function FC(t){try{if(!Kh(Qu))return;let e=JSON.parse(TC(Qu,"utf-8"));if(!Array.isArray(e))return;let n=Date.now();for(let r of e){if(!r||!r.provider||!r.model)continue;let o=r.updatedAt||r.lastFailureTime||0;o&&n-o>1440*60*1e3||t.restore({provider:r.provider,model:r.model,status:r.status,failureCount:r.failureCount??0,successCount:r.successCount??0,lastFailureTime:r.lastFailureTime??0,lastProbeTime:r.lastProbeTime??0,lastError:r.lastError,rateLimitUntil:r.rateLimitUntil})}}catch{}}function Vh(t){try{let e=t.getAllStates();if(e.length===0)return;Kh(Yu)||vC(Yu,{recursive:!0});let n=e.map(r=>({...r,updatedAt:Date.now()}));DC(Qu,JSON.stringify(n,null,2),"utf-8")}catch{}}function Xu(){if(Jh)return;Jh=!0;let t=Ye();FC(t),PC=setInterval(()=>Vh(t),6e4),process.on("exit",()=>Vh(t))}function Ye(t){return Ku||(Ku=new ii(t)),Ku}var xC,OC,ii,Yu,Qu,Jh,PC,Ku,Un=Le(()=>{"use strict";xC=120,OC={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},ii=class{states=new Map;config;probeTimer;constructor(e){this.config={...OC,...e}}getKey(e,n){return!e||!n?null:`${e},${n}`}recordSuccess(e,n){if(!this.config.enabled)return;let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&(o.successCount++,!o.rateLimitUntil&&(o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,n),this.states.delete(r)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0)))}clearPromotionsForPrimary(e,n){try{let{getFallbackPromotionStore:r}=(si(),aC(Gh));r().clearByPrimary(e,n)}catch{}}recordFailure(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s||(s={provider:e,model:n,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=r,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,n){let r=this.getKey(e,n);if(r)return this.states.get(r)}isAvailable(e,n){if(!this.config.enabled)return!0;if(!this.getKey(e,n))return!1;let o=this.getState(e,n);return o?o.status==="open"&&o.rateLimitUntil?!(Date.now()<o.rateLimitUntil):o.status!=="open":!0}getPriority(e,n){if(!this.config.enabled)return 0;if(!this.getKey(e,n))return 2;let o=this.getState(e,n);if(!o)return 0;switch(o.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&e.push(n);return e}getHalfOpenModels(){let e=[];for(let[n,r]of this.states)r.status==="half-open"&&e.push(n);return e}forceOpen(e,n,r){if(!this.config.enabled)return;let o=this.getKey(e,n);if(!o)return;let s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=r,s.lastProbeTime=0):(s={provider:e,model:n,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:r},this.states.set(o,s))}markRateLimited(e,n,r,o){if(!this.config.enabled)return;let s=this.getKey(e,n);if(!s)return;let a=this.states.get(s);a?(a.status="open",a.lastFailureTime=Date.now(),a.lastError=o||"rate-limited",a.lastProbeTime=0):(a={provider:e,model:n,status:"open",failureCount:0,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:o||"rate-limited"},this.states.set(s,a));let u=(r??xC)*1e3;a.rateLimitUntil=Date.now()+u}getRateLimitedModels(){let e=[];for(let[n,r]of this.states)r.status==="open"&&r.rateLimitUntil&&e.push(n);return e}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,n){let r=this.getKey(e,n);if(!r)return;let o=this.states.get(r);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,n){let r=this.getKey(e,n);r&&this.states.delete(r)}getAllStates(){return Array.from(this.states.values())}restore(e){let n=this.getKey(e.provider,e.model);n&&this.states.set(n,{...e})}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Yu=Yh(RC,"runtime"),Qu=Yh(Yu,"provider-health.json"),Jh=!1,PC=null;Ku=null});var gc=X((A1,Ip)=>{"use strict";var gi=Object.prototype.hasOwnProperty,Fp=Object.prototype.toString,Tp=Object.defineProperty,Dp=Object.getOwnPropertyDescriptor,Rp=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Fp.call(e)==="[object Array]"},xp=function(e){if(!e||Fp.call(e)!=="[object Object]")return!1;var n=gi.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&gi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||gi.call(e,o)},Op=function(e,n){Tp&&n.name==="__proto__"?Tp(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},Pp=function(e,n){if(n==="__proto__")if(gi.call(e,n)){if(Dp)return Dp(e,n).value}else return;return e[n]};Ip.exports=function t(){var e,n,r,o,s,a,u=arguments[0],l=1,f=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},l=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});l<f;++l)if(e=arguments[l],e!=null)for(n in e)r=Pp(u,n),o=Pp(e,n),u!==o&&(d&&o&&(xp(o)||(s=Rp(o)))?(s?(s=!1,a=r&&Rp(r)?r:[]):a=r&&xp(r)?r:{},Op(u,{name:n,newValue:t(d,a,o)})):typeof o<"u"&&Op(u,{name:n,newValue:o}));return u}});var Np=X((S1,Sw)=>{Sw.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Mp=X((v1,Bp)=>{"use strict";var vw=Np();Bp.exports={pkg:vw}});var bc=X(St=>{"use strict";var jp=St&&St.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(St,"__esModule",{value:!0});St.GaxiosError=St.GAXIOS_ERROR_SYMBOL=void 0;St.defaultErrorRedactor=Up;var Lp=jp(gc()),Tw=jp(Mp()),yc=Tw.default.pkg;St.GAXIOS_ERROR_SYMBOL=Symbol.for(`${yc.name}-gaxios-error`);var _c=class t extends Error{config;response;code;status;error;[St.GAXIOS_ERROR_SYMBOL]=yc.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&St.GAXIOS_ERROR_SYMBOL in e&&e[St.GAXIOS_ERROR_SYMBOL]===yc.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,Lp.default)(!0,{},n),this.response&&(this.response.config=(0,Lp.default)(!0,{},this.response.config)),this.response){try{this.response.data=Dw(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&a.push(u.message);return Object.assign({message:a.join(`
15
+ `)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};St.GaxiosError=_c;function Dw(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Up(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((a,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&s.set(u,e)})}function r(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let u=s[a];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&s.set(u,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Up({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var qp=X(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.getRetryConfig=Rw;async function Rw(t){let e=$p(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||xw)(t))return{shouldRetry:!1,config:t.config};let o=Ow(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function xw(t){let e=$p(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function $p(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function Ow(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var Ec=X(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.GaxiosInterceptorManager=void 0;var wc=class extends Set{};yi.GaxiosInterceptorManager=wc});var Hp=X((x1,zp)=>{var Hr=1e3,Wr=Hr*60,Gr=Wr*60,dr=Gr*24,Pw=dr*7,Fw=dr*365.25;zp.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return Iw(t);if(n==="number"&&isFinite(t))return e.long?Bw(t):Nw(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Iw(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*Fw;case"weeks":case"week":case"w":return n*Pw;case"days":case"day":case"d":return n*dr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Gr;case"minutes":case"minute":case"mins":case"min":case"m":return n*Wr;case"seconds":case"second":case"secs":case"sec":case"s":return n*Hr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function Nw(t){var e=Math.abs(t);return e>=dr?Math.round(t/dr)+"d":e>=Gr?Math.round(t/Gr)+"h":e>=Wr?Math.round(t/Wr)+"m":e>=Hr?Math.round(t/Hr)+"s":t+"ms"}function Bw(t){var e=Math.abs(t);return e>=dr?_i(t,e,dr,"day"):e>=Gr?_i(t,e,Gr,"hour"):e>=Wr?_i(t,e,Wr,"minute"):e>=Hr?_i(t,e,Hr,"second"):t+" ms"}function _i(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var kc=X((O1,Wp)=>{function Mw(t){n.debug=n,n.default=n,n.coerce=l,n.disable=a,n.enable=o,n.enabled=u,n.humanize=Hp(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function e(d){let p=0;for(let m=0;m<d.length;m++)p=(p<<5)-p+d.charCodeAt(m),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(d){let p,m=null,b,w;function y(...g){if(!y.enabled)return;let _=y,A=Number(new Date),C=A-(p||A);_.diff=C,_.prev=p,_.curr=A,p=A,g[0]=n.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let v=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(R,$)=>{if(R==="%%")return"%";v++;let G=n.formatters[$];if(typeof G=="function"){let P=g[v];R=G.call(_,P),g.splice(v,1),v--}return R}),n.formatArgs.call(_,g),(_.log||n.log).apply(_,g)}return y.namespace=d,y.useColors=n.useColors(),y.color=n.selectColor(d),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(b!==n.namespaces&&(b=n.namespaces,w=n.enabled(d)),w),set:g=>{m=g}}),typeof n.init=="function"&&n.init(y),y}function r(d,p){let m=n(this.namespace+(typeof p>"u"?":":p)+d);return m.log=this.log,m}function o(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of p)m[0]==="-"?n.skips.push(m.slice(1)):n.names.push(m)}function s(d,p){let m=0,b=0,w=-1,y=0;for(;m<d.length;)if(b<p.length&&(p[b]===d[m]||p[b]==="*"))p[b]==="*"?(w=b,y=m,b++):(m++,b++);else if(w!==-1)b=w+1,y++,m=y;else return!1;for(;b<p.length&&p[b]==="*";)b++;return b===p.length}function a(){let d=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),d}function u(d){for(let p of n.skips)if(s(d,p))return!1;for(let p of n.names)if(s(d,p))return!0;return!1}function l(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}Wp.exports=Mw});var Gp=X((ut,bi)=>{ut.formatArgs=jw;ut.save=Uw;ut.load=$w;ut.useColors=Lw;ut.storage=qw();ut.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ut.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Lw(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function jw(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+bi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}ut.log=console.debug||console.log||(()=>{});function Uw(t){try{t?ut.storage.setItem("debug",t):ut.storage.removeItem("debug")}catch{}}function $w(){let t;try{t=ut.storage.getItem("debug")||ut.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function qw(){try{return localStorage}catch{}}bi.exports=kc()(ut);var{formatters:zw}=bi.exports;zw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Vp=X((P1,Jp)=>{"use strict";Jp.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var Qp=X((F1,Yp)=>{"use strict";var Hw=re("os"),Kp=re("tty"),vt=Vp(),{env:Je}=process,$n;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?$n=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&($n=1);"FORCE_COLOR"in Je&&(Je.FORCE_COLOR==="true"?$n=1:Je.FORCE_COLOR==="false"?$n=0:$n=Je.FORCE_COLOR.length===0?1:Math.min(parseInt(Je.FORCE_COLOR,10),3));function Ac(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Sc(t,e){if($n===0)return 0;if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2;if(t&&!e&&$n===void 0)return 0;let n=$n||0;if(Je.TERM==="dumb")return n;if(process.platform==="win32"){let r=Hw.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in Je)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in Je)||Je.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in Je)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Je.TEAMCITY_VERSION)?1:0;if(Je.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Je){let r=parseInt((Je.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Je.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Je.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Je.TERM)||"COLORTERM"in Je?1:n}function Ww(t){let e=Sc(t,t&&t.isTTY);return Ac(e)}Yp.exports={supportsColor:Ww,stdout:Ac(Sc(!0,Kp.isatty(1))),stderr:Ac(Sc(!0,Kp.isatty(2)))}});var Zp=X((Ve,wi)=>{var Gw=re("tty"),Ci=re("util");Ve.init=Zw;Ve.log=Yw;Ve.formatArgs=Vw;Ve.save=Qw;Ve.load=Xw;Ve.useColors=Jw;Ve.destroy=Ci.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ve.colors=[6,2,3,4,5,1];try{let t=Qp();t&&(t.stderr||t).level>=2&&(Ve.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Ve.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function Jw(){return"colors"in Ve.inspectOpts?!!Ve.inspectOpts.colors:Gw.isatty(process.stderr.fd)}function Vw(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
16
16
  `).join(`
17
- `+s),t.push(o+"m+"+Ci.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Jw()+e+" "+t[0]}function Jw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Vw(...t){return process.stderr.write(bi.formatWithOptions(Ve.inspectOpts,...t)+`
18
- `)}function Kw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Yw(){return process.env.DEBUG}function Qw(t){t.inspectOpts={};let e=Object.keys(Ve.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=Ve.inspectOpts[e[n]]}Ci.exports=wc()(Ve);var{formatters:Yp}=Ci.exports;Yp.o=function(t){return this.inspectOpts.colors=this.useColors,bi.inspect(t,this.inspectOpts).split(`
19
- `).map(e=>e.trim()).join(" ")};Yp.O=function(t){return this.inspectOpts.colors=this.useColors,bi.inspect(t,this.inspectOpts)}});var Sc=X((P1,Ac)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ac.exports=Hp():Ac.exports=Qp()});var em=X(ct=>{"use strict";var Xw=ct&&ct.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Zw=ct&&ct.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Xp=ct&&ct.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&Xw(e,t,n);return Zw(e,t),e};Object.defineProperty(ct,"__esModule",{value:!0});ct.req=ct.json=ct.toBuffer=void 0;var eE=Xp(re("http")),tE=Xp(re("https"));async function Zp(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ct.toBuffer=Zp;async function nE(t){let n=(await Zp(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ct.json=nE;function rE(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?tE:eE).request(t,e),o=new Promise((s,a)=>{r.once("response",s).once("error",a).end()});return r.then=o.then.bind(o),r}ct.req=rE});var om=X(pt=>{"use strict";var nm=pt&&pt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),oE=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),rm=pt&&pt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&nm(e,t,n);return oE(e,t),e},sE=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&nm(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var iE=rm(re("net")),tm=rm(re("http")),aE=re("https");sE(em(),pt);var Qt=Symbol("AgentBaseInternalState"),vc=class extends tm.Agent{constructor(e){super(e),this[Qt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
20
- `).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new iE.Socket({writable:!1});return this.sockets[e].push(n),this.totalSocketCount++,n}decrementSockets(e,n){if(!this.sockets[e]||n===null)return;let r=this.sockets[e],o=r.indexOf(n);o!==-1&&(r.splice(o,1),this.totalSocketCount--,r.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?aE.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,n,r){let o={...n,secureEndpoint:this.isSecureEndpoint(n)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(u=>{if(this.decrementSockets(s,a),u instanceof tm.Agent)try{return u.addRequest(e,o)}catch(l){return r(l)}this[Qt].currentSocket=u,super.createSocket(e,n,r)},u=>{this.decrementSockets(s,a),r(u)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};pt.Agent=vc});var sm=X(Gr=>{"use strict";var uE=Gr&&Gr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.parseProxyResponse=void 0;var cE=uE(Sc()),wi=(0,cE.default)("https-proxy-agent:parse-proxy-response");function lE(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),wi("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),wi("onerror %o",f),n(f)}function d(f){o.push(f),r+=f.length;let p=Buffer.concat(o,r),m=p.indexOf(`\r
17
+ `+s),t.push(o+"m+"+wi.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Kw()+e+" "+t[0]}function Kw(){return Ve.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Yw(...t){return process.stderr.write(Ci.formatWithOptions(Ve.inspectOpts,...t)+`
18
+ `)}function Qw(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Xw(){return process.env.DEBUG}function Zw(t){t.inspectOpts={};let e=Object.keys(Ve.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=Ve.inspectOpts[e[n]]}wi.exports=kc()(Ve);var{formatters:Xp}=wi.exports;Xp.o=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts).split(`
19
+ `).map(e=>e.trim()).join(" ")};Xp.O=function(t){return this.inspectOpts.colors=this.useColors,Ci.inspect(t,this.inspectOpts)}});var Tc=X((I1,vc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?vc.exports=Gp():vc.exports=Zp()});var nm=X(ct=>{"use strict";var eE=ct&&ct.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),tE=ct&&ct.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),em=ct&&ct.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&eE(e,t,n);return tE(e,t),e};Object.defineProperty(ct,"__esModule",{value:!0});ct.req=ct.json=ct.toBuffer=void 0;var nE=em(re("http")),rE=em(re("https"));async function tm(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}ct.toBuffer=tm;async function oE(t){let n=(await tm(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}ct.json=oE;function sE(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?rE:nE).request(t,e),o=new Promise((s,a)=>{r.once("response",s).once("error",a).end()});return r.then=o.then.bind(o),r}ct.req=sE});var im=X(pt=>{"use strict";var om=pt&&pt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),iE=pt&&pt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),sm=pt&&pt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&om(e,t,n);return iE(e,t),e},aE=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&om(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.Agent=void 0;var uE=sm(re("net")),rm=sm(re("http")),cE=re("https");aE(nm(),pt);var Qt=Symbol("AgentBaseInternalState"),Dc=class extends rm.Agent{constructor(e){super(e),this[Qt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
20
+ `).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new uE.Socket({writable:!1});return this.sockets[e].push(n),this.totalSocketCount++,n}decrementSockets(e,n){if(!this.sockets[e]||n===null)return;let r=this.sockets[e],o=r.indexOf(n);o!==-1&&(r.splice(o,1),this.totalSocketCount--,r.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?cE.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,n,r){let o={...n,secureEndpoint:this.isSecureEndpoint(n)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(u=>{if(this.decrementSockets(s,a),u instanceof rm.Agent)try{return u.addRequest(e,o)}catch(l){return r(l)}this[Qt].currentSocket=u,super.createSocket(e,n,r)},u=>{this.decrementSockets(s,a),r(u)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};pt.Agent=Dc});var am=X(Jr=>{"use strict";var lE=Jr&&Jr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.parseProxyResponse=void 0;var dE=lE(Tc()),Ei=(0,dE.default)("https-proxy-agent:parse-proxy-response");function fE(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let d=t.read();d?f(d):t.once("readable",s)}function a(){t.removeListener("end",u),t.removeListener("error",l),t.removeListener("readable",s)}function u(){a(),Ei("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function l(d){a(),Ei("onerror %o",d),n(d)}function f(d){o.push(d),r+=d.length;let p=Buffer.concat(o,r),m=p.indexOf(`\r
21
21
  \r
22
- `);if(m===-1){wi("have not received end of HTTP headers yet..."),s();return}let b=p.slice(0,m).toString("ascii").split(`\r
23
- `),w=b.shift();if(!w)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),g=+y[1],_=y.slice(2).join(" "),A={};for(let C of b){if(!C)continue;let S=C.indexOf(":");if(S===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${C}"`));let T=C.slice(0,S).toLowerCase(),R=C.slice(S+1).trimStart(),$=A[T];typeof $=="string"?A[T]=[$,R]:Array.isArray($)?$.push(R):A[T]=R}wi("got proxy server response: %o %o",w,A),a(),e({connect:{statusCode:g,statusText:_,headers:A},buffered:p})}t.on("error",l),t.on("end",u),s()})}Gr.parseProxyResponse=lE});var dm=X(Tt=>{"use strict";var dE=Tt&&Tt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),fE=Tt&&Tt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),cm=Tt&&Tt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&dE(e,t,n);return fE(e,t),e},lm=Tt&&Tt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.HttpsProxyAgent=void 0;var Ei=cm(re("net")),im=cm(re("tls")),hE=lm(re("assert")),pE=lm(Sc()),mE=om(),gE=re("url"),yE=sm(),Lo=(0,pE.default)("https-proxy-agent"),am=t=>t.servername===void 0&&t.host&&!Ei.isIP(t.host)?{...t,servername:t.host}:t,ki=class extends mE.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new gE.URL(e):e,this.proxyHeaders=n?.headers??{},Lo("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...n?um(n,"headers"):null,host:r,port:o}}async connect(e,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let o;r.protocol==="https:"?(Lo("Creating `tls.Socket`: %o",this.connectOpts),o=im.connect(am(this.connectOpts))):(Lo("Creating `net.Socket`: %o",this.connectOpts),o=Ei.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=Ei.isIPv6(n.host)?`[${n.host}]`:n.host,u=`CONNECT ${a}:${n.port} HTTP/1.1\r
22
+ `);if(m===-1){Ei("have not received end of HTTP headers yet..."),s();return}let b=p.slice(0,m).toString("ascii").split(`\r
23
+ `),w=b.shift();if(!w)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let y=w.split(" "),g=+y[1],_=y.slice(2).join(" "),A={};for(let C of b){if(!C)continue;let v=C.indexOf(":");if(v===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${C}"`));let T=C.slice(0,v).toLowerCase(),R=C.slice(v+1).trimStart(),$=A[T];typeof $=="string"?A[T]=[$,R]:Array.isArray($)?$.push(R):A[T]=R}Ei("got proxy server response: %o %o",w,A),a(),e({connect:{statusCode:g,statusText:_,headers:A},buffered:p})}t.on("error",l),t.on("end",u),s()})}Jr.parseProxyResponse=fE});var hm=X(Tt=>{"use strict";var hE=Tt&&Tt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),pE=Tt&&Tt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),dm=Tt&&Tt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&hE(e,t,n);return pE(e,t),e},fm=Tt&&Tt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.HttpsProxyAgent=void 0;var ki=dm(re("net")),um=dm(re("tls")),mE=fm(re("assert")),gE=fm(Tc()),yE=im(),_E=re("url"),bE=am(),jo=(0,gE.default)("https-proxy-agent"),cm=t=>t.servername===void 0&&t.host&&!ki.isIP(t.host)?{...t,servername:t.host}:t,Ai=class extends yE.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new _E.URL(e):e,this.proxyHeaders=n?.headers??{},jo("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...n?lm(n,"headers"):null,host:r,port:o}}async connect(e,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let o;r.protocol==="https:"?(jo("Creating `tls.Socket`: %o",this.connectOpts),o=um.connect(cm(this.connectOpts))):(jo("Creating `net.Socket`: %o",this.connectOpts),o=ki.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=ki.isIPv6(n.host)?`[${n.host}]`:n.host,u=`CONNECT ${a}:${n.port} HTTP/1.1\r
24
24
  `;if(r.username||r.password){let m=`${decodeURIComponent(r.username)}:${decodeURIComponent(r.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(m).toString("base64")}`}s.Host=`${a}:${n.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let m of Object.keys(s))u+=`${m}: ${s[m]}\r
25
- `;let l=(0,yE.parseProxyResponse)(o);o.write(`${u}\r
26
- `);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",_E),n.secureEndpoint?(Lo("Upgrading socket connection to TLS"),im.connect({...um(am(n),"host","path","port"),socket:o})):o;o.destroy();let p=new Ei.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{Lo("Replaying proxy buffer for failed request"),(0,hE.default)(m.listenerCount("data")>0),m.push(f),m.push(null)}),p}};ki.protocols=["http","https"];Tt.HttpsProxyAgent=ki;function _E(t){t.resume()}function um(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function bE(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",a=s;for(let f=1;f<n.length;f++)n[f]==="base64"?o=!0:n[f]&&(a+=`;${n[f]}`,n[f].indexOf("charset=")===0&&(r=n[f].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,u);return d.type=s,d.typeFull=a,d.charset=r,d}var fm,hm=Le(()=>{fm=bE});var mm=X((Ai,pm)=>{(function(t,e){typeof Ai=="object"&&typeof pm<"u"?e(Ai):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Ai,(function(t){"use strict";function e(){}function n(i){return typeof i=="object"&&i!==null||typeof i=="function"}let r=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(c=>c(i))}function f(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function m(i,c,h){p(p(i,c,h),void 0,r)}function b(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,h){return p(i,c,h)}function g(i){p(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=d(void 0);_=h=>p(c,h)}return _(i)};function A(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function C(i,c,h){try{return d(A(i,c,h))}catch(k){return f(k)}}let S=16384;class T{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(c){let h=this._back,k=h;h._elements.length===S-1&&(k={_elements:[],_next:void 0}),h._elements.push(c),k!==h&&(this._back=k,h._next=k),++this._size}shift(){let c=this._front,h=c,k=this._cursor,x=k+1,j=c._elements,q=j[k];return x===S&&(h=c._next,x=0),--this._size,this._cursor=x,c!==h&&(this._front=h),j[k]=void 0,q}forEach(c){let h=this._cursor,k=this._front,x=k._elements;for(;(h!==x.length||k._next!==void 0)&&!(h===x.length&&(k=k._next,x=k._elements,h=0,x.length===0));)c(x[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),V=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function z(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?ae(i):c._state==="closed"?me(i):se(i,c._storedError)}function K(i,c){let h=i._ownerReadableStream;return Bt(h,c)}function Q(i){let c=i._ownerReadableStream;c._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Z(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),c._readableStreamController[Y](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function ae(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function se(i,c){ae(i),G(i,c)}function me(i){ae(i),ie(i)}function G(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Z(i,c){se(i,c)}function ie(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let Ue=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},Ae=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function J(i){return typeof i=="object"||typeof i=="function"}function ce(i,c){if(i!==void 0&&!J(i))throw new TypeError(`${c} is not an object.`)}function te(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function Te(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Oe(i,c){if(!Te(i))throw new TypeError(`${c} is not an object.`)}function je(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function E(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function v(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(Ae(i))}function F(i,c){let k=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!Ue(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>k)throw new TypeError(`${c} is outside the accepted range of 0 to ${k}, inclusive`);return!Ue(x)||x===0?0:x}function N(i,c){if(!In(i))throw new TypeError(`${c} is not a ReadableStream.`)}function U(i){return new H(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,h){let x=i._reader._readRequests.shift();h?x._closeSteps():x._chunkSteps(c)}function L(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!oe(c))}class H{constructor(c){if(je(c,1,"ReadableStreamDefaultReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");z(this,c),this._readRequests=new T}get closed(){return oe(this)?this._closedPromise:f(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Me("cancel"))}read(){if(!oe(this))return f(Me("read"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let c,h,k=l((j,q)=>{c=j,h=q});return ue(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>h(j)}),k}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ue(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[P](c)}function Se(i){Q(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let h=i._readRequests;i._readRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let ke=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ve{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,k,x=l((q,ne)=>{h=q,k=ne});return ue(c,{_chunkSteps:q=>{this._ongoingPromise=void 0,_(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),k(q)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let k=K(h,c);return Q(h),y(k,()=>({value:c,done:!0}))}return Q(h),d({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():f(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):f(Er("return"))}};Object.setPrototypeOf(qe,ke);function Cr(i,c){let h=U(i),k=new ve(h,c),x=Object.create(qe);return x._asyncIteratorImpl=k,x}function wr(i){if(!n(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof ve}catch{return!1}}function Er(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let ft=Number.isNaN||function(i){return i!==i};var fn,Ze,ze;function De(i){return i.slice()}function bf(i,c,h,k,x){new Uint8Array(i).set(new Uint8Array(h,k,x),c)}let hn=i=>(typeof i.transfer=="function"?hn=c=>c.transfer():typeof structuredClone=="function"?hn=c=>structuredClone(c,{transfer:[c]}):hn=c=>c,hn(i)),xn=i=>(typeof i.detached=="boolean"?xn=c=>c.detached:xn=c=>c.byteLength===0,xn(i));function Cf(i,c,h){if(i.slice)return i.slice(c,h);let k=h-c,x=new ArrayBuffer(k);return bf(x,0,i,c,k),x}function ks(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function b_(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),k=h.next;return{iterator:h,nextMethod:k,done:!1}}let cu=(ze=(fn=Symbol.asyncIterator)!==null&&fn!==void 0?fn:(Ze=Symbol.for)===null||Ze===void 0?void 0:Ze.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function wf(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=ks(i,cu),h===void 0){let j=ks(i,Symbol.iterator),q=wf(i,"sync",j);return b_(q)}}else h=ks(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let k=A(h,i,[]);if(!n(k))throw new TypeError("The iterator method must return an object");let x=k.next;return{iterator:k,nextMethod:x,done:!1}}function C_(i){let c=A(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function w_(i){return!!i.done}function E_(i){return i.value}function k_(i){return!(typeof i!="number"||ft(i)||i<0)}function Ef(i){let c=Cf(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function lu(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function du(i,c,h){if(!k_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function A_(i){return i._queue.peek().value}function On(i){i._queue=new T,i._queueTotalSize=0}function kf(i){return i===DataView}function S_(i){return kf(i.constructor)}function v_(i){return kf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!fu(this))throw yu("view");return this._view}respond(c){if(!fu(this))throw yu("respond");if(je(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ts(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!fu(this))throw yu("respondWithNewView");if(je(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Ds(this._associatedReadableByteStreamController,c)}}Object.defineProperties(Zn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Zn.prototype.respond,"respond"),o(Zn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pn{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!er(this))throw Ao("byobRequest");return gu(this)}get desiredSize(){if(!er(this))throw Ao("desiredSize");return Ff(this)}close(){if(!er(this))throw Ao("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);ko(this)}enqueue(c){if(!er(this))throw Ao("enqueue");if(je(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);vs(this,c)}error(c=void 0){if(!er(this))throw Ao("error");kt(this,c)}[V](c){Af(this),On(this);let h=this._cancelAlgorithm(c);return Ss(this),h}[P](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){Pf(this,c);return}let k=this._autoAllocateChunkSize;if(k!==void 0){let x;try{x=new ArrayBuffer(k)}catch(q){c._errorSteps(q);return}let j={buffer:x,bufferByteLength:k,byteOffset:0,byteLength:k,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(h,c),tr(this)}[Y](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(c)}}}Object.defineProperties(pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pn.prototype.close,"close"),o(pn.prototype.enqueue,"enqueue"),o(pn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function er(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pn}function fu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!O_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),k=>(kt(i,k),null))}function Af(i){pu(i),i._pendingPullIntos=new T}function hu(i,c){let h=!1;i._state==="closed"&&(h=!0);let k=Sf(c);c.readerType==="default"?I(i,k,h):M_(i,k,h)}function Sf(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function As(i,c,h,k){i._queue.push({buffer:c,byteOffset:h,byteLength:k}),i._queueTotalSize+=k}function vf(i,c,h,k){let x;try{x=Cf(c,h,h+k)}catch(j){throw kt(i,j),j}As(i,x,0,k)}function Tf(i,c){c.bytesFilled>0&&vf(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function Df(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),k=c.bytesFilled+h,x=h,j=!1,q=k%c.elementSize,ne=k-q;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let pe=i._queue;for(;x>0;){let de=pe.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;bf(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?pe.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,Rf(i,ge,c),x-=ge}return j}function Rf(i,c,h){h.bytesFilled+=c}function xf(i){i._queueTotalSize===0&&i._closeRequested?(Ss(i),xo(i._controlledReadableByteStream)):tr(i)}function pu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function mu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();Df(i,c)&&(kr(i),hu(i._controlledReadableByteStream,c))}}function T_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();Pf(i,h)}}function D_(i,c,h,k){let x=i._controlledReadableByteStream,j=c.constructor,q=v_(j),{byteOffset:ne,byteLength:pe}=c,de=h*q,ge;try{ge=hn(c.buffer)}catch(xe){k._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:pe,bytesFilled:0,minimumFill:de,elementSize:q,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),Bf(x,k);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);k._closeSteps(xe);return}if(i._queueTotalSize>0){if(Df(i,Ce)){let xe=Sf(Ce);xf(i),k._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(i,xe),k._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),Bf(x,k),tr(i)}function R_(i,c){c.readerType==="none"&&kr(i);let h=i._controlledReadableByteStream;if(_u(h))for(;Mf(h)>0;){let k=kr(i);hu(h,k)}}function x_(i,c,h){if(Rf(i,c,h),h.readerType==="none"){Tf(i,h),mu(i);return}if(h.bytesFilled<h.minimumFill)return;kr(i);let k=h.bytesFilled%h.elementSize;if(k>0){let x=h.byteOffset+h.bytesFilled;vf(i,h.buffer,x-k,k)}h.bytesFilled-=k,hu(i._controlledReadableByteStream,h),mu(i)}function Of(i,c){let h=i._pendingPullIntos.peek();pu(i),i._controlledReadableByteStream._state==="closed"?R_(i,h):x_(i,c,h),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function O_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&L(c)>0||_u(c)&&Mf(c)>0||Ff(i)>0)}function Ss(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function ko(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let k=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(i,k),k}}Ss(i),xo(c)}}function vs(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:k,byteOffset:x,byteLength:j}=c;if(xn(k))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=hn(k);if(i._pendingPullIntos.length>0){let ne=i._pendingPullIntos.peek();if(xn(ne.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");pu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&Tf(i,ne)}if(B(h))if(T_(i),L(h)===0)As(i,q,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(q,x,j);I(h,ne,!1)}else _u(h)?(As(i,q,x,j),mu(i)):As(i,q,x,j);tr(i)}function kt(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(Af(i),On(i),Ss(i),ah(h,c))}function Pf(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,xf(i);let k=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(k)}function gu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),k=Object.create(Zn.prototype);F_(k,i,h),i._byobRequest=k}return i._byobRequest}function Ff(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ts(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hn(h.buffer),Of(i,c)}function Ds(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;h.buffer=hn(c.buffer),Of(i,x)}function If(i,c,h,k,x,j,q){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,On(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,c._autoAllocateChunkSize=q,c._pendingPullIntos=new T,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,tr(c),null),pe=>(kt(c,pe),null))}function P_(i,c,h){let k=Object.create(pn.prototype),x,j,q;c.start!==void 0?x=()=>c.start(k):x=()=>{},c.pull!==void 0?j=()=>c.pull(k):j=()=>d(void 0),c.cancel!==void 0?q=pe=>c.cancel(pe):q=()=>d(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");If(i,k,x,j,q,h,ne)}function F_(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function yu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function Ao(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function I_(i,c){ce(i,c);let h=i?.mode;return{mode:h===void 0?void 0:N_(h,`${c} has member 'mode' that`)}}function N_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function B_(i,c){var h;ce(i,c);let k=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(k,`${c} has member 'min' that`)}}function Nf(i){return new Pn(i)}function Bf(i,c){i._reader._readIntoRequests.push(c)}function M_(i,c,h){let x=i._reader._readIntoRequests.shift();h?x._closeSteps(c):x._chunkSteps(c)}function Mf(i){return i._reader._readIntoRequests.length}function _u(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(je(c,1,"ReadableStreamBYOBReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!er(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");z(this,c),this._readIntoRequests=new T}get closed(){return nr(this)?this._closedPromise:f(Rs("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?f(ee("cancel")):K(this,c):f(Rs("cancel"))}read(c,h={}){if(!nr(this))return f(Rs("read"));if(!ArrayBuffer.isView(c))return f(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return f(new TypeError("view's buffer has been detached"));let k;try{k=B_(h,"options")}catch(de){return f(de)}let x=k.min;if(x===0)return f(new TypeError("options.min must be greater than 0"));if(S_(c)){if(x>c.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(ee("read from"));let j,q,ne=l((de,ge)=>{j=de,q=ge});return Lf(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>q(de)}),ne}releaseLock(){if(!nr(this))throw Rs("releaseLock");this._ownerReadableStream!==void 0&&L_(this)}}Object.defineProperties(Pn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Pn.prototype.cancel,"cancel"),o(Pn.prototype.read,"read"),o(Pn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Pn}function Lf(i,c,h,k){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?k._errorSteps(x._storedError):D_(x._readableStreamController,c,h,k)}function L_(i){Q(i);let c=new TypeError("Reader was released");jf(i,c)}function jf(i,c){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function Rs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function So(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(ft(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function xs(i){let{size:c}=i;return c||(()=>1)}function Os(i,c){ce(i,c);let h=i?.highWaterMark,k=i?.size;return{highWaterMark:h===void 0?void 0:v(h),size:k===void 0?void 0:j_(k,`${c} has member 'size' that`)}}function j_(i,c){return te(i,c),h=>v(i(h))}function U_(i,c){ce(i,c);let h=i?.abort,k=i?.close,x=i?.start,j=i?.type,q=i?.write;return{abort:h===void 0?void 0:$_(h,i,`${c} has member 'abort' that`),close:k===void 0?void 0:q_(k,i,`${c} has member 'close' that`),start:x===void 0?void 0:z_(x,i,`${c} has member 'start' that`),write:q===void 0?void 0:H_(q,i,`${c} has member 'write' that`),type:j}}function $_(i,c,h){return te(i,h),k=>C(i,c,[k])}function q_(i,c,h){return te(i,h),()=>C(i,c,[])}function z_(i,c,h){return te(i,h),k=>A(i,c,[k])}function H_(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function Uf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function W_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let G_=typeof AbortController=="function";function J_(){if(G_)return new AbortController}class Fn{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Os(h,"Second parameter"),x=U_(c,"First parameter");if(qf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let q=xs(k),ne=So(k,1);ab(this,x,ne,q)}get locked(){if(!Ar(this))throw Bs("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?f(new TypeError("Cannot abort a stream that already has a writer")):Ps(this,c):f(Bs("abort"))}close(){return Ar(this)?Sr(this)?f(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?f(new TypeError("Cannot close an already-closing stream")):zf(this):f(Bs("close"))}getWriter(){if(!Ar(this))throw Bs("getWriter");return $f(this)}}Object.defineProperties(Fn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Fn.prototype.abort,"abort"),o(Fn.prototype.close,"close"),o(Fn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function $f(i){return new mn(i)}function V_(i,c,h,k,x=1,j=()=>1){let q=Object.create(Fn.prototype);qf(q);let ne=Object.create(vr.prototype);return Kf(q,ne,i,c,h,k,x,j),q}function qf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new T,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Ar(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Fn}function Sr(i){return i._writer!==void 0}function Ps(i,c){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let k=i._state;if(k==="closed"||k==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;k==="erroring"&&(x=!0,c=void 0);let j=l((q,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||Cu(i,c),j}function zf(i){let c=i._state;if(c==="closed"||c==="errored")return f(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((x,j)=>{let q={_resolve:x,_reject:j};i._closeRequest=q}),k=i._writer;return k!==void 0&&i._backpressure&&c==="writable"&&Du(k),ub(i._writableStreamController),h}function K_(i){return l((h,k)=>{let x={_resolve:h,_reject:k};i._writeRequests.push(x)})}function bu(i,c){if(i._state==="writable"){Cu(i,c);return}wu(i)}function Cu(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let k=i._writer;k!==void 0&&Wf(k,c),!eb(i)&&h._started&&wu(i)}function wu(i){i._state="errored",i._writableStreamController[$]();let c=i._storedError;if(i._writeRequests.forEach(x=>{x._reject(c)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){Fs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Fs(i);return}let k=i._writableStreamController[R](h._reason);m(k,()=>(h._resolve(),Fs(i),null),x=>(h._reject(x),Fs(i),null))}function Y_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function Q_(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,bu(i,c)}function X_(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&Zf(h)}function Z_(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),bu(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function eb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function tb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function nb(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Fs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&vu(c,i._storedError)}function Eu(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?mb(h):Du(h)),i._backpressure=c}class mn{constructor(c){if(je(c,1,"WritableStreamDefaultWriter"),Uf(c,"First parameter"),Sr(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let h=c._state;if(h==="writable")!Yt(c)&&c._backpressure?Ls(this):eh(this),Ms(this);else if(h==="erroring")Tu(this,c._storedError),Ms(this);else if(h==="closed")eh(this),hb(this);else{let k=c._storedError;Tu(this,k),Xf(this,k)}}get closed(){return rr(this)?this._closedPromise:f(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw To("desiredSize");return ib(this)}get ready(){return rr(this)?this._readyPromise:f(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("abort")):rb(this,c):f(or("abort"))}close(){if(!rr(this))return f(or("close"));let c=this._ownerWritableStream;return c===void 0?f(To("close")):Yt(c)?f(new TypeError("Cannot close an already-closing stream")):Hf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Gf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?f(To("write to")):Jf(this,c):f(or("write"))}}Object.defineProperties(mn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mn.prototype.abort,"abort"),o(mn.prototype.close,"close"),o(mn.prototype.releaseLock,"releaseLock"),o(mn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mn}function rb(i,c){let h=i._ownerWritableStream;return Ps(h,c)}function Hf(i){let c=i._ownerWritableStream;return zf(c)}function ob(i){let c=i._ownerWritableStream,h=c._state;return Yt(c)||h==="closed"?d(void 0):h==="errored"?f(c._storedError):Hf(i)}function sb(i,c){i._closedPromiseState==="pending"?vu(i,c):pb(i,c)}function Wf(i,c){i._readyPromiseState==="pending"?th(i,c):gb(i,c)}function ib(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Yf(c._writableStreamController)}function Gf(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Wf(i,h),sb(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function Jf(i,c){let h=i._ownerWritableStream,k=h._writableStreamController,x=cb(k,c);if(h!==i._ownerWritableStream)return f(To("write to"));let j=h._state;if(j==="errored")return f(h._storedError);if(Yt(h)||j==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return f(h._storedError);let q=K_(h);return lb(k,c,x),q}let Vf={};class vr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!ku(this))throw Su("abortReason");return this._abortReason}get signal(){if(!ku(this))throw Su("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!ku(this))throw Su("error");this._controlledWritableStream._state==="writable"&&Qf(this,c)}[R](c){let h=this._abortAlgorithm(c);return Is(this),h}[$](){On(this)}}Object.defineProperties(vr.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function ku(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof vr}function Kf(i,c,h,k,x,j,q,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=J_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=q,c._writeAlgorithm=k,c._closeAlgorithm=x,c._abortAlgorithm=j;let pe=Au(c);Eu(i,pe);let de=h(),ge=d(de);m(ge,()=>(c._started=!0,Ns(c),null),Ce=>(c._started=!0,bu(i,Ce),null))}function ab(i,c,h,k){let x=Object.create(vr.prototype),j,q,ne,pe;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?q=de=>c.write(de,x):q=()=>d(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>d(void 0),c.abort!==void 0?pe=de=>c.abort(de):pe=()=>d(void 0),Kf(i,x,j,q,ne,pe,h,k)}function Is(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function ub(i){du(i,Vf,0),Ns(i)}function cb(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return vo(i,h),1}}function Yf(i){return i._strategyHWM-i._queueTotalSize}function lb(i,c,h){try{du(i,c,h)}catch(x){vo(i,x);return}let k=i._controlledWritableStream;if(!Yt(k)&&k._state==="writable"){let x=Au(i);Eu(k,x)}Ns(i)}function Ns(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){wu(c);return}if(i._queue.length===0)return;let k=A_(i);k===Vf?db(i):fb(i,k)}function vo(i,c){i._controlledWritableStream._state==="writable"&&Qf(i,c)}function db(i){let c=i._controlledWritableStream;tb(c),lu(i);let h=i._closeAlgorithm();Is(i),m(h,()=>(X_(c),null),k=>(Z_(c,k),null))}function fb(i,c){let h=i._controlledWritableStream;nb(h);let k=i._writeAlgorithm(c);m(k,()=>{Y_(h);let x=h._state;if(lu(i),!Yt(h)&&x==="writable"){let j=Au(i);Eu(h,j)}return Ns(i),null},x=>(h._state==="writable"&&Is(i),Q_(h,x),null))}function Au(i){return Yf(i)<=0}function Qf(i,c){let h=i._controlledWritableStream;Is(i),Cu(h,c)}function Bs(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function Su(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function or(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function To(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ms(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Xf(i,c){Ms(i),vu(i,c)}function hb(i){Ms(i),Zf(i)}function vu(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function pb(i,c){Xf(i,c)}function Zf(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Ls(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Tu(i,c){Ls(i),th(i,c)}function eh(i){Ls(i),Du(i)}function th(i,c){i._readyPromise_reject!==void 0&&(g(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function mb(i){Ls(i)}function gb(i,c){Tu(i,c)}function Du(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function yb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Ru=yb();function _b(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function bb(){let i=Ru?.DOMException;return _b(i)?i:void 0}function Cb(){let i=function(h,k){this.message=h||"",this.name=k||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let wb=bb()||Cb();function nh(i,c,h,k,x,j){let q=U(i),ne=$f(c);i._disturbed=!0;let pe=!1,de=d(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new wb("Aborted","AbortError"),we=[];k||we.push(()=>c._state==="writable"?Ps(c,fe):d(void 0)),x||we.push(()=>i._state==="readable"?Bt(i,fe):d(void 0)),at(()=>Promise.all(we.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Mt(){return l((fe,we)=>{function Pe(ht){ht?fe():p(xr(),Pe,we)}Pe(!1)})}function xr(){return pe?d(!0):p(ne._readyPromise,()=>l((fe,we)=>{ue(q,{_chunkSteps:Pe=>{de=p(Jf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:we})}))}if(yn(i,q._closedPromise,fe=>(k?At(!0,fe):at(()=>Ps(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?At(!0,fe):at(()=>Bt(i,fe),!0,fe),null)),rt(i,q._closedPromise,()=>(h?At():at(()=>ob(ne)),null)),Yt(c)||c._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");x?At(!0,fe):at(()=>Bt(i,fe),!0,fe)}g(Mt());function Mn(){let fe=de;return p(de,()=>fe!==de?Mn():void 0)}function yn(fe,we,Pe){fe._state==="errored"?Pe(fe._storedError):w(we,Pe)}function rt(fe,we,Pe){fe._state==="closed"?Pe():b(we,Pe)}function at(fe,we,Pe){if(pe)return;pe=!0,c._state==="writable"&&!Yt(c)?b(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(we,Pe),Or=>_n(!0,Or)),null}}function At(fe,we){pe||(pe=!0,c._state==="writable"&&!Yt(c)?b(Mn(),()=>_n(fe,we)):_n(fe,we))}function _n(fe,we){return Gf(ne),Q(q),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(we):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!js(this))throw $s("desiredSize");return xu(this)}close(){if(!js(this))throw $s("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!js(this))throw $s("enqueue");if(!Dr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Tr(this,c)}error(c=void 0){if(!js(this))throw $s("error");Nt(this,c)}[V](c){On(this);let h=this._cancelAlgorithm(c);return Us(this),h}[P](c){let h=this._controlledReadableStream;if(this._queue.length>0){let k=lu(this);this._closeRequested&&this._queue.length===0?(Us(this),xo(h)):Do(this),c._chunkSteps(k)}else O(h,c),Do(this)}[Y](){}}Object.defineProperties(gn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gn.prototype.close,"close"),o(gn.prototype.enqueue,"enqueue"),o(gn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function js(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function Do(i){if(!rh(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Do(i)),null),k=>(Nt(i,k),null))}function rh(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Nn(c)&&L(c)>0||xu(i)>0)}function Us(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function sr(i){if(!Dr(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Us(i),xo(c))}function Tr(i,c){if(!Dr(i))return;let h=i._controlledReadableStream;if(Nn(h)&&L(h)>0)I(h,c,!1);else{let k;try{k=i._strategySizeAlgorithm(c)}catch(x){throw Nt(i,x),x}try{du(i,c,k)}catch(x){throw Nt(i,x),x}}Do(i)}function Nt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(On(i),Us(i),ah(h,c))}function xu(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Eb(i){return!rh(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function oh(i,c,h,k,x,j,q){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=q,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=h();m(d(ne),()=>(c._started=!0,Do(c),null),pe=>(Nt(c,pe),null))}function kb(i,c,h,k){let x=Object.create(gn.prototype),j,q,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?q=()=>c.pull(x):q=()=>d(void 0),c.cancel!==void 0?ne=pe=>c.cancel(pe):ne=()=>d(void 0),oh(i,x,j,q,ne,h,k)}function $s(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function Ab(i,c){return er(i._readableStreamController)?vb(i):Sb(i)}function Sb(i,c){let h=U(i),k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(rt=>{Ce=rt});function Mt(){return k?(x=!0,d(void 0)):(k=!0,ue(h,{_chunkSteps:at=>{_(()=>{x=!1;let At=at,_n=at;j||Tr(de._readableStreamController,At),q||Tr(ge._readableStreamController,_n),k=!1,x&&Mt()})},_closeSteps:()=>{k=!1,j||sr(de._readableStreamController),q||sr(ge._readableStreamController),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{k=!1}}),d(void 0))}function xr(rt){if(j=!0,ne=rt,q){let at=De([ne,pe]),At=Bt(i,at);Ce(At)}return xe}function Mn(rt){if(q=!0,pe=rt,j){let at=De([ne,pe]),At=Bt(i,at);Ce(At)}return xe}function yn(){}return de=Ro(yn,Mt,xr),ge=Ro(yn,Mt,Mn),w(h._closedPromise,rt=>(Nt(de._readableStreamController,rt),Nt(ge._readableStreamController,rt),(!j||!q)&&Ce(void 0),null)),[de,ge]}function vb(i){let c=U(i),h=!1,k=!1,x=!1,j=!1,q=!1,ne,pe,de,ge,Ce,xe=l(fe=>{Ce=fe});function Mt(fe){w(fe._closedPromise,we=>(fe!==c||(kt(de._readableStreamController,we),kt(ge._readableStreamController,we),(!j||!q)&&Ce(void 0)),null))}function xr(){nr(c)&&(Q(c),c=U(i),Mt(c)),ue(c,{_chunkSteps:we=>{_(()=>{k=!1,x=!1;let Pe=we,ht=we;if(!j&&!q)try{ht=Ef(we)}catch(Or){kt(de._readableStreamController,Or),kt(ge._readableStreamController,Or),Ce(Bt(i,Or));return}j||vs(de._readableStreamController,Pe),q||vs(ge._readableStreamController,ht),h=!1,k?yn():x&&rt()})},_closeSteps:()=>{h=!1,j||ko(de._readableStreamController),q||ko(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ts(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ts(ge._readableStreamController,0),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function Mn(fe,we){oe(c)&&(Q(c),c=Nf(i),Mt(c));let Pe=we?ge:de,ht=we?de:ge;Lf(c,fe,1,{_chunkSteps:Pr=>{_(()=>{k=!1,x=!1;let Fr=we?q:j;if(we?j:q)Fr||Ds(Pe._readableStreamController,Pr);else{let Ch;try{Ch=Ef(Pr)}catch(Nu){kt(Pe._readableStreamController,Nu),kt(ht._readableStreamController,Nu),Ce(Bt(i,Nu));return}Fr||Ds(Pe._readableStreamController,Pr),vs(ht._readableStreamController,Ch)}h=!1,k?yn():x&&rt()})},_closeSteps:Pr=>{h=!1;let Fr=we?q:j,Ks=we?j:q;Fr||ko(Pe._readableStreamController),Ks||ko(ht._readableStreamController),Pr!==void 0&&(Fr||Ds(Pe._readableStreamController,Pr),!Ks&&ht._readableStreamController._pendingPullIntos.length>0&&Ts(ht._readableStreamController,0)),(!Fr||!Ks)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function yn(){if(h)return k=!0,d(void 0);h=!0;let fe=gu(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),d(void 0)}function rt(){if(h)return x=!0,d(void 0);h=!0;let fe=gu(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),d(void 0)}function at(fe){if(j=!0,ne=fe,q){let we=De([ne,pe]),Pe=Bt(i,we);Ce(Pe)}return xe}function At(fe){if(q=!0,pe=fe,j){let we=De([ne,pe]),Pe=Bt(i,we);Ce(Pe)}return xe}function _n(){}return de=ih(_n,yn,at),ge=ih(_n,rt,At),Mt(c),[de,ge]}function Tb(i){return n(i)&&typeof i.getReader<"u"}function Db(i){return Tb(i)?xb(i.getReader()):Rb(i)}function Rb(i){let c,h=wf(i,"async"),k=e;function x(){let q;try{q=C_(h)}catch(pe){return f(pe)}let ne=d(q);return y(ne,pe=>{if(!n(pe))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(w_(pe))sr(c._readableStreamController);else{let ge=E_(pe);Tr(c._readableStreamController,ge)}})}function j(q){let ne=h.iterator,pe;try{pe=ks(ne,"return")}catch(Ce){return f(Ce)}if(pe===void 0)return d(void 0);let de;try{de=A(pe,ne,[q])}catch(Ce){return f(Ce)}let ge=d(de);return y(ge,Ce=>{if(!n(Ce))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=Ro(k,x,j,0),c}function xb(i){let c,h=e;function k(){let j;try{j=i.read()}catch(q){return f(q)}return y(j,q=>{if(!n(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)sr(c._readableStreamController);else{let ne=q.value;Tr(c._readableStreamController,ne)}})}function x(j){try{return d(i.cancel(j))}catch(q){return f(q)}}return c=Ro(h,k,x,0),c}function Ob(i,c){ce(i,c);let h=i,k=h?.autoAllocateChunkSize,x=h?.cancel,j=h?.pull,q=h?.start,ne=h?.type;return{autoAllocateChunkSize:k===void 0?void 0:F(k,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:Pb(x,h,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Fb(j,h,`${c} has member 'pull' that`),start:q===void 0?void 0:Ib(q,h,`${c} has member 'start' that`),type:ne===void 0?void 0:Nb(ne,`${c} has member 'type' that`)}}function Pb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Fb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Ib(i,c,h){return te(i,h),k=>A(i,c,[k])}function Nb(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Bb(i,c){return ce(i,c),{preventCancel:!!i?.preventCancel}}function sh(i,c){ce(i,c);let h=i?.preventAbort,k=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&Mb(j,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!k,preventClose:!!x,signal:j}}function Mb(i,c){if(!W_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function Lb(i,c){ce(i,c);let h=i?.readable;E(h,"readable","ReadableWritablePair"),N(h,`${c} has member 'readable' that`);let k=i?.writable;return E(k,"writable","ReadableWritablePair"),Uf(k,`${c} has member 'writable' that`),{readable:h,writable:k}}class et{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Os(h,"Second parameter"),x=Ob(c,"First parameter");if(Ou(this),x.type==="bytes"){if(k.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=So(k,0);P_(this,x,j)}else{let j=xs(k),q=So(k,1);kb(this,x,q,j)}}get locked(){if(!In(this))throw ir("locked");return Nn(this)}cancel(c=void 0){return In(this)?Nn(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Bt(this,c):f(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return I_(c,"First parameter").mode===void 0?U(this):Nf(this)}pipeThrough(c,h={}){if(!In(this))throw ir("pipeThrough");je(c,1,"pipeThrough");let k=Lb(c,"First parameter"),x=sh(h,"Second parameter");if(Nn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(k.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=nh(this,k.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),k.readable}pipeTo(c,h={}){if(!In(this))return f(ir("pipeTo"));if(c===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let k;try{k=sh(h,"Second parameter")}catch(x){return f(x)}return Nn(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):nh(this,c,k.preventClose,k.preventAbort,k.preventCancel,k.signal)}tee(){if(!In(this))throw ir("tee");let c=Ab(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let h=Bb(c,"First parameter");return Cr(this,h.preventCancel)}[cu](c){return this.values(c)}static from(c){return Db(c)}}Object.defineProperties(et,{from:{enumerable:!0}}),Object.defineProperties(et.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(et.from,"from"),o(et.prototype.cancel,"cancel"),o(et.prototype.getReader,"getReader"),o(et.prototype.pipeThrough,"pipeThrough"),o(et.prototype.pipeTo,"pipeTo"),o(et.prototype.tee,"tee"),o(et.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(et.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(et.prototype,cu,{value:et.prototype.values,writable:!0,configurable:!0});function Ro(i,c,h,k=1,x=()=>1){let j=Object.create(et.prototype);Ou(j);let q=Object.create(gn.prototype);return oh(j,q,i,c,h,k,x),j}function ih(i,c,h){let k=Object.create(et.prototype);Ou(k);let x=Object.create(pn.prototype);return If(k,x,i,c,h,0,void 0),k}function Ou(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function In(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof et}function Nn(i){return i._reader!==void 0}function Bt(i,c){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);xo(i);let h=i._reader;if(h!==void 0&&nr(h)){let x=h._readIntoRequests;h._readIntoRequests=new T,x.forEach(j=>{j._closeSteps(void 0)})}let k=i._readableStreamController[V](c);return y(k,e)}function xo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ie(c),oe(c))){let h=c._readRequests;c._readRequests=new T,h.forEach(k=>{k._closeSteps()})}}function ah(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(G(h,c),oe(h)?Ie(h,c):jf(h,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function uh(i,c){ce(i,c);let h=i?.highWaterMark;return E(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:v(h)}}let ch=i=>i.byteLength;o(ch,"size");class qs{constructor(c){je(c,1,"ByteLengthQueuingStrategy"),c=uh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!dh(this))throw lh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!dh(this))throw lh("size");return ch}}Object.defineProperties(qs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(qs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function lh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function dh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof qs}let fh=()=>1;o(fh,"size");class zs{constructor(c){je(c,1,"CountQueuingStrategy"),c=uh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!ph(this))throw hh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!ph(this))throw hh("size");return fh}}Object.defineProperties(zs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function hh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function ph(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof zs}function jb(i,c){ce(i,c);let h=i?.cancel,k=i?.flush,x=i?.readableType,j=i?.start,q=i?.transform,ne=i?.writableType;return{cancel:h===void 0?void 0:zb(h,i,`${c} has member 'cancel' that`),flush:k===void 0?void 0:Ub(k,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:$b(j,i,`${c} has member 'start' that`),transform:q===void 0?void 0:qb(q,i,`${c} has member 'transform' that`),writableType:ne}}function Ub(i,c,h){return te(i,h),k=>C(i,c,[k])}function $b(i,c,h){return te(i,h),k=>A(i,c,[k])}function qb(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function zb(i,c,h){return te(i,h),k=>C(i,c,[k])}class Hs{constructor(c={},h={},k={}){c===void 0&&(c=null);let x=Os(h,"Second parameter"),j=Os(k,"Third parameter"),q=jb(c,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=So(j,0),pe=xs(j),de=So(x,1),ge=xs(x),Ce,xe=l(Mt=>{Ce=Mt});Hb(this,xe,de,ge,ne,pe),Gb(this,q),q.start!==void 0?Ce(q.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!mh(this))throw bh("readable");return this._readable}get writable(){if(!mh(this))throw bh("writable");return this._writable}}Object.defineProperties(Hs.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hs.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Hb(i,c,h,k,x,j){function q(){return c}function ne(xe){return Kb(i,xe)}function pe(xe){return Yb(i,xe)}function de(){return Qb(i)}i._writable=V_(q,ne,de,pe,h,k);function ge(){return Xb(i)}function Ce(xe){return Zb(i,xe)}i._readable=Ro(q,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Ws(i,!0),i._transformStreamController=void 0}function mh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Hs}function gh(i,c){Nt(i._readable._readableStreamController,c),Pu(i,c)}function Pu(i,c){Js(i._transformStreamController),vo(i._writable._writableStreamController,c),Fu(i)}function Fu(i){i._backpressure&&Ws(i,!1)}function Ws(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Gs(this))throw Vs("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return xu(c)}enqueue(c=void 0){if(!Gs(this))throw Vs("enqueue");yh(this,c)}error(c=void 0){if(!Gs(this))throw Vs("error");Jb(this,c)}terminate(){if(!Gs(this))throw Vs("terminate");Vb(this)}}Object.defineProperties(Bn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Bn.prototype.enqueue,"enqueue"),o(Bn.prototype.error,"error"),o(Bn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Gs(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Bn}function Wb(i,c,h,k,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=k,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function Gb(i,c){let h=Object.create(Bn.prototype),k,x,j;c.transform!==void 0?k=q=>c.transform(q,h):k=q=>{try{return yh(h,q),d(void 0)}catch(ne){return f(ne)}},c.flush!==void 0?x=()=>c.flush(h):x=()=>d(void 0),c.cancel!==void 0?j=q=>c.cancel(q):j=()=>d(void 0),Wb(i,h,k,x,j)}function Js(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function yh(i,c){let h=i._controlledTransformStream,k=h._readable._readableStreamController;if(!Dr(k))throw new TypeError("Readable side is not in a state that permits enqueue");try{Tr(k,c)}catch(j){throw Pu(h,j),h._readable._storedError}Eb(k)!==h._backpressure&&Ws(h,!0)}function Jb(i,c){gh(i._controlledTransformStream,c)}function _h(i,c){let h=i._transformAlgorithm(c);return y(h,void 0,k=>{throw gh(i._controlledTransformStream,k),k})}function Vb(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;sr(h);let k=new TypeError("TransformStream terminated");Pu(c,k)}function Kb(i,c){let h=i._transformStreamController;if(i._backpressure){let k=i._backpressureChangePromise;return y(k,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return _h(h,c)})}return _h(h,c)}function Yb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._readable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Js(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(Nt(k._readableStreamController,c),Iu(h)),null),j=>(Nt(k._readableStreamController,j),Rr(h,j),null)),h._finishPromise}function Qb(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let k=c._flushAlgorithm();return Js(c),m(k,()=>(h._state==="errored"?Rr(c,h._storedError):(sr(h._readableStreamController),Iu(c)),null),x=>(Nt(h._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function Xb(i){return Ws(i,!1),i._backpressureChangePromise}function Zb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._writable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Js(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(vo(k._writableStreamController,c),Fu(i),Iu(h)),null),j=>(vo(k._writableStreamController,j),Fu(i),Rr(h,j),null)),h._finishPromise}function Vs(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Iu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Rr(i,c){i._finishPromise_reject!==void 0&&(g(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function bh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=qs,t.CountQueuingStrategy=zs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=H,t.TransformStream=Hs,t.TransformStreamDefaultController=Bn,t.WritableStream=Fn,t.WritableStreamDefaultController=vr,t.WritableStreamDefaultWriter=mn}))});var gm=X(()=>{if(!globalThis.ReadableStream)try{let t=re("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,re("node:stream/web")),t.emitWarning=e}catch(n){throw t.emitWarning=e,n}}catch{Object.assign(globalThis,mm())}try{let{Blob:t}=re("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let u=await o.slice(r,Math.min(o.size,r+65536)).arrayBuffer();r+=u.byteLength,s.enqueue(new Uint8Array(u)),r===o.size&&s.close()}})})}catch{}});async function*Tc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,ym),a=n.buffer.slice(r,r+s);r+=a.byteLength,yield new Uint8Array(a)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let a=await o.slice(r,Math.min(o.size,r+ym)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var U1,ym,_m,CE,$t,jo=Le(()=>{U1=Ln(gm(),1);ym=65536;_m=class Dc{#e=[];#t="";#n=0;#r="transparent";constructor(e=[],n={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof n!="object"&&typeof n!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");n===null&&(n={});let r=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof Dc?a=s:a=r.encode(`${s}`),this.#n+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#r=`${n.endings===void 0?"transparent":n.endings}`;let o=n.type===void 0?"":String(n.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#n}get type(){return this.#t}async text(){let e=new TextDecoder,n="";for await(let r of Tc(this.#e,!1))n+=e.decode(r,{stream:!0});return n+=e.decode(),n}async arrayBuffer(){let e=new Uint8Array(this.size),n=0;for await(let r of Tc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=Tc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(n){let r=await e.next();r.done?n.close():n.enqueue(r.value)},async cancel(){await e.return()}})}slice(e=0,n=this.size,r=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=n<0?Math.max(o+n,0):Math.min(n,o),u=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let m of l){if(f>=u)break;let b=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&b<=s)s-=b,a-=b;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(b,a)),f+=w.byteLength):(w=m.slice(s,Math.min(b,a)),f+=w.size),a-=b,d.push(w),s=0}}let p=new Dc([],{type:String(r).toLowerCase()});return p.#n=u,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(_m.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});CE=_m,$t=CE});var wE,EE,qn,Rc=Le(()=>{jo();wE=class extends $t{#e=0;#t="";constructor(e,n,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,r),r===null&&(r={});let o=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(n)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},EE=wE,qn=EE});function wm(t,e=$t){var n=`${bm()}${bm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
27
- Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+xc(a)+`"\r
25
+ `;let l=(0,bE.parseProxyResponse)(o);o.write(`${u}\r
26
+ `);let{connect:f,buffered:d}=await l;if(e.emit("proxyConnect",f),this.emit("proxyConnect",f,e),f.statusCode===200)return e.once("socket",CE),n.secureEndpoint?(jo("Upgrading socket connection to TLS"),um.connect({...lm(cm(n),"host","path","port"),socket:o})):o;o.destroy();let p=new ki.Socket({writable:!1});return p.readable=!0,e.once("socket",m=>{jo("Replaying proxy buffer for failed request"),(0,mE.default)(m.listenerCount("data")>0),m.push(d),m.push(null)}),p}};Ai.protocols=["http","https"];Tt.HttpsProxyAgent=Ai;function CE(t){t.resume()}function lm(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function wE(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",a=s;for(let d=1;d<n.length;d++)n[d]==="base64"?o=!0:n[d]&&(a+=`;${n[d]}`,n[d].indexOf("charset=")===0&&(r=n[d].substring(8)));!n[0]&&!r.length&&(a+=";charset=US-ASCII",r="US-ASCII");let u=o?"base64":"ascii",l=unescape(t.substring(e+1)),f=Buffer.from(l,u);return f.type=s,f.typeFull=a,f.charset=r,f}var pm,mm=Le(()=>{pm=wE});var ym=X((Si,gm)=>{(function(t,e){typeof Si=="object"&&typeof gm<"u"?e(Si):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(Si,(function(t){"use strict";function e(){}function n(i){return typeof i=="object"&&i!==null||typeof i=="function"}let r=e;function o(i,c){try{Object.defineProperty(i,"name",{value:c,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,u=Promise.reject.bind(s);function l(i){return new s(i)}function f(i){return l(c=>c(i))}function d(i){return u(i)}function p(i,c,h){return a.call(i,c,h)}function m(i,c,h){p(p(i,c,h),void 0,r)}function b(i,c){m(i,c)}function w(i,c){m(i,void 0,c)}function y(i,c,h){return p(i,c,h)}function g(i){p(i,void 0,r)}let _=i=>{if(typeof queueMicrotask=="function")_=queueMicrotask;else{let c=f(void 0);_=h=>p(c,h)}return _(i)};function A(i,c,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,c,h)}function C(i,c,h){try{return f(A(i,c,h))}catch(k){return d(k)}}let v=16384;class T{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(c){let h=this._back,k=h;h._elements.length===v-1&&(k={_elements:[],_next:void 0}),h._elements.push(c),k!==h&&(this._back=k,h._next=k),++this._size}shift(){let c=this._front,h=c,k=this._cursor,x=k+1,j=c._elements,q=j[k];return x===v&&(h=c._next,x=0),--this._size,this._cursor=x,c!==h&&(this._front=h),j[k]=void 0,q}forEach(c){let h=this._cursor,k=this._front,x=k._elements;for(;(h!==x.length||k._next!==void 0)&&!(h===x.length&&(k=k._next,x=k._elements,h=0,x.length===0));)c(x[h]),++h}peek(){let c=this._front,h=this._cursor;return c._elements[h]}}let R=Symbol("[[AbortSteps]]"),$=Symbol("[[ErrorSteps]]"),G=Symbol("[[CancelSteps]]"),P=Symbol("[[PullSteps]]"),K=Symbol("[[ReleaseSteps]]");function z(i,c){i._ownerReadableStream=c,c._reader=i,c._state==="readable"?se(i):c._state==="closed"?pe(i):ie(i,c._storedError)}function Y(i,c){let h=i._ownerReadableStream;return Bt(h,c)}function Q(i){let c=i._ownerReadableStream;c._state==="readable"?J(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Z(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),c._readableStreamController[K](),c._reader=void 0,i._ownerReadableStream=void 0}function ee(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function se(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h})}function ie(i,c){se(i),J(i,c)}function pe(i){se(i),ce(i)}function J(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function Z(i,c){ie(i,c)}function ce(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let je=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},we=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function V(i){return typeof i=="object"||typeof i=="function"}function ue(i,c){if(i!==void 0&&!V(i))throw new TypeError(`${c} is not an object.`)}function te(i,c){if(typeof i!="function")throw new TypeError(`${c} is not a function.`)}function Te(i){return typeof i=="object"&&i!==null||typeof i=="function"}function Oe(i,c){if(!Te(i))throw new TypeError(`${c} is not an object.`)}function Ue(i,c,h){if(i===void 0)throw new TypeError(`Parameter ${c} is required in '${h}'.`)}function E(i,c,h){if(i===void 0)throw new TypeError(`${c} is required in '${h}'.`)}function S(i){return Number(i)}function D(i){return i===0?0:i}function M(i){return D(we(i))}function F(i,c){let k=Number.MAX_SAFE_INTEGER,x=Number(i);if(x=D(x),!je(x))throw new TypeError(`${c} is not a finite number`);if(x=M(x),x<0||x>k)throw new TypeError(`${c} is outside the accepted range of 0 to ${k}, inclusive`);return!je(x)||x===0?0:x}function N(i,c){if(!In(i))throw new TypeError(`${c} is not a ReadableStream.`)}function U(i){return new H(i)}function O(i,c){i._reader._readRequests.push(c)}function I(i,c,h){let x=i._reader._readRequests.shift();h?x._closeSteps():x._chunkSteps(c)}function L(i){return i._reader._readRequests.length}function B(i){let c=i._reader;return!(c===void 0||!oe(c))}class H{constructor(c){if(Ue(c,1,"ReadableStreamDefaultReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");z(this,c),this._readRequests=new T}get closed(){return oe(this)?this._closedPromise:d(Me("closed"))}cancel(c=void 0){return oe(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(Me("cancel"))}read(){if(!oe(this))return d(Me("read"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let c,h,k=l((j,q)=>{c=j,h=q});return ae(this,{_chunkSteps:j=>c({value:j,done:!1}),_closeSteps:()=>c({value:void 0,done:!0}),_errorSteps:j=>h(j)}),k}releaseLock(){if(!oe(this))throw Me("releaseLock");this._ownerReadableStream!==void 0&&Se(this)}}Object.defineProperties(H.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(H.prototype.cancel,"cancel"),o(H.prototype.read,"read"),o(H.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(H.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function oe(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof H}function ae(i,c){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?c._closeSteps():h._state==="errored"?c._errorSteps(h._storedError):h._readableStreamController[P](c)}function Se(i){Q(i);let c=new TypeError("Reader was released");Ie(i,c)}function Ie(i,c){let h=i._readRequests;i._readRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function Me(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let Ae=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ve{constructor(c,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=c,this._preventCancel=h}next(){let c=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?y(this._ongoingPromise,c,c):c(),this._ongoingPromise}return(c){let h=()=>this._returnSteps(c);return this._ongoingPromise?y(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let c=this._reader,h,k,x=l((q,ne)=>{h=q,k=ne});return ae(c,{_chunkSteps:q=>{this._ongoingPromise=void 0,_(()=>h({value:q,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),h({value:void 0,done:!0})},_errorSteps:q=>{this._ongoingPromise=void 0,this._isFinished=!0,Q(c),k(q)}}),x}_returnSteps(c){if(this._isFinished)return Promise.resolve({value:c,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let k=Y(h,c);return Q(h),y(k,()=>({value:c,done:!0}))}return Q(h),f({value:c,done:!0})}}let qe={next(){return wr(this)?this._asyncIteratorImpl.next():d(Er("next"))},return(i){return wr(this)?this._asyncIteratorImpl.return(i):d(Er("return"))}};Object.setPrototypeOf(qe,Ae);function Cr(i,c){let h=U(i),k=new ve(h,c),x=Object.create(qe);return x._asyncIteratorImpl=k,x}function wr(i){if(!n(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof ve}catch{return!1}}function Er(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let ft=Number.isNaN||function(i){return i!==i};var fn,Ze,ze;function De(i){return i.slice()}function wf(i,c,h,k,x){new Uint8Array(i).set(new Uint8Array(h,k,x),c)}let hn=i=>(typeof i.transfer=="function"?hn=c=>c.transfer():typeof structuredClone=="function"?hn=c=>structuredClone(c,{transfer:[c]}):hn=c=>c,hn(i)),xn=i=>(typeof i.detached=="boolean"?xn=c=>c.detached:xn=c=>c.byteLength===0,xn(i));function Ef(i,c,h){if(i.slice)return i.slice(c,h);let k=h-c,x=new ArrayBuffer(k);return wf(x,0,i,c,k),x}function As(i,c){let h=i[c];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(c)} is not a function`);return h}}function w_(i){let c={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*c})(),k=h.next;return{iterator:h,nextMethod:k,done:!1}}let lu=(ze=(fn=Symbol.asyncIterator)!==null&&fn!==void 0?fn:(Ze=Symbol.for)===null||Ze===void 0?void 0:Ze.call(Symbol,"Symbol.asyncIterator"))!==null&&ze!==void 0?ze:"@@asyncIterator";function kf(i,c="sync",h){if(h===void 0)if(c==="async"){if(h=As(i,lu),h===void 0){let j=As(i,Symbol.iterator),q=kf(i,"sync",j);return w_(q)}}else h=As(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let k=A(h,i,[]);if(!n(k))throw new TypeError("The iterator method must return an object");let x=k.next;return{iterator:k,nextMethod:x,done:!1}}function E_(i){let c=A(i.nextMethod,i.iterator,[]);if(!n(c))throw new TypeError("The iterator.next() method must return an object");return c}function k_(i){return!!i.done}function A_(i){return i.value}function S_(i){return!(typeof i!="number"||ft(i)||i<0)}function Af(i){let c=Ef(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(c)}function du(i){let c=i._queue.shift();return i._queueTotalSize-=c.size,i._queueTotalSize<0&&(i._queueTotalSize=0),c.value}function fu(i,c,h){if(!S_(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:c,size:h}),i._queueTotalSize+=h}function v_(i){return i._queue.peek().value}function On(i){i._queue=new T,i._queueTotalSize=0}function Sf(i){return i===DataView}function T_(i){return Sf(i.constructor)}function D_(i){return Sf(i)?1:i.BYTES_PER_ELEMENT}class Zn{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!hu(this))throw _u("view");return this._view}respond(c){if(!hu(this))throw _u("respond");if(Ue(c,1,"respond"),c=F(c,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ds(this._associatedReadableByteStreamController,c)}respondWithNewView(c){if(!hu(this))throw _u("respondWithNewView");if(Ue(c,1,"respondWithNewView"),!ArrayBuffer.isView(c))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xn(c.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rs(this._associatedReadableByteStreamController,c)}}Object.defineProperties(Zn.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Zn.prototype.respond,"respond"),o(Zn.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Zn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class pn{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!er(this))throw So("byobRequest");return yu(this)}get desiredSize(){if(!er(this))throw So("desiredSize");return Nf(this)}close(){if(!er(this))throw So("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let c=this._controlledReadableByteStream._state;if(c!=="readable")throw new TypeError(`The stream (in ${c} state) is not in the readable state and cannot be closed`);Ao(this)}enqueue(c){if(!er(this))throw So("enqueue");if(Ue(c,1,"enqueue"),!ArrayBuffer.isView(c))throw new TypeError("chunk must be an array buffer view");if(c.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(c.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);Ts(this,c)}error(c=void 0){if(!er(this))throw So("error");kt(this,c)}[G](c){vf(this),On(this);let h=this._cancelAlgorithm(c);return vs(this),h}[P](c){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){If(this,c);return}let k=this._autoAllocateChunkSize;if(k!==void 0){let x;try{x=new ArrayBuffer(k)}catch(q){c._errorSteps(q);return}let j={buffer:x,bufferByteLength:k,byteOffset:0,byteLength:k,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(j)}O(h,c),tr(this)}[K](){if(this._pendingPullIntos.length>0){let c=this._pendingPullIntos.peek();c.readerType="none",this._pendingPullIntos=new T,this._pendingPullIntos.push(c)}}}Object.defineProperties(pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pn.prototype.close,"close"),o(pn.prototype.enqueue,"enqueue"),o(pn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function er(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof pn}function hu(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Zn}function tr(i){if(!F_(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,tr(i)),null),k=>(kt(i,k),null))}function vf(i){mu(i),i._pendingPullIntos=new T}function pu(i,c){let h=!1;i._state==="closed"&&(h=!0);let k=Tf(c);c.readerType==="default"?I(i,k,h):j_(i,k,h)}function Tf(i){let c=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,c/h)}function Ss(i,c,h,k){i._queue.push({buffer:c,byteOffset:h,byteLength:k}),i._queueTotalSize+=k}function Df(i,c,h,k){let x;try{x=Ef(c,h,h+k)}catch(j){throw kt(i,j),j}Ss(i,x,0,k)}function Rf(i,c){c.bytesFilled>0&&Df(i,c.buffer,c.byteOffset,c.bytesFilled),kr(i)}function xf(i,c){let h=Math.min(i._queueTotalSize,c.byteLength-c.bytesFilled),k=c.bytesFilled+h,x=h,j=!1,q=k%c.elementSize,ne=k-q;ne>=c.minimumFill&&(x=ne-c.bytesFilled,j=!0);let me=i._queue;for(;x>0;){let de=me.peek(),ge=Math.min(x,de.byteLength),Ce=c.byteOffset+c.bytesFilled;wf(c.buffer,Ce,de.buffer,de.byteOffset,ge),de.byteLength===ge?me.shift():(de.byteOffset+=ge,de.byteLength-=ge),i._queueTotalSize-=ge,Of(i,ge,c),x-=ge}return j}function Of(i,c,h){h.bytesFilled+=c}function Pf(i){i._queueTotalSize===0&&i._closeRequested?(vs(i),Oo(i._controlledReadableByteStream)):tr(i)}function mu(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function gu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let c=i._pendingPullIntos.peek();xf(i,c)&&(kr(i),pu(i._controlledReadableByteStream,c))}}function R_(i){let c=i._controlledReadableByteStream._reader;for(;c._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=c._readRequests.shift();If(i,h)}}function x_(i,c,h,k){let x=i._controlledReadableByteStream,j=c.constructor,q=D_(j),{byteOffset:ne,byteLength:me}=c,de=h*q,ge;try{ge=hn(c.buffer)}catch(xe){k._errorSteps(xe);return}let Ce={buffer:ge,bufferByteLength:ge.byteLength,byteOffset:ne,byteLength:me,bytesFilled:0,minimumFill:de,elementSize:q,viewConstructor:j,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(Ce),Lf(x,k);return}if(x._state==="closed"){let xe=new j(Ce.buffer,Ce.byteOffset,0);k._closeSteps(xe);return}if(i._queueTotalSize>0){if(xf(i,Ce)){let xe=Tf(Ce);Pf(i),k._chunkSteps(xe);return}if(i._closeRequested){let xe=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(i,xe),k._errorSteps(xe);return}}i._pendingPullIntos.push(Ce),Lf(x,k),tr(i)}function O_(i,c){c.readerType==="none"&&kr(i);let h=i._controlledReadableByteStream;if(bu(h))for(;jf(h)>0;){let k=kr(i);pu(h,k)}}function P_(i,c,h){if(Of(i,c,h),h.readerType==="none"){Rf(i,h),gu(i);return}if(h.bytesFilled<h.minimumFill)return;kr(i);let k=h.bytesFilled%h.elementSize;if(k>0){let x=h.byteOffset+h.bytesFilled;Df(i,h.buffer,x-k,k)}h.bytesFilled-=k,pu(i._controlledReadableByteStream,h),gu(i)}function Ff(i,c){let h=i._pendingPullIntos.peek();mu(i),i._controlledReadableByteStream._state==="closed"?O_(i,h):P_(i,c,h),tr(i)}function kr(i){return i._pendingPullIntos.shift()}function F_(i){let c=i._controlledReadableByteStream;return c._state!=="readable"||i._closeRequested||!i._started?!1:!!(B(c)&&L(c)>0||bu(c)&&jf(c)>0||Nf(i)>0)}function vs(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function Ao(i){let c=i._controlledReadableByteStream;if(!(i._closeRequested||c._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let k=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(i,k),k}}vs(i),Oo(c)}}function Ts(i,c){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:k,byteOffset:x,byteLength:j}=c;if(xn(k))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let q=hn(k);if(i._pendingPullIntos.length>0){let ne=i._pendingPullIntos.peek();if(xn(ne.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");mu(i),ne.buffer=hn(ne.buffer),ne.readerType==="none"&&Rf(i,ne)}if(B(h))if(R_(i),L(h)===0)Ss(i,q,x,j);else{i._pendingPullIntos.length>0&&kr(i);let ne=new Uint8Array(q,x,j);I(h,ne,!1)}else bu(h)?(Ss(i,q,x,j),gu(i)):Ss(i,q,x,j);tr(i)}function kt(i,c){let h=i._controlledReadableByteStream;h._state==="readable"&&(vf(i),On(i),vs(i),ch(h,c))}function If(i,c){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,Pf(i);let k=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);c._chunkSteps(k)}function yu(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let c=i._pendingPullIntos.peek(),h=new Uint8Array(c.buffer,c.byteOffset+c.bytesFilled,c.byteLength-c.bytesFilled),k=Object.create(Zn.prototype);N_(k,i,h),i._byobRequest=k}return i._byobRequest}function Nf(i){let c=i._controlledReadableByteStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ds(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(c===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+c>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=hn(h.buffer),Ff(i,c)}function Rs(i,c){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(c.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(c.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==c.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==c.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+c.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let x=c.byteLength;h.buffer=hn(c.buffer),Ff(i,x)}function Bf(i,c,h,k,x,j,q){c._controlledReadableByteStream=i,c._pullAgain=!1,c._pulling=!1,c._byobRequest=null,c._queue=c._queueTotalSize=void 0,On(c),c._closeRequested=!1,c._started=!1,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,c._autoAllocateChunkSize=q,c._pendingPullIntos=new T,i._readableStreamController=c;let ne=h();m(f(ne),()=>(c._started=!0,tr(c),null),me=>(kt(c,me),null))}function I_(i,c,h){let k=Object.create(pn.prototype),x,j,q;c.start!==void 0?x=()=>c.start(k):x=()=>{},c.pull!==void 0?j=()=>c.pull(k):j=()=>f(void 0),c.cancel!==void 0?q=me=>c.cancel(me):q=()=>f(void 0);let ne=c.autoAllocateChunkSize;if(ne===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Bf(i,k,x,j,q,h,ne)}function N_(i,c,h){i._associatedReadableByteStreamController=c,i._view=h}function _u(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function So(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function B_(i,c){ue(i,c);let h=i?.mode;return{mode:h===void 0?void 0:M_(h,`${c} has member 'mode' that`)}}function M_(i,c){if(i=`${i}`,i!=="byob")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function L_(i,c){var h;ue(i,c);let k=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(k,`${c} has member 'min' that`)}}function Mf(i){return new Pn(i)}function Lf(i,c){i._reader._readIntoRequests.push(c)}function j_(i,c,h){let x=i._reader._readIntoRequests.shift();h?x._closeSteps(c):x._chunkSteps(c)}function jf(i){return i._reader._readIntoRequests.length}function bu(i){let c=i._reader;return!(c===void 0||!nr(c))}class Pn{constructor(c){if(Ue(c,1,"ReadableStreamBYOBReader"),N(c,"First parameter"),Nn(c))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!er(c._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");z(this,c),this._readIntoRequests=new T}get closed(){return nr(this)?this._closedPromise:d(xs("closed"))}cancel(c=void 0){return nr(this)?this._ownerReadableStream===void 0?d(ee("cancel")):Y(this,c):d(xs("cancel"))}read(c,h={}){if(!nr(this))return d(xs("read"));if(!ArrayBuffer.isView(c))return d(new TypeError("view must be an array buffer view"));if(c.byteLength===0)return d(new TypeError("view must have non-zero byteLength"));if(c.buffer.byteLength===0)return d(new TypeError("view's buffer must have non-zero byteLength"));if(xn(c.buffer))return d(new TypeError("view's buffer has been detached"));let k;try{k=L_(h,"options")}catch(de){return d(de)}let x=k.min;if(x===0)return d(new TypeError("options.min must be greater than 0"));if(T_(c)){if(x>c.byteLength)return d(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(x>c.length)return d(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return d(ee("read from"));let j,q,ne=l((de,ge)=>{j=de,q=ge});return Uf(this,c,x,{_chunkSteps:de=>j({value:de,done:!1}),_closeSteps:de=>j({value:de,done:!0}),_errorSteps:de=>q(de)}),ne}releaseLock(){if(!nr(this))throw xs("releaseLock");this._ownerReadableStream!==void 0&&U_(this)}}Object.defineProperties(Pn.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Pn.prototype.cancel,"cancel"),o(Pn.prototype.read,"read"),o(Pn.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pn.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Pn}function Uf(i,c,h,k){let x=i._ownerReadableStream;x._disturbed=!0,x._state==="errored"?k._errorSteps(x._storedError):x_(x._readableStreamController,c,h,k)}function U_(i){Q(i);let c=new TypeError("Reader was released");$f(i,c)}function $f(i,c){let h=i._readIntoRequests;i._readIntoRequests=new T,h.forEach(k=>{k._errorSteps(c)})}function xs(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function vo(i,c){let{highWaterMark:h}=i;if(h===void 0)return c;if(ft(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function Os(i){let{size:c}=i;return c||(()=>1)}function Ps(i,c){ue(i,c);let h=i?.highWaterMark,k=i?.size;return{highWaterMark:h===void 0?void 0:S(h),size:k===void 0?void 0:$_(k,`${c} has member 'size' that`)}}function $_(i,c){return te(i,c),h=>S(i(h))}function q_(i,c){ue(i,c);let h=i?.abort,k=i?.close,x=i?.start,j=i?.type,q=i?.write;return{abort:h===void 0?void 0:z_(h,i,`${c} has member 'abort' that`),close:k===void 0?void 0:H_(k,i,`${c} has member 'close' that`),start:x===void 0?void 0:W_(x,i,`${c} has member 'start' that`),write:q===void 0?void 0:G_(q,i,`${c} has member 'write' that`),type:j}}function z_(i,c,h){return te(i,h),k=>C(i,c,[k])}function H_(i,c,h){return te(i,h),()=>C(i,c,[])}function W_(i,c,h){return te(i,h),k=>A(i,c,[k])}function G_(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function qf(i,c){if(!Ar(i))throw new TypeError(`${c} is not a WritableStream.`)}function J_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let V_=typeof AbortController=="function";function K_(){if(V_)return new AbortController}class Fn{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Ps(h,"Second parameter"),x=q_(c,"First parameter");if(Hf(this),x.type!==void 0)throw new RangeError("Invalid type is specified");let q=Os(k),ne=vo(k,1);cb(this,x,ne,q)}get locked(){if(!Ar(this))throw Ms("locked");return Sr(this)}abort(c=void 0){return Ar(this)?Sr(this)?d(new TypeError("Cannot abort a stream that already has a writer")):Fs(this,c):d(Ms("abort"))}close(){return Ar(this)?Sr(this)?d(new TypeError("Cannot close a stream that already has a writer")):Yt(this)?d(new TypeError("Cannot close an already-closing stream")):Wf(this):d(Ms("close"))}getWriter(){if(!Ar(this))throw Ms("getWriter");return zf(this)}}Object.defineProperties(Fn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Fn.prototype.abort,"abort"),o(Fn.prototype.close,"close"),o(Fn.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fn.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function zf(i){return new mn(i)}function Y_(i,c,h,k,x=1,j=()=>1){let q=Object.create(Fn.prototype);Hf(q);let ne=Object.create(vr.prototype);return Qf(q,ne,i,c,h,k,x,j),q}function Hf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new T,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function Ar(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Fn}function Sr(i){return i._writer!==void 0}function Fs(i,c){var h;if(i._state==="closed"||i._state==="errored")return f(void 0);i._writableStreamController._abortReason=c,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(c);let k=i._state;if(k==="closed"||k==="errored")return f(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let x=!1;k==="erroring"&&(x=!0,c=void 0);let j=l((q,ne)=>{i._pendingAbortRequest={_promise:void 0,_resolve:q,_reject:ne,_reason:c,_wasAlreadyErroring:x}});return i._pendingAbortRequest._promise=j,x||wu(i,c),j}function Wf(i){let c=i._state;if(c==="closed"||c==="errored")return d(new TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let h=l((x,j)=>{let q={_resolve:x,_reject:j};i._closeRequest=q}),k=i._writer;return k!==void 0&&i._backpressure&&c==="writable"&&Ru(k),lb(i._writableStreamController),h}function Q_(i){return l((h,k)=>{let x={_resolve:h,_reject:k};i._writeRequests.push(x)})}function Cu(i,c){if(i._state==="writable"){wu(i,c);return}Eu(i)}function wu(i,c){let h=i._writableStreamController;i._state="erroring",i._storedError=c;let k=i._writer;k!==void 0&&Jf(k,c),!nb(i)&&h._started&&Eu(i)}function Eu(i){i._state="errored",i._writableStreamController[$]();let c=i._storedError;if(i._writeRequests.forEach(x=>{x._reject(c)}),i._writeRequests=new T,i._pendingAbortRequest===void 0){Is(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(c),Is(i);return}let k=i._writableStreamController[R](h._reason);m(k,()=>(h._resolve(),Is(i),null),x=>(h._reject(x),Is(i),null))}function X_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function Z_(i,c){i._inFlightWriteRequest._reject(c),i._inFlightWriteRequest=void 0,Cu(i,c)}function eb(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&th(h)}function tb(i,c){i._inFlightCloseRequest._reject(c),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(c),i._pendingAbortRequest=void 0),Cu(i,c)}function Yt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function nb(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function rb(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function ob(i){i._inFlightWriteRequest=i._writeRequests.shift()}function Is(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let c=i._writer;c!==void 0&&Tu(c,i._storedError)}function ku(i,c){let h=i._writer;h!==void 0&&c!==i._backpressure&&(c?yb(h):Ru(h)),i._backpressure=c}class mn{constructor(c){if(Ue(c,1,"WritableStreamDefaultWriter"),qf(c,"First parameter"),Sr(c))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=c,c._writer=this;let h=c._state;if(h==="writable")!Yt(c)&&c._backpressure?js(this):nh(this),Ls(this);else if(h==="erroring")Du(this,c._storedError),Ls(this);else if(h==="closed")nh(this),mb(this);else{let k=c._storedError;Du(this,k),eh(this,k)}}get closed(){return rr(this)?this._closedPromise:d(or("closed"))}get desiredSize(){if(!rr(this))throw or("desiredSize");if(this._ownerWritableStream===void 0)throw Do("desiredSize");return ub(this)}get ready(){return rr(this)?this._readyPromise:d(or("ready"))}abort(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("abort")):sb(this,c):d(or("abort"))}close(){if(!rr(this))return d(or("close"));let c=this._ownerWritableStream;return c===void 0?d(Do("close")):Yt(c)?d(new TypeError("Cannot close an already-closing stream")):Gf(this)}releaseLock(){if(!rr(this))throw or("releaseLock");this._ownerWritableStream!==void 0&&Vf(this)}write(c=void 0){return rr(this)?this._ownerWritableStream===void 0?d(Do("write to")):Kf(this,c):d(or("write"))}}Object.defineProperties(mn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(mn.prototype.abort,"abort"),o(mn.prototype.close,"close"),o(mn.prototype.releaseLock,"releaseLock"),o(mn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(mn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rr(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof mn}function sb(i,c){let h=i._ownerWritableStream;return Fs(h,c)}function Gf(i){let c=i._ownerWritableStream;return Wf(c)}function ib(i){let c=i._ownerWritableStream,h=c._state;return Yt(c)||h==="closed"?f(void 0):h==="errored"?d(c._storedError):Gf(i)}function ab(i,c){i._closedPromiseState==="pending"?Tu(i,c):gb(i,c)}function Jf(i,c){i._readyPromiseState==="pending"?rh(i,c):_b(i,c)}function ub(i){let c=i._ownerWritableStream,h=c._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Xf(c._writableStreamController)}function Vf(i){let c=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Jf(i,h),ab(i,h),c._writer=void 0,i._ownerWritableStream=void 0}function Kf(i,c){let h=i._ownerWritableStream,k=h._writableStreamController,x=db(k,c);if(h!==i._ownerWritableStream)return d(Do("write to"));let j=h._state;if(j==="errored")return d(h._storedError);if(Yt(h)||j==="closed")return d(new TypeError("The stream is closing or closed and cannot be written to"));if(j==="erroring")return d(h._storedError);let q=Q_(h);return fb(k,c,x),q}let Yf={};class vr{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Au(this))throw vu("abortReason");return this._abortReason}get signal(){if(!Au(this))throw vu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(c=void 0){if(!Au(this))throw vu("error");this._controlledWritableStream._state==="writable"&&Zf(this,c)}[R](c){let h=this._abortAlgorithm(c);return Ns(this),h}[$](){On(this)}}Object.defineProperties(vr.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(vr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Au(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof vr}function Qf(i,c,h,k,x,j,q,ne){c._controlledWritableStream=i,i._writableStreamController=c,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._abortReason=void 0,c._abortController=K_(),c._started=!1,c._strategySizeAlgorithm=ne,c._strategyHWM=q,c._writeAlgorithm=k,c._closeAlgorithm=x,c._abortAlgorithm=j;let me=Su(c);ku(i,me);let de=h(),ge=f(de);m(ge,()=>(c._started=!0,Bs(c),null),Ce=>(c._started=!0,Cu(i,Ce),null))}function cb(i,c,h,k){let x=Object.create(vr.prototype),j,q,ne,me;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.write!==void 0?q=de=>c.write(de,x):q=()=>f(void 0),c.close!==void 0?ne=()=>c.close():ne=()=>f(void 0),c.abort!==void 0?me=de=>c.abort(de):me=()=>f(void 0),Qf(i,x,j,q,ne,me,h,k)}function Ns(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function lb(i){fu(i,Yf,0),Bs(i)}function db(i,c){try{return i._strategySizeAlgorithm(c)}catch(h){return To(i,h),1}}function Xf(i){return i._strategyHWM-i._queueTotalSize}function fb(i,c,h){try{fu(i,c,h)}catch(x){To(i,x);return}let k=i._controlledWritableStream;if(!Yt(k)&&k._state==="writable"){let x=Su(i);ku(k,x)}Bs(i)}function Bs(i){let c=i._controlledWritableStream;if(!i._started||c._inFlightWriteRequest!==void 0)return;if(c._state==="erroring"){Eu(c);return}if(i._queue.length===0)return;let k=v_(i);k===Yf?hb(i):pb(i,k)}function To(i,c){i._controlledWritableStream._state==="writable"&&Zf(i,c)}function hb(i){let c=i._controlledWritableStream;rb(c),du(i);let h=i._closeAlgorithm();Ns(i),m(h,()=>(eb(c),null),k=>(tb(c,k),null))}function pb(i,c){let h=i._controlledWritableStream;ob(h);let k=i._writeAlgorithm(c);m(k,()=>{X_(h);let x=h._state;if(du(i),!Yt(h)&&x==="writable"){let j=Su(i);ku(h,j)}return Bs(i),null},x=>(h._state==="writable"&&Ns(i),Z_(h,x),null))}function Su(i){return Xf(i)<=0}function Zf(i,c){let h=i._controlledWritableStream;Ns(i),wu(h,c)}function Ms(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function vu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function or(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Do(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function Ls(i){i._closedPromise=l((c,h)=>{i._closedPromise_resolve=c,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function eh(i,c){Ls(i),Tu(i,c)}function mb(i){Ls(i),th(i)}function Tu(i,c){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(c),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function gb(i,c){eh(i,c)}function th(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function js(i){i._readyPromise=l((c,h)=>{i._readyPromise_resolve=c,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function Du(i,c){js(i),rh(i,c)}function nh(i){js(i),Ru(i)}function rh(i,c){i._readyPromise_reject!==void 0&&(g(i._readyPromise),i._readyPromise_reject(c),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function yb(i){js(i)}function _b(i,c){Du(i,c)}function Ru(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function bb(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let xu=bb();function Cb(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function wb(){let i=xu?.DOMException;return Cb(i)?i:void 0}function Eb(){let i=function(h,k){this.message=h||"",this.name=k||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let kb=wb()||Eb();function oh(i,c,h,k,x,j){let q=U(i),ne=zf(c);i._disturbed=!0;let me=!1,de=f(void 0);return l((ge,Ce)=>{let xe;if(j!==void 0){if(xe=()=>{let fe=j.reason!==void 0?j.reason:new kb("Aborted","AbortError"),Ee=[];k||Ee.push(()=>c._state==="writable"?Fs(c,fe):f(void 0)),x||Ee.push(()=>i._state==="readable"?Bt(i,fe):f(void 0)),at(()=>Promise.all(Ee.map(Pe=>Pe())),!0,fe)},j.aborted){xe();return}j.addEventListener("abort",xe)}function Mt(){return l((fe,Ee)=>{function Pe(ht){ht?fe():p(xr(),Pe,Ee)}Pe(!1)})}function xr(){return me?f(!0):p(ne._readyPromise,()=>l((fe,Ee)=>{ae(q,{_chunkSteps:Pe=>{de=p(Kf(ne,Pe),void 0,e),fe(!1)},_closeSteps:()=>fe(!0),_errorSteps:Ee})}))}if(yn(i,q._closedPromise,fe=>(k?At(!0,fe):at(()=>Fs(c,fe),!0,fe),null)),yn(c,ne._closedPromise,fe=>(x?At(!0,fe):at(()=>Bt(i,fe),!0,fe),null)),rt(i,q._closedPromise,()=>(h?At():at(()=>ib(ne)),null)),Yt(c)||c._state==="closed"){let fe=new TypeError("the destination writable stream closed before all data could be piped to it");x?At(!0,fe):at(()=>Bt(i,fe),!0,fe)}g(Mt());function Mn(){let fe=de;return p(de,()=>fe!==de?Mn():void 0)}function yn(fe,Ee,Pe){fe._state==="errored"?Pe(fe._storedError):w(Ee,Pe)}function rt(fe,Ee,Pe){fe._state==="closed"?Pe():b(Ee,Pe)}function at(fe,Ee,Pe){if(me)return;me=!0,c._state==="writable"&&!Yt(c)?b(Mn(),ht):ht();function ht(){return m(fe(),()=>_n(Ee,Pe),Or=>_n(!0,Or)),null}}function At(fe,Ee){me||(me=!0,c._state==="writable"&&!Yt(c)?b(Mn(),()=>_n(fe,Ee)):_n(fe,Ee))}function _n(fe,Ee){return Vf(ne),Q(q),j!==void 0&&j.removeEventListener("abort",xe),fe?Ce(Ee):ge(void 0),null}})}class gn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Us(this))throw qs("desiredSize");return Ou(this)}close(){if(!Us(this))throw qs("close");if(!Dr(this))throw new TypeError("The stream is not in a state that permits close");sr(this)}enqueue(c=void 0){if(!Us(this))throw qs("enqueue");if(!Dr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Tr(this,c)}error(c=void 0){if(!Us(this))throw qs("error");Nt(this,c)}[G](c){On(this);let h=this._cancelAlgorithm(c);return $s(this),h}[P](c){let h=this._controlledReadableStream;if(this._queue.length>0){let k=du(this);this._closeRequested&&this._queue.length===0?($s(this),Oo(h)):Ro(this),c._chunkSteps(k)}else O(h,c),Ro(this)}[K](){}}Object.defineProperties(gn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(gn.prototype.close,"close"),o(gn.prototype.enqueue,"enqueue"),o(gn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Us(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof gn}function Ro(i){if(!sh(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();m(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ro(i)),null),k=>(Nt(i,k),null))}function sh(i){let c=i._controlledReadableStream;return!Dr(i)||!i._started?!1:!!(Nn(c)&&L(c)>0||Ou(i)>0)}function $s(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function sr(i){if(!Dr(i))return;let c=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&($s(i),Oo(c))}function Tr(i,c){if(!Dr(i))return;let h=i._controlledReadableStream;if(Nn(h)&&L(h)>0)I(h,c,!1);else{let k;try{k=i._strategySizeAlgorithm(c)}catch(x){throw Nt(i,x),x}try{fu(i,c,k)}catch(x){throw Nt(i,x),x}}Ro(i)}function Nt(i,c){let h=i._controlledReadableStream;h._state==="readable"&&(On(i),$s(i),ch(h,c))}function Ou(i){let c=i._controlledReadableStream._state;return c==="errored"?null:c==="closed"?0:i._strategyHWM-i._queueTotalSize}function Ab(i){return!sh(i)}function Dr(i){let c=i._controlledReadableStream._state;return!i._closeRequested&&c==="readable"}function ih(i,c,h,k,x,j,q){c._controlledReadableStream=i,c._queue=void 0,c._queueTotalSize=void 0,On(c),c._started=!1,c._closeRequested=!1,c._pullAgain=!1,c._pulling=!1,c._strategySizeAlgorithm=q,c._strategyHWM=j,c._pullAlgorithm=k,c._cancelAlgorithm=x,i._readableStreamController=c;let ne=h();m(f(ne),()=>(c._started=!0,Ro(c),null),me=>(Nt(c,me),null))}function Sb(i,c,h,k){let x=Object.create(gn.prototype),j,q,ne;c.start!==void 0?j=()=>c.start(x):j=()=>{},c.pull!==void 0?q=()=>c.pull(x):q=()=>f(void 0),c.cancel!==void 0?ne=me=>c.cancel(me):ne=()=>f(void 0),ih(i,x,j,q,ne,h,k)}function qs(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function vb(i,c){return er(i._readableStreamController)?Db(i):Tb(i)}function Tb(i,c){let h=U(i),k=!1,x=!1,j=!1,q=!1,ne,me,de,ge,Ce,xe=l(rt=>{Ce=rt});function Mt(){return k?(x=!0,f(void 0)):(k=!0,ae(h,{_chunkSteps:at=>{_(()=>{x=!1;let At=at,_n=at;j||Tr(de._readableStreamController,At),q||Tr(ge._readableStreamController,_n),k=!1,x&&Mt()})},_closeSteps:()=>{k=!1,j||sr(de._readableStreamController),q||sr(ge._readableStreamController),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{k=!1}}),f(void 0))}function xr(rt){if(j=!0,ne=rt,q){let at=De([ne,me]),At=Bt(i,at);Ce(At)}return xe}function Mn(rt){if(q=!0,me=rt,j){let at=De([ne,me]),At=Bt(i,at);Ce(At)}return xe}function yn(){}return de=xo(yn,Mt,xr),ge=xo(yn,Mt,Mn),w(h._closedPromise,rt=>(Nt(de._readableStreamController,rt),Nt(ge._readableStreamController,rt),(!j||!q)&&Ce(void 0),null)),[de,ge]}function Db(i){let c=U(i),h=!1,k=!1,x=!1,j=!1,q=!1,ne,me,de,ge,Ce,xe=l(fe=>{Ce=fe});function Mt(fe){w(fe._closedPromise,Ee=>(fe!==c||(kt(de._readableStreamController,Ee),kt(ge._readableStreamController,Ee),(!j||!q)&&Ce(void 0)),null))}function xr(){nr(c)&&(Q(c),c=U(i),Mt(c)),ae(c,{_chunkSteps:Ee=>{_(()=>{k=!1,x=!1;let Pe=Ee,ht=Ee;if(!j&&!q)try{ht=Af(Ee)}catch(Or){kt(de._readableStreamController,Or),kt(ge._readableStreamController,Or),Ce(Bt(i,Or));return}j||Ts(de._readableStreamController,Pe),q||Ts(ge._readableStreamController,ht),h=!1,k?yn():x&&rt()})},_closeSteps:()=>{h=!1,j||Ao(de._readableStreamController),q||Ao(ge._readableStreamController),de._readableStreamController._pendingPullIntos.length>0&&Ds(de._readableStreamController,0),ge._readableStreamController._pendingPullIntos.length>0&&Ds(ge._readableStreamController,0),(!j||!q)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function Mn(fe,Ee){oe(c)&&(Q(c),c=Mf(i),Mt(c));let Pe=Ee?ge:de,ht=Ee?de:ge;Uf(c,fe,1,{_chunkSteps:Pr=>{_(()=>{k=!1,x=!1;let Fr=Ee?q:j;if(Ee?j:q)Fr||Rs(Pe._readableStreamController,Pr);else{let Eh;try{Eh=Af(Pr)}catch(Bu){kt(Pe._readableStreamController,Bu),kt(ht._readableStreamController,Bu),Ce(Bt(i,Bu));return}Fr||Rs(Pe._readableStreamController,Pr),Ts(ht._readableStreamController,Eh)}h=!1,k?yn():x&&rt()})},_closeSteps:Pr=>{h=!1;let Fr=Ee?q:j,Ys=Ee?j:q;Fr||Ao(Pe._readableStreamController),Ys||Ao(ht._readableStreamController),Pr!==void 0&&(Fr||Rs(Pe._readableStreamController,Pr),!Ys&&ht._readableStreamController._pendingPullIntos.length>0&&Ds(ht._readableStreamController,0)),(!Fr||!Ys)&&Ce(void 0)},_errorSteps:()=>{h=!1}})}function yn(){if(h)return k=!0,f(void 0);h=!0;let fe=yu(de._readableStreamController);return fe===null?xr():Mn(fe._view,!1),f(void 0)}function rt(){if(h)return x=!0,f(void 0);h=!0;let fe=yu(ge._readableStreamController);return fe===null?xr():Mn(fe._view,!0),f(void 0)}function at(fe){if(j=!0,ne=fe,q){let Ee=De([ne,me]),Pe=Bt(i,Ee);Ce(Pe)}return xe}function At(fe){if(q=!0,me=fe,j){let Ee=De([ne,me]),Pe=Bt(i,Ee);Ce(Pe)}return xe}function _n(){}return de=uh(_n,yn,at),ge=uh(_n,rt,At),Mt(c),[de,ge]}function Rb(i){return n(i)&&typeof i.getReader<"u"}function xb(i){return Rb(i)?Pb(i.getReader()):Ob(i)}function Ob(i){let c,h=kf(i,"async"),k=e;function x(){let q;try{q=E_(h)}catch(me){return d(me)}let ne=f(q);return y(ne,me=>{if(!n(me))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(k_(me))sr(c._readableStreamController);else{let ge=A_(me);Tr(c._readableStreamController,ge)}})}function j(q){let ne=h.iterator,me;try{me=As(ne,"return")}catch(Ce){return d(Ce)}if(me===void 0)return f(void 0);let de;try{de=A(me,ne,[q])}catch(Ce){return d(Ce)}let ge=f(de);return y(ge,Ce=>{if(!n(Ce))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return c=xo(k,x,j,0),c}function Pb(i){let c,h=e;function k(){let j;try{j=i.read()}catch(q){return d(q)}return y(j,q=>{if(!n(q))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(q.done)sr(c._readableStreamController);else{let ne=q.value;Tr(c._readableStreamController,ne)}})}function x(j){try{return f(i.cancel(j))}catch(q){return d(q)}}return c=xo(h,k,x,0),c}function Fb(i,c){ue(i,c);let h=i,k=h?.autoAllocateChunkSize,x=h?.cancel,j=h?.pull,q=h?.start,ne=h?.type;return{autoAllocateChunkSize:k===void 0?void 0:F(k,`${c} has member 'autoAllocateChunkSize' that`),cancel:x===void 0?void 0:Ib(x,h,`${c} has member 'cancel' that`),pull:j===void 0?void 0:Nb(j,h,`${c} has member 'pull' that`),start:q===void 0?void 0:Bb(q,h,`${c} has member 'start' that`),type:ne===void 0?void 0:Mb(ne,`${c} has member 'type' that`)}}function Ib(i,c,h){return te(i,h),k=>C(i,c,[k])}function Nb(i,c,h){return te(i,h),k=>C(i,c,[k])}function Bb(i,c,h){return te(i,h),k=>A(i,c,[k])}function Mb(i,c){if(i=`${i}`,i!=="bytes")throw new TypeError(`${c} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function Lb(i,c){return ue(i,c),{preventCancel:!!i?.preventCancel}}function ah(i,c){ue(i,c);let h=i?.preventAbort,k=i?.preventCancel,x=i?.preventClose,j=i?.signal;return j!==void 0&&jb(j,`${c} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!k,preventClose:!!x,signal:j}}function jb(i,c){if(!J_(i))throw new TypeError(`${c} is not an AbortSignal.`)}function Ub(i,c){ue(i,c);let h=i?.readable;E(h,"readable","ReadableWritablePair"),N(h,`${c} has member 'readable' that`);let k=i?.writable;return E(k,"writable","ReadableWritablePair"),qf(k,`${c} has member 'writable' that`),{readable:h,writable:k}}class et{constructor(c={},h={}){c===void 0?c=null:Oe(c,"First parameter");let k=Ps(h,"Second parameter"),x=Fb(c,"First parameter");if(Pu(this),x.type==="bytes"){if(k.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let j=vo(k,0);I_(this,x,j)}else{let j=Os(k),q=vo(k,1);Sb(this,x,q,j)}}get locked(){if(!In(this))throw ir("locked");return Nn(this)}cancel(c=void 0){return In(this)?Nn(this)?d(new TypeError("Cannot cancel a stream that already has a reader")):Bt(this,c):d(ir("cancel"))}getReader(c=void 0){if(!In(this))throw ir("getReader");return B_(c,"First parameter").mode===void 0?U(this):Mf(this)}pipeThrough(c,h={}){if(!In(this))throw ir("pipeThrough");Ue(c,1,"pipeThrough");let k=Ub(c,"First parameter"),x=ah(h,"Second parameter");if(Nn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sr(k.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let j=oh(this,k.writable,x.preventClose,x.preventAbort,x.preventCancel,x.signal);return g(j),k.readable}pipeTo(c,h={}){if(!In(this))return d(ir("pipeTo"));if(c===void 0)return d("Parameter 1 is required in 'pipeTo'.");if(!Ar(c))return d(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let k;try{k=ah(h,"Second parameter")}catch(x){return d(x)}return Nn(this)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sr(c)?d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):oh(this,c,k.preventClose,k.preventAbort,k.preventCancel,k.signal)}tee(){if(!In(this))throw ir("tee");let c=vb(this);return De(c)}values(c=void 0){if(!In(this))throw ir("values");let h=Lb(c,"First parameter");return Cr(this,h.preventCancel)}[lu](c){return this.values(c)}static from(c){return xb(c)}}Object.defineProperties(et,{from:{enumerable:!0}}),Object.defineProperties(et.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(et.from,"from"),o(et.prototype.cancel,"cancel"),o(et.prototype.getReader,"getReader"),o(et.prototype.pipeThrough,"pipeThrough"),o(et.prototype.pipeTo,"pipeTo"),o(et.prototype.tee,"tee"),o(et.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(et.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(et.prototype,lu,{value:et.prototype.values,writable:!0,configurable:!0});function xo(i,c,h,k=1,x=()=>1){let j=Object.create(et.prototype);Pu(j);let q=Object.create(gn.prototype);return ih(j,q,i,c,h,k,x),j}function uh(i,c,h){let k=Object.create(et.prototype);Pu(k);let x=Object.create(pn.prototype);return Bf(k,x,i,c,h,0,void 0),k}function Pu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function In(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof et}function Nn(i){return i._reader!==void 0}function Bt(i,c){if(i._disturbed=!0,i._state==="closed")return f(void 0);if(i._state==="errored")return d(i._storedError);Oo(i);let h=i._reader;if(h!==void 0&&nr(h)){let x=h._readIntoRequests;h._readIntoRequests=new T,x.forEach(j=>{j._closeSteps(void 0)})}let k=i._readableStreamController[G](c);return y(k,e)}function Oo(i){i._state="closed";let c=i._reader;if(c!==void 0&&(ce(c),oe(c))){let h=c._readRequests;c._readRequests=new T,h.forEach(k=>{k._closeSteps()})}}function ch(i,c){i._state="errored",i._storedError=c;let h=i._reader;h!==void 0&&(J(h,c),oe(h)?Ie(h,c):$f(h,c))}function ir(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function lh(i,c){ue(i,c);let h=i?.highWaterMark;return E(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:S(h)}}let dh=i=>i.byteLength;o(dh,"size");class zs{constructor(c){Ue(c,1,"ByteLengthQueuingStrategy"),c=lh(c,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!hh(this))throw fh("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!hh(this))throw fh("size");return dh}}Object.defineProperties(zs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(zs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function fh(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function hh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof zs}let ph=()=>1;o(ph,"size");class Hs{constructor(c){Ue(c,1,"CountQueuingStrategy"),c=lh(c,"First parameter"),this._countQueuingStrategyHighWaterMark=c.highWaterMark}get highWaterMark(){if(!gh(this))throw mh("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!gh(this))throw mh("size");return ph}}Object.defineProperties(Hs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Hs.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function mh(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function gh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Hs}function $b(i,c){ue(i,c);let h=i?.cancel,k=i?.flush,x=i?.readableType,j=i?.start,q=i?.transform,ne=i?.writableType;return{cancel:h===void 0?void 0:Wb(h,i,`${c} has member 'cancel' that`),flush:k===void 0?void 0:qb(k,i,`${c} has member 'flush' that`),readableType:x,start:j===void 0?void 0:zb(j,i,`${c} has member 'start' that`),transform:q===void 0?void 0:Hb(q,i,`${c} has member 'transform' that`),writableType:ne}}function qb(i,c,h){return te(i,h),k=>C(i,c,[k])}function zb(i,c,h){return te(i,h),k=>A(i,c,[k])}function Hb(i,c,h){return te(i,h),(k,x)=>C(i,c,[k,x])}function Wb(i,c,h){return te(i,h),k=>C(i,c,[k])}class Ws{constructor(c={},h={},k={}){c===void 0&&(c=null);let x=Ps(h,"Second parameter"),j=Ps(k,"Third parameter"),q=$b(c,"First parameter");if(q.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(q.writableType!==void 0)throw new RangeError("Invalid writableType specified");let ne=vo(j,0),me=Os(j),de=vo(x,1),ge=Os(x),Ce,xe=l(Mt=>{Ce=Mt});Gb(this,xe,de,ge,ne,me),Vb(this,q),q.start!==void 0?Ce(q.start(this._transformStreamController)):Ce(void 0)}get readable(){if(!yh(this))throw wh("readable");return this._readable}get writable(){if(!yh(this))throw wh("writable");return this._writable}}Object.defineProperties(Ws.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ws.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Gb(i,c,h,k,x,j){function q(){return c}function ne(xe){return Qb(i,xe)}function me(xe){return Xb(i,xe)}function de(){return Zb(i)}i._writable=Y_(q,ne,de,me,h,k);function ge(){return eC(i)}function Ce(xe){return tC(i,xe)}i._readable=xo(q,ge,Ce,x,j),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,Gs(i,!0),i._transformStreamController=void 0}function yh(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Ws}function _h(i,c){Nt(i._readable._readableStreamController,c),Fu(i,c)}function Fu(i,c){Vs(i._transformStreamController),To(i._writable._writableStreamController,c),Iu(i)}function Iu(i){i._backpressure&&Gs(i,!1)}function Gs(i,c){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=c}class Bn{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Js(this))throw Ks("desiredSize");let c=this._controlledTransformStream._readable._readableStreamController;return Ou(c)}enqueue(c=void 0){if(!Js(this))throw Ks("enqueue");bh(this,c)}error(c=void 0){if(!Js(this))throw Ks("error");Kb(this,c)}terminate(){if(!Js(this))throw Ks("terminate");Yb(this)}}Object.defineProperties(Bn.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Bn.prototype.enqueue,"enqueue"),o(Bn.prototype.error,"error"),o(Bn.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bn.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Js(i){return!n(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Bn}function Jb(i,c,h,k,x){c._controlledTransformStream=i,i._transformStreamController=c,c._transformAlgorithm=h,c._flushAlgorithm=k,c._cancelAlgorithm=x,c._finishPromise=void 0,c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0}function Vb(i,c){let h=Object.create(Bn.prototype),k,x,j;c.transform!==void 0?k=q=>c.transform(q,h):k=q=>{try{return bh(h,q),f(void 0)}catch(ne){return d(ne)}},c.flush!==void 0?x=()=>c.flush(h):x=()=>f(void 0),c.cancel!==void 0?j=q=>c.cancel(q):j=()=>f(void 0),Jb(i,h,k,x,j)}function Vs(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function bh(i,c){let h=i._controlledTransformStream,k=h._readable._readableStreamController;if(!Dr(k))throw new TypeError("Readable side is not in a state that permits enqueue");try{Tr(k,c)}catch(j){throw Fu(h,j),h._readable._storedError}Ab(k)!==h._backpressure&&Gs(h,!0)}function Kb(i,c){_h(i._controlledTransformStream,c)}function Ch(i,c){let h=i._transformAlgorithm(c);return y(h,void 0,k=>{throw _h(i._controlledTransformStream,k),k})}function Yb(i){let c=i._controlledTransformStream,h=c._readable._readableStreamController;sr(h);let k=new TypeError("TransformStream terminated");Fu(c,k)}function Qb(i,c){let h=i._transformStreamController;if(i._backpressure){let k=i._backpressureChangePromise;return y(k,()=>{let x=i._writable;if(x._state==="erroring")throw x._storedError;return Ch(h,c)})}return Ch(h,c)}function Xb(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._readable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Vs(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(Nt(k._readableStreamController,c),Nu(h)),null),j=>(Nt(k._readableStreamController,j),Rr(h,j),null)),h._finishPromise}function Zb(i){let c=i._transformStreamController;if(c._finishPromise!==void 0)return c._finishPromise;let h=i._readable;c._finishPromise=l((x,j)=>{c._finishPromise_resolve=x,c._finishPromise_reject=j});let k=c._flushAlgorithm();return Vs(c),m(k,()=>(h._state==="errored"?Rr(c,h._storedError):(sr(h._readableStreamController),Nu(c)),null),x=>(Nt(h._readableStreamController,x),Rr(c,x),null)),c._finishPromise}function eC(i){return Gs(i,!1),i._backpressureChangePromise}function tC(i,c){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let k=i._writable;h._finishPromise=l((j,q)=>{h._finishPromise_resolve=j,h._finishPromise_reject=q});let x=h._cancelAlgorithm(c);return Vs(h),m(x,()=>(k._state==="errored"?Rr(h,k._storedError):(To(k._writableStreamController,c),Iu(i),Nu(h)),null),j=>(To(k._writableStreamController,j),Iu(i),Rr(h,j),null)),h._finishPromise}function Ks(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function Nu(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Rr(i,c){i._finishPromise_reject!==void 0&&(g(i._finishPromise),i._finishPromise_reject(c),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function wh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=zs,t.CountQueuingStrategy=Hs,t.ReadableByteStreamController=pn,t.ReadableStream=et,t.ReadableStreamBYOBReader=Pn,t.ReadableStreamBYOBRequest=Zn,t.ReadableStreamDefaultController=gn,t.ReadableStreamDefaultReader=H,t.TransformStream=Ws,t.TransformStreamDefaultController=Bn,t.WritableStream=Fn,t.WritableStreamDefaultController=vr,t.WritableStreamDefaultWriter=mn}))});var _m=X(()=>{if(!globalThis.ReadableStream)try{let t=re("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,re("node:stream/web")),t.emitWarning=e}catch(n){throw t.emitWarning=e,n}}catch{Object.assign(globalThis,ym())}try{let{Blob:t}=re("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let u=await o.slice(r,Math.min(o.size,r+65536)).arrayBuffer();r+=u.byteLength,s.enqueue(new Uint8Array(u)),r===o.size&&s.close()}})})}catch{}});async function*Rc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,bm),a=n.buffer.slice(r,r+s);r+=a.byteLength,yield new Uint8Array(a)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let a=await o.slice(r,Math.min(o.size,r+bm)).arrayBuffer();r+=a.byteLength,yield new Uint8Array(a)}}}var q1,bm,Cm,EE,$t,Uo=Le(()=>{q1=Ln(_m(),1);bm=65536;Cm=class xc{#e=[];#t="";#n=0;#r="transparent";constructor(e=[],n={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof n!="object"&&typeof n!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");n===null&&(n={});let r=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof xc?a=s:a=r.encode(`${s}`),this.#n+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#r=`${n.endings===void 0?"transparent":n.endings}`;let o=n.type===void 0?"":String(n.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#n}get type(){return this.#t}async text(){let e=new TextDecoder,n="";for await(let r of Rc(this.#e,!1))n+=e.decode(r,{stream:!0});return n+=e.decode(),n}async arrayBuffer(){let e=new Uint8Array(this.size),n=0;for await(let r of Rc(this.#e,!1))e.set(r,n),n+=r.length;return e.buffer}stream(){let e=Rc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(n){let r=await e.next();r.done?n.close():n.enqueue(r.value)},async cancel(){await e.return()}})}slice(e=0,n=this.size,r=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=n<0?Math.max(o+n,0):Math.min(n,o),u=Math.max(a-s,0),l=this.#e,f=[],d=0;for(let m of l){if(d>=u)break;let b=ArrayBuffer.isView(m)?m.byteLength:m.size;if(s&&b<=s)s-=b,a-=b;else{let w;ArrayBuffer.isView(m)?(w=m.subarray(s,Math.min(b,a)),d+=w.byteLength):(w=m.slice(s,Math.min(b,a)),d+=w.size),a-=b,f.push(w),s=0}}let p=new xc([],{type:String(r).toLowerCase()});return p.#n=u,p.#e=f,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(Cm.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});EE=Cm,$t=EE});var kE,AE,qn,Oc=Le(()=>{Uo();kE=class extends $t{#e=0;#t="";constructor(e,n,r={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,r),r===null&&(r={});let o=r.lastModified===void 0?Date.now():Number(r.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(n)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof $t&&/^(File)$/.test(e[Symbol.toStringTag])}},AE=kE,qn=AE});function km(t,e=$t){var n=`${wm()}${wm()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
27
+ Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?r.push(o+Pc(a)+`"\r
28
28
  \r
29
29
  ${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
30
30
  `)}\r
31
- `):r.push(o+xc(a)+`"; filename="${xc(s.name,1)}"\r
31
+ `):r.push(o+Pc(a)+`"; filename="${Pc(s.name,1)}"\r
32
32
  Content-Type: ${s.type||"application/octet-stream"}\r
33
33
  \r
34
34
  `,s,`\r
35
- `)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var Uo,kE,AE,bm,SE,Cm,xc,fr,zn,Si=Le(()=>{jo();Rc();({toStringTag:Uo,iterator:kE,hasInstance:AE}=Symbol),bm=Math.random,SE="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Cm=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[Uo])?[(n=n!==void 0?n+"":e[Uo]=="File"?e.name:"blob",t),e.name!==n||e[Uo]=="blob"?new qn([e],n,e):e]:[t,e+""]),xc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
- `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),fr=(t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},zn=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Uo](){return"FormData"}[kE](){return this.entries()}static[AE](e){return e&&typeof e=="object"&&e[Uo]==="FormData"&&!SE.some(n=>typeof e[n]!="function")}append(...e){fr("append",arguments,2),this.#e.push(Cm(...e))}delete(e){fr("delete",arguments,1),e+="",this.#e=this.#e.filter(([n])=>n!==e)}get(e){fr("get",arguments,1),e+="";for(var n=this.#e,r=n.length,o=0;o<r;o++)if(n[o][0]===e)return n[o][1];return null}getAll(e,n){return fr("getAll",arguments,1),n=[],e+="",this.#e.forEach(r=>r[0]===e&&n.push(r[1])),n}has(e){return fr("has",arguments,1),e+="",this.#e.some(n=>n[0]===e)}forEach(e,n){fr("forEach",arguments,1);for(var[r,o]of this)e.call(n,o,r,this)}set(...e){fr("set",arguments,2);var n=[],r=!0;e=Cm(...e),this.#e.forEach(o=>{o[0]===e[0]?r&&(r=!n.push(e)):n.push(o)}),r&&n.push(e),this.#e=n}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var kn,vi=Le(()=>{kn=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var st,Oc=Le(()=>{vi();st=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Ti,Pc,$o,Em,km,Am,Di=Le(()=>{Ti=Symbol.toStringTag,Pc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Ti]==="URLSearchParams",$o=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Ti]),Em=t=>typeof t=="object"&&(t[Ti]==="AbortSignal"||t[Ti]==="EventTarget"),km=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},Am=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var vm=X((Z1,Sm)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=re("worker_threads"),e=new t().port1,n=new ArrayBuffer;e.postMessage(n,[n,n])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Sm.exports=globalThis.DOMException});import{statSync as Tm,createReadStream as vE,promises as TE}from"node:fs";import{basename as DE}from"node:path";var Dm,Fc,Rm,xm,Om,Pm,Fm,Im,Ri,Ic=Le(()=>{Dm=Ln(vm(),1);Rc();jo();({stat:Fc}=TE),Rm=(t,e)=>Fm(Tm(t),t,e),xm=(t,e)=>Fc(t).then(n=>Fm(n,t,e)),Om=(t,e)=>Fc(t).then(n=>Im(n,t,e)),Pm=(t,e)=>Im(Tm(t),t,e),Fm=(t,e,n="")=>new $t([new Ri({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),Im=(t,e,n="")=>new qn([new Ri({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],DE(e),{type:n,lastModified:t.mtimeMs}),Ri=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new t({path:this.#e,lastModified:this.lastModified,size:n-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Fc(this.#e);if(e>this.lastModified)throw new Dm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*vE(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Bm={};Bu(Bm,{toFormData:()=>NE});function IE(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let n=e[2]||e[3]||"",r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),r}async function NE(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let n=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");let r=new Nc(n[1]||n[2]),o,s,a,u,l,d,f=[],p=new zn,m=_=>{a+=g.decode(_,{stream:!0})},b=_=>{f.push(_)},w=()=>{let _=new qn(f,d,{type:l});p.append(u,_)},y=()=>{p.append(u,a)},g=new TextDecoder("utf-8");g.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=y,o="",s="",a="",u="",l="",d=null,f.length=0},r.onHeaderField=function(_){o+=g.decode(_,{stream:!0})},r.onHeaderValue=function(_){s+=g.decode(_,{stream:!0})},r.onHeaderEnd=function(){if(s+=g.decode(),o=o.toLowerCase(),o==="content-disposition"){let _=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(u=_[2]||_[3]||""),d=IE(s),d&&(r.onPartData=b,r.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),p}var Xt,Fe,Nm,Hn,xi,Oi,RE,qo,xE,OE,PE,FE,hr,Nc,Mm=Le(()=>{Ic();Si();Xt=0,Fe={START_BOUNDARY:Xt++,HEADER_FIELD_START:Xt++,HEADER_FIELD:Xt++,HEADER_VALUE_START:Xt++,HEADER_VALUE:Xt++,HEADER_VALUE_ALMOST_DONE:Xt++,HEADERS_ALMOST_DONE:Xt++,PART_DATA_START:Xt++,PART_DATA:Xt++,END:Xt++},Nm=1,Hn={PART_BOUNDARY:Nm,LAST_BOUNDARY:Nm*=2},xi=10,Oi=13,RE=32,qo=45,xE=58,OE=97,PE=122,FE=t=>t|32,hr=()=>{},Nc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=hr,this.onHeaderField=hr,this.onHeadersEnd=hr,this.onHeaderValue=hr,this.onPartBegin=hr,this.onPartData=hr,this.onPartEnd=hr,this.boundaryChars={},e=`\r
37
- --`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:d,flags:f}=this,p=this.boundary.length,m=p-1,b=e.length,w,y,g=S=>{this[S+"Mark"]=n},_=S=>{delete this[S+"Mark"]},A=(S,T,R,$)=>{(T===void 0||T!==R)&&this[S]($&&$.subarray(T,R))},C=(S,T)=>{let R=S+"Mark";R in this&&(T?(A(S,this[R],n,e),delete this[R]):(A(S,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],d){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===qo)f|=Hn.LAST_BOUNDARY;else if(w!==Oi)return;l++;break}else if(l-1===a.length-2){if(f&Hn.LAST_BOUNDARY&&w===qo)d=Fe.END,f=0;else if(!(f&Hn.LAST_BOUNDARY)&&w===xi)l=0,A("onPartBegin"),d=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:d=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Oi){_("onHeaderField"),d=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===qo)break;if(w===xE){if(l===1)return;C("onHeaderField",!0),d=Fe.HEADER_VALUE_START;break}if(y=FE(w),y<OE||y>PE)return;break;case Fe.HEADER_VALUE_START:if(w===RE)break;g("onHeaderValue"),d=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Oi&&(C("onHeaderValue",!0),A("onHeaderEnd"),d=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==xi)return;d=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==xi)return;A("onHeadersEnd"),d=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:d=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<b&&!(e[n]in u);)n+=p;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&C("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Oi?f|=Hn.PART_BOUNDARY:w===qo?f|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&Hn.PART_BOUNDARY){if(l=0,w===xi){f&=~Hn.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),d=Fe.HEADER_FIELD_START;break}}else f&Hn.LAST_BOUNDARY&&w===qo?(A("onPartEnd"),d=Fe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);A("onPartData",0,o,S),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}C("onHeaderField"),C("onHeaderValue"),C("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Wn,{PassThrough as Lm}from"node:stream";import{types as jm,deprecate as Mc,promisify as BE}from"node:util";import{Buffer as Dt}from"node:buffer";async function Bc(t){if(t[lt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[lt].disturbed=!0,t[lt].error)throw t[lt].error;let{body:e}=t;if(e===null)return Dt.alloc(0);if(!(e instanceof Wn))return Dt.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new st(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof kn?o:new st(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?Dt.from(n.join("")):Dt.concat(n,r)}catch(o){throw new st(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new st(`Premature close of server response while trying to fetch ${t.url}`)}var ME,lt,Zt,Jr,LE,Pi,Um,$m,Fi=Le(()=>{jo();Si();Oc();vi();Di();ME=BE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Pc(e)?e=Dt.from(e.toString()):$o(e)||Dt.isBuffer(e)||(jm.isAnyArrayBuffer(e)?e=Dt.from(e):ArrayBuffer.isView(e)?e=Dt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=wm(e),r=e.type.split("=")[1]):e=Dt.from(String(e))));let o=e;Dt.isBuffer(e)?o=Wn.Readable.from(e):$o(e)&&(o=Wn.Readable.from(e.stream())),this[lt]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof Wn&&e.on("error",s=>{let a=s instanceof kn?s:new st(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[lt].error=a})}get body(){return this[lt].stream}get bodyUsed(){return this[lt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await Bc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new zn,o=new URLSearchParams(await this.text());for(let[s,a]of o)r.append(s,a);return r}let{toFormData:n}=await Promise.resolve().then(()=>(Mm(),Bm));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[lt].body&&this[lt].body.type||"",n=await this.arrayBuffer();return new $t([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Bc(this);return new TextDecoder().decode(e)}buffer(){return Bc(this)}};Zt.prototype.buffer=Mc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Mc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Jr=(t,e)=>{let n,r,{body:o}=t[lt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Wn&&typeof o.getBoundary!="function"&&(n=new Lm({highWaterMark:e}),r=new Lm({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},LE=Mc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Pi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Pc(t)?"application/x-www-form-urlencoded;charset=UTF-8":$o(t)?t.type||null:Dt.isBuffer(t)||jm.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof zn?`multipart/form-data; boundary=${e[lt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${LE(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",Um=t=>{let{body:e}=t[lt];return e===null?0:$o(e)?e.size:Dt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},$m=async(t,{body:e})=>{e===null?t.end():await ME(e,t)}});import{types as qm}from"node:util";import Ni from"node:http";function zm(t=[]){return new dt(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return Ii(e),Lc(e,String(n)),!0}catch{return!1}}))}var Ii,Lc,dt,Bi=Le(()=>{Ii=typeof Ni.validateHeaderName=="function"?Ni.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Lc=typeof Ni.validateHeaderValue=="function"?Ni.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},dt=class t extends URLSearchParams{constructor(e){let n=[];if(e instanceof t){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!qm.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||qm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return n=n.length>0?n.map(([r,o])=>(Ii(r),Lc(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(a,u)=>(Ii(a),Lc(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ii(a),URLSearchParams.prototype[o].call(r,String(a).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};Object.defineProperties(dt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var jE,zo,jc=Le(()=>{jE=new Set([301,302,303,307,308]),zo=t=>jE.has(t)});var qt,mt,Hm=Le(()=>{Bi();Fi();jc();qt=Symbol("Response internals"),mt=class t extends Zt{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new dt(n.headers);if(e!==null&&!o.has("Content-Type")){let s=Pi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Jr(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,n=302){if(!zo(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new dt(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Wm,Gm=Le(()=>{Wm=t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""}});import{isIP as UE}from"node:net";function Jm(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Ym(t){if(!Vm.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function $E(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=UE(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Vr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:$E(t)}function Qm(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Jm(o),a=Jm(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),n&&(a=n(a));let u=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Vr(s)&&!Vr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Vr(s)&&!Vr(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return Vr(s)&&!Vr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Xm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Vm.has(r)&&(n=r);return n}var Vm,Km,Uc=Le(()=>{Vm=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Km="strict-origin-when-cross-origin"});import{format as qE}from"node:url";import{deprecate as zE}from"node:util";var Ke,Ho,HE,Gn,Zm,eg=Le(()=>{Bi();Fi();Di();Gm();Uc();Ke=Symbol("Request internals"),Ho=t=>typeof t=="object"&&typeof t[Ke]=="object",HE=zE(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Gn=class t extends Zt{constructor(e,n={}){let r;if(Ho(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Ho(n)&&"data"in n&&HE(),(n.body!=null||Ho(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:Ho(e)&&e.body!==null?Jr(e):null;super(s,{size:n.size||e.size||0});let a=new dt(n.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=Pi(s,this);d&&a.set("Content-Type",d)}let u=Ho(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!Em(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=n.referrer==null?e.referrer:n.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Ke]={method:o,redirect:n.redirect||e.redirect||"follow",headers:a,parsedURL:r,signal:u,referrer:l},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[Ke].method}get url(){return qE(this[Ke].parsedURL)}get headers(){return this[Ke].headers}get redirect(){return this[Ke].redirect}get signal(){return this[Ke].signal}get referrer(){if(this[Ke].referrer==="no-referrer")return"";if(this[Ke].referrer==="client")return"about:client";if(this[Ke].referrer)return this[Ke].referrer.toString()}get referrerPolicy(){return this[Ke].referrerPolicy}set referrerPolicy(e){this[Ke].referrerPolicy=Ym(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Gn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Zm=t=>{let{parsedURL:e}=t[Ke],n=new dt(t[Ke].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let u=Um(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Km),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=Qm(t):t[Ke].referrer="no-referrer",t[Ke].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Wm(e),a={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Wo,tg=Le(()=>{vi();Wo=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var og={};Bu(og,{AbortError:()=>Wo,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>mt,blobFrom:()=>xm,blobFromSync:()=>Rm,default:()=>$c,fileFrom:()=>Om,fileFromSync:()=>Pm,isRedirect:()=>zo});import WE from"node:http";import GE from"node:https";import Kr from"node:zlib";import ng,{PassThrough as rg,pipeline as Yr}from"node:stream";import{Buffer as Mi}from"node:buffer";async function $c(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=Zm(o);if(!JE.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=fm(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?GE:WE).request,{signal:l}=o,d=null,f=()=>{let w=new Wo("The operation was aborted.");r(w),o.body&&o.body instanceof ng.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),b()},m=u(s.toString(),a);l&&l.addEventListener("abort",p);let b=()=>{m.abort(),l&&l.removeEventListener("abort",p)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),b()}),VE(m,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(d&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=zm(w.rawHeaders);if(zo(w.statusCode)){let S=y.get("Location"),T=null;try{T=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){r(new st(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),b();return}}switch(o.redirect){case"error":r(new st(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),b();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){r(new st(`maximum redirect reached at: ${o.url}`,"max-redirect")),b();return}let R={headers:new dt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Jr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!km(o.url,T)||!Am(o.url,T))for(let V of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(V);if(w.statusCode!==303&&o.body&&e.body instanceof ng.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),b();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(R.method="GET",R.body=void 0,R.headers.delete("content-length"));let $=Xm(y);$&&(R.referrerPolicy=$),n($c(new Gn(T,R))),b();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let g=Yr(w,new rg,S=>{S&&r(S)});process.version<"v12.10"&&w.on("aborted",p);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},A=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||A===null||w.statusCode===204||w.statusCode===304){d=new mt(g,_),n(d);return}let C={flush:Kr.Z_SYNC_FLUSH,finishFlush:Kr.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){g=Yr(g,Kr.createGunzip(C),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}if(A==="deflate"||A==="x-deflate"){let S=Yr(w,new rg,T=>{T&&r(T)});S.once("data",T=>{(T[0]&15)===8?g=Yr(g,Kr.createInflate(),R=>{R&&r(R)}):g=Yr(g,Kr.createInflateRaw(),R=>{R&&r(R)}),d=new mt(g,_),n(d)}),S.once("end",()=>{d||(d=new mt(g,_),n(d))});return}if(A==="br"){g=Yr(g,Kr.createBrotliDecompress(),S=>{S&&r(S)}),d=new mt(g,_),n(d);return}d=new mt(g,_),n(d)}),$m(m,o).catch(r)})}function VE(t,e){let n=Mi.from(`0\r
35
+ `)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}var $o,SE,vE,wm,TE,Em,Pc,fr,zn,vi=Le(()=>{Uo();Oc();({toStringTag:$o,iterator:SE,hasInstance:vE}=Symbol),wm=Math.random,TE="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Em=(t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[$o])?[(n=n!==void 0?n+"":e[$o]=="File"?e.name:"blob",t),e.name!==n||e[$o]=="blob"?new qn([e],n,e):e]:[t,e+""]),Pc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
36
+ `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),fr=(t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},zn=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[$o](){return"FormData"}[SE](){return this.entries()}static[vE](e){return e&&typeof e=="object"&&e[$o]==="FormData"&&!TE.some(n=>typeof e[n]!="function")}append(...e){fr("append",arguments,2),this.#e.push(Em(...e))}delete(e){fr("delete",arguments,1),e+="",this.#e=this.#e.filter(([n])=>n!==e)}get(e){fr("get",arguments,1),e+="";for(var n=this.#e,r=n.length,o=0;o<r;o++)if(n[o][0]===e)return n[o][1];return null}getAll(e,n){return fr("getAll",arguments,1),n=[],e+="",this.#e.forEach(r=>r[0]===e&&n.push(r[1])),n}has(e){return fr("has",arguments,1),e+="",this.#e.some(n=>n[0]===e)}forEach(e,n){fr("forEach",arguments,1);for(var[r,o]of this)e.call(n,o,r,this)}set(...e){fr("set",arguments,2);var n=[],r=!0;e=Em(...e),this.#e.forEach(o=>{o[0]===e[0]?r&&(r=!n.push(e)):n.push(o)}),r&&n.push(e),this.#e=n}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var kn,Ti=Le(()=>{kn=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var st,Fc=Le(()=>{Ti();st=class extends kn{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}}});var Di,Ic,qo,Am,Sm,vm,Ri=Le(()=>{Di=Symbol.toStringTag,Ic=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[Di]==="URLSearchParams",qo=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[Di]),Am=t=>typeof t=="object"&&(t[Di]==="AbortSignal"||t[Di]==="EventTarget"),Sm=(t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},vm=(t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r}});var Dm=X((tO,Tm)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=re("worker_threads"),e=new t().port1,n=new ArrayBuffer;e.postMessage(n,[n,n])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Tm.exports=globalThis.DOMException});import{statSync as Rm,createReadStream as DE,promises as RE}from"node:fs";import{basename as xE}from"node:path";var xm,Nc,Om,Pm,Fm,Im,Nm,Bm,xi,Bc=Le(()=>{xm=Ln(Dm(),1);Oc();Uo();({stat:Nc}=RE),Om=(t,e)=>Nm(Rm(t),t,e),Pm=(t,e)=>Nc(t).then(n=>Nm(n,t,e)),Fm=(t,e)=>Nc(t).then(n=>Bm(n,t,e)),Im=(t,e)=>Bm(Rm(t),t,e),Nm=(t,e,n="")=>new $t([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),Bm=(t,e,n="")=>new qn([new xi({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],xE(e),{type:n,lastModified:t.mtimeMs}),xi=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new t({path:this.#e,lastModified:this.lastModified,size:n-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await Nc(this.#e);if(e>this.lastModified)throw new xm.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*DE(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Lm={};Mu(Lm,{toFormData:()=>ME});function BE(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let n=e[2]||e[3]||"",r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),r}async function ME(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let n=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");let r=new Mc(n[1]||n[2]),o,s,a,u,l,f,d=[],p=new zn,m=_=>{a+=g.decode(_,{stream:!0})},b=_=>{d.push(_)},w=()=>{let _=new qn(d,f,{type:l});p.append(u,_)},y=()=>{p.append(u,a)},g=new TextDecoder("utf-8");g.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=y,o="",s="",a="",u="",l="",f=null,d.length=0},r.onHeaderField=function(_){o+=g.decode(_,{stream:!0})},r.onHeaderValue=function(_){s+=g.decode(_,{stream:!0})},r.onHeaderEnd=function(){if(s+=g.decode(),o=o.toLowerCase(),o==="content-disposition"){let _=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(u=_[2]||_[3]||""),f=BE(s),f&&(r.onPartData=b,r.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),p}var Xt,Fe,Mm,Hn,Oi,Pi,OE,zo,PE,FE,IE,NE,hr,Mc,jm=Le(()=>{Bc();vi();Xt=0,Fe={START_BOUNDARY:Xt++,HEADER_FIELD_START:Xt++,HEADER_FIELD:Xt++,HEADER_VALUE_START:Xt++,HEADER_VALUE:Xt++,HEADER_VALUE_ALMOST_DONE:Xt++,HEADERS_ALMOST_DONE:Xt++,PART_DATA_START:Xt++,PART_DATA:Xt++,END:Xt++},Mm=1,Hn={PART_BOUNDARY:Mm,LAST_BOUNDARY:Mm*=2},Oi=10,Pi=13,OE=32,zo=45,PE=58,FE=97,IE=122,NE=t=>t|32,hr=()=>{},Mc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=hr,this.onHeaderField=hr,this.onHeadersEnd=hr,this.onHeaderValue=hr,this.onPartBegin=hr,this.onPartData=hr,this.onPartEnd=hr,this.boundaryChars={},e=`\r
37
+ --`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:u,index:l,state:f,flags:d}=this,p=this.boundary.length,m=p-1,b=e.length,w,y,g=v=>{this[v+"Mark"]=n},_=v=>{delete this[v+"Mark"]},A=(v,T,R,$)=>{(T===void 0||T!==R)&&this[v]($&&$.subarray(T,R))},C=(v,T)=>{let R=v+"Mark";R in this&&(T?(A(v,this[R],n,e),delete this[R]):(A(v,this[R],e.length,e),this[R]=0))};for(n=0;n<r;n++)switch(w=e[n],f){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===zo)d|=Hn.LAST_BOUNDARY;else if(w!==Pi)return;l++;break}else if(l-1===a.length-2){if(d&Hn.LAST_BOUNDARY&&w===zo)f=Fe.END,d=0;else if(!(d&Hn.LAST_BOUNDARY)&&w===Oi)l=0,A("onPartBegin"),f=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:f=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Pi){_("onHeaderField"),f=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===zo)break;if(w===PE){if(l===1)return;C("onHeaderField",!0),f=Fe.HEADER_VALUE_START;break}if(y=NE(w),y<FE||y>IE)return;break;case Fe.HEADER_VALUE_START:if(w===OE)break;g("onHeaderValue"),f=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Pi&&(C("onHeaderValue",!0),A("onHeaderEnd"),f=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==Oi)return;f=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==Oi)return;A("onHeadersEnd"),f=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:f=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(n+=m;n<b&&!(e[n]in u);)n+=p;n-=m,w=e[n]}if(l<a.length)a[l]===w?(l===0&&C("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Pi?d|=Hn.PART_BOUNDARY:w===zo?d|=Hn.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(d&Hn.PART_BOUNDARY){if(l=0,w===Oi){d&=~Hn.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),f=Fe.HEADER_FIELD_START;break}}else d&Hn.LAST_BOUNDARY&&w===zo?(A("onPartEnd"),f=Fe.END,d=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let v=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);A("onPartData",0,o,v),o=0,g("onPartData"),n--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}C("onHeaderField"),C("onHeaderValue"),C("onPartData"),this.index=l,this.state=f,this.flags=d}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Wn,{PassThrough as Um}from"node:stream";import{types as $m,deprecate as jc,promisify as LE}from"node:util";import{Buffer as Dt}from"node:buffer";async function Lc(t){if(t[lt].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[lt].disturbed=!0,t[lt].error)throw t[lt].error;let{body:e}=t;if(e===null)return Dt.alloc(0);if(!(e instanceof Wn))return Dt.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new st(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof kn?o:new st(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?Dt.from(n.join("")):Dt.concat(n,r)}catch(o){throw new st(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new st(`Premature close of server response while trying to fetch ${t.url}`)}var jE,lt,Zt,Vr,UE,Fi,qm,zm,Ii=Le(()=>{Uo();vi();Fc();Ti();Ri();jE=LE(Wn.pipeline),lt=Symbol("Body internals"),Zt=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:Ic(e)?e=Dt.from(e.toString()):qo(e)||Dt.isBuffer(e)||($m.isAnyArrayBuffer(e)?e=Dt.from(e):ArrayBuffer.isView(e)?e=Dt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Wn||(e instanceof zn?(e=km(e),r=e.type.split("=")[1]):e=Dt.from(String(e))));let o=e;Dt.isBuffer(e)?o=Wn.Readable.from(e):qo(e)&&(o=Wn.Readable.from(e.stream())),this[lt]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof Wn&&e.on("error",s=>{let a=s instanceof kn?s:new st(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[lt].error=a})}get body(){return this[lt].stream}get bodyUsed(){return this[lt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await Lc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new zn,o=new URLSearchParams(await this.text());for(let[s,a]of o)r.append(s,a);return r}let{toFormData:n}=await Promise.resolve().then(()=>(jm(),Lm));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[lt].body&&this[lt].body.type||"",n=await this.arrayBuffer();return new $t([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Lc(this);return new TextDecoder().decode(e)}buffer(){return Lc(this)}};Zt.prototype.buffer=jc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:jc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});Vr=(t,e)=>{let n,r,{body:o}=t[lt];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Wn&&typeof o.getBoundary!="function"&&(n=new Um({highWaterMark:e}),r=new Um({highWaterMark:e}),o.pipe(n),o.pipe(r),t[lt].stream=n,o=r),o},UE=jc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Fi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":Ic(t)?"application/x-www-form-urlencoded;charset=UTF-8":qo(t)?t.type||null:Dt.isBuffer(t)||$m.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof zn?`multipart/form-data; boundary=${e[lt].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${UE(t)}`:t instanceof Wn?null:"text/plain;charset=UTF-8",qm=t=>{let{body:e}=t[lt];return e===null?0:qo(e)?e.size:Dt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},zm=async(t,{body:e})=>{e===null?t.end():await jE(e,t)}});import{types as Hm}from"node:util";import Bi from"node:http";function Wm(t=[]){return new dt(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return Ni(e),Uc(e,String(n)),!0}catch{return!1}}))}var Ni,Uc,dt,Mi=Le(()=>{Ni=typeof Bi.validateHeaderName=="function"?Bi.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Uc=typeof Bi.validateHeaderValue=="function"?Bi.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},dt=class t extends URLSearchParams{constructor(e){let n=[];if(e instanceof t){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!Hm.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||Hm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return n=n.length>0?n.map(([r,o])=>(Ni(r),Uc(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(a,u)=>(Ni(a),Uc(a,String(u)),URLSearchParams.prototype[o].call(r,String(a).toLowerCase(),String(u)));case"delete":case"has":case"getAll":return a=>(Ni(a),URLSearchParams.prototype[o].call(r,String(a).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};Object.defineProperties(dt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var $E,Ho,$c=Le(()=>{$E=new Set([301,302,303,307,308]),Ho=t=>$E.has(t)});var qt,mt,Gm=Le(()=>{Mi();Ii();$c();qt=Symbol("Response internals"),mt=class t extends Zt{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new dt(n.headers);if(e!==null&&!o.has("Content-Type")){let s=Fi(e,this);s&&o.append("Content-Type",s)}this[qt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[qt].type}get url(){return this[qt].url||""}get status(){return this[qt].status}get ok(){return this[qt].status>=200&&this[qt].status<300}get redirected(){return this[qt].counter>0}get statusText(){return this[qt].statusText}get headers(){return this[qt].headers}get highWaterMark(){return this[qt].highWaterMark}clone(){return new t(Vr(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,n=302){if(!Ho(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new t(null,{status:0,statusText:""});return e[qt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new dt(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(mt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Jm,Vm=Le(()=>{Jm=t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""}});import{isIP as qE}from"node:net";function Km(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Xm(t){if(!Ym.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function zE(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=qE(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function Kr(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:zE(t)}function Zm(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Km(o),a=Km(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),n&&(a=n(a));let u=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return Kr(s)&&!Kr(u)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===u.origin?s:Kr(s)&&!Kr(u)?"no-referrer":a;case"same-origin":return s.origin===u.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===u.origin?s:a;case"no-referrer-when-downgrade":return Kr(s)&&!Kr(u)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function eg(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&Ym.has(r)&&(n=r);return n}var Ym,Qm,qc=Le(()=>{Ym=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Qm="strict-origin-when-cross-origin"});import{format as HE}from"node:url";import{deprecate as WE}from"node:util";var Ke,Wo,GE,Gn,tg,ng=Le(()=>{Mi();Ii();Ri();Vm();qc();Ke=Symbol("Request internals"),Wo=t=>typeof t=="object"&&typeof t[Ke]=="object",GE=WE(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Gn=class t extends Zt{constructor(e,n={}){let r;if(Wo(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Wo(n)&&"data"in n&&GE(),(n.body!=null||Wo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:Wo(e)&&e.body!==null?Vr(e):null;super(s,{size:n.size||e.size||0});let a=new dt(n.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let f=Fi(s,this);f&&a.set("Content-Type",f)}let u=Wo(e)?e.signal:null;if("signal"in n&&(u=n.signal),u!=null&&!Am(u))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=n.referrer==null?e.referrer:n.referrer;if(l==="")l="no-referrer";else if(l){let f=new URL(l);l=/^about:(\/\/)?client$/.test(f)?"client":f}else l=void 0;this[Ke]={method:o,redirect:n.redirect||e.redirect||"follow",headers:a,parsedURL:r,signal:u,referrer:l},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[Ke].method}get url(){return HE(this[Ke].parsedURL)}get headers(){return this[Ke].headers}get redirect(){return this[Ke].redirect}get signal(){return this[Ke].signal}get referrer(){if(this[Ke].referrer==="no-referrer")return"";if(this[Ke].referrer==="client")return"about:client";if(this[Ke].referrer)return this[Ke].referrer.toString()}get referrerPolicy(){return this[Ke].referrerPolicy}set referrerPolicy(e){this[Ke].referrerPolicy=Xm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Gn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});tg=t=>{let{parsedURL:e}=t[Ke],n=new dt(t[Ke].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let u=qm(t);typeof u=="number"&&!Number.isNaN(u)&&(r=String(u))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=Qm),t.referrer&&t.referrer!=="no-referrer"?t[Ke].referrer=Zm(t):t[Ke].referrer="no-referrer",t[Ke].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=Jm(e),a={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var Go,rg=Le(()=>{Ti();Go=class extends kn{constructor(e,n="aborted"){super(e,n)}}});var ig={};Mu(ig,{AbortError:()=>Go,Blob:()=>$t,FetchError:()=>st,File:()=>qn,FormData:()=>zn,Headers:()=>dt,Request:()=>Gn,Response:()=>mt,blobFrom:()=>Pm,blobFromSync:()=>Om,default:()=>zc,fileFrom:()=>Fm,fileFromSync:()=>Im,isRedirect:()=>Ho});import JE from"node:http";import VE from"node:https";import Yr from"node:zlib";import og,{PassThrough as sg,pipeline as Qr}from"node:stream";import{Buffer as Li}from"node:buffer";async function zc(t,e){return new Promise((n,r)=>{let o=new Gn(t,e),{parsedURL:s,options:a}=tg(o);if(!KE.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=pm(o.url),y=new mt(w,{headers:{"Content-Type":w.typeFull}});n(y);return}let u=(s.protocol==="https:"?VE:JE).request,{signal:l}=o,f=null,d=()=>{let w=new Go("The operation was aborted.");r(w),o.body&&o.body instanceof og.Readable&&o.body.destroy(w),!(!f||!f.body)&&f.body.emit("error",w)};if(l&&l.aborted){d();return}let p=()=>{d(),b()},m=u(s.toString(),a);l&&l.addEventListener("abort",p);let b=()=>{m.abort(),l&&l.removeEventListener("abort",p)};m.on("error",w=>{r(new st(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),b()}),YE(m,w=>{f&&f.body&&f.body.destroy(w)}),process.version<"v14"&&m.on("socket",w=>{let y;w.prependListener("end",()=>{y=w._eventsCount}),w.prependListener("close",g=>{if(f&&y<w._eventsCount&&!g){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",f.body.emit("error",_)}})}),m.on("response",w=>{m.setTimeout(0);let y=Wm(w.rawHeaders);if(Ho(w.statusCode)){let v=y.get("Location"),T=null;try{T=v===null?null:new URL(v,o.url)}catch{if(o.redirect!=="manual"){r(new st(`uri requested responds with an invalid redirect URL: ${v}`,"invalid-redirect")),b();return}}switch(o.redirect){case"error":r(new st(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),b();return;case"manual":break;case"follow":{if(T===null)break;if(o.counter>=o.follow){r(new st(`maximum redirect reached at: ${o.url}`,"max-redirect")),b();return}let R={headers:new dt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:Vr(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Sm(o.url,T)||!vm(o.url,T))for(let G of["authorization","www-authenticate","cookie","cookie2"])R.headers.delete(G);if(w.statusCode!==303&&o.body&&e.body instanceof og.Readable){r(new st("Cannot follow redirect with body being a readable stream","unsupported-redirect")),b();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(R.method="GET",R.body=void 0,R.headers.delete("content-length"));let $=eg(y);$&&(R.referrerPolicy=$),n(zc(new Gn(T,R))),b();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let g=Qr(w,new sg,v=>{v&&r(v)});process.version<"v12.10"&&w.on("aborted",p);let _={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:y,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},A=y.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||A===null||w.statusCode===204||w.statusCode===304){f=new mt(g,_),n(f);return}let C={flush:Yr.Z_SYNC_FLUSH,finishFlush:Yr.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){g=Qr(g,Yr.createGunzip(C),v=>{v&&r(v)}),f=new mt(g,_),n(f);return}if(A==="deflate"||A==="x-deflate"){let v=Qr(w,new sg,T=>{T&&r(T)});v.once("data",T=>{(T[0]&15)===8?g=Qr(g,Yr.createInflate(),R=>{R&&r(R)}):g=Qr(g,Yr.createInflateRaw(),R=>{R&&r(R)}),f=new mt(g,_),n(f)}),v.once("end",()=>{f||(f=new mt(g,_),n(f))});return}if(A==="br"){g=Qr(g,Yr.createBrotliDecompress(),v=>{v&&r(v)}),f=new mt(g,_),n(f);return}f=new mt(g,_),n(f)}),zm(m,o).catch(r)})}function YE(t,e){let n=Li.from(`0\r
38
38
  \r
39
- `),r=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;r=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(r&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=Mi.compare(d.slice(-5),n)===0,!o&&s&&(o=Mi.compare(s.slice(-3),n.slice(0,3))===0&&Mi.compare(d.slice(-2),n.slice(3))===0),s=d};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var JE,sg=Le(()=>{hm();Fi();Hm();Bi();eg();Oc();tg();jc();Si();Di();Uc();Ic();JE=new Set(["data:","http:","https:"])});var ug=X(Xr=>{"use strict";var KE=Xr&&Xr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qr;Object.defineProperty(Xr,"__esModule",{value:!0});Xr.Gaxios=void 0;var YE=KE(pc()),QE=re("https"),pr=yc(),XE=Up(),ig=re("stream"),ag=Cc(),ZE=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Li=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new ag.GaxiosInterceptorManager,response:new ag.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Qr.mergeHeaders(s,n.headers),r&&Qr.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Qr.#u(),r={...e};delete r.data;let o=await n(e.url,r),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=o.toString()}let r=pr.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new pr.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof pr.GaxiosError?r=n:n instanceof Error?r=new pr.GaxiosError(n.message,e,void 0,n):r=new pr.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,XE.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new pr.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":return n.json();case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(r.toString()))return!1}else if(a instanceof URL){if(a.origin===r.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let u=a.replace(/^\*\./,".");if(r.hostname.endsWith(u))return!1}else if(a===r.origin||a===r.hostname||a===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);Qr.mergeHeaders(n,e.headers);let r=(0,YE.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let a=r.paramsSerializer(r.params);a.startsWith("?")&&(a=a.slice(1));let u=r.url.toString().includes("?")?"&":"?";r.url=r.url+u+a}else{let a=r.url instanceof URL?r.url:new URL(r.url);for(let[u,l]of new URLSearchParams(r.params))a.searchParams.append(u,l);r.url=a}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof ig.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let a=await ZE();n.set("content-type",`multipart/related; boundary=${a}`),r.body=ig.Readable.from(this.getMultipartRequest(r.multipart,a))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let a=await Qr.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new a(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new QE.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=pr.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
39
+ `),r=!1,o=!1,s;t.on("response",a=>{let{headers:u}=a;r=u["transfer-encoding"]==="chunked"&&!u["content-length"]}),t.on("socket",a=>{let u=()=>{if(r&&!o){let f=new Error("Premature close");f.code="ERR_STREAM_PREMATURE_CLOSE",e(f)}},l=f=>{o=Li.compare(f.slice(-5),n)===0,!o&&s&&(o=Li.compare(s.slice(-3),n.slice(0,3))===0&&Li.compare(f.slice(-2),n.slice(3))===0),s=f};a.prependListener("close",u),a.on("data",l),t.on("close",()=>{a.removeListener("close",u),a.removeListener("data",l)})})}var KE,ag=Le(()=>{mm();Ii();Gm();Mi();ng();Fc();rg();$c();vi();Ri();qc();Bc();KE=new Set(["data:","http:","https:"])});var lg=X(Zr=>{"use strict";var QE=Zr&&Zr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Xr;Object.defineProperty(Zr,"__esModule",{value:!0});Zr.Gaxios=void 0;var XE=QE(gc()),ZE=re("https"),pr=bc(),ek=qp(),ug=re("stream"),cg=Ec(),tk=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),ji=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new cg.GaxiosInterceptorManager,response:new cg.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Xr.mergeHeaders(s,n.headers),r&&Xr.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Xr.#u(),r={...e};delete r.data;let o=await n(e.url,r),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=o.toString()}let r=pr.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new pr.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof pr.GaxiosError?r=n:n instanceof Error?r=new pr.GaxiosError(n.message,e,void 0,n):r=new pr.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,ek.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new pr.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":return n.json();case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(r.toString()))return!1}else if(a instanceof URL){if(a.origin===r.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let u=a.replace(/^\*\./,".");if(r.hostname.endsWith(u))return!1}else if(a===r.origin||a===r.hostname||a===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);Xr.mergeHeaders(n,e.headers);let r=(0,XE.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let a=r.paramsSerializer(r.params);a.startsWith("?")&&(a=a.slice(1));let u=r.url.toString().includes("?")?"&":"?";r.url=r.url+u+a}else{let a=r.url instanceof URL?r.url:new URL(r.url);for(let[u,l]of new URLSearchParams(r.params))a.searchParams.append(u,l);r.url=a}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof ug.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let a=await tk();n.set("content-type",`multipart/related; boundary=${a}`),r.body=ug.Readable.from(this.getMultipartRequest(r.multipart,a))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let a=await Xr.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new a(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new ZE.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=pr.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
40
40
  Content-Type: ${s}\r
41
41
  \r
42
42
  `,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
43
- `}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Ln(dm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(sg(),og))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Xr.Gaxios=Li;Qr=Li});var Xe=X(it=>{"use strict";var ek=it&&it.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),tk=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ek(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=rk;var cg=ug();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return cg.Gaxios}});var nk=yc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return nk.GaxiosError}});tk(Cc(),it);it.instance=new cg.Gaxios;async function rk(t){return it.instance.request(t)}});var qc=X((lg,ji)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",u=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,m=1e9;function b(T){var R,$,V,P=J.prototype={constructor:J,toString:null,valueOf:null},Y=new J(1),z=20,K=4,Q=-7,ee=21,ae=-1e7,se=1e7,me=!1,G=1,Z=0,ie={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Ue="0123456789abcdefghijklmnopqrstuvwxyz",Ae=!0;function J(E,v){var D,M,F,N,U,O,I,L,B=this;if(!(B instanceof J))return new J(E,v);if(v==null){if(E&&E._isBigNumber===!0){B.s=E.s,!E.c||E.e>se?B.c=B.e=null:E.e<ae?B.c=[B.e=0]:(B.e=E.e,B.c=E.c.slice());return}if((O=typeof E=="number")&&E*0==0){if(B.s=1/E<0?(E=-E,-1):1,E===~~E){for(N=0,U=E;U>=10;U/=10,N++);N>se?B.c=B.e=null:(B.e=N,B.c=[E]);return}L=String(E)}else{if(!n.test(L=String(E)))return V(B,L,O);B.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(N=L.indexOf("."))>-1&&(L=L.replace(".","")),(U=L.search(/e/i))>0?(N<0&&(N=U),N+=+L.slice(U+1),L=L.substring(0,U)):N<0&&(N=L.length)}else{if(_(v,2,Ue.length,"Base"),v==10&&Ae)return B=new J(E),Oe(B,z+B.e+1,K);if(L=String(E),O=typeof E=="number"){if(E*0!=0)return V(B,L,O,v);if(B.s=1/E<0?(L=L.slice(1),-1):1,J.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+E)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=Ue.slice(0,v),N=U=0,I=L.length;U<I;U++)if(D.indexOf(M=L.charAt(U))<0){if(M=="."){if(U>N){N=I;continue}}else if(!F&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){F=!0,U=-1,N=0;continue}return V(B,String(E),O,v)}O=!1,L=$(L,v,10,B.s),(N=L.indexOf("."))>-1?L=L.replace(".",""):N=L.length}for(U=0;L.charCodeAt(U)===48;U++);for(I=L.length;L.charCodeAt(--I)===48;);if(L=L.slice(U,++I)){if(I-=U,O&&J.DEBUG&&I>15&&(E>d||E!==o(E)))throw Error(a+B.s*E);if((N=N-U-1)>se)B.c=B.e=null;else if(N<ae)B.c=[B.e=0];else{if(B.e=N,B.c=[],U=(N+1)%l,N<0&&(U+=l),U<I){for(U&&B.c.push(+L.slice(0,U)),I-=l;U<I;)B.c.push(+L.slice(U,U+=l));U=l-(L=L.slice(U)).length}else U-=I;for(;U--;L+="0");B.c.push(+L)}}else B.c=[B.e=0]}J.clone=b,J.ROUND_UP=0,J.ROUND_DOWN=1,J.ROUND_CEIL=2,J.ROUND_FLOOR=3,J.ROUND_HALF_UP=4,J.ROUND_HALF_DOWN=5,J.ROUND_HALF_EVEN=6,J.ROUND_HALF_CEIL=7,J.ROUND_HALF_FLOOR=8,J.EUCLID=9,J.config=J.set=function(E){var v,D;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(v="DECIMAL_PLACES")&&(D=E[v],_(D,0,m,v),z=D),E.hasOwnProperty(v="ROUNDING_MODE")&&(D=E[v],_(D,0,8,v),K=D),E.hasOwnProperty(v="EXPONENTIAL_AT")&&(D=E[v],D&&D.pop?(_(D[0],-m,0,v),_(D[1],0,m,v),Q=D[0],ee=D[1]):(_(D,-m,m,v),Q=-(ee=D<0?-D:D))),E.hasOwnProperty(v="RANGE"))if(D=E[v],D&&D.pop)_(D[0],-m,-1,v),_(D[1],1,m,v),ae=D[0],se=D[1];else if(_(D,-m,m,v),D)ae=-(se=D<0?-D:D);else throw Error(s+v+" cannot be zero: "+D);if(E.hasOwnProperty(v="CRYPTO"))if(D=E[v],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=D;else throw me=!D,Error(s+"crypto unavailable");else me=D;else throw Error(s+v+" not true or false: "+D);if(E.hasOwnProperty(v="MODULO_MODE")&&(D=E[v],_(D,0,9,v),G=D),E.hasOwnProperty(v="POW_PRECISION")&&(D=E[v],_(D,0,m,v),Z=D),E.hasOwnProperty(v="FORMAT"))if(D=E[v],typeof D=="object")ie=D;else throw Error(s+v+" not an object: "+D);if(E.hasOwnProperty(v="ALPHABET"))if(D=E[v],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))Ae=D.slice(0,10)=="0123456789",Ue=D;else throw Error(s+v+" invalid: "+D)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:z,ROUNDING_MODE:K,EXPONENTIAL_AT:[Q,ee],RANGE:[ae,se],CRYPTO:me,MODULO_MODE:G,POW_PRECISION:Z,FORMAT:ie,ALPHABET:Ue}},J.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!J.DEBUG)return!0;var v,D,M=E.c,F=E.e,N=E.s;e:if({}.toString.call(M)=="[object Array]"){if((N===1||N===-1)&&F>=-m&&F<=m&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(v=(F+1)%l,v<1&&(v+=l),String(M[0]).length==v){for(v=0;v<M.length;v++)if(D=M[v],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(M===null&&F===null&&(N===null||N===1||N===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},J.maximum=J.max=function(){return te(arguments,-1)},J.minimum=J.min=function(){return te(arguments,1)},J.random=(function(){var E=9007199254740992,v=Math.random()*E&2097151?function(){return o(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,F,N,U,O,I=0,L=[],B=new J(Y);if(D==null?D=z:_(D,0,m),U=r(D/l),me)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));I<U;)O=M[I]*131072+(M[I+1]>>>11),O>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[I]=F[0],M[I+1]=F[1]):(L.push(O%1e14),I+=2);I=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);I<U;)O=(M[I]&31)*281474976710656+M[I+1]*1099511627776+M[I+2]*4294967296+M[I+3]*16777216+(M[I+4]<<16)+(M[I+5]<<8)+M[I+6],O>=9e15?crypto.randomBytes(7).copy(M,I):(L.push(O%1e14),I+=7);I=U/7}else throw me=!1,Error(s+"crypto unavailable");if(!me)for(;I<U;)O=v(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=f[l-D],L[I]=o(U/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[N=0];else{for(N=-1;L[0]===0;L.splice(0,1),N-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(N-=l-I)}return B.e=N,B.c=L,B}})(),J.sum=function(){for(var E=1,v=arguments,D=new J(v[0]);E<v.length;)D=D.plus(v[E++]);return D},$=(function(){var E="0123456789";function v(D,M,F,N){for(var U,O=[0],I,L=0,B=D.length;L<B;){for(I=O.length;I--;O[I]*=M);for(O[0]+=N.indexOf(D.charAt(L++)),U=0;U<O.length;U++)O[U]>F-1&&(O[U+1]==null&&(O[U+1]=0),O[U+1]+=O[U]/F|0,O[U]%=F)}return O.reverse()}return function(D,M,F,N,U){var O,I,L,B,H,oe,ue,Se,Ie=D.indexOf("."),Me=z,ke=K;for(Ie>=0&&(B=Z,Z=0,D=D.replace(".",""),Se=new J(M),oe=Se.pow(D.length-Ie),Z=B,Se.c=v(S(y(oe.c),oe.e,"0"),10,F,E),Se.e=Se.c.length),ue=v(D,M,F,U?(O=Ue,E):(O=E,Ue)),L=B=ue.length;ue[--B]==0;ue.pop());if(!ue[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ue,oe.e=L,oe.s=N,oe=R(oe,Se,Me,ke,F),ue=oe.c,H=oe.r,L=oe.e),I=L+Me+1,Ie=ue[I],B=F/2,H=H||I<0||ue[I+1]!=null,H=ke<4?(Ie!=null||H)&&(ke==0||ke==(oe.s<0?3:2)):Ie>B||Ie==B&&(ke==4||H||ke==6&&ue[I-1]&1||ke==(oe.s<0?8:7)),I<1||!ue[0])D=H?S(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ue.length=I,H)for(--F;++ue[--I]>F;)ue[I]=0,I||(++L,ue=[1].concat(ue));for(B=ue.length;!ue[--B];);for(Ie=0,D="";Ie<=B;D+=O.charAt(ue[Ie++]));D=S(D,L,O.charAt(0))}return D}})(),R=(function(){function E(M,F,N){var U,O,I,L,B=0,H=M.length,oe=F%p,ue=F/p|0;for(M=M.slice();H--;)I=M[H]%p,L=M[H]/p|0,U=ue*I+L*oe,O=oe*I+U%p*p+B,B=(O/N|0)+(U/p|0)+ue*L,M[H]=O%N;return B&&(M=[B].concat(M)),M}function v(M,F,N,U){var O,I;if(N!=U)I=N>U?1:-1;else for(O=I=0;O<N;O++)if(M[O]!=F[O]){I=M[O]>F[O]?1:-1;break}return I}function D(M,F,N,U){for(var O=0;N--;)M[N]-=O,O=M[N]<F[N]?1:0,M[N]=O*U+M[N]-F[N];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,N,U,O){var I,L,B,H,oe,ue,Se,Ie,Me,ke,ve,qe,Cr,wr,Er,ft,fn,Ze=M.s==F.s?1:-1,ze=M.c,De=F.c;if(!ze||!ze[0]||!De||!De[0])return new J(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new J(Ze),Me=Ie.c=[],L=M.e-F.e,Ze=N+L+1,O||(O=u,L=w(M.e/l)-w(F.e/l),Ze=Ze/l|0),B=0;De[B]==(ze[B]||0);B++);if(De[B]>(ze[B]||0)&&L--,Ze<0)Me.push(1),H=!0;else{for(wr=ze.length,ft=De.length,B=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=E(De,oe,O),ze=E(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,ke=ze.slice(0,ft),ve=ke.length;ve<ft;ke[ve++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=v(De,ke,ft,ve),I<0){if(qe=ke[0],ft!=ve&&(qe=qe*O+(ke[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ue=E(De,oe,O),Se=ue.length,ve=ke.length;v(ue,ke,Se,ve)==1;)oe--,D(ue,ft<Se?fn:De,Se,O),Se=ue.length,I=1;else oe==0&&(I=oe=1),ue=De.slice(),Se=ue.length;if(Se<ve&&(ue=[0].concat(ue)),D(ke,ue,ve,O),ve=ke.length,I==-1)for(;v(De,ke,ft,ve)<1;)oe++,D(ke,ft<ve?fn:De,ve,O),ve=ke.length}else I===0&&(oe++,ke=[0]);Me[B++]=oe,ke[0]?ke[ve++]=ze[Cr]||0:(ke=[ze[Cr]],ve=1)}while((Cr++<wr||ke[0]!=null)&&Ze--);H=ke[0]!=null,Me[0]||Me.splice(0,1)}if(O==u){for(B=1,Ze=Me[0];Ze>=10;Ze/=10,B++);Oe(Ie,N+(Ie.e=B+L*l-1)+1,U,H)}else Ie.e=L,Ie.r=+H;return Ie}})();function ce(E,v,D,M){var F,N,U,O,I;if(D==null?D=K:_(D,0,8),!E.c)return E.toString();if(F=E.c[0],U=E.e,v==null)I=y(E.c),I=M==1||M==2&&(U<=Q||U>=ee)?C(I,U):S(I,U,"0");else if(E=Oe(new J(E),v,D),N=E.e,I=y(E.c),O=I.length,M==1||M==2&&(v<=N||N<=Q)){for(;O<v;I+="0",O++);I=C(I,N)}else if(v-=U+(M===2&&N>U),I=S(I,N,"0"),N+1>O){if(--v>0)for(I+=".";v--;I+="0");}else if(v+=N-O,v>0)for(N+1==O&&(I+=".");v--;I+="0");return E.s<0&&F?"-"+I:I}function te(E,v){for(var D,M,F=1,N=new J(E[0]);F<E.length;F++)M=new J(E[F]),(!M.s||(D=g(N,M))===v||D===0&&N.s===v)&&(N=M);return N}function Te(E,v,D){for(var M=1,F=v.length;!v[--F];v.pop());for(F=v[0];F>=10;F/=10,M++);return(D=M+D*l-1)>se?E.c=E.e=null:D<ae?E.c=[E.e=0]:(E.e=D,E.c=v),E}V=(function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,v=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(N,U,O,I){var L,B=O?U:U.replace(F,"");if(M.test(B))N.s=isNaN(B)?null:B<0?-1:1;else{if(!O&&(B=B.replace(E,function(H,oe,ue){return L=(ue=ue.toLowerCase())=="x"?16:ue=="b"?2:8,!I||I==L?oe:H}),I&&(L=I,B=B.replace(v,"$1").replace(D,"0.$1")),U!=B))return new J(B,L);if(J.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);N.s=null}N.c=N.e=null}})();function Oe(E,v,D,M){var F,N,U,O,I,L,B,H=E.c,oe=f;if(H){e:{for(F=1,O=H[0];O>=10;O/=10,F++);if(N=v-F,N<0)N+=l,U=v,I=H[L=0],B=o(I/oe[F-U-1]%10);else if(L=r((N+1)/l),L>=H.length)if(M){for(;H.length<=L;H.push(0));I=B=0,F=1,N%=l,U=N-l+1}else break e;else{for(I=O=H[L],F=1;O>=10;O/=10,F++);N%=l,U=N-l+F,B=U<0?0:o(I/oe[F-U-1]%10)}if(M=M||v<0||H[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(B||M)&&(D==0||D==(E.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?U>0?I/oe[F-U]:0:H[L-1])%10&1||D==(E.s<0?8:7)),v<1||!H[0])return H.length=0,M?(v-=E.e+1,H[0]=oe[(l-v%l)%l],E.e=-v||0):H[0]=E.e=0,E;if(N==0?(H.length=L,O=1,L--):(H.length=L+1,O=oe[l-N],H[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(N=1,U=H[0];U>=10;U/=10,N++);for(U=H[0]+=O,O=1;U>=10;U/=10,O++);N!=O&&(E.e++,H[0]==u&&(H[0]=1));break}else{if(H[L]+=O,H[L]!=u)break;H[L--]=0,O=1}for(N=H.length;H[--N]===0;H.pop());}E.e>se?E.c=E.e=null:E.e<ae&&(E.c=[E.e=0])}return E}function je(E){var v,D=E.e;return D===null?E.toString():(v=y(E.c),v=D<=Q||D>=ee?C(v,D):S(v,D,"0"),E.s<0?"-"+v:v)}return P.absoluteValue=P.abs=function(){var E=new J(this);return E.s<0&&(E.s=1),E},P.comparedTo=function(E,v){return g(this,new J(E,v))},P.decimalPlaces=P.dp=function(E,v){var D,M,F,N=this;if(E!=null)return _(E,0,m),v==null?v=K:_(v,0,8),Oe(new J(N),E+N.e+1,v);if(!(D=N.c))return null;if(M=((F=D.length-1)-w(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},P.dividedBy=P.div=function(E,v){return R(this,new J(E,v),z,K)},P.dividedToIntegerBy=P.idiv=function(E,v){return R(this,new J(E,v),0,1)},P.exponentiatedBy=P.pow=function(E,v){var D,M,F,N,U,O,I,L,B,H=this;if(E=new J(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+je(E));if(v!=null&&(v=new J(v)),O=E.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!E.c||!E.c[0])return B=new J(Math.pow(+je(H),O?E.s*(2-A(E)):+je(E))),v?B.mod(v):B;if(I=E.s<0,v){if(v.c?!v.c[0]:!v.s)return new J(NaN);M=!I&&H.isInteger()&&v.isInteger(),M&&(H=H.mod(v))}else{if(E.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||O&&H.c[1]>=24e7:H.c[0]<8e13||O&&H.c[0]<=9999975e7)))return N=H.s<0&&A(E)?-0:0,H.e>-1&&(N=1/N),new J(I?1/N:N);Z&&(N=r(Z/l+2))}for(O?(D=new J(.5),I&&(E.s=1),L=A(E)):(F=Math.abs(+je(E)),L=F%2),B=new J(Y);;){if(L){if(B=B.times(H),!B.c)break;N?B.c.length>N&&(B.c.length=N):M&&(B=B.mod(v))}if(F){if(F=o(F/2),F===0)break;L=F%2}else if(E=E.times(D),Oe(E,E.e+1,1),E.e>14)L=A(E);else{if(F=+je(E),F===0)break;L=F%2}H=H.times(H),N?H.c&&H.c.length>N&&(H.c.length=N):M&&(H=H.mod(v))}return M?B:(I&&(B=Y.div(B)),v?B.mod(v):N?Oe(B,Z,K,U):B)},P.integerValue=function(E){var v=new J(this);return E==null?E=K:_(E,0,8),Oe(v,v.e+1,E)},P.isEqualTo=P.eq=function(E,v){return g(this,new J(E,v))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(E,v){return g(this,new J(E,v))>0},P.isGreaterThanOrEqualTo=P.gte=function(E,v){return(v=g(this,new J(E,v)))===1||v===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(E,v){return g(this,new J(E,v))<0},P.isLessThanOrEqualTo=P.lte=function(E,v){return(v=g(this,new J(E,v)))===-1||v===0},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&this.c[0]==0},P.minus=function(E,v){var D,M,F,N,U=this,O=U.s;if(E=new J(E,v),v=E.s,!O||!v)return new J(NaN);if(O!=v)return E.s=-v,U.plus(E);var I=U.e/l,L=E.e/l,B=U.c,H=E.c;if(!I||!L){if(!B||!H)return B?(E.s=-v,E):new J(H?U:NaN);if(!B[0]||!H[0])return H[0]?(E.s=-v,E):new J(B[0]?U:K==3?-0:0)}if(I=w(I),L=w(L),B=B.slice(),O=I-L){for((N=O<0)?(O=-O,F=B):(L=I,F=H),F.reverse(),v=O;v--;F.push(0));F.reverse()}else for(M=(N=(O=B.length)<(v=H.length))?O:v,O=v=0;v<M;v++)if(B[v]!=H[v]){N=B[v]<H[v];break}if(N&&(F=B,B=H,H=F,E.s=-E.s),v=(M=H.length)-(D=B.length),v>0)for(;v--;B[D++]=0);for(v=u-1;M>O;){if(B[--M]<H[M]){for(D=M;D&&!B[--D];B[D]=v);--B[D],B[M]+=u}B[M]-=H[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?Te(E,B,L):(E.s=K==3?-1:1,E.c=[E.e=0],E)},P.modulo=P.mod=function(E,v){var D,M,F=this;return E=new J(E,v),!F.c||!E.s||E.c&&!E.c[0]?new J(NaN):!E.c||F.c&&!F.c[0]?new J(F):(G==9?(M=E.s,E.s=1,D=R(F,E,0,3),E.s=M,D.s*=M):D=R(F,E,0,G),E=F.minus(D.times(E)),!E.c[0]&&G==1&&(E.s=F.s),E)},P.multipliedBy=P.times=function(E,v){var D,M,F,N,U,O,I,L,B,H,oe,ue,Se,Ie,Me,ke=this,ve=ke.c,qe=(E=new J(E,v)).c;if(!ve||!qe||!ve[0]||!qe[0])return!ke.s||!E.s||ve&&!ve[0]&&!qe||qe&&!qe[0]&&!ve?E.c=E.e=E.s=null:(E.s*=ke.s,!ve||!qe?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(M=w(ke.e/l)+w(E.e/l),E.s*=ke.s,I=ve.length,H=qe.length,I<H&&(Se=ve,ve=qe,qe=Se,F=I,I=H,H=F),F=I+H,Se=[];F--;Se.push(0));for(Ie=u,Me=p,F=H;--F>=0;){for(D=0,oe=qe[F]%Me,ue=qe[F]/Me|0,U=I,N=F+U;N>F;)L=ve[--U]%Me,B=ve[U]/Me|0,O=ue*L+B*oe,L=oe*L+O%Me*Me+Se[N]+D,D=(L/Ie|0)+(O/Me|0)+ue*B,Se[N--]=L%Ie;Se[N]=D}return D?++M:Se.splice(0,1),Te(E,Se,M)},P.negated=function(){var E=new J(this);return E.s=-E.s||null,E},P.plus=function(E,v){var D,M=this,F=M.s;if(E=new J(E,v),v=E.s,!F||!v)return new J(NaN);if(F!=v)return E.s=-v,M.minus(E);var N=M.e/l,U=E.e/l,O=M.c,I=E.c;if(!N||!U){if(!O||!I)return new J(F/0);if(!O[0]||!I[0])return I[0]?E:new J(O[0]?M:F*0)}if(N=w(N),U=w(U),O=O.slice(),F=N-U){for(F>0?(U=N,D=I):(F=-F,D=O),D.reverse();F--;D.push(0));D.reverse()}for(F=O.length,v=I.length,F-v<0&&(D=I,I=O,O=D,v=F),F=0;v;)F=(O[--v]=O[v]+I[v]+F)/u|0,O[v]=u===O[v]?0:O[v]%u;return F&&(O=[F].concat(O),++U),Te(E,O,U)},P.precision=P.sd=function(E,v){var D,M,F,N=this;if(E!=null&&E!==!!E)return _(E,1,m),v==null?v=K:_(v,0,8),Oe(new J(N),E,v);if(!(D=N.c))return null;if(F=D.length-1,M=F*l+1,F=D[F]){for(;F%10==0;F/=10,M--);for(F=D[0];F>=10;F/=10,M++);}return E&&N.e+1>M&&(M=N.e+1),M},P.shiftedBy=function(E){return _(E,-d,d),this.times("1e"+E)},P.squareRoot=P.sqrt=function(){var E,v,D,M,F,N=this,U=N.c,O=N.s,I=N.e,L=z+4,B=new J("0.5");if(O!==1||!U||!U[0])return new J(!O||O<0&&(!U||U[0])?NaN:U?N:1/0);if(O=Math.sqrt(+je(N)),O==0||O==1/0?(v=y(U),(v.length+I)%2==0&&(v+="0"),O=Math.sqrt(+v),I=w((I+1)/2)-(I<0||I%2),O==1/0?v="5e"+I:(v=O.toExponential(),v=v.slice(0,v.indexOf("e")+1)+I),D=new J(v)):D=new J(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(F=D,D=B.times(F.plus(R(N,F,L,1))),y(F.c).slice(0,O)===(v=y(D.c)).slice(0,O))if(D.e<I&&--O,v=v.slice(O-3,O+1),v=="9999"||!M&&v=="4999"){if(!M&&(Oe(F,F.e+z+2,0),F.times(F).eq(N))){D=F;break}L+=4,O+=4,M=1}else{(!+v||!+v.slice(1)&&v.charAt(0)=="5")&&(Oe(D,D.e+z+2,1),E=!D.times(D).eq(N));break}}return Oe(D,D.e+z+1,K,E)},P.toExponential=function(E,v){return E!=null&&(_(E,0,m),E++),ce(this,E,v,1)},P.toFixed=function(E,v){return E!=null&&(_(E,0,m),E=E+this.e+1),ce(this,E,v)},P.toFormat=function(E,v,D){var M,F=this;if(D==null)E!=null&&v&&typeof v=="object"?(D=v,v=null):E&&typeof E=="object"?(D=E,E=v=null):D=ie;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(E,v),F.c){var N,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=U[0],H=U[1],oe=F.s<0,ue=oe?B.slice(1):B,Se=ue.length;if(I&&(N=O,O=I,I=N,Se-=N),O>0&&Se>0){for(N=Se%O||O,B=ue.substr(0,N);N<Se;N+=O)B+=L+ue.substr(N,O);I>0&&(B+=L+ue.slice(N)),oe&&(B="-"+B)}M=H?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(E){var v,D,M,F,N,U,O,I,L,B,H,oe,ue=this,Se=ue.c;if(E!=null&&(O=new J(E),!O.isInteger()&&(O.c||O.s!==1)||O.lt(Y)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+je(O));if(!Se)return new J(ue);for(v=new J(Y),L=D=new J(Y),M=I=new J(Y),oe=y(Se),N=v.e=oe.length-ue.e-1,v.c[0]=f[(U=N%l)<0?l+U:U],E=!E||O.comparedTo(v)>0?N>0?v:L:O,U=se,se=1/0,O=new J(oe),I.c[0]=0;B=R(O,v,0,1),F=D.plus(B.times(M)),F.comparedTo(E)!=1;)D=M,M=F,L=I.plus(B.times(F=L)),I=F,v=O.minus(B.times(F=v)),O=F;return F=R(E.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ue.s,N=N*2,H=R(L,M,N,K).minus(ue).abs().comparedTo(R(I,D,N,K).minus(ue).abs())<1?[L,M]:[I,D],se=U,H},P.toNumber=function(){return+je(this)},P.toPrecision=function(E,v){return E!=null&&_(E,1,m),ce(this,E,v,2)},P.toString=function(E){var v,D=this,M=D.s,F=D.e;return F===null?M?(v="Infinity",M<0&&(v="-"+v)):v="NaN":(E==null?v=F<=Q||F>=ee?C(y(D.c),F):S(y(D.c),F,"0"):E===10&&Ae?(D=Oe(new J(D),z+F+1,K),v=S(y(D.c),D.e,"0")):(_(E,2,Ue.length,"Base"),v=$(S(y(D.c),F,"0"),10,E,M,!0)),M<0&&D.c[0]&&(v="-"+v)),v},P.valueOf=P.toJSON=function(){return je(this)},P._isBigNumber=!0,T!=null&&J.set(T),J}function w(T){var R=T|0;return T>0||T===R?R:R-1}function y(T){for(var R,$,V=1,P=T.length,Y=T[0]+"";V<P;){for(R=T[V++]+"",$=l-R.length;$--;R="0"+R);Y+=R}for(P=Y.length;Y.charCodeAt(--P)===48;);return Y.slice(0,P+1||1)}function g(T,R){var $,V,P=T.c,Y=R.c,z=T.s,K=R.s,Q=T.e,ee=R.e;if(!z||!K)return null;if($=P&&!P[0],V=Y&&!Y[0],$||V)return $?V?0:-K:z;if(z!=K)return z;if($=z<0,V=Q==ee,!P||!Y)return V?0:!P^$?1:-1;if(!V)return Q>ee^$?1:-1;for(K=(Q=P.length)<(ee=Y.length)?Q:ee,z=0;z<K;z++)if(P[z]!=Y[z])return P[z]>Y[z]^$?1:-1;return Q==ee?0:Q>ee^$?1:-1}function _(T,R,$,V){if(T<R||T>$||T!==o(T))throw Error(s+(V||"Argument")+(typeof T=="number"?T<R||T>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function A(T){var R=T.c.length-1;return w(T.e/l)==R&&T.c[R]%2!=0}function C(T,R){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(R<0?"e":"e+")+R}function S(T,R,$){var V,P;if(R<0){for(P=$+".";++R;P+=$);T=P+T}else if(V=T.length,++R>V){for(P=$,R-=V;--R;P+=$);T+=P}else R<V&&(T=T.slice(0,R)+"."+T.slice(R));return T}e=b(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ji<"u"&&ji.exports?ji.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(lg)});var pg=X((nP,hg)=>{var dg=qc(),fg=hg.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function u(d){return n.lastIndex=0,n.test(d)?'"'+d.replace(n,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,m,b,w,y=r,g,_=f[d],A=_!=null&&(_ instanceof dg||dg.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(d)),typeof a=="function"&&(_=a.call(f,d,_)),typeof _){case"string":return A?_:u(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(r+=o,g=[],Object.prototype.toString.apply(_)==="[object Array]"){for(w=_.length,p=0;p<w;p+=1)g[p]=l(p,_)||"null";return b=g.length===0?"[]":r?`[
43
+ `}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Ln(hm()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(ag(),ig))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Zr.Gaxios=ji;Xr=ji});var Xe=X(it=>{"use strict";var nk=it&&it.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),rk=it&&it.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&nk(e,t,n)};Object.defineProperty(it,"__esModule",{value:!0});it.instance=it.Gaxios=it.GaxiosError=void 0;it.request=sk;var dg=lg();Object.defineProperty(it,"Gaxios",{enumerable:!0,get:function(){return dg.Gaxios}});var ok=bc();Object.defineProperty(it,"GaxiosError",{enumerable:!0,get:function(){return ok.GaxiosError}});rk(Ec(),it);it.instance=new dg.Gaxios;async function sk(t){return it.instance.request(t)}});var Hc=X((fg,Ui)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",u=1e14,l=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,m=1e9;function b(T){var R,$,G,P=V.prototype={constructor:V,toString:null,valueOf:null},K=new V(1),z=20,Y=4,Q=-7,ee=21,se=-1e7,ie=1e7,pe=!1,J=1,Z=0,ce={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},je="0123456789abcdefghijklmnopqrstuvwxyz",we=!0;function V(E,S){var D,M,F,N,U,O,I,L,B=this;if(!(B instanceof V))return new V(E,S);if(S==null){if(E&&E._isBigNumber===!0){B.s=E.s,!E.c||E.e>ie?B.c=B.e=null:E.e<se?B.c=[B.e=0]:(B.e=E.e,B.c=E.c.slice());return}if((O=typeof E=="number")&&E*0==0){if(B.s=1/E<0?(E=-E,-1):1,E===~~E){for(N=0,U=E;U>=10;U/=10,N++);N>ie?B.c=B.e=null:(B.e=N,B.c=[E]);return}L=String(E)}else{if(!n.test(L=String(E)))return G(B,L,O);B.s=L.charCodeAt(0)==45?(L=L.slice(1),-1):1}(N=L.indexOf("."))>-1&&(L=L.replace(".","")),(U=L.search(/e/i))>0?(N<0&&(N=U),N+=+L.slice(U+1),L=L.substring(0,U)):N<0&&(N=L.length)}else{if(_(S,2,je.length,"Base"),S==10&&we)return B=new V(E),Oe(B,z+B.e+1,Y);if(L=String(E),O=typeof E=="number"){if(E*0!=0)return G(B,L,O,S);if(B.s=1/E<0?(L=L.slice(1),-1):1,V.DEBUG&&L.replace(/^0\.0*|\./,"").length>15)throw Error(a+E)}else B.s=L.charCodeAt(0)===45?(L=L.slice(1),-1):1;for(D=je.slice(0,S),N=U=0,I=L.length;U<I;U++)if(D.indexOf(M=L.charAt(U))<0){if(M=="."){if(U>N){N=I;continue}}else if(!F&&(L==L.toUpperCase()&&(L=L.toLowerCase())||L==L.toLowerCase()&&(L=L.toUpperCase()))){F=!0,U=-1,N=0;continue}return G(B,String(E),O,S)}O=!1,L=$(L,S,10,B.s),(N=L.indexOf("."))>-1?L=L.replace(".",""):N=L.length}for(U=0;L.charCodeAt(U)===48;U++);for(I=L.length;L.charCodeAt(--I)===48;);if(L=L.slice(U,++I)){if(I-=U,O&&V.DEBUG&&I>15&&(E>f||E!==o(E)))throw Error(a+B.s*E);if((N=N-U-1)>ie)B.c=B.e=null;else if(N<se)B.c=[B.e=0];else{if(B.e=N,B.c=[],U=(N+1)%l,N<0&&(U+=l),U<I){for(U&&B.c.push(+L.slice(0,U)),I-=l;U<I;)B.c.push(+L.slice(U,U+=l));U=l-(L=L.slice(U)).length}else U-=I;for(;U--;L+="0");B.c.push(+L)}}else B.c=[B.e=0]}V.clone=b,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(E){var S,D;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(S="DECIMAL_PLACES")&&(D=E[S],_(D,0,m,S),z=D),E.hasOwnProperty(S="ROUNDING_MODE")&&(D=E[S],_(D,0,8,S),Y=D),E.hasOwnProperty(S="EXPONENTIAL_AT")&&(D=E[S],D&&D.pop?(_(D[0],-m,0,S),_(D[1],0,m,S),Q=D[0],ee=D[1]):(_(D,-m,m,S),Q=-(ee=D<0?-D:D))),E.hasOwnProperty(S="RANGE"))if(D=E[S],D&&D.pop)_(D[0],-m,-1,S),_(D[1],1,m,S),se=D[0],ie=D[1];else if(_(D,-m,m,S),D)se=-(ie=D<0?-D:D);else throw Error(s+S+" cannot be zero: "+D);if(E.hasOwnProperty(S="CRYPTO"))if(D=E[S],D===!!D)if(D)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))pe=D;else throw pe=!D,Error(s+"crypto unavailable");else pe=D;else throw Error(s+S+" not true or false: "+D);if(E.hasOwnProperty(S="MODULO_MODE")&&(D=E[S],_(D,0,9,S),J=D),E.hasOwnProperty(S="POW_PRECISION")&&(D=E[S],_(D,0,m,S),Z=D),E.hasOwnProperty(S="FORMAT"))if(D=E[S],typeof D=="object")ce=D;else throw Error(s+S+" not an object: "+D);if(E.hasOwnProperty(S="ALPHABET"))if(D=E[S],typeof D=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(D))we=D.slice(0,10)=="0123456789",je=D;else throw Error(s+S+" invalid: "+D)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:z,ROUNDING_MODE:Y,EXPONENTIAL_AT:[Q,ee],RANGE:[se,ie],CRYPTO:pe,MODULO_MODE:J,POW_PRECISION:Z,FORMAT:ce,ALPHABET:je}},V.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!V.DEBUG)return!0;var S,D,M=E.c,F=E.e,N=E.s;e:if({}.toString.call(M)=="[object Array]"){if((N===1||N===-1)&&F>=-m&&F<=m&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(S=(F+1)%l,S<1&&(S+=l),String(M[0]).length==S){for(S=0;S<M.length;S++)if(D=M[S],D<0||D>=u||D!==o(D))break e;if(D!==0)return!0}}}else if(M===null&&F===null&&(N===null||N===1||N===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},V.maximum=V.max=function(){return te(arguments,-1)},V.minimum=V.min=function(){return te(arguments,1)},V.random=(function(){var E=9007199254740992,S=Math.random()*E&2097151?function(){return o(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(D){var M,F,N,U,O,I=0,L=[],B=new V(K);if(D==null?D=z:_(D,0,m),U=r(D/l),pe)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));I<U;)O=M[I]*131072+(M[I+1]>>>11),O>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[I]=F[0],M[I+1]=F[1]):(L.push(O%1e14),I+=2);I=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);I<U;)O=(M[I]&31)*281474976710656+M[I+1]*1099511627776+M[I+2]*4294967296+M[I+3]*16777216+(M[I+4]<<16)+(M[I+5]<<8)+M[I+6],O>=9e15?crypto.randomBytes(7).copy(M,I):(L.push(O%1e14),I+=7);I=U/7}else throw pe=!1,Error(s+"crypto unavailable");if(!pe)for(;I<U;)O=S(),O<9e15&&(L[I++]=O%1e14);for(U=L[--I],D%=l,U&&D&&(O=d[l-D],L[I]=o(U/O)*O);L[I]===0;L.pop(),I--);if(I<0)L=[N=0];else{for(N=-1;L[0]===0;L.splice(0,1),N-=l);for(I=1,O=L[0];O>=10;O/=10,I++);I<l&&(N-=l-I)}return B.e=N,B.c=L,B}})(),V.sum=function(){for(var E=1,S=arguments,D=new V(S[0]);E<S.length;)D=D.plus(S[E++]);return D},$=(function(){var E="0123456789";function S(D,M,F,N){for(var U,O=[0],I,L=0,B=D.length;L<B;){for(I=O.length;I--;O[I]*=M);for(O[0]+=N.indexOf(D.charAt(L++)),U=0;U<O.length;U++)O[U]>F-1&&(O[U+1]==null&&(O[U+1]=0),O[U+1]+=O[U]/F|0,O[U]%=F)}return O.reverse()}return function(D,M,F,N,U){var O,I,L,B,H,oe,ae,Se,Ie=D.indexOf("."),Me=z,Ae=Y;for(Ie>=0&&(B=Z,Z=0,D=D.replace(".",""),Se=new V(M),oe=Se.pow(D.length-Ie),Z=B,Se.c=S(v(y(oe.c),oe.e,"0"),10,F,E),Se.e=Se.c.length),ae=S(D,M,F,U?(O=je,E):(O=E,je)),L=B=ae.length;ae[--B]==0;ae.pop());if(!ae[0])return O.charAt(0);if(Ie<0?--L:(oe.c=ae,oe.e=L,oe.s=N,oe=R(oe,Se,Me,Ae,F),ae=oe.c,H=oe.r,L=oe.e),I=L+Me+1,Ie=ae[I],B=F/2,H=H||I<0||ae[I+1]!=null,H=Ae<4?(Ie!=null||H)&&(Ae==0||Ae==(oe.s<0?3:2)):Ie>B||Ie==B&&(Ae==4||H||Ae==6&&ae[I-1]&1||Ae==(oe.s<0?8:7)),I<1||!ae[0])D=H?v(O.charAt(1),-Me,O.charAt(0)):O.charAt(0);else{if(ae.length=I,H)for(--F;++ae[--I]>F;)ae[I]=0,I||(++L,ae=[1].concat(ae));for(B=ae.length;!ae[--B];);for(Ie=0,D="";Ie<=B;D+=O.charAt(ae[Ie++]));D=v(D,L,O.charAt(0))}return D}})(),R=(function(){function E(M,F,N){var U,O,I,L,B=0,H=M.length,oe=F%p,ae=F/p|0;for(M=M.slice();H--;)I=M[H]%p,L=M[H]/p|0,U=ae*I+L*oe,O=oe*I+U%p*p+B,B=(O/N|0)+(U/p|0)+ae*L,M[H]=O%N;return B&&(M=[B].concat(M)),M}function S(M,F,N,U){var O,I;if(N!=U)I=N>U?1:-1;else for(O=I=0;O<N;O++)if(M[O]!=F[O]){I=M[O]>F[O]?1:-1;break}return I}function D(M,F,N,U){for(var O=0;N--;)M[N]-=O,O=M[N]<F[N]?1:0,M[N]=O*U+M[N]-F[N];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,N,U,O){var I,L,B,H,oe,ae,Se,Ie,Me,Ae,ve,qe,Cr,wr,Er,ft,fn,Ze=M.s==F.s?1:-1,ze=M.c,De=F.c;if(!ze||!ze[0]||!De||!De[0])return new V(!M.s||!F.s||(ze?De&&ze[0]==De[0]:!De)?NaN:ze&&ze[0]==0||!De?Ze*0:Ze/0);for(Ie=new V(Ze),Me=Ie.c=[],L=M.e-F.e,Ze=N+L+1,O||(O=u,L=w(M.e/l)-w(F.e/l),Ze=Ze/l|0),B=0;De[B]==(ze[B]||0);B++);if(De[B]>(ze[B]||0)&&L--,Ze<0)Me.push(1),H=!0;else{for(wr=ze.length,ft=De.length,B=0,Ze+=2,oe=o(O/(De[0]+1)),oe>1&&(De=E(De,oe,O),ze=E(ze,oe,O),ft=De.length,wr=ze.length),Cr=ft,Ae=ze.slice(0,ft),ve=Ae.length;ve<ft;Ae[ve++]=0);fn=De.slice(),fn=[0].concat(fn),Er=De[0],De[1]>=O/2&&Er++;do{if(oe=0,I=S(De,Ae,ft,ve),I<0){if(qe=Ae[0],ft!=ve&&(qe=qe*O+(Ae[1]||0)),oe=o(qe/Er),oe>1)for(oe>=O&&(oe=O-1),ae=E(De,oe,O),Se=ae.length,ve=Ae.length;S(ae,Ae,Se,ve)==1;)oe--,D(ae,ft<Se?fn:De,Se,O),Se=ae.length,I=1;else oe==0&&(I=oe=1),ae=De.slice(),Se=ae.length;if(Se<ve&&(ae=[0].concat(ae)),D(Ae,ae,ve,O),ve=Ae.length,I==-1)for(;S(De,Ae,ft,ve)<1;)oe++,D(Ae,ft<ve?fn:De,ve,O),ve=Ae.length}else I===0&&(oe++,Ae=[0]);Me[B++]=oe,Ae[0]?Ae[ve++]=ze[Cr]||0:(Ae=[ze[Cr]],ve=1)}while((Cr++<wr||Ae[0]!=null)&&Ze--);H=Ae[0]!=null,Me[0]||Me.splice(0,1)}if(O==u){for(B=1,Ze=Me[0];Ze>=10;Ze/=10,B++);Oe(Ie,N+(Ie.e=B+L*l-1)+1,U,H)}else Ie.e=L,Ie.r=+H;return Ie}})();function ue(E,S,D,M){var F,N,U,O,I;if(D==null?D=Y:_(D,0,8),!E.c)return E.toString();if(F=E.c[0],U=E.e,S==null)I=y(E.c),I=M==1||M==2&&(U<=Q||U>=ee)?C(I,U):v(I,U,"0");else if(E=Oe(new V(E),S,D),N=E.e,I=y(E.c),O=I.length,M==1||M==2&&(S<=N||N<=Q)){for(;O<S;I+="0",O++);I=C(I,N)}else if(S-=U+(M===2&&N>U),I=v(I,N,"0"),N+1>O){if(--S>0)for(I+=".";S--;I+="0");}else if(S+=N-O,S>0)for(N+1==O&&(I+=".");S--;I+="0");return E.s<0&&F?"-"+I:I}function te(E,S){for(var D,M,F=1,N=new V(E[0]);F<E.length;F++)M=new V(E[F]),(!M.s||(D=g(N,M))===S||D===0&&N.s===S)&&(N=M);return N}function Te(E,S,D){for(var M=1,F=S.length;!S[--F];S.pop());for(F=S[0];F>=10;F/=10,M++);return(D=M+D*l-1)>ie?E.c=E.e=null:D<se?E.c=[E.e=0]:(E.e=D,E.c=S),E}G=(function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,D=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(N,U,O,I){var L,B=O?U:U.replace(F,"");if(M.test(B))N.s=isNaN(B)?null:B<0?-1:1;else{if(!O&&(B=B.replace(E,function(H,oe,ae){return L=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!I||I==L?oe:H}),I&&(L=I,B=B.replace(S,"$1").replace(D,"0.$1")),U!=B))return new V(B,L);if(V.DEBUG)throw Error(s+"Not a"+(I?" base "+I:"")+" number: "+U);N.s=null}N.c=N.e=null}})();function Oe(E,S,D,M){var F,N,U,O,I,L,B,H=E.c,oe=d;if(H){e:{for(F=1,O=H[0];O>=10;O/=10,F++);if(N=S-F,N<0)N+=l,U=S,I=H[L=0],B=o(I/oe[F-U-1]%10);else if(L=r((N+1)/l),L>=H.length)if(M){for(;H.length<=L;H.push(0));I=B=0,F=1,N%=l,U=N-l+1}else break e;else{for(I=O=H[L],F=1;O>=10;O/=10,F++);N%=l,U=N-l+F,B=U<0?0:o(I/oe[F-U-1]%10)}if(M=M||S<0||H[L+1]!=null||(U<0?I:I%oe[F-U-1]),M=D<4?(B||M)&&(D==0||D==(E.s<0?3:2)):B>5||B==5&&(D==4||M||D==6&&(N>0?U>0?I/oe[F-U]:0:H[L-1])%10&1||D==(E.s<0?8:7)),S<1||!H[0])return H.length=0,M?(S-=E.e+1,H[0]=oe[(l-S%l)%l],E.e=-S||0):H[0]=E.e=0,E;if(N==0?(H.length=L,O=1,L--):(H.length=L+1,O=oe[l-N],H[L]=U>0?o(I/oe[F-U]%oe[U])*O:0),M)for(;;)if(L==0){for(N=1,U=H[0];U>=10;U/=10,N++);for(U=H[0]+=O,O=1;U>=10;U/=10,O++);N!=O&&(E.e++,H[0]==u&&(H[0]=1));break}else{if(H[L]+=O,H[L]!=u)break;H[L--]=0,O=1}for(N=H.length;H[--N]===0;H.pop());}E.e>ie?E.c=E.e=null:E.e<se&&(E.c=[E.e=0])}return E}function Ue(E){var S,D=E.e;return D===null?E.toString():(S=y(E.c),S=D<=Q||D>=ee?C(S,D):v(S,D,"0"),E.s<0?"-"+S:S)}return P.absoluteValue=P.abs=function(){var E=new V(this);return E.s<0&&(E.s=1),E},P.comparedTo=function(E,S){return g(this,new V(E,S))},P.decimalPlaces=P.dp=function(E,S){var D,M,F,N=this;if(E!=null)return _(E,0,m),S==null?S=Y:_(S,0,8),Oe(new V(N),E+N.e+1,S);if(!(D=N.c))return null;if(M=((F=D.length-1)-w(this.e/l))*l,F=D[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},P.dividedBy=P.div=function(E,S){return R(this,new V(E,S),z,Y)},P.dividedToIntegerBy=P.idiv=function(E,S){return R(this,new V(E,S),0,1)},P.exponentiatedBy=P.pow=function(E,S){var D,M,F,N,U,O,I,L,B,H=this;if(E=new V(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Ue(E));if(S!=null&&(S=new V(S)),O=E.e>14,!H.c||!H.c[0]||H.c[0]==1&&!H.e&&H.c.length==1||!E.c||!E.c[0])return B=new V(Math.pow(+Ue(H),O?E.s*(2-A(E)):+Ue(E))),S?B.mod(S):B;if(I=E.s<0,S){if(S.c?!S.c[0]:!S.s)return new V(NaN);M=!I&&H.isInteger()&&S.isInteger(),M&&(H=H.mod(S))}else{if(E.e>9&&(H.e>0||H.e<-1||(H.e==0?H.c[0]>1||O&&H.c[1]>=24e7:H.c[0]<8e13||O&&H.c[0]<=9999975e7)))return N=H.s<0&&A(E)?-0:0,H.e>-1&&(N=1/N),new V(I?1/N:N);Z&&(N=r(Z/l+2))}for(O?(D=new V(.5),I&&(E.s=1),L=A(E)):(F=Math.abs(+Ue(E)),L=F%2),B=new V(K);;){if(L){if(B=B.times(H),!B.c)break;N?B.c.length>N&&(B.c.length=N):M&&(B=B.mod(S))}if(F){if(F=o(F/2),F===0)break;L=F%2}else if(E=E.times(D),Oe(E,E.e+1,1),E.e>14)L=A(E);else{if(F=+Ue(E),F===0)break;L=F%2}H=H.times(H),N?H.c&&H.c.length>N&&(H.c.length=N):M&&(H=H.mod(S))}return M?B:(I&&(B=K.div(B)),S?B.mod(S):N?Oe(B,Z,Y,U):B)},P.integerValue=function(E){var S=new V(this);return E==null?E=Y:_(E,0,8),Oe(S,S.e+1,E)},P.isEqualTo=P.eq=function(E,S){return g(this,new V(E,S))===0},P.isFinite=function(){return!!this.c},P.isGreaterThan=P.gt=function(E,S){return g(this,new V(E,S))>0},P.isGreaterThanOrEqualTo=P.gte=function(E,S){return(S=g(this,new V(E,S)))===1||S===0},P.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},P.isLessThan=P.lt=function(E,S){return g(this,new V(E,S))<0},P.isLessThanOrEqualTo=P.lte=function(E,S){return(S=g(this,new V(E,S)))===-1||S===0},P.isNaN=function(){return!this.s},P.isNegative=function(){return this.s<0},P.isPositive=function(){return this.s>0},P.isZero=function(){return!!this.c&&this.c[0]==0},P.minus=function(E,S){var D,M,F,N,U=this,O=U.s;if(E=new V(E,S),S=E.s,!O||!S)return new V(NaN);if(O!=S)return E.s=-S,U.plus(E);var I=U.e/l,L=E.e/l,B=U.c,H=E.c;if(!I||!L){if(!B||!H)return B?(E.s=-S,E):new V(H?U:NaN);if(!B[0]||!H[0])return H[0]?(E.s=-S,E):new V(B[0]?U:Y==3?-0:0)}if(I=w(I),L=w(L),B=B.slice(),O=I-L){for((N=O<0)?(O=-O,F=B):(L=I,F=H),F.reverse(),S=O;S--;F.push(0));F.reverse()}else for(M=(N=(O=B.length)<(S=H.length))?O:S,O=S=0;S<M;S++)if(B[S]!=H[S]){N=B[S]<H[S];break}if(N&&(F=B,B=H,H=F,E.s=-E.s),S=(M=H.length)-(D=B.length),S>0)for(;S--;B[D++]=0);for(S=u-1;M>O;){if(B[--M]<H[M]){for(D=M;D&&!B[--D];B[D]=S);--B[D],B[M]+=u}B[M]-=H[M]}for(;B[0]==0;B.splice(0,1),--L);return B[0]?Te(E,B,L):(E.s=Y==3?-1:1,E.c=[E.e=0],E)},P.modulo=P.mod=function(E,S){var D,M,F=this;return E=new V(E,S),!F.c||!E.s||E.c&&!E.c[0]?new V(NaN):!E.c||F.c&&!F.c[0]?new V(F):(J==9?(M=E.s,E.s=1,D=R(F,E,0,3),E.s=M,D.s*=M):D=R(F,E,0,J),E=F.minus(D.times(E)),!E.c[0]&&J==1&&(E.s=F.s),E)},P.multipliedBy=P.times=function(E,S){var D,M,F,N,U,O,I,L,B,H,oe,ae,Se,Ie,Me,Ae=this,ve=Ae.c,qe=(E=new V(E,S)).c;if(!ve||!qe||!ve[0]||!qe[0])return!Ae.s||!E.s||ve&&!ve[0]&&!qe||qe&&!qe[0]&&!ve?E.c=E.e=E.s=null:(E.s*=Ae.s,!ve||!qe?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(M=w(Ae.e/l)+w(E.e/l),E.s*=Ae.s,I=ve.length,H=qe.length,I<H&&(Se=ve,ve=qe,qe=Se,F=I,I=H,H=F),F=I+H,Se=[];F--;Se.push(0));for(Ie=u,Me=p,F=H;--F>=0;){for(D=0,oe=qe[F]%Me,ae=qe[F]/Me|0,U=I,N=F+U;N>F;)L=ve[--U]%Me,B=ve[U]/Me|0,O=ae*L+B*oe,L=oe*L+O%Me*Me+Se[N]+D,D=(L/Ie|0)+(O/Me|0)+ae*B,Se[N--]=L%Ie;Se[N]=D}return D?++M:Se.splice(0,1),Te(E,Se,M)},P.negated=function(){var E=new V(this);return E.s=-E.s||null,E},P.plus=function(E,S){var D,M=this,F=M.s;if(E=new V(E,S),S=E.s,!F||!S)return new V(NaN);if(F!=S)return E.s=-S,M.minus(E);var N=M.e/l,U=E.e/l,O=M.c,I=E.c;if(!N||!U){if(!O||!I)return new V(F/0);if(!O[0]||!I[0])return I[0]?E:new V(O[0]?M:F*0)}if(N=w(N),U=w(U),O=O.slice(),F=N-U){for(F>0?(U=N,D=I):(F=-F,D=O),D.reverse();F--;D.push(0));D.reverse()}for(F=O.length,S=I.length,F-S<0&&(D=I,I=O,O=D,S=F),F=0;S;)F=(O[--S]=O[S]+I[S]+F)/u|0,O[S]=u===O[S]?0:O[S]%u;return F&&(O=[F].concat(O),++U),Te(E,O,U)},P.precision=P.sd=function(E,S){var D,M,F,N=this;if(E!=null&&E!==!!E)return _(E,1,m),S==null?S=Y:_(S,0,8),Oe(new V(N),E,S);if(!(D=N.c))return null;if(F=D.length-1,M=F*l+1,F=D[F]){for(;F%10==0;F/=10,M--);for(F=D[0];F>=10;F/=10,M++);}return E&&N.e+1>M&&(M=N.e+1),M},P.shiftedBy=function(E){return _(E,-f,f),this.times("1e"+E)},P.squareRoot=P.sqrt=function(){var E,S,D,M,F,N=this,U=N.c,O=N.s,I=N.e,L=z+4,B=new V("0.5");if(O!==1||!U||!U[0])return new V(!O||O<0&&(!U||U[0])?NaN:U?N:1/0);if(O=Math.sqrt(+Ue(N)),O==0||O==1/0?(S=y(U),(S.length+I)%2==0&&(S+="0"),O=Math.sqrt(+S),I=w((I+1)/2)-(I<0||I%2),O==1/0?S="5e"+I:(S=O.toExponential(),S=S.slice(0,S.indexOf("e")+1)+I),D=new V(S)):D=new V(O+""),D.c[0]){for(I=D.e,O=I+L,O<3&&(O=0);;)if(F=D,D=B.times(F.plus(R(N,F,L,1))),y(F.c).slice(0,O)===(S=y(D.c)).slice(0,O))if(D.e<I&&--O,S=S.slice(O-3,O+1),S=="9999"||!M&&S=="4999"){if(!M&&(Oe(F,F.e+z+2,0),F.times(F).eq(N))){D=F;break}L+=4,O+=4,M=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(Oe(D,D.e+z+2,1),E=!D.times(D).eq(N));break}}return Oe(D,D.e+z+1,Y,E)},P.toExponential=function(E,S){return E!=null&&(_(E,0,m),E++),ue(this,E,S,1)},P.toFixed=function(E,S){return E!=null&&(_(E,0,m),E=E+this.e+1),ue(this,E,S)},P.toFormat=function(E,S,D){var M,F=this;if(D==null)E!=null&&S&&typeof S=="object"?(D=S,S=null):E&&typeof E=="object"?(D=E,E=S=null):D=ce;else if(typeof D!="object")throw Error(s+"Argument not an object: "+D);if(M=F.toFixed(E,S),F.c){var N,U=M.split("."),O=+D.groupSize,I=+D.secondaryGroupSize,L=D.groupSeparator||"",B=U[0],H=U[1],oe=F.s<0,ae=oe?B.slice(1):B,Se=ae.length;if(I&&(N=O,O=I,I=N,Se-=N),O>0&&Se>0){for(N=Se%O||O,B=ae.substr(0,N);N<Se;N+=O)B+=L+ae.substr(N,O);I>0&&(B+=L+ae.slice(N)),oe&&(B="-"+B)}M=H?B+(D.decimalSeparator||"")+((I=+D.fractionGroupSize)?H.replace(new RegExp("\\d{"+I+"}\\B","g"),"$&"+(D.fractionGroupSeparator||"")):H):B}return(D.prefix||"")+M+(D.suffix||"")},P.toFraction=function(E){var S,D,M,F,N,U,O,I,L,B,H,oe,ae=this,Se=ae.c;if(E!=null&&(O=new V(E),!O.isInteger()&&(O.c||O.s!==1)||O.lt(K)))throw Error(s+"Argument "+(O.isInteger()?"out of range: ":"not an integer: ")+Ue(O));if(!Se)return new V(ae);for(S=new V(K),L=D=new V(K),M=I=new V(K),oe=y(Se),N=S.e=oe.length-ae.e-1,S.c[0]=d[(U=N%l)<0?l+U:U],E=!E||O.comparedTo(S)>0?N>0?S:L:O,U=ie,ie=1/0,O=new V(oe),I.c[0]=0;B=R(O,S,0,1),F=D.plus(B.times(M)),F.comparedTo(E)!=1;)D=M,M=F,L=I.plus(B.times(F=L)),I=F,S=O.minus(B.times(F=S)),O=F;return F=R(E.minus(D),M,0,1),I=I.plus(F.times(L)),D=D.plus(F.times(M)),I.s=L.s=ae.s,N=N*2,H=R(L,M,N,Y).minus(ae).abs().comparedTo(R(I,D,N,Y).minus(ae).abs())<1?[L,M]:[I,D],ie=U,H},P.toNumber=function(){return+Ue(this)},P.toPrecision=function(E,S){return E!=null&&_(E,1,m),ue(this,E,S,2)},P.toString=function(E){var S,D=this,M=D.s,F=D.e;return F===null?M?(S="Infinity",M<0&&(S="-"+S)):S="NaN":(E==null?S=F<=Q||F>=ee?C(y(D.c),F):v(y(D.c),F,"0"):E===10&&we?(D=Oe(new V(D),z+F+1,Y),S=v(y(D.c),D.e,"0")):(_(E,2,je.length,"Base"),S=$(v(y(D.c),F,"0"),10,E,M,!0)),M<0&&D.c[0]&&(S="-"+S)),S},P.valueOf=P.toJSON=function(){return Ue(this)},P._isBigNumber=!0,T!=null&&V.set(T),V}function w(T){var R=T|0;return T>0||T===R?R:R-1}function y(T){for(var R,$,G=1,P=T.length,K=T[0]+"";G<P;){for(R=T[G++]+"",$=l-R.length;$--;R="0"+R);K+=R}for(P=K.length;K.charCodeAt(--P)===48;);return K.slice(0,P+1||1)}function g(T,R){var $,G,P=T.c,K=R.c,z=T.s,Y=R.s,Q=T.e,ee=R.e;if(!z||!Y)return null;if($=P&&!P[0],G=K&&!K[0],$||G)return $?G?0:-Y:z;if(z!=Y)return z;if($=z<0,G=Q==ee,!P||!K)return G?0:!P^$?1:-1;if(!G)return Q>ee^$?1:-1;for(Y=(Q=P.length)<(ee=K.length)?Q:ee,z=0;z<Y;z++)if(P[z]!=K[z])return P[z]>K[z]^$?1:-1;return Q==ee?0:Q>ee^$?1:-1}function _(T,R,$,G){if(T<R||T>$||T!==o(T))throw Error(s+(G||"Argument")+(typeof T=="number"?T<R||T>$?" out of range: ":" not an integer: ":" not a primitive number: ")+String(T))}function A(T){var R=T.c.length-1;return w(T.e/l)==R&&T.c[R]%2!=0}function C(T,R){return(T.length>1?T.charAt(0)+"."+T.slice(1):T)+(R<0?"e":"e+")+R}function v(T,R,$){var G,P;if(R<0){for(P=$+".";++R;P+=$);T=P+T}else if(G=T.length,++R>G){for(P=$,R-=G;--R;P+=$);T+=P}else R<G&&(T=T.slice(0,R)+"."+T.slice(R));return T}e=b(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Ui<"u"&&Ui.exports?Ui.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(fg)});var gg=X((oP,mg)=>{var hg=Hc(),pg=mg.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function u(f){return n.lastIndex=0,n.test(f)?'"'+f.replace(n,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function l(f,d){var p,m,b,w,y=r,g,_=d[f],A=_!=null&&(_ instanceof hg||hg.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(f)),typeof a=="function"&&(_=a.call(d,f,_)),typeof _){case"string":return A?_:u(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(r+=o,g=[],Object.prototype.toString.apply(_)==="[object Array]"){for(w=_.length,p=0;p<w;p+=1)g[p]=l(p,_)||"null";return b=g.length===0?"[]":r?`[
44
44
  `+r+g.join(`,
45
45
  `+r)+`
46
- `+y+"]":"["+g.join(",")+"]",r=y,b}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(m=a[p],b=l(m,_),b&&g.push(u(m)+(r?": ":":")+b));else Object.keys(_).forEach(function(C){var S=l(C,_);S&&g.push(u(C)+(r?": ":":")+S)});return b=g.length===0?"{}":r?`{
46
+ `+y+"]":"["+g.join(",")+"]",r=y,b}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(m=a[p],b=l(m,_),b&&g.push(u(m)+(r?": ":":")+b));else Object.keys(_).forEach(function(C){var v=l(C,_);v&&g.push(u(C)+(r?": ":":")+v)});return b=g.length===0?"{}":r?`{
47
47
  `+r+g.join(`,
48
48
  `+r)+`
49
- `+y+"}":"{"+g.join(",")+"}",r=y,b}}typeof fg.stringify!="function"&&(fg.stringify=function(d,f,p){var m;if(r="",o="",typeof p=="number")for(m=0;m<p;m+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var gg=X((rP,mg)=>{var Ui=null,ok=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,sk=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,ik=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
- `,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:n,text:s}},u=function(y){return y&&y!==r&&a("Expected '"+y+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},l=function(){var y,g="";for(r==="-"&&(g="-",u("-"));r>="0"&&r<="9";)g+=r,u();if(r===".")for(g+=".";u()&&r>="0"&&r<="9";)g+=r;if(r==="e"||r==="E")for(g+=r,u(),(r==="-"||r==="+")&&(g+=r,u());r>="0"&&r<="9";)g+=r,u();if(y=+g,!isFinite(y))a("Bad number");else return Ui==null&&(Ui=qc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new Ui(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Ui(y):y},d=function(){var y,g,_="",A;if(r==='"')for(var C=n;u();){if(r==='"')return n-1>C&&(_+=s.substring(C,n-1)),u(),_;if(r==="\\"){if(n-1>C&&(_+=s.substring(C,n-1)),u(),r==="u"){for(A=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)A=A*16+y;_+=String.fromCharCode(A)}else if(typeof o[r]=="string")_+=o[r];else break;C=n}}a("Bad string")},f=function(){for(;r&&r<=" ";)u()},p=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+r+"'")},m,b=function(){var y=[];if(r==="["){if(u("["),f(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),f(),r==="]")return u("]"),y;u(","),f()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),f(),r==="}")return u("}"),g;for(;r;){if(y=d(),f(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),ok.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():sk.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),f(),r==="}")return u("}"),g;u(","),f()}}a("Bad object")};return m=function(){switch(f(),r){case"{":return w();case"[":return b();case'"':return d();case"-":return l();default:return r>="0"&&r<="9"?l():p()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),f(),r&&a("Syntax error"),typeof g=="function"?(function A(C,S){var T,R,$=C[S];return $&&typeof $=="object"&&Object.keys($).forEach(function(V){R=A($,V),R!==void 0?$[V]=R:delete $[V]}),g.call(C,S,$)})({"":_},""):_}};mg.exports=ik});var bg=X((oP,$i)=>{var yg=pg().stringify,_g=gg();$i.exports=function(t){return{parse:_g(t),stringify:yg}};$i.exports.parse=_g();$i.exports.stringify=yg});var zc=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=Eg;zt.isGoogleComputeEngineLinux=kg;zt.isGoogleComputeEngineMACAddress=Ag;zt.isGoogleComputeEngine=Sg;zt.detectGCPResidency=uk;var Cg=re("fs"),wg=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var ak=/^42:01/;function Eg(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function kg(){if((0,wg.platform)()!=="linux")return!1;try{(0,Cg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Cg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Ag(){let t=(0,wg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(ak.test(n))return!0}return!1}function Sg(){return kg()||Ag()}function uk(){return Eg()||Sg()}});var vg=X(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.Colours=void 0;var nt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};qi.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var xg=X(Re=>{"use strict";var ck=Re&&Re.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),lk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Tg=Re&&Re.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&ck(n,e,r[o]);return lk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=Wc;Re.getDebugBackend=fk;Re.getStructuredBackend=hk;Re.setBackend=pk;Re.log=Rg;var dk=re("events"),Go=Tg(re("process")),Dg=Tg(re("util")),gt=vg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Jo=class extends dk.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Ht.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Ht.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Ht.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Ht.ERROR,...r),this.func.sublog=r=>Rg(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};Re.AdhocDebugLogger=Jo;Re.placeholder=new Jo("",()=>{}).func;var Zr=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Go.env[Re.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...r){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(n,...r)}catch(o){console.error(o)}}};Re.DebugLogBackendBase=Zr;var Hc=class extends Zr{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{var o;let s=`${gt.Colours.green}${e}${gt.Colours.reset}`,a=`${gt.Colours.yellow}${Go.pid}${gt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${gt.Colours.red}${n.severity}${gt.Colours.reset}`;break;case Ht.INFO:u=`${gt.Colours.magenta}${n.severity}${gt.Colours.reset}`;break;case Ht.WARNING:u=`${gt.Colours.yellow}${n.severity}${gt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=Dg.formatWithOptions({colors:gt.Colours.enabled},...r),d=Object.assign({},n);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${gt.Colours.grey}${f}${gt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,f?` ${p}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Wc(){return new Hc}var Gc=class extends Zr{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){var e;let n=(e=Go.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Go.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function fk(t){return new Gc(t)}var Jc=class extends Zr{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let r=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(o,...s)=>{var a;let u=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:u,message:Dg.format(...s)},o),d=JSON.stringify(l);r?r(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function hk(t){return new Jc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Vc=new Map,yt;function pk(t){yt=t,Vc.clear()}function Rg(t,e){if(!yt&&!Go.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Vc.get(t);if(n)return n.func;if(yt===null)return Re.placeholder;yt===void 0&&(yt=Wc());let r=(()=>{let o;return new Jo(t,(a,...u)=>{if(o!==yt){if(yt===null)return;yt===void 0&&(yt=Wc()),o=yt}yt?.log(t,a,...u)})})();return Vc.set(t,r),r.func}});var Kc=X(mr=>{"use strict";var mk=mr&&mr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),gk=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&mk(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});gk(xg(),mr)});var Ko=X(he=>{"use strict";var Pg=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),yk=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_k=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Pg(n,e,r[o]);return yk(n,e),n}})(),bk=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Pg(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=Sk;he.project=vk;he.universe=Tk;he.bulk=Dk;he.isAvailable=xk;he.resetIsAvailableCache=Ok;he.getGCPResidency=Xc;he.setGCPResidency=Fg;he.requestTimeout=Ig;var Yc=Xe(),Ck=bg(),wk=zc(),Ek=_k(Kc());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var Og=Ek.log("gcp-metadata");he.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Qc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function kk(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Vo(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((m,b)=>o.set(b,m)),s=p.metadataKey,a=p.params||a,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(kk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,m)=>o.set(m,p)),a=e.params||a);let u=r?Ak:Yc.request,l={url:`${Qc()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Ig()};Og.info("instance request %j",l);let d=await u(l);Og.info("instance metadata is %s",d.data);let f=d.headers.get(he.HEADER_NAME);if(f!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return Ck.parse(d.data)}catch{}return d.data}async function Ak(t){let e={...t,url:t.url?.toString().replace(Qc(),Qc(he.SECONDARY_HOST_ADDRESS))},n=(0,Yc.request)(t),r=(0,Yc.request)(e);return Promise.any([n,r])}function Sk(t){return Vo("instance",t)}function vk(t){return Vo("project",t)}function Tk(t){return Vo("universe",t)}async function Dk(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Vo(n),o=n.metadataKey;e[o]=r})())),e}function Rk(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var zi;async function xk(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Xc();case"ping-only":}}try{return zi===void 0&&(zi=Vo("instance",void 0,Rk(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await zi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function Ok(){zi=void 0}he.gcpResidencyCache=null;function Xc(){return he.gcpResidencyCache===null&&Fg(),he.gcpResidencyCache}function Fg(t=null){he.gcpResidencyCache=t!==null?t:(0,wk.detectGCPResidency)()}function Ig(){return Xc()?0:3e3}bk(zc(),he)});var Mg=X(Hi=>{"use strict";Hi.byteLength=Fk;Hi.toByteArray=Nk;Hi.fromByteArray=Lk;var en=[],Rt=[],Pk=typeof Uint8Array<"u"?Uint8Array:Array,Zc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Ng=Zc.length;gr<Ng;++gr)en[gr]=Zc[gr],Rt[Zc.charCodeAt(gr)]=gr;var gr,Ng;Rt[45]=62;Rt[95]=63;function Bg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function Fk(t){var e=Bg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Ik(t,e,n){return(e+n)*3/4-n}function Nk(t){var e,n=Bg(t),r=n[0],o=n[1],s=new Pk(Ik(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=Rt[t.charCodeAt(l)]<<18|Rt[t.charCodeAt(l+1)]<<12|Rt[t.charCodeAt(l+2)]<<6|Rt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Rt[t.charCodeAt(l)]<<2|Rt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Rt[t.charCodeAt(l)]<<10|Rt[t.charCodeAt(l+1)]<<4|Rt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function Bk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function Mk(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(Bk(r));return o.join("")}function Lk(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(Mk(t,a,a+s>u?u:a+s));return r===1?(e=t[n-1],o.push(en[e>>2]+en[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(en[e>>10]+en[e>>4&63]+en[e<<2&63]+"=")),o.join("")}});var tl=X(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.fromArrayBufferToHex=jk;function jk(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Lg=X(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.BrowserCrypto=void 0;var eo=Mg(),Uk=tl(),nl=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return eo.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),eo.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),a=eo.toByteArray(t.padBase64(r)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,a,s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),a=await window.crypto.subtle.sign(r,s,o);return eo.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=eo.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return eo.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,Uk.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Wi.BrowserCrypto=nl});var jg=X(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.NodeCrypto=void 0;var to=re("crypto"),rl=class{async sha256DigestBase64(e){return to.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return to.randomBytes(e).toString("base64")}async verify(e,n,r){let o=to.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=to.createSign("RSA-SHA256");return r.update(n),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return to.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:qk(e);return $k(to.createHmac("sha256",r).update(n).digest())}};Gi.NodeCrypto=rl;function $k(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function qk(t){return Buffer.from(t)}});var Yo=X(An=>{"use strict";var zk=An&&An.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Hk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&zk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=Jk;An.hasBrowserCrypto=Ug;var Wk=Lg(),Gk=jg();Hk(tl(),An);function Jk(){return Ug()?new Wk.BrowserCrypto:new Gk.NodeCrypto}function Ug(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var no=X((ol,qg)=>{var Ji=re("buffer"),tn=Ji.Buffer;function $g(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?qg.exports=Ji:($g(Ji,ol),ol.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);$g(tn,yr);yr.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tn(t,e,n)};yr.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=tn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};yr.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tn(t)};yr.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Ji.SlowBuffer(t)}});var Hg=X((mP,zg)=>{"use strict";function sl(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Vk={ES256:sl(256),ES384:sl(384),ES512:sl(521)};function Kk(t){var e=Vk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}zg.exports=Kk});var il=X((gP,Yg)=>{"use strict";var Vi=no().Buffer,Gg=Hg(),Ki=128,Jg=0,Yk=32,Qk=16,Xk=2,Vg=Qk|Yk|Jg<<6,Yi=Xk|Jg<<6;function Zk(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Kg(t){if(Vi.isBuffer(t))return t;if(typeof t=="string")return Vi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function eA(t,e){t=Kg(t);var n=Gg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Vg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Ki|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Yi)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(r<u)throw new Error('"r" specified length of "'+u+'", max of "'+r+'" is acceptable');var l=s;if(s+=u,t[s++]!==Yi)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(r<d)throw new Error('"s" specified length of "'+d+'", max of "'+r+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-u,m=n-d,b=Vi.allocUnsafe(p+u+m+d);for(s=0;s<p;++s)b[s]=0;t.copy(b,s,l+Math.max(-p,0),l+u),s=n;for(var w=s;s<w+m;++s)b[s]=0;return t.copy(b,s,f+Math.max(-m,0),f+d),b=b.toString("base64"),b=Zk(b),b}function Wg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Ki;return o&&--r,r}function tA(t,e){t=Kg(t);var n=Gg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Wg(t,0,n),s=Wg(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,d=l<Ki,f=Vi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=Vg,d?f[p++]=l:(f[p++]=Ki|1,f[p++]=l&255),f[p++]=Yi,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,n)):p+=t.copy(f,p,o,n),f[p++]=Yi,f[p++]=u,s<0?(f[p++]=0,t.copy(f,p,n)):t.copy(f,p,n+s),f}Yg.exports={derToJose:eA,joseToDer:tA}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=Xg;Sn.originalOrCamelOptions=sA;Sn.removeUndefinedValuesInObject=iA;Sn.isValidFile=aA;Sn.getWellKnownCertificateConfigFileLocation=uA;var nA=re("fs"),rA=re("os"),al=re("path"),oA="certificate_config.json",Qg="gcloud";function Xg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function sA(t){function e(n){let r=t||{};return r[n]??r[Xg(n)]}return{get:e}}var ul=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Sn.LRUCache=ul;function iA(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function aA(t){try{return(await nA.promises.lstat(t)).isFile()}catch{return!1}}function uA(){let t=process.env.CLOUDSDK_CONFIG||(cA()?al.join(process.env.APPDATA||"",Qg):al.join(process.env.HOME||"",".config",Qg));return al.join(t,oA)}function cA(){return rA.platform().startsWith("win")}});var Zg=X((_P,lA)=>{lA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var cl=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var ey=Zg();Jn.pkg=ey;var ty="google-api-nodejs-client";Jn.PRODUCT_NAME=ty;var dA=`${ty}/${ey.version}`;Jn.USER_AGENT=dA});var _t=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var fA=re("events"),ll=Xe(),hA=Wt(),pA=Kc(),dl=cl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var fl=class t extends fA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,hA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new ll.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&ll.Gaxios.mergeHeaders(s,n.headers),r&&ll.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,pA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${dl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${dl.USER_AGENT}`):e.headers.set("User-Agent",dl.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=fl});var pl=X(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.LoginTicket=void 0;var hl=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Qi.LoginTicket=hl});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var ny=Xe(),mA=re("querystring"),gA=re("stream"),yA=il(),ry=Wt(),ml=Yo(),ro=_t(),_A=pl(),oy;(function(t){t.Plain="plain",t.S256="S256"})(oy||(nn.CodeChallengeMethod=oy={}));var vn;(function(t){t.PEM="PEM",t.JWK="JWK"})(vn||(nn.CertificateFormat=vn={}));var Qo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Qo||(nn.ClientAuthentication=Qo={}));var gl=class t extends ro.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=vn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Qo.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+mA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ml.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Qo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Qo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,ry.removeUndefinedValuesInObject)(o)),headers:r};ro.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,ry.removeUndefinedValuesInObject)(r))};ro.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof ny.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let u=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(u){let l=u;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(ro.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=ny.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof gA.Readable,d=s===401||s===403;if(!n&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&d&&!l&&u){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,ml.hasBrowserCrypto)()?vn.JWK:vn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case vn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case vn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let d={...t.RETRY_CONFIG,url:o};ro.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),r=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=r?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let u={};switch(n){case vn.PEM:u=r.data;break;case vn.JWK:for(let d of r.data.keys)u[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=n,{certs:u,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};ro.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let a=(0,ml.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=u[0]+"."+u[1],d=u[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token envelope: ${u[0]}': ${C.message}`),C}if(!f)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token payload '${u[0]}`),C}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let m=n[f.kid];if(f.alg==="ES256"&&(d=yA.joseToDer(d,"ES256").toString("base64")),!await a.verify(m,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.exp);if(isNaN(y))throw new Error("exp field using invalid format");let g=new Date().getTime()/1e3;if(y>=g+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let _=w-t.CLOCK_SKEW_SECS_,A=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(p));if(g>A)throw new Error("Token used too late, "+g+" > "+A+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof r<"u"&&r!==null){let C=p.aud,S=!1;if(r.constructor===Array?S=r.indexOf(C)>-1:S=C===r,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new _A.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};nn.OAuth2Client=gl});var _l=X(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.Compute=void 0;var bA=Xe(),sy=Ko(),CA=_r(),yl=class extends CA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await sy.instance(o)}catch(o){throw o instanceof bA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await sy.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Xi.Compute=yl});var Cl=X(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.IdTokenClient=void 0;var wA=_r(),bl=class extends wA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};Zi.IdTokenClient=bl});var wl=X(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.GCPEnv=void 0;oo.clear=EA;oo.getEnv=kA;var iy=Ko(),rn;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(rn||(oo.GCPEnv=rn={}));var Xo;function EA(){Xo=void 0}async function kA(){return Xo||(Xo=AA(),Xo)}async function AA(){let t=rn.NONE;return SA()?t=rn.APP_ENGINE:vA()?t=rn.CLOUD_FUNCTIONS:await xA()?await RA()?t=rn.KUBERNETES_ENGINE:TA()?t=rn.CLOUD_RUN:DA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function SA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function vA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function TA(){return!!process.env.K_CONFIGURATION}function DA(){return!!process.env.CLOUD_RUN_JOB}async function RA(){try{return await iy.instance("attributes/cluster-name"),!0}catch{return!1}}async function xA(){return iy.isAvailable()}});var El=X((vP,ay)=>{var ea=no().Buffer,OA=re("stream"),PA=re("util");function ta(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ea.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ea.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}PA.inherits(ta,OA);ta.prototype.write=function(e){this.buffer=ea.concat([this.buffer,ea.from(e)]),this.emit("data",e)};ta.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};ay.exports=ta});var cy=X((TP,uy)=>{"use strict";var Zo=re("buffer").Buffer,kl=re("buffer").SlowBuffer;uy.exports=na;function na(t,e){if(!Zo.isBuffer(t)||!Zo.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}na.install=function(){Zo.prototype.equal=kl.prototype.equal=function(e){return na(this,e)}};var FA=Zo.prototype.equal,IA=kl.prototype.equal;na.restore=function(){Zo.prototype.equal=FA,kl.prototype.equal=IA}});var Tl=X((DP,_y)=>{var io=no().Buffer,xt=re("crypto"),dy=il(),ly=re("util"),NA=`"%s" is not a valid algorithm.
49
+ `+y+"}":"{"+g.join(",")+"}",r=y,b}}typeof pg.stringify!="function"&&(pg.stringify=function(f,d,p){var m;if(r="",o="",typeof p=="number")for(m=0;m<p;m+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return l("",{"":f})})})()});var _g=X((sP,yg)=>{var $i=null,ik=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,ak=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,uk=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
50
+ `,r:"\r",t:" "},s,a=function(y){throw{name:"SyntaxError",message:y,at:n,text:s}},u=function(y){return y&&y!==r&&a("Expected '"+y+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},l=function(){var y,g="";for(r==="-"&&(g="-",u("-"));r>="0"&&r<="9";)g+=r,u();if(r===".")for(g+=".";u()&&r>="0"&&r<="9";)g+=r;if(r==="e"||r==="E")for(g+=r,u(),(r==="-"||r==="+")&&(g+=r,u());r>="0"&&r<="9";)g+=r,u();if(y=+g,!isFinite(y))a("Bad number");else return $i==null&&($i=Hc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new $i(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new $i(y):y},f=function(){var y,g,_="",A;if(r==='"')for(var C=n;u();){if(r==='"')return n-1>C&&(_+=s.substring(C,n-1)),u(),_;if(r==="\\"){if(n-1>C&&(_+=s.substring(C,n-1)),u(),r==="u"){for(A=0,g=0;g<4&&(y=parseInt(u(),16),!!isFinite(y));g+=1)A=A*16+y;_+=String.fromCharCode(A)}else if(typeof o[r]=="string")_+=o[r];else break;C=n}}a("Bad string")},d=function(){for(;r&&r<=" ";)u()},p=function(){switch(r){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}a("Unexpected '"+r+"'")},m,b=function(){var y=[];if(r==="["){if(u("["),d(),r==="]")return u("]"),y;for(;r;){if(y.push(m()),d(),r==="]")return u("]"),y;u(","),d()}}a("Bad array")},w=function(){var y,g=Object.create(null);if(r==="{"){if(u("{"),d(),r==="}")return u("}"),g;for(;r;){if(y=f(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(g,y)&&a('Duplicate key "'+y+'"'),ik.test(y)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?m():g[y]=m():ak.test(y)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?m():g[y]=m():g[y]=m(),d(),r==="}")return u("}"),g;u(","),d()}}a("Bad object")};return m=function(){switch(d(),r){case"{":return w();case"[":return b();case'"':return f();case"-":return l();default:return r>="0"&&r<="9"?l():p()}},function(y,g){var _;return s=y+"",n=0,r=" ",_=m(),d(),r&&a("Syntax error"),typeof g=="function"?(function A(C,v){var T,R,$=C[v];return $&&typeof $=="object"&&Object.keys($).forEach(function(G){R=A($,G),R!==void 0?$[G]=R:delete $[G]}),g.call(C,v,$)})({"":_},""):_}};yg.exports=uk});var wg=X((iP,qi)=>{var bg=gg().stringify,Cg=_g();qi.exports=function(t){return{parse:Cg(t),stringify:bg}};qi.exports.parse=Cg();qi.exports.stringify=bg});var Wc=X(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.GCE_LINUX_BIOS_PATHS=void 0;zt.isGoogleCloudServerless=Ag;zt.isGoogleComputeEngineLinux=Sg;zt.isGoogleComputeEngineMACAddress=vg;zt.isGoogleComputeEngine=Tg;zt.detectGCPResidency=lk;var Eg=re("fs"),kg=re("os");zt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var ck=/^42:01/;function Ag(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Sg(){if((0,kg.platform)()!=="linux")return!1;try{(0,Eg.statSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Eg.readFileSync)(zt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function vg(){let t=(0,kg.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(ck.test(n))return!0}return!1}function Tg(){return Sg()||vg()}function lk(){return Ag()||Tg()}});var Dg=X(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.Colours=void 0;var nt=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};zi.Colours=nt;nt.enabled=!1;nt.reset="";nt.bright="";nt.dim="";nt.red="";nt.green="";nt.yellow="";nt.blue="";nt.magenta="";nt.cyan="";nt.white="";nt.grey="";nt.refresh()});var Pg=X(Re=>{"use strict";var dk=Re&&Re.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),fk=Re&&Re.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Rg=Re&&Re.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&dk(n,e,r[o]);return fk(n,e),n}})();Object.defineProperty(Re,"__esModule",{value:!0});Re.env=Re.DebugLogBackendBase=Re.placeholder=Re.AdhocDebugLogger=Re.LogSeverity=void 0;Re.getNodeBackend=Jc;Re.getDebugBackend=pk;Re.getStructuredBackend=mk;Re.setBackend=gk;Re.log=Og;var hk=re("events"),Jo=Rg(re("process")),xg=Rg(re("util")),gt=Dg(),Ht;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Ht||(Re.LogSeverity=Ht={}));var Vo=class extends hk.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Ht.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Ht.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Ht.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Ht.ERROR,...r),this.func.sublog=r=>Og(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};Re.AdhocDebugLogger=Vo;Re.placeholder=new Vo("",()=>{}).func;var eo=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=Jo.env[Re.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...r){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(n,...r)}catch(o){console.error(o)}}};Re.DebugLogBackendBase=eo;var Gc=class extends eo{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{var o;let s=`${gt.Colours.green}${e}${gt.Colours.reset}`,a=`${gt.Colours.yellow}${Jo.pid}${gt.Colours.reset}`,u;switch(n.severity){case Ht.ERROR:u=`${gt.Colours.red}${n.severity}${gt.Colours.reset}`;break;case Ht.INFO:u=`${gt.Colours.magenta}${n.severity}${gt.Colours.reset}`;break;case Ht.WARNING:u=`${gt.Colours.yellow}${n.severity}${gt.Colours.reset}`;break;default:u=(o=n.severity)!==null&&o!==void 0?o:Ht.DEFAULT;break}let l=xg.formatWithOptions({colors:gt.Colours.enabled},...r),f=Object.assign({},n);delete f.severity;let d=Object.getOwnPropertyNames(f).length?JSON.stringify(f):"",p=d?`${gt.Colours.grey}${d}${gt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,u,l,d?` ${p}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Jc(){return new Gc}var Vc=class extends eo{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){var e;let n=(e=Jo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Jo.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function pk(t){return new Vc(t)}var Kc=class extends eo{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let r=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(o,...s)=>{var a;let u=(a=o.severity)!==null&&a!==void 0?a:Ht.INFO,l=Object.assign({severity:u,message:xg.format(...s)},o),f=JSON.stringify(l);r?r(o,f):console.log("%s",f)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function mk(t){return new Kc(t)}Re.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var Yc=new Map,yt;function gk(t){yt=t,Yc.clear()}function Og(t,e){if(!yt&&!Jo.env[Re.env.nodeEnables]||!t)return Re.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=Yc.get(t);if(n)return n.func;if(yt===null)return Re.placeholder;yt===void 0&&(yt=Jc());let r=(()=>{let o;return new Vo(t,(a,...u)=>{if(o!==yt){if(yt===null)return;yt===void 0&&(yt=Jc()),o=yt}yt?.log(t,a,...u)})})();return Yc.set(t,r),r.func}});var Qc=X(mr=>{"use strict";var yk=mr&&mr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),_k=mr&&mr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&yk(e,t,n)};Object.defineProperty(mr,"__esModule",{value:!0});_k(Pg(),mr)});var Yo=X(he=>{"use strict";var Ig=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),bk=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ck=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Ig(n,e,r[o]);return bk(n,e),n}})(),wk=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Ig(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=Tk;he.project=Dk;he.universe=Rk;he.bulk=xk;he.isAvailable=Pk;he.resetIsAvailableCache=Fk;he.getGCPResidency=el;he.setGCPResidency=Ng;he.requestTimeout=Bg;var Xc=Xe(),Ek=wg(),kk=Wc(),Ak=Ck(Qc());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var Fg=Ak.log("gcp-metadata");he.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Zc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function Sk(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Ko(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((m,b)=>o.set(b,m)),s=p.metadataKey,a=p.params||a,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(Sk(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,m)=>o.set(m,p)),a=e.params||a);let u=r?vk:Xc.request,l={url:`${Zc()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:a,responseType:"text",timeout:Bg()};Fg.info("instance request %j",l);let f=await u(l);Fg.info("instance metadata is %s",f.data);let d=f.headers.get(he.HEADER_NAME);if(d!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return Ek.parse(f.data)}catch{}return f.data}async function vk(t){let e={...t,url:t.url?.toString().replace(Zc(),Zc(he.SECONDARY_HOST_ADDRESS))},n=(0,Xc.request)(t),r=(0,Xc.request)(e);return Promise.any([n,r])}function Tk(t){return Ko("instance",t)}function Dk(t){return Ko("project",t)}function Rk(t){return Ko("universe",t)}async function xk(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Ko(n),o=n.metadataKey;e[o]=r})())),e}function Ok(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Hi;async function Pk(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return el();case"ping-only":}}try{return Hi===void 0&&(Hi=Ko("instance",void 0,Ok(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Hi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function Fk(){Hi=void 0}he.gcpResidencyCache=null;function el(){return he.gcpResidencyCache===null&&Ng(),he.gcpResidencyCache}function Ng(t=null){he.gcpResidencyCache=t!==null?t:(0,kk.detectGCPResidency)()}function Bg(){return el()?0:3e3}wk(Wc(),he)});var jg=X(Wi=>{"use strict";Wi.byteLength=Nk;Wi.toByteArray=Mk;Wi.fromByteArray=Uk;var en=[],Rt=[],Ik=typeof Uint8Array<"u"?Uint8Array:Array,tl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(gr=0,Mg=tl.length;gr<Mg;++gr)en[gr]=tl[gr],Rt[tl.charCodeAt(gr)]=gr;var gr,Mg;Rt[45]=62;Rt[95]=63;function Lg(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function Nk(t){var e=Lg(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Bk(t,e,n){return(e+n)*3/4-n}function Mk(t){var e,n=Lg(t),r=n[0],o=n[1],s=new Ik(Bk(t,r,o)),a=0,u=o>0?r-4:r,l;for(l=0;l<u;l+=4)e=Rt[t.charCodeAt(l)]<<18|Rt[t.charCodeAt(l+1)]<<12|Rt[t.charCodeAt(l+2)]<<6|Rt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Rt[t.charCodeAt(l)]<<2|Rt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Rt[t.charCodeAt(l)]<<10|Rt[t.charCodeAt(l+1)]<<4|Rt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function Lk(t){return en[t>>18&63]+en[t>>12&63]+en[t>>6&63]+en[t&63]}function jk(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(Lk(r));return o.join("")}function Uk(t){for(var e,n=t.length,r=n%3,o=[],s=16383,a=0,u=n-r;a<u;a+=s)o.push(jk(t,a,a+s>u?u:a+s));return r===1?(e=t[n-1],o.push(en[e>>2]+en[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(en[e>>10]+en[e>>4&63]+en[e<<2&63]+"=")),o.join("")}});var rl=X(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.fromArrayBufferToHex=$k;function $k(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var Ug=X(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.BrowserCrypto=void 0;var to=jg(),qk=rl(),ol=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return to.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),to.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),a=to.toByteArray(t.padBase64(r)),u=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,u,a,s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),a=await window.crypto.subtle.sign(r,s,o);return to.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let n=to.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return to.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,qk.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Gi.BrowserCrypto=ol});var $g=X(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.NodeCrypto=void 0;var no=re("crypto"),sl=class{async sha256DigestBase64(e){return no.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return no.randomBytes(e).toString("base64")}async verify(e,n,r){let o=no.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=no.createSign("RSA-SHA256");return r.update(n),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return no.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:Hk(e);return zk(no.createHmac("sha256",r).update(n).digest())}};Ji.NodeCrypto=sl;function zk(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function Hk(t){return Buffer.from(t)}});var Qo=X(An=>{"use strict";var Wk=An&&An.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Gk=An&&An.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Wk(e,t,n)};Object.defineProperty(An,"__esModule",{value:!0});An.createCrypto=Kk;An.hasBrowserCrypto=qg;var Jk=Ug(),Vk=$g();Gk(rl(),An);function Kk(){return qg()?new Jk.BrowserCrypto:new Vk.NodeCrypto}function qg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var ro=X((il,Hg)=>{var Vi=re("buffer"),tn=Vi.Buffer;function zg(t,e){for(var n in t)e[n]=t[n]}tn.from&&tn.alloc&&tn.allocUnsafe&&tn.allocUnsafeSlow?Hg.exports=Vi:(zg(Vi,il),il.Buffer=yr);function yr(t,e,n){return tn(t,e,n)}yr.prototype=Object.create(tn.prototype);zg(tn,yr);yr.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tn(t,e,n)};yr.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=tn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};yr.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tn(t)};yr.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Vi.SlowBuffer(t)}});var Gg=X((yP,Wg)=>{"use strict";function al(t){var e=(t/8|0)+(t%8===0?0:1);return e}var Yk={ES256:al(256),ES384:al(384),ES512:al(521)};function Qk(t){var e=Yk[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Wg.exports=Qk});var ul=X((_P,Xg)=>{"use strict";var Ki=ro().Buffer,Vg=Gg(),Yi=128,Kg=0,Xk=32,Zk=16,eA=2,Yg=Zk|Xk|Kg<<6,Qi=eA|Kg<<6;function tA(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Qg(t){if(Ki.isBuffer(t))return t;if(typeof t=="string")return Ki.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function nA(t,e){t=Qg(t);var n=Vg(e),r=n+1,o=t.length,s=0;if(t[s++]!==Yg)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(Yi|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Qi)throw new Error('Could not find expected "int" for "r"');var u=t[s++];if(o-s-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(o-s-2)+'" available');if(r<u)throw new Error('"r" specified length of "'+u+'", max of "'+r+'" is acceptable');var l=s;if(s+=u,t[s++]!==Qi)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(r<f)throw new Error('"s" specified length of "'+f+'", max of "'+r+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-u,m=n-f,b=Ki.allocUnsafe(p+u+m+f);for(s=0;s<p;++s)b[s]=0;t.copy(b,s,l+Math.max(-p,0),l+u),s=n;for(var w=s;s<w+m;++s)b[s]=0;return t.copy(b,s,d+Math.max(-m,0),d+f),b=b.toString("base64"),b=tA(b),b}function Jg(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Yi;return o&&--r,r}function rA(t,e){t=Qg(t);var n=Vg(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Jg(t,0,n),s=Jg(t,n,t.length),a=n-o,u=n-s,l=2+a+1+1+u,f=l<Yi,d=Ki.allocUnsafe((f?2:3)+l),p=0;return d[p++]=Yg,f?d[p++]=l:(d[p++]=Yi|1,d[p++]=l&255),d[p++]=Qi,d[p++]=a,o<0?(d[p++]=0,p+=t.copy(d,p,0,n)):p+=t.copy(d,p,o,n),d[p++]=Qi,d[p++]=u,s<0?(d[p++]=0,t.copy(d,p,n)):t.copy(d,p,n+s),d}Xg.exports={derToJose:nA,joseToDer:rA}});var Wt=X(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.LRUCache=void 0;Sn.snakeToCamel=ey;Sn.originalOrCamelOptions=aA;Sn.removeUndefinedValuesInObject=uA;Sn.isValidFile=cA;Sn.getWellKnownCertificateConfigFileLocation=lA;var oA=re("fs"),sA=re("os"),cl=re("path"),iA="certificate_config.json",Zg="gcloud";function ey(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function aA(t){function e(n){let r=t||{};return r[n]??r[ey(n)]}return{get:e}}var ll=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Sn.LRUCache=ll;function uA(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function cA(t){try{return(await oA.promises.lstat(t)).isFile()}catch{return!1}}function lA(){let t=process.env.CLOUDSDK_CONFIG||(dA()?cl.join(process.env.APPDATA||"",Zg):cl.join(process.env.HOME||"",".config",Zg));return cl.join(t,iA)}function dA(){return sA.platform().startsWith("win")}});var ty=X((CP,fA)=>{fA.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var dl=X(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.USER_AGENT=Jn.PRODUCT_NAME=Jn.pkg=void 0;var ny=ty();Jn.pkg=ny;var ry="google-api-nodejs-client";Jn.PRODUCT_NAME=ry;var hA=`${ry}/${ny.version}`;Jn.USER_AGENT=hA});var _t=X(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.AuthClient=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Gt.DEFAULT_UNIVERSE=void 0;var pA=re("events"),fl=Xe(),mA=Wt(),gA=Qc(),hl=dl();Gt.DEFAULT_UNIVERSE="googleapis.com";Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var pl=class t extends pA.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Gt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Gt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,mA.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Gt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new fl.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&fl.Gaxios.mergeHeaders(s,n.headers),r&&fl.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,gA.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${hl.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${hl.USER_AGENT}`):e.headers.set("User-Agent",hl.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Gt.AuthClient=pl});var gl=X(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.LoginTicket=void 0;var ml=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Xi.LoginTicket=ml});var _r=X(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.OAuth2Client=nn.ClientAuthentication=nn.CertificateFormat=nn.CodeChallengeMethod=void 0;var oy=Xe(),yA=re("querystring"),_A=re("stream"),bA=ul(),sy=Wt(),yl=Qo(),oo=_t(),CA=gl(),iy;(function(t){t.Plain="plain",t.S256="S256"})(iy||(nn.CodeChallengeMethod=iy={}));var vn;(function(t){t.PEM="PEM",t.JWK="JWK"})(vn||(nn.CertificateFormat=vn={}));var Xo;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Xo||(nn.ClientAuthentication=Xo={}));var _l=class t extends oo.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=vn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Xo.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+yA.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,yl.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Xo.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Xo.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,sy.removeUndefinedValuesInObject)(o)),headers:r};oo.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),u=a.data;return a.data&&a.data.expires_in&&(u.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,sy.removeUndefinedValuesInObject)(r))};oo.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof oy.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let u=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(u){let l=u;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(oo.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=oy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof _A.Readable,f=s===401||s===403;if(!n&&f&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&f&&!l&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,yl.hasBrowserCrypto)()?vn.JWK:vn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case vn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case vn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let f={...t.RETRY_CONFIG,url:o};oo.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),r=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=r?.headers.get("cache-control"),a=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(a=Number(f)*1e3)}let u={};switch(n){case vn.PEM:u=r.data;break;case vn.JWK:for(let f of r.data.keys)u[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${n}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=u,this.certificateCacheFormat=n,{certs:u,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};oo.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let a=(0,yl.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=u[0]+"."+u[1],f=u[2],d,p;try{d=JSON.parse(a.decodeBase64StringUtf8(u[0]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token envelope: ${u[0]}': ${C.message}`),C}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(u[1]))}catch(C){throw C instanceof Error&&(C.message=`Can't parse token payload '${u[0]}`),C}if(!p)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let m=n[d.kid];if(d.alg==="ES256"&&(f=bA.joseToDer(f,"ES256").toString("base64")),!await a.verify(m,l,f))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let y=Number(p.exp);if(isNaN(y))throw new Error("exp field using invalid format");let g=new Date().getTime()/1e3;if(y>=g+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let _=w-t.CLOCK_SKEW_SECS_,A=y+t.CLOCK_SKEW_SECS_;if(g<_)throw new Error("Token used too early, "+g+" < "+_+": "+JSON.stringify(p));if(g>A)throw new Error("Token used too late, "+g+" > "+A+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof r<"u"&&r!==null){let C=p.aud,v=!1;if(r.constructor===Array?v=r.indexOf(C)>-1:v=C===r,!v)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new CA.LoginTicket(d,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};nn.OAuth2Client=_l});var Cl=X(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Compute=void 0;var wA=Xe(),ay=Yo(),EA=_r(),bl=class extends EA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await ay.instance(o)}catch(o){throw o instanceof wA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await ay.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Zi.Compute=bl});var El=X(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.IdTokenClient=void 0;var kA=_r(),wl=class extends kA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};ea.IdTokenClient=wl});var kl=X(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.GCPEnv=void 0;so.clear=AA;so.getEnv=SA;var uy=Yo(),rn;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(rn||(so.GCPEnv=rn={}));var Zo;function AA(){Zo=void 0}async function SA(){return Zo||(Zo=vA(),Zo)}async function vA(){let t=rn.NONE;return TA()?t=rn.APP_ENGINE:DA()?t=rn.CLOUD_FUNCTIONS:await PA()?await OA()?t=rn.KUBERNETES_ENGINE:RA()?t=rn.CLOUD_RUN:xA()?t=rn.CLOUD_RUN_JOBS:t=rn.COMPUTE_ENGINE:t=rn.NONE,t}function TA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function DA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function RA(){return!!process.env.K_CONFIGURATION}function xA(){return!!process.env.CLOUD_RUN_JOB}async function OA(){try{return await uy.instance("attributes/cluster-name"),!0}catch{return!1}}async function PA(){return uy.isAvailable()}});var Al=X((DP,cy)=>{var ta=ro().Buffer,FA=re("stream"),IA=re("util");function na(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=ta.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=ta.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}IA.inherits(na,FA);na.prototype.write=function(e){this.buffer=ta.concat([this.buffer,ta.from(e)]),this.emit("data",e)};na.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};cy.exports=na});var dy=X((RP,ly)=>{"use strict";var es=re("buffer").Buffer,Sl=re("buffer").SlowBuffer;ly.exports=ra;function ra(t,e){if(!es.isBuffer(t)||!es.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}ra.install=function(){es.prototype.equal=Sl.prototype.equal=function(e){return ra(this,e)}};var NA=es.prototype.equal,BA=Sl.prototype.equal;ra.restore=function(){es.prototype.equal=NA,Sl.prototype.equal=BA}});var Rl=X((xP,Cy)=>{var ao=ro().Buffer,xt=re("crypto"),hy=ul(),fy=re("util"),MA=`"%s" is not a valid algorithm.
51
51
  Supported algorithms are:
52
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,es="secret must be a string or buffer",so="key must be a string or a buffer",BA="key must be a string, a buffer or an object",Sl=typeof xt.createPublicKey=="function";Sl&&(so+=" or a KeyObject",es+="or a KeyObject");function fy(t){if(!io.isBuffer(t)&&typeof t!="string"&&(!Sl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(so)}function hy(t){if(!io.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(BA)}function MA(t){if(!io.isBuffer(t)){if(typeof t=="string")return t;if(!Sl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(es)}}function vl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function py(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),n=ly.format.bind(ly,t).apply(null,e);return new TypeError(n)}function LA(t){return io.isBuffer(t)||typeof t=="string"}function ts(t){return LA(t)||(t=JSON.stringify(t)),t}function my(t){return function(n,r){MA(r),n=ts(n);var o=xt.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return vl(s)}}var Al,jA="timingSafeEqual"in xt?function(e,n){return e.byteLength!==n.byteLength?!1:xt.timingSafeEqual(e,n)}:function(e,n){return Al||(Al=cy()),Al(e,n)};function UA(t){return function(n,r,o){var s=my(t)(n,o);return jA(io.from(r),io.from(s))}}function gy(t){return function(n,r){hy(r),n=ts(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return vl(s)}}function yy(t){return function(n,r,o){fy(o),n=ts(n),r=py(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function $A(t){return function(n,r){hy(r),n=ts(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return vl(s)}}function qA(t){return function(n,r,o){fy(o),n=ts(n),r=py(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function zA(t){var e=gy(t);return function(){var r=e.apply(null,arguments);return r=dy.derToJose(r,"ES"+t),r}}function HA(t){var e=yy(t);return function(r,o,s){o=dy.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function WA(){return function(){return""}}function GA(){return function(e,n){return n===""}}_y.exports=function(e){var n={hs:my,rs:gy,ps:$A,es:zA,none:WA},r={hs:UA,rs:yy,ps:qA,es:HA,none:GA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(NA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var Dl=X((RP,by)=>{var JA=re("buffer").Buffer;by.exports=function(e){return typeof e=="string"?e:typeof e=="number"||JA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Sy=X((xP,Ay)=>{var VA=no().Buffer,Cy=El(),KA=Tl(),YA=re("stream"),wy=Dl(),Rl=re("util");function Ey(t,e){return VA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QA(t,e,n){n=n||"utf8";var r=Ey(wy(t),"binary"),o=Ey(wy(e),n);return Rl.format("%s.%s",r,o)}function ky(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=KA(e.alg),a=QA(e,n,o),u=s.sign(a,r);return Rl.format("%s.%s",a,u)}function ra(t){var e=t.secret||t.privateKey||t.key,n=new Cy(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new Cy(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Rl.inherits(ra,YA);ra.prototype.sign=function(){try{var e=ky({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};ra.sign=ky;Ay.exports=ra});var Ny=X((OP,Iy)=>{var Ty=no().Buffer,vy=El(),XA=Tl(),ZA=re("stream"),Dy=Dl(),eS=re("util"),tS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function nS(t){return Object.prototype.toString.call(t)==="[object Object]"}function rS(t){if(nS(t))return t;try{return JSON.parse(t)}catch{return}}function Ry(t){var e=t.split(".",1)[0];return rS(Ty.from(e,"base64").toString("binary"))}function oS(t){return t.split(".",2).join(".")}function xy(t){return t.split(".")[2]}function sS(t,e){e=e||"utf8";var n=t.split(".")[1];return Ty.from(n,"base64").toString(e)}function Oy(t){return tS.test(t)&&!!Ry(t)}function Py(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=Dy(t);var o=xy(t),s=oS(t),a=XA(e);return a.verify(s,o,n)}function Fy(t,e){if(e=e||{},t=Dy(t),!Oy(t))return null;var n=Ry(t);if(!n)return null;var r=sS(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:xy(t)}}function ao(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new vy(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new vy(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}eS.inherits(ao,ZA);ao.prototype.verify=function(){try{var e=Py(this.signature.buffer,this.algorithm,this.key.buffer),n=Fy(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};ao.decode=Fy;ao.isValid=Oy;ao.verify=Py;Iy.exports=ao});var xl=X(Vn=>{var By=Sy(),oa=Ny(),iS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=iS;Vn.sign=By.sign;Vn.verify=oa.verify;Vn.decode=oa.decode;Vn.isValid=oa.isValid;Vn.createSign=function(e){return new By(e)};Vn.createVerify=function(e){return new oa(e)}});var Qy=X(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.GoogleToken=void 0;var My=sa(re("fs")),aS=Xe(),uS=sa(xl()),cS=sa(re("path")),lS=re("util");function sa(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(sa=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,d={__proto__:null,default:s};if(s===null||Tn(s)!="object"&&typeof s!="function")return d;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?u(d,f,l):d[f]=s[f]);return d})(t,e)}function Tn(t){"@babel/helpers - typeof";return Tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tn(t)}function dS(t,e){Gy(t,e),e.add(t)}function fS(t,e,n){Gy(t,e),e.set(t,n)}function Gy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ly(t,e,n){return t.set(Vt(t,e),n),n}function jy(t,e){return t.get(Vt(t,e))}function Vt(t,e,n){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function Uy(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Ky(r.key),r)}}function Jy(t,e,n){return e&&Uy(t.prototype,e),n&&Uy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Vy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hS(t,e,n){return e=ss(e),pS(t,Bl()?Reflect.construct(e,n||[],ss(t).constructor):e.apply(t,n))}function pS(t,e){if(e&&(Tn(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return mS(t)}function mS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function gS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&os(t,e)}function Ol(t){var e=typeof Map=="function"?new Map:void 0;return Ol=function(r){if(r===null||!_S(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,o)}function o(){return yS(r,arguments,ss(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),os(o,r)},Ol(t)}function yS(t,e,n){if(Bl())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&os(o,n.prototype),o}function Bl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Bl=function(){return!!t})()}function _S(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function os(t,e){return os=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},os(t,e)}function ss(t){return ss=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ss(t)}function bt(t,e,n){return(e=Ky(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ky(t){var e=bS(t,"string");return Tn(e)=="symbol"?e:e+""}function bS(t,e){if(Tn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(Tn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function wt(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(b,w,y,g){var _=w&&w.prototype instanceof u?w:u,A=Object.create(_.prototype);return Ct(A,"_invoke",(function(C,S,T){var R,$,V,P=0,Y=T||[],z=!1,K={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(ae,se){return R=ae,$=0,V=t,K.n=se,a}};function Q(ee,ae){for($=ee,V=ae,e=0;!z&&P&&!se&&e<Y.length;e++){var se,me=Y[e],G=K.p,Z=me[2];ee>3?(se=Z===ae)&&(V=me[($=me[4])?5:($=3,3)],me[4]=me[5]=t):me[0]<=G&&((se=ee<2&&G<me[1])?($=0,K.v=ae,K.n=me[1]):G<Z&&(se=ee<3||me[0]>ae||ae>Z)&&(me[4]=ee,me[5]=ae,K.n=Z,$=0))}if(se||ee>1)return a;throw z=!0,ae}return function(ee,ae,se){if(P>1)throw TypeError("Generator is already running");for(z&&ae===1&&Q(ae,se),$=ae,V=se;(e=$<2?t:V)||!z;){R||($?$<3?($>1&&(K.n=-1),Q($,V)):K.n=V:K.v=V);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,V)))throw TypeError("iterator result is not an object");if(!e.done)return e;V=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(V=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(z=K.n<0)?V:C.call(S,K))!==a)break}catch(me){R=t,$=1,V=me}finally{P=1}}return{value:e,done:z}}})(b,y,g),!0),A}var a={};function u(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(Ct(e={},r,function(){return this}),e),p=d.prototype=u.prototype=Object.create(f);function m(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,d):(b.__proto__=d,Ct(b,o,"GeneratorFunction")),b.prototype=Object.create(p),b}return l.prototype=d,Ct(p,"constructor",d),Ct(d,"constructor",l),l.displayName="GeneratorFunction",Ct(d,o,"GeneratorFunction"),Ct(p),Ct(p,o,"Generator"),Ct(p,r,function(){return this}),Ct(p,"toString",function(){return"[object Generator]"}),(wt=function(){return{w:s,m}})()}function Ct(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ct=function(a,u,l,d){if(u)o?o(a,u,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[u]=l;else{var f=function(m,b){Ct(a,m,function(w){return this._invoke(m,b,w)})};f("next",0),f("throw",1),f("return",2)}},Ct(t,e,n,r)}function $y(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(d){return void n(d)}u.done?e(l):Promise.resolve(l).then(r,o)}function uo(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){$y(s,r,o,a,u,"next",l)}function u(l){$y(s,r,o,a,u,"throw",l)}a(void 0)})}}var qy=My.readFile?(0,lS.promisify)(My.readFile):uo(wt().m(function t(){return wt().w(function(e){for(;;)switch(e.n){case 0:throw new rs("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),zy="https://oauth2.googleapis.com/token",CS="https://oauth2.googleapis.com/revoke?token=",rs=(function(t){function e(n,r){var o;return Vy(this,e),o=hS(this,e,[n]),bt(o,"code",void 0),o.code=r,o}return gS(e,t),Jy(e)})(Ol(Error)),ns=new WeakMap,on=new WeakSet,FP=ia.GoogleToken=(function(){function t(e){Vy(this,t),dS(this,on),bt(this,"expiresAt",void 0),bt(this,"key",void 0),bt(this,"keyFile",void 0),bt(this,"iss",void 0),bt(this,"sub",void 0),bt(this,"scope",void 0),bt(this,"rawToken",void 0),bt(this,"tokenExpires",void 0),bt(this,"email",void 0),bt(this,"additionalClaims",void 0),bt(this,"eagerRefreshThresholdMillis",void 0),bt(this,"transporter",{request:function(r){return(0,aS.request)(r)}}),fS(this,ns,void 0),Vt(on,this,Yy).call(this,e)}return Jy(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var n=new Date().getTime();return this.rawToken&&this.expiresAt?n>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var n,r=new Date().getTime(),o=(n=this.eagerRefreshThresholdMillis)!==null&&n!==void 0?n:0;return this.rawToken&&this.expiresAt?this.expiresAt<=r+o:!0}},{key:"getToken",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Tn(n)==="object"&&(r=n,n=void 0),r=Object.assign({forceRefresh:!1},r),n){var o=n;Vt(on,this,Hy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,Hy).call(this,r)}},{key:"getCredentials",value:(function(){var e=uo(wt().m(function r(o){var s,a,u,l,d,f,p;return wt().w(function(m){for(;;)switch(m.n){case 0:s=cS.extname(o),p=s,m.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return m.n=2,qy(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,d=u.client_email,!(!l||!d)){m.n=3;break}throw new rs("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:d});case 4:return m.n=5,qy(o,"utf8");case 5:return f=m.v,m.a(2,{privateKey:f});case 6:throw new rs("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new rs("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return m.a(2)}},r)}));function n(r){return e.apply(this,arguments)}return n})()},{key:"revokeToken",value:function(n){if(n){Vt(on,this,Wy).call(this).then(function(){return n()},n);return}return Vt(on,this,Wy).call(this)}}])})();function Hy(t){return Pl.apply(this,arguments)}function Pl(){return Pl=uo(wt().m(function t(e){return wt().w(function(n){for(;;)switch(n.n){case 0:if(!(jy(ns,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,jy(ns,this));case 1:return n.p=1,n.n=2,Ly(ns,this,Vt(on,this,wS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,Ly(ns,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),Pl.apply(this,arguments)}function wS(t){return Fl.apply(this,arguments)}function Fl(){return Fl=uo(wt().m(function t(e){var n;return wt().w(function(r){for(;;)switch(r.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){r.n=1;break}return r.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){r.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){r.n=4;break}return r.n=3,this.getCredentials(this.keyFile);case 3:n=r.v,this.key=n.privateKey,this.iss=n.clientEmail||this.iss,n.clientEmail||Vt(on,this,ES).call(this);case 4:return r.a(2,Vt(on,this,kS).call(this))}},t,this)})),Fl.apply(this,arguments)}function ES(){if(!this.iss)throw new rs("email is required.","MISSING_CREDENTIALS")}function Wy(){return Il.apply(this,arguments)}function Il(){return Il=uo(wt().m(function t(){var e;return wt().w(function(n){for(;;)switch(n.n){case 0:if(this.accessToken){n.n=1;break}throw new Error("No token to revoke.");case 1:return e=CS+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Yy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return n.a(2)}},t,this)})),Il.apply(this,arguments)}function Yy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Tn(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function kS(){return Nl.apply(this,arguments)}function Nl(){return Nl=uo(wt().m(function t(){var e,n,r,o,s,a,u,l,d,f;return wt().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:zy,exp:e+3600,iat:e,sub:this.sub},n),o=uS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:zy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(u=f.response)===null||u===void 0?void 0:u.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),Nl.apply(this,arguments)}});var Ll=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.JWTAccess=void 0;var AS=xl(),SS=Wt(),Xy={alg:"RS256",typ:"JWT"},Ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new SS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let u=Math.floor(Date.now()/1e3),l=t.getExpirationTime(u),d;if(Array.isArray(r)&&(r=r.join(" ")),r?d={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in d)if(n[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...Xy,kid:this.keyId}:Xy,p=Object.assign(d,n),m=AS.sign({header:f,payload:p,secret:this.key}),b=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:b}),b}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};aa.JWTAccess=Ml});var Ul=X(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.JWT=void 0;var Zy=Qy(),vS=Ll(),TS=_r(),ua=_t(),jl=class t extends TS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ua.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ua.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ua.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new vS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ua.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new Zy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new Zy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let n=await this.createGToken().getCredentials(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};ca.JWT=jl});var ql=X(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.UserRefreshClient=co.USER_REFRESH_ACCOUNT_TYPE=void 0;var DS=_r(),RS=_t();co.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var $l=class t extends DS.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return RS.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};co.UserRefreshClient=$l});var Hl=X(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.Impersonated=lo.IMPERSONATED_ACCOUNT_TYPE=void 0;var e0=_r(),xS=Xe(),OS=Wt();lo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var zl=class t extends e0.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new e0.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,OS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let n=0,r="";throw e instanceof xS.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};lo.Impersonated=zl});var Gl=X(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.OAuthClientAuthHandler=void 0;is.getErrorFromOAuthErrorResponse=IS;var fo=Xe(),PS=Yo(),FS=["PUT","POST","PATCH"],Wl=class{#e=(0,PS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new fo.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new fo.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=fo.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=fo.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=fo.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);fo.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!FS.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};is.OAuthClientAuthHandler=Wl;function IS(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var da=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StsCredentials=void 0;var NS=Xe(),BS=_t(),t0=Gl(),MS=Wt(),Jl=class t extends t0.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,MS.removeUndefinedValuesInObject)(o))};BS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof NS.GaxiosError&&a.response?(0,t0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};la.StsCredentials=Jl});var Kn=X(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.BaseExternalAccountClient=Ot.CLOUD_RESOURCE_MANAGER=Ot.EXTERNAL_ACCOUNT_TYPE=Ot.EXPIRATION_TIME_OFFSET=void 0;var LS=Xe(),jS=re("stream"),Vl=_t(),US=da(),n0=Wt(),$S=cl(),qS="urn:ietf:params:oauth:grant-type:token-exchange",zS="urn:ietf:params:oauth:token-type:access_token",Kl="https://www.googleapis.com/auth/cloud-platform",HS=3600;Ot.EXPIRATION_TIME_OFFSET=300*1e3;Ot.EXTERNAL_ACCOUNT_TYPE="external_account";Ot.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var WS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",GS="https://sts.{universeDomain}/v1/token",Yl=class t extends Vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,n0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Ot.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ot.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??GS.replace("{universeDomain}",this.universeDomain);let a=n.get("subject_token_type"),u=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),d=n.get("service_account_impersonation"),f=(0,n0.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new US.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Kl],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(WS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=HS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`};Vl.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=LS.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof jS.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:qS,audience:this.audience,requestedTokenType:zS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Kl]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Vl.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Kl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${$S.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ot.BaseExternalAccountClient=Yl});var r0=X(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.FileSubjectTokenSupplier=void 0;var Xl=re("util"),Zl=re("fs"),JS=(0,Xl.promisify)(Zl.readFile??(()=>{})),VS=(0,Xl.promisify)(Zl.realpath??(()=>{})),KS=(0,Xl.promisify)(Zl.lstat??(()=>{})),Ql=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await VS(e),!(await KS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n,r=await JS(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};fa.FileSubjectTokenSupplier=Ql});var o0=X(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.UrlSubjectTokenSupplier=void 0;var YS=_t(),ed=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};YS.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};ha.UrlSubjectTokenSupplier=ed});var s0=X(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.CertificateSubjectTokenSupplier=Et.InvalidConfigurationError=Et.CertificateSourceUnavailableError=Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var pa=Wt(),ma=re("fs"),ga=re("crypto"),QS=re("https");Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Et.CertificateSourceUnavailableError=sn;var Pt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Et.InvalidConfigurationError=Pt;var td=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Pt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Pt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Pt("Cannot create mTLS Agent with missing certificate or key");return new QS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,pa.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,pa.isValidFile)(n))return n;throw new sn(`Path from environment variable "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,pa.getWellKnownCertificateConfigFileLocation)();if(await(0,pa.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ma.promises.readFile(e,"utf8")}catch{throw new sn(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Pt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Pt?r:new Pt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ma.promises.readFile(e),new ga.X509Certificate(r)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read certificate file at ${e}: ${a}`)}try{o=await ma.promises.readFile(n),(0,ga.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read private key file at ${n}: ${a}`)}return{cert:r,key:o}}async#r(e){let n=new ga.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ma.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new ga.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Pt(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>n.raw.equals(l.raw)),u;if(a===-1)u=[n,...s];else if(a===0)u=s;else throw new Pt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(r){if(r instanceof Pt)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Et.CertificateSubjectTokenSupplier=td});var od=X(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.IdentityPoolClient=void 0;var XS=Kn(),nd=Wt(),ZS=r0(),ev=o0(),i0=s0(),tv=da(),a0=Xe(),rd=class t extends XS.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,nd.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,nd.originalOrCamelOptions)(r),a=(0,nd.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),m=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new ZS.FileSubjectTokenSupplier({filePath:d,formatType:u,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new ev.UrlSubjectTokenSupplier({url:f,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let b=new i0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=b}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof i0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new tv.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new a0.Gaxios({agent:n})}),this.transporter=new a0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};ya.IdentityPoolClient=rd});var id=X(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.AwsRequestSigner=void 0;var _a=Xe(),c0=Yo(),u0="AWS4-HMAC-SHA256",nv="aws4_request",sd=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,c0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,a=e.headers,u=await this.getCredentials(),l=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await ov({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),f=_a.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});u.token&&_a.Gaxios.mergeHeaders(f,{"x-amz-security-token":u.token});let p={url:r,method:o,headers:f};return s!==void 0&&(p.body=s),p}};ba.AwsRequestSigner=sd;async function as(t,e,n){return await t.signWithHmacSha256(e,n)}async function rv(t,e,n,r,o){let s=await as(t,`AWS4${e}`,n),a=await as(t,s,r),u=await as(t,a,o);return await as(t,u,"aws4_request")}async function ov(t){let e=_a.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=_a.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...u.keys()].sort();d.forEach(A=>{l+=`${A}:${u.get(A)}
53
- `});let f=d.join(";"),p=await t.crypto.sha256DigestHex(n),m=`${t.method.toUpperCase()}
52
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,ts="secret must be a string or buffer",io="key must be a string or a buffer",LA="key must be a string, a buffer or an object",Tl=typeof xt.createPublicKey=="function";Tl&&(io+=" or a KeyObject",ts+="or a KeyObject");function py(t){if(!ao.isBuffer(t)&&typeof t!="string"&&(!Tl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Jt(io)}function my(t){if(!ao.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Jt(LA)}function jA(t){if(!ao.isBuffer(t)){if(typeof t=="string")return t;if(!Tl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Jt(ts)}}function Dl(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function gy(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Jt(t){var e=[].slice.call(arguments,1),n=fy.format.bind(fy,t).apply(null,e);return new TypeError(n)}function UA(t){return ao.isBuffer(t)||typeof t=="string"}function ns(t){return UA(t)||(t=JSON.stringify(t)),t}function yy(t){return function(n,r){jA(r),n=ns(n);var o=xt.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Dl(s)}}var vl,$A="timingSafeEqual"in xt?function(e,n){return e.byteLength!==n.byteLength?!1:xt.timingSafeEqual(e,n)}:function(e,n){return vl||(vl=dy()),vl(e,n)};function qA(t){return function(n,r,o){var s=yy(t)(n,o);return $A(ao.from(r),ao.from(s))}}function _y(t){return function(n,r){my(r),n=ns(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Dl(s)}}function by(t){return function(n,r,o){py(o),n=ns(n),r=gy(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function zA(t){return function(n,r){my(r),n=ns(n);var o=xt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Dl(s)}}function HA(t){return function(n,r,o){py(o),n=ns(n),r=gy(r);var s=xt.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:xt.constants.RSA_PKCS1_PSS_PADDING,saltLength:xt.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function WA(t){var e=_y(t);return function(){var r=e.apply(null,arguments);return r=hy.derToJose(r,"ES"+t),r}}function GA(t){var e=by(t);return function(r,o,s){o=hy.joseToDer(o,"ES"+t).toString("base64");var a=e(r,o,s);return a}}function JA(){return function(){return""}}function VA(){return function(e,n){return n===""}}Cy.exports=function(e){var n={hs:yy,rs:_y,ps:zA,es:WA,none:JA},r={hs:qA,rs:by,ps:HA,es:GA,none:VA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Jt(MA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:n[s](a),verify:r[s](a)}}});var xl=X((OP,wy)=>{var KA=re("buffer").Buffer;wy.exports=function(e){return typeof e=="string"?e:typeof e=="number"||KA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Ty=X((PP,vy)=>{var YA=ro().Buffer,Ey=Al(),QA=Rl(),XA=re("stream"),ky=xl(),Ol=re("util");function Ay(t,e){return YA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ZA(t,e,n){n=n||"utf8";var r=Ay(ky(t),"binary"),o=Ay(ky(e),n);return Ol.format("%s.%s",r,o)}function Sy(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=QA(e.alg),a=ZA(e,n,o),u=s.sign(a,r);return Ol.format("%s.%s",a,u)}function oa(t){var e=t.secret||t.privateKey||t.key,n=new Ey(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new Ey(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}Ol.inherits(oa,XA);oa.prototype.sign=function(){try{var e=Sy({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};oa.sign=Sy;vy.exports=oa});var My=X((FP,By)=>{var Ry=ro().Buffer,Dy=Al(),eS=Rl(),tS=re("stream"),xy=xl(),nS=re("util"),rS=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function oS(t){return Object.prototype.toString.call(t)==="[object Object]"}function sS(t){if(oS(t))return t;try{return JSON.parse(t)}catch{return}}function Oy(t){var e=t.split(".",1)[0];return sS(Ry.from(e,"base64").toString("binary"))}function iS(t){return t.split(".",2).join(".")}function Py(t){return t.split(".")[2]}function aS(t,e){e=e||"utf8";var n=t.split(".")[1];return Ry.from(n,"base64").toString(e)}function Fy(t){return rS.test(t)&&!!Oy(t)}function Iy(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=xy(t);var o=Py(t),s=iS(t),a=eS(e);return a.verify(s,o,n)}function Ny(t,e){if(e=e||{},t=xy(t),!Fy(t))return null;var n=Oy(t);if(!n)return null;var r=aS(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:Py(t)}}function uo(t){t=t||{};var e=t.secret||t.publicKey||t.key,n=new Dy(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Dy(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}nS.inherits(uo,tS);uo.prototype.verify=function(){try{var e=Iy(this.signature.buffer,this.algorithm,this.key.buffer),n=Ny(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};uo.decode=Ny;uo.isValid=Fy;uo.verify=Iy;By.exports=uo});var Pl=X(Vn=>{var Ly=Ty(),sa=My(),uS=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Vn.ALGORITHMS=uS;Vn.sign=Ly.sign;Vn.verify=sa.verify;Vn.decode=sa.decode;Vn.isValid=sa.isValid;Vn.createSign=function(e){return new Ly(e)};Vn.createVerify=function(e){return new sa(e)}});var Zy=X(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.GoogleToken=void 0;var jy=ia(re("fs")),cS=Xe(),lS=ia(Pl()),dS=ia(re("path")),fS=re("util");function ia(t,e){if(typeof WeakMap=="function")var n=new WeakMap,r=new WeakMap;return(ia=function(s,a){if(!a&&s&&s.__esModule)return s;var u,l,f={__proto__:null,default:s};if(s===null||Tn(s)!="object"&&typeof s!="function")return f;if(u=a?r:n){if(u.has(s))return u.get(s);u.set(s,f)}for(var d in s)d!=="default"&&{}.hasOwnProperty.call(s,d)&&((l=(u=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,d))&&(l.get||l.set)?u(f,d,l):f[d]=s[d]);return f})(t,e)}function Tn(t){"@babel/helpers - typeof";return Tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tn(t)}function hS(t,e){Vy(t,e),e.add(t)}function pS(t,e,n){Vy(t,e),e.set(t,n)}function Vy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Uy(t,e,n){return t.set(Vt(t,e),n),n}function $y(t,e){return t.get(Vt(t,e))}function Vt(t,e,n){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}function qy(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Qy(r.key),r)}}function Ky(t,e,n){return e&&qy(t.prototype,e),n&&qy(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function Yy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mS(t,e,n){return e=is(e),gS(t,Ll()?Reflect.construct(e,n||[],is(t).constructor):e.apply(t,n))}function gS(t,e){if(e&&(Tn(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yS(t)}function yS(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _S(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&ss(t,e)}function Fl(t){var e=typeof Map=="function"?new Map:void 0;return Fl=function(r){if(r===null||!CS(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,o)}function o(){return bS(r,arguments,is(this).constructor)}return o.prototype=Object.create(r.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),ss(o,r)},Fl(t)}function bS(t,e,n){if(Ll())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var o=new(t.bind.apply(t,r));return n&&ss(o,n.prototype),o}function Ll(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Ll=function(){return!!t})()}function CS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function ss(t,e){return ss=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ss(t,e)}function is(t){return is=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},is(t)}function bt(t,e,n){return(e=Qy(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Qy(t){var e=wS(t,"string");return Tn(e)=="symbol"?e:e+""}function wS(t,e){if(Tn(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e||"default");if(Tn(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function wt(){var t,e,n=typeof Symbol=="function"?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function s(b,w,y,g){var _=w&&w.prototype instanceof u?w:u,A=Object.create(_.prototype);return Ct(A,"_invoke",(function(C,v,T){var R,$,G,P=0,K=T||[],z=!1,Y={p:0,n:0,v:t,a:Q,f:Q.bind(t,4),d:function(se,ie){return R=se,$=0,G=t,Y.n=ie,a}};function Q(ee,se){for($=ee,G=se,e=0;!z&&P&&!ie&&e<K.length;e++){var ie,pe=K[e],J=Y.p,Z=pe[2];ee>3?(ie=Z===se)&&(G=pe[($=pe[4])?5:($=3,3)],pe[4]=pe[5]=t):pe[0]<=J&&((ie=ee<2&&J<pe[1])?($=0,Y.v=se,Y.n=pe[1]):J<Z&&(ie=ee<3||pe[0]>se||se>Z)&&(pe[4]=ee,pe[5]=se,Y.n=Z,$=0))}if(ie||ee>1)return a;throw z=!0,se}return function(ee,se,ie){if(P>1)throw TypeError("Generator is already running");for(z&&se===1&&Q(se,ie),$=se,G=ie;(e=$<2?t:G)||!z;){R||($?$<3?($>1&&(Y.n=-1),Q($,G)):Y.n=G:Y.v=G);try{if(P=2,R){if($||(ee="next"),e=R[ee]){if(!(e=e.call(R,G)))throw TypeError("iterator result is not an object");if(!e.done)return e;G=e.value,$<2&&($=0)}else $===1&&(e=R.return)&&e.call(R),$<2&&(G=TypeError("The iterator does not provide a '"+ee+"' method"),$=1);R=t}else if((e=(z=Y.n<0)?G:C.call(v,Y))!==a)break}catch(pe){R=t,$=1,G=pe}finally{P=1}}return{value:e,done:z}}})(b,y,g),!0),A}var a={};function u(){}function l(){}function f(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(Ct(e={},r,function(){return this}),e),p=f.prototype=u.prototype=Object.create(d);function m(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,Ct(b,o,"GeneratorFunction")),b.prototype=Object.create(p),b}return l.prototype=f,Ct(p,"constructor",f),Ct(f,"constructor",l),l.displayName="GeneratorFunction",Ct(f,o,"GeneratorFunction"),Ct(p),Ct(p,o,"Generator"),Ct(p,r,function(){return this}),Ct(p,"toString",function(){return"[object Generator]"}),(wt=function(){return{w:s,m}})()}function Ct(t,e,n,r){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}Ct=function(a,u,l,f){if(u)o?o(a,u,{value:l,enumerable:!f,configurable:!f,writable:!f}):a[u]=l;else{var d=function(m,b){Ct(a,m,function(w){return this._invoke(m,b,w)})};d("next",0),d("throw",1),d("return",2)}},Ct(t,e,n,r)}function zy(t,e,n,r,o,s,a){try{var u=t[s](a),l=u.value}catch(f){return void n(f)}u.done?e(l):Promise.resolve(l).then(r,o)}function co(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var s=t.apply(e,n);function a(l){zy(s,r,o,a,u,"next",l)}function u(l){zy(s,r,o,a,u,"throw",l)}a(void 0)})}}var Hy=jy.readFile?(0,fS.promisify)(jy.readFile):co(wt().m(function t(){return wt().w(function(e){for(;;)switch(e.n){case 0:throw new os("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),Wy="https://oauth2.googleapis.com/token",ES="https://oauth2.googleapis.com/revoke?token=",os=(function(t){function e(n,r){var o;return Yy(this,e),o=mS(this,e,[n]),bt(o,"code",void 0),o.code=r,o}return _S(e,t),Ky(e)})(Fl(Error)),rs=new WeakMap,on=new WeakSet,NP=aa.GoogleToken=(function(){function t(e){Yy(this,t),hS(this,on),bt(this,"expiresAt",void 0),bt(this,"key",void 0),bt(this,"keyFile",void 0),bt(this,"iss",void 0),bt(this,"sub",void 0),bt(this,"scope",void 0),bt(this,"rawToken",void 0),bt(this,"tokenExpires",void 0),bt(this,"email",void 0),bt(this,"additionalClaims",void 0),bt(this,"eagerRefreshThresholdMillis",void 0),bt(this,"transporter",{request:function(r){return(0,cS.request)(r)}}),pS(this,rs,void 0),Vt(on,this,Xy).call(this,e)}return Ky(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var n=new Date().getTime();return this.rawToken&&this.expiresAt?n>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var n,r=new Date().getTime(),o=(n=this.eagerRefreshThresholdMillis)!==null&&n!==void 0?n:0;return this.rawToken&&this.expiresAt?this.expiresAt<=r+o:!0}},{key:"getToken",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Tn(n)==="object"&&(r=n,n=void 0),r=Object.assign({forceRefresh:!1},r),n){var o=n;Vt(on,this,Gy).call(this,r).then(function(s){return o(null,s)},n);return}return Vt(on,this,Gy).call(this,r)}},{key:"getCredentials",value:(function(){var e=co(wt().m(function r(o){var s,a,u,l,f,d,p;return wt().w(function(m){for(;;)switch(m.n){case 0:s=dS.extname(o),p=s,m.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return m.n=2,Hy(o,"utf8");case 2:if(a=m.v,u=JSON.parse(a),l=u.private_key,f=u.client_email,!(!l||!f)){m.n=3;break}throw new os("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return m.a(2,{privateKey:l,clientEmail:f});case 4:return m.n=5,Hy(o,"utf8");case 5:return d=m.v,m.a(2,{privateKey:d});case 6:throw new os("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new os("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return m.a(2)}},r)}));function n(r){return e.apply(this,arguments)}return n})()},{key:"revokeToken",value:function(n){if(n){Vt(on,this,Jy).call(this).then(function(){return n()},n);return}return Vt(on,this,Jy).call(this)}}])})();function Gy(t){return Il.apply(this,arguments)}function Il(){return Il=co(wt().m(function t(e){return wt().w(function(n){for(;;)switch(n.n){case 0:if(!($y(rs,this)&&!e.forceRefresh)){n.n=1;break}return n.a(2,$y(rs,this));case 1:return n.p=1,n.n=2,Uy(rs,this,Vt(on,this,kS).call(this,e));case 2:return n.a(2,n.v);case 3:return n.p=3,Uy(rs,this,void 0),n.f(3);case 4:return n.a(2)}},t,this,[[1,,3,4]])})),Il.apply(this,arguments)}function kS(t){return Nl.apply(this,arguments)}function Nl(){return Nl=co(wt().m(function t(e){var n;return wt().w(function(r){for(;;)switch(r.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){r.n=1;break}return r.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){r.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){r.n=4;break}return r.n=3,this.getCredentials(this.keyFile);case 3:n=r.v,this.key=n.privateKey,this.iss=n.clientEmail||this.iss,n.clientEmail||Vt(on,this,AS).call(this);case 4:return r.a(2,Vt(on,this,SS).call(this))}},t,this)})),Nl.apply(this,arguments)}function AS(){if(!this.iss)throw new os("email is required.","MISSING_CREDENTIALS")}function Jy(){return Bl.apply(this,arguments)}function Bl(){return Bl=co(wt().m(function t(){var e;return wt().w(function(n){for(;;)switch(n.n){case 0:if(this.accessToken){n.n=1;break}throw new Error("No token to revoke.");case 1:return e=ES+this.accessToken,n.n=2,this.transporter.request({url:e,retry:!0});case 2:Vt(on,this,Xy).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return n.a(2)}},t,this)})),Bl.apply(this,arguments)}function Xy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Tn(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function SS(){return Ml.apply(this,arguments)}function Ml(){return Ml=co(wt().m(function t(){var e,n,r,o,s,a,u,l,f,d;return wt().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),n=this.additionalClaims||{},r=Object.assign({iss:this.iss,scope:this.scope,aud:Wy,exp:e+3600,iat:e,sub:this.sub},n),o=lS.sign({header:{alg:"RS256"},payload:r,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:Wy,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,d=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=d.response&&(a=d.response)!==null&&a!==void 0&&a.data?(u=d.response)===null||u===void 0?void 0:u.data:{},l.error&&(f=l.error_description?": ".concat(l.error_description):"",d.message="".concat(l.error).concat(f)),d;case 4:return p.a(2)}},t,this,[[1,3]])})),Ml.apply(this,arguments)}});var Ul=X(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.JWTAccess=void 0;var vS=Pl(),TS=Wt(),e0={alg:"RS256",typ:"JWT"},jl=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new TS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let u=Math.floor(Date.now()/1e3),l=t.getExpirationTime(u),f;if(Array.isArray(r)&&(r=r.join(" ")),r?f={iss:this.email,sub:this.email,scope:r,exp:l,iat:u}:f={iss:this.email,sub:this.email,aud:e,exp:l,iat:u},n){for(let w in f)if(n[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...e0,kid:this.keyId}:e0,p=Object.assign(f,n),m=vS.sign({header:d,payload:p,secret:this.key}),b=new Headers({authorization:`Bearer ${m}`});return this.cache.set(o,{expiration:l*1e3,headers:b}),b}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};ua.JWTAccess=jl});var ql=X(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.JWT=void 0;var t0=Zy(),DS=Ul(),RS=_r(),ca=_t(),$l=class t extends RS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ca.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ca.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ca.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new DS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ca.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new t0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new t0.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let n=await this.createGToken().getCredentials(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};la.JWT=$l});var Hl=X(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.UserRefreshClient=lo.USER_REFRESH_ACCOUNT_TYPE=void 0;var xS=_r(),OS=_t();lo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var zl=class t extends xS.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return OS.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};lo.UserRefreshClient=zl});var Gl=X(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.Impersonated=fo.IMPERSONATED_ACCOUNT_TYPE=void 0;var n0=_r(),PS=Xe(),FS=Wt();fo.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Wl=class t extends n0.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new n0.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,FS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let n=0,r="";throw e instanceof PS.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};fo.Impersonated=Wl});var Vl=X(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.OAuthClientAuthHandler=void 0;as.getErrorFromOAuthErrorResponse=BS;var ho=Xe(),IS=Qo(),NS=["PUT","POST","PATCH"],Jl=class{#e=(0,IS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ho.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ho.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ho.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ho.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ho.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ho.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!NS.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};as.OAuthClientAuthHandler=Jl;function BS(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var fa=X(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.StsCredentials=void 0;var MS=Xe(),LS=_t(),r0=Vl(),jS=Wt(),Kl=class t extends r0.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,jS.removeUndefinedValuesInObject)(o))};LS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),u=a.data;return u.res=a,u}catch(a){throw a instanceof MS.GaxiosError&&a.response?(0,r0.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};da.StsCredentials=Kl});var Kn=X(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.BaseExternalAccountClient=Ot.CLOUD_RESOURCE_MANAGER=Ot.EXTERNAL_ACCOUNT_TYPE=Ot.EXPIRATION_TIME_OFFSET=void 0;var US=Xe(),$S=re("stream"),Yl=_t(),qS=fa(),o0=Wt(),zS=dl(),HS="urn:ietf:params:oauth:grant-type:token-exchange",WS="urn:ietf:params:oauth:token-type:access_token",Ql="https://www.googleapis.com/auth/cloud-platform",GS=3600;Ot.EXPIRATION_TIME_OFFSET=300*1e3;Ot.EXTERNAL_ACCOUNT_TYPE="external_account";Ot.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var JS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",VS="https://sts.{universeDomain}/v1/token",Xl=class t extends Yl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,o0.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Ot.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Ot.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??VS.replace("{universeDomain}",this.universeDomain);let a=n.get("subject_token_type"),u=n.get("workforce_pool_user_project"),l=n.get("service_account_impersonation_url"),f=n.get("service_account_impersonation"),d=(0,o0.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new qS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Ql],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=u;let p=new RegExp(JS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=GS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`};Yl.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=US.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof $S.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:HS,audience:this.audience,requestedTokenType:WS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Ql]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};Yl.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Ql]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${zS.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Ot.BaseExternalAccountClient=Xl});var s0=X(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.FileSubjectTokenSupplier=void 0;var ed=re("util"),td=re("fs"),KS=(0,ed.promisify)(td.readFile??(()=>{})),YS=(0,ed.promisify)(td.realpath??(()=>{})),QS=(0,ed.promisify)(td.lstat??(()=>{})),Zl=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await YS(e),!(await QS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let n,r=await KS(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};ha.FileSubjectTokenSupplier=Zl});var i0=X(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.UrlSubjectTokenSupplier=void 0;var XS=_t(),nd=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};XS.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};pa.UrlSubjectTokenSupplier=nd});var a0=X(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.CertificateSubjectTokenSupplier=Et.InvalidConfigurationError=Et.CertificateSourceUnavailableError=Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var ma=Wt(),ga=re("fs"),ya=re("crypto"),ZS=re("https");Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Et.CertificateSourceUnavailableError=sn;var Pt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Et.InvalidConfigurationError=Pt;var rd=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Pt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Pt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Pt("Cannot create mTLS Agent with missing certificate or key");return new ZS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,ma.isValidFile)(e))return e;throw new sn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,ma.isValidFile)(n))return n;throw new sn(`Path from environment variable "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,ma.getWellKnownCertificateConfigFileLocation)();if(await(0,ma.isValidFile)(r))return r;throw new sn(`Could not find certificate configuration file. Searched override path, the "${Et.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await ga.promises.readFile(e,"utf8")}catch{throw new sn(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Pt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Pt?r:new Pt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await ga.promises.readFile(e),new ya.X509Certificate(r)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read certificate file at ${e}: ${a}`)}try{o=await ga.promises.readFile(n),(0,ya.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sn(`Failed to read private key file at ${n}: ${a}`)}return{cert:r,key:o}}async#r(e){let n=new ya.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await ga.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,f)=>{try{return new ya.X509Certificate(l)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Pt(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>n.raw.equals(l.raw)),u;if(a===-1)u=[n,...s];else if(a===0)u=s;else throw new Pt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(u.map(l=>l.raw.toString("base64")))}catch(r){if(r instanceof Pt)throw r;let o=r instanceof Error?r.message:String(r);throw new sn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Et.CertificateSubjectTokenSupplier=rd});var id=X(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.IdentityPoolClient=void 0;var ev=Kn(),od=Wt(),tv=s0(),nv=i0(),u0=a0(),rv=fa(),c0=Xe(),sd=class t extends ev.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,od.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,od.originalOrCamelOptions)(r),a=(0,od.originalOrCamelOptions)(s.get("format")),u=a.get("type")||"text",l=a.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),m=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new tv.FileSubjectTokenSupplier({filePath:f,formatType:u,subjectTokenFieldName:l});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new nv.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:l,headers:m,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let b=new u0.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=b}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof u0.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new rv.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new c0.Gaxios({agent:n})}),this.transporter=new c0.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};_a.IdentityPoolClient=sd});var ud=X(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.AwsRequestSigner=void 0;var ba=Xe(),d0=Qo(),l0="AWS4-HMAC-SHA256",ov="aws4_request",ad=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,d0.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,a=e.headers,u=await this.getCredentials(),l=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await iv({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:u,requestPayload:s,additionalAmzHeaders:a}),d=ba.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:l.host},a||{});u.token&&ba.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let p={url:r,method:o,headers:d};return s!==void 0&&(p.body=s),p}};Ca.AwsRequestSigner=ad;async function us(t,e,n){return await t.signWithHmacSha256(e,n)}async function sv(t,e,n,r,o){let s=await us(t,`AWS4${e}`,n),a=await us(t,s,r),u=await us(t,a,o);return await us(t,u,"aws4_request")}async function iv(t){let e=ba.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=ba.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",f=[...u.keys()].sort();f.forEach(A=>{l+=`${A}:${u.get(A)}
53
+ `});let d=f.join(";"),p=await t.crypto.sha256DigestHex(n),m=`${t.method.toUpperCase()}
54
54
  ${t.canonicalUri}
55
55
  ${t.canonicalQuerystring}
56
56
  ${l}
57
- ${f}
58
- ${p}`,b=`${a}/${t.region}/${r}/${nv}`,w=`${u0}
57
+ ${d}
58
+ ${p}`,b=`${a}/${t.region}/${r}/${ov}`,w=`${l0}
59
59
  ${s}
60
60
  ${b}
61
- `+await t.crypto.sha256DigestHex(m),y=await rv(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await as(t.crypto,y,w),_=`${u0} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${f}, Signature=${(0,c0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var l0=X(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.DefaultAwsSecurityCredentialsSupplier=void 0;var Ca=_t(),ad=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:n};Ca.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Ca.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return Ca.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n};return Ca.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};wa.DefaultAwsSecurityCredentialsSupplier=ad});var cd=X(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.AwsClient=void 0;var sv=id(),iv=Kn(),av=l0(),d0=Wt(),uv=Xe(),ud=class t extends iv.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,d0.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,d0.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new av.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new sv.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return uv.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};Ea.AwsClient=ud});var pd=X($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.InvalidSubjectTokenError=$e.InvalidMessageFieldError=$e.InvalidCodeFieldError=$e.InvalidTokenTypeFieldError=$e.InvalidExpirationTimeFieldError=$e.InvalidSuccessFieldError=$e.InvalidVersionFieldError=$e.ExecutableResponseError=$e.ExecutableResponse=void 0;var ka="urn:ietf:params:oauth:token-type:saml2",ld="urn:ietf:params:oauth:token-type:id_token",dd="urn:ietf:params:oauth:token-type:jwt",fd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Aa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Sa("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==ka&&this.tokenType!==ld&&this.tokenType!==dd)throw new va(`Executable response must contain a 'token_type' field when successful and it must be one of ${ld}, ${dd}, or ${ka}.`);if(this.tokenType===ka){if(!e.saml_response)throw new us(`Executable response must contain a 'saml_response' field when token_type=${ka}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new us(`Executable response must contain a 'id_token' field when token_type=${ld} or ${dd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Ta("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Da("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};$e.ExecutableResponse=fd;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Aa=class extends an{};$e.InvalidVersionFieldError=Aa;var Sa=class extends an{};$e.InvalidSuccessFieldError=Sa;var hd=class extends an{};$e.InvalidExpirationTimeFieldError=hd;var va=class extends an{};$e.InvalidTokenTypeFieldError=va;var Ta=class extends an{};$e.InvalidCodeFieldError=Ta;var Da=class extends an{};$e.InvalidMessageFieldError=Da;var us=class extends an{};$e.InvalidSubjectTokenError=us});var yd=X(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.PluggableAuthHandler=ho.ExecutableError=void 0;var br=pd(),cv=re("child_process"),md=re("fs"),Ra=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};ho.ExecutableError=Ra;var gd=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,r)=>{let o=cv.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let l=JSON.parse(s),d=new br.ExecutableResponse(l);return n(d)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new Ra(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await md.promises.realpath(this.outputFile)}catch{return}if(!(await md.promises.lstat(e)).isFile())return;let n=await md.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new br.ExecutableResponse(r).isValid()?new br.ExecutableResponse(r):void 0}catch(r){throw r instanceof br.ExecutableResponseError?r:new br.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};ho.PluggableAuthHandler=gd});var bd=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.PluggableAuthClient=po.ExecutableError=void 0;var lv=Kn(),dv=pd(),f0=yd(),fv=yd();Object.defineProperty(po,"ExecutableError",{enumerable:!0,get:function(){return fv.ExecutableError}});var hv=30*1e3,h0=5*1e3,p0=120*1e3,pv="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",m0=1,_d=class extends lv.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=hv;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<h0||this.timeoutMillis>p0)throw new Error(`Timeout must be between ${h0} and ${p0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new f0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[pv]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>m0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${m0}.`);if(!e.success)throw new f0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new dv.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};po.PluggableAuthClient=_d});var wd=X(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ExternalAccountClient=void 0;var mv=Kn(),gv=od(),yv=cd(),_v=bd(),Cd=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===mv.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new yv.AwsClient(e):e.credential_source?.executable?new _v.PluggableAuthClient(e):new gv.IdentityPoolClient(e):null}};xa.ExternalAccountClient=Cd});var b0=X(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.ExternalAccountAuthorizedUserClient=mo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var y0=_t(),g0=Gl(),_0=Xe(),bv=re("stream"),Cv=Kn();mo.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var wv="https://sts.{universeDomain}/v1/oauthtoken",Ed=class t extends g0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};y0.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof _0.GaxiosError&&o.response?(0,g0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},kd=class extends y0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Ed({tokenRefreshEndpoint:e.token_url??wv.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Cv.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=_0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof bv.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};mo.ExternalAccountAuthorizedUserClient=kd});var k0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var Ev=re("child_process"),cs=re("fs"),kv=Xe(),ls=Ko(),Av=re("os"),Ad=re("path"),Sv=Yo(),vv=_l(),Tv=Cl(),Dv=wl(),go=Ul(),C0=ql(),yo=Hl(),Rv=wd(),ds=Kn(),Sd=_t(),w0=b0(),E0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
61
+ `+await t.crypto.sha256DigestHex(m),y=await sv(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,r),g=await us(t.crypto,y,w),_=`${l0} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${d}, Signature=${(0,d0.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var f0=X(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.DefaultAwsSecurityCredentialsSupplier=void 0;var wa=_t(),cd=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:n};wa.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return wa.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return wa.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n};return wa.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Ea.DefaultAwsSecurityCredentialsSupplier=cd});var dd=X(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.AwsClient=void 0;var av=ud(),uv=Kn(),cv=f0(),h0=Wt(),lv=Xe(),ld=class t extends uv.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,h0.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,h0.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let a=s.get("region_url"),u=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new cv.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:u,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new av.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return lv.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};ka.AwsClient=ld});var gd=X($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.InvalidSubjectTokenError=$e.InvalidMessageFieldError=$e.InvalidCodeFieldError=$e.InvalidTokenTypeFieldError=$e.InvalidExpirationTimeFieldError=$e.InvalidSuccessFieldError=$e.InvalidVersionFieldError=$e.ExecutableResponseError=$e.ExecutableResponse=void 0;var Aa="urn:ietf:params:oauth:token-type:saml2",fd="urn:ietf:params:oauth:token-type:id_token",hd="urn:ietf:params:oauth:token-type:jwt",pd=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Sa("Executable response must contain a 'version' field.");if(e.success===void 0)throw new va("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Aa&&this.tokenType!==fd&&this.tokenType!==hd)throw new Ta(`Executable response must contain a 'token_type' field when successful and it must be one of ${fd}, ${hd}, or ${Aa}.`);if(this.tokenType===Aa){if(!e.saml_response)throw new cs(`Executable response must contain a 'saml_response' field when token_type=${Aa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new cs(`Executable response must contain a 'id_token' field when token_type=${fd} or ${hd}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Da("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Ra("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};$e.ExecutableResponse=pd;var an=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};$e.ExecutableResponseError=an;var Sa=class extends an{};$e.InvalidVersionFieldError=Sa;var va=class extends an{};$e.InvalidSuccessFieldError=va;var md=class extends an{};$e.InvalidExpirationTimeFieldError=md;var Ta=class extends an{};$e.InvalidTokenTypeFieldError=Ta;var Da=class extends an{};$e.InvalidCodeFieldError=Da;var Ra=class extends an{};$e.InvalidMessageFieldError=Ra;var cs=class extends an{};$e.InvalidSubjectTokenError=cs});var bd=X(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.PluggableAuthHandler=po.ExecutableError=void 0;var br=gd(),dv=re("child_process"),yd=re("fs"),xa=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};po.ExecutableError=xa;var _d=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,r)=>{let o=dv.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",u=>{s+=u}),o.stderr.on("data",u=>{s+=u});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",u=>{if(clearTimeout(a),u===0)try{let l=JSON.parse(s),f=new br.ExecutableResponse(l);return n(f)}catch(l){return l instanceof br.ExecutableResponseError?r(l):r(new br.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new xa(s,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await yd.promises.realpath(this.outputFile)}catch{return}if(!(await yd.promises.lstat(e)).isFile())return;let n=await yd.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new br.ExecutableResponse(r).isValid()?new br.ExecutableResponse(r):void 0}catch(r){throw r instanceof br.ExecutableResponseError?r:new br.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};po.PluggableAuthHandler=_d});var wd=X(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.PluggableAuthClient=mo.ExecutableError=void 0;var fv=Kn(),hv=gd(),p0=bd(),pv=bd();Object.defineProperty(mo,"ExecutableError",{enumerable:!0,get:function(){return pv.ExecutableError}});var mv=30*1e3,m0=5*1e3,g0=120*1e3,gv="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",y0=1,Cd=class extends fv.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=mv;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<m0||this.timeoutMillis>g0)throw new Error(`Timeout must be between ${m0} and ${g0} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new p0.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[gv]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>y0)throw new Error(`Version of executable is not currently supported, maximum supported version is ${y0}.`);if(!e.success)throw new p0.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new hv.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};mo.PluggableAuthClient=Cd});var kd=X(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ExternalAccountClient=void 0;var yv=Kn(),_v=id(),bv=dd(),Cv=wd(),Ed=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===yv.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new bv.AwsClient(e):e.credential_source?.executable?new Cv.PluggableAuthClient(e):new _v.IdentityPoolClient(e):null}};Oa.ExternalAccountClient=Ed});var w0=X(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.ExternalAccountAuthorizedUserClient=go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var b0=_t(),_0=Vl(),C0=Xe(),wv=re("stream"),Ev=Kn();go.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var kv="https://sts.{universeDomain}/v1/oauthtoken",Ad=class t extends _0.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};b0.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof C0.GaxiosError&&o.response?(0,_0.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Sd=class extends b0.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Ad({tokenRefreshEndpoint:e.token_url??kv.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=Ev.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=C0.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof wv.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};go.ExternalAccountAuthorizedUserClient=Sd});var S0=X(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.GoogleAuth=Kt.GoogleAuthExceptionMessages=void 0;var Av=re("child_process"),ls=re("fs"),Sv=Xe(),ds=Yo(),vv=re("os"),vd=re("path"),Tv=Qo(),Dv=Cl(),Rv=El(),xv=kl(),yo=ql(),E0=Hl(),_o=Gl(),Ov=kd(),fs=Kn(),Td=_t(),k0=w0(),A0=Wt();Kt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
62
62
  To learn more about authentication and Google APIs, visit:
63
63
  https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
64
64
  To learn more about authentication and Google APIs, visit:
65
65
  https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
66
66
  To learn more about Universe Domain retrieval, visit:
67
- https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var vd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ls.universe("universe-domain"),e||=Sd.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Sd.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,E0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Sd.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof go.JWT?n.scopes=this.scopes:n instanceof ds.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof go.JWT?n.scopes=this.scopes:n instanceof ds.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new vv.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ls.getGCPResidency()||await ls.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let o=process.env.HOME;o&&(n=Ad.join(o,".config"))}return n&&(n=Ad.join(n,"gcloud","application_default_credentials.json"),cs.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=cs.realpathSync(e),!cs.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r=cs.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==yo.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${yo.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new yo.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let r,o=(0,E0.originalOrCamelOptions)(n).get("universe_domain");return e.type===C0.USER_REFRESH_ACCOUNT_TYPE?(r=new C0.UserRefreshClient(n),r.fromJSON(e)):e.type===yo.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===ds.EXTERNAL_ACCOUNT_TYPE?(r=Rv.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===w0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new w0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new go.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),u=this._cacheClientFromJSON(a,n);return r(u)}catch(a){if(!this.keyFilename)throw a;let u=new go.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),r(u)}}catch(a){return o(a)}})})}fromAPIKey(e,n={}){return new go.JWT({...n,apiKey:e})}_isWindows(){let e=Av.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,Ev.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==ds.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ls.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof yo.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof ds.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([ls.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=Ad.resolve(this.keyFilename),n=cs.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new Tv.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=kv.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,Dv.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof yo.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,Sv.createCrypto)();if(r instanceof go.JWT&&r.key)return await s.sign(r.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=vd});var A0=X(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.IAMAuth=void 0;var Td=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Oa.IAMAuth=Td});var S0=X(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.DownscopedClient=un.EXPIRATION_TIME_OFFSET=un.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var xv=Xe(),Ov=re("stream"),Dd=_t(),Pv=da(),Fv="urn:ietf:params:oauth:grant-type:token-exchange",Iv="urn:ietf:params:oauth:token-type:access_token",Nv="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var Rd=class extends Dd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Dd.AuthClient?{}:e),e instanceof Dd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>un.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${un.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Pv.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=xv.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof Ov.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:Fv,requestedTokenType:Iv,subjectToken:e,subjectTokenType:Nv},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};un.DownscopedClient=Rd});var v0=X(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.PassThroughClient=void 0;var Bv=_t(),xd=class extends Bv.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Pa.PassThroughClient=xd});var Pd=X(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.GoogleAuth=le.auth=le.PassThroughClient=le.ExecutableError=le.PluggableAuthClient=le.DownscopedClient=le.BaseExternalAccountClient=le.ExternalAccountClient=le.IdentityPoolClient=le.AwsRequestSigner=le.AwsClient=le.UserRefreshClient=le.LoginTicket=le.ClientAuthentication=le.OAuth2Client=le.CodeChallengeMethod=le.Impersonated=le.JWT=le.JWTAccess=le.IdTokenClient=le.IAMAuth=le.GCPEnv=le.Compute=le.DEFAULT_UNIVERSE=le.AuthClient=le.gaxios=le.gcpMetadata=void 0;var T0=k0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return T0.GoogleAuth}});le.gcpMetadata=Ko();le.gaxios=Xe();var D0=_t();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return D0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return D0.DEFAULT_UNIVERSE}});var Mv=_l();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return Mv.Compute}});var Lv=wl();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return Lv.GCPEnv}});var jv=A0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return jv.IAMAuth}});var Uv=Cl();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return Uv.IdTokenClient}});var $v=Ll();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return $v.JWTAccess}});var qv=Ul();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return qv.JWT}});var zv=Hl();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return zv.Impersonated}});var Od=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Od.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Od.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Od.ClientAuthentication}});var Hv=pl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return Hv.LoginTicket}});var Wv=ql();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return Wv.UserRefreshClient}});var Gv=cd();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return Gv.AwsClient}});var Jv=id();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return Jv.AwsRequestSigner}});var Vv=od();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return Vv.IdentityPoolClient}});var Kv=wd();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return Kv.ExternalAccountClient}});var Yv=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Yv.BaseExternalAccountClient}});var Qv=S0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return Qv.DownscopedClient}});var R0=bd();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return R0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return R0.ExecutableError}});var Xv=v0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return Xv.PassThroughClient}});var Zv=new T0.GoogleAuth;le.auth=Zv});var u_=X((jN,df)=>{"use strict";var jR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,UR=/(\w*(\.\w*)*)\..*/;df.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,a_(r.stack)}};function a_(t){let e=t.match(jR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(UR)[1]:"anonymous"}df.exports.extractPluginName=a_});var l_=X((UN,c_)=>{"use strict";c_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var d_=X(($N,au)=>{"use strict";var $R=u_(),qR=l_(),zR=0;function ff(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=$R(t)+"-auto-"+zR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=qR(e.name);return!n&&!t[r]&&(t[r]=t),t}au.exports=ff;au.exports.default=ff;au.exports.fastifyPlugin=ff});var _s,hf=Le(()=>{"use strict";_s=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:a}=n||{},u="";if(o){let l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
67
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Dd=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.keyFilename&&console.warn("The `keyFilename` option is deprecated. Please use the `credentials` option instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.jsonContent&&console.warn("The `credentials` option is deprecated. Please use the `auth` object constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Kt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Kt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await ds.universe("universe-domain"),e||=Td.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Td.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,A0.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Td.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof yo.JWT?n.scopes=this.scopes:n instanceof fs.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new Dv.Compute(e));throw new Error(Kt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=ds.getGCPResidency()||await ds.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let o=process.env.HOME;o&&(n=vd.join(o,".config"))}return n&&(n=vd.join(n,"gcloud","application_default_credentials.json"),ls.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ls.realpathSync(e),!ls.lstatSync(e).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r=ls.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==_o.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${_o.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=this.getAnyScopes()??[];return new _o.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){console.warn("The `fromJSON` method is deprecated. Please use the `JWT` constructor instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let r,o=(0,A0.originalOrCamelOptions)(n).get("universe_domain");return e.type===E0.USER_REFRESH_ACCOUNT_TYPE?(r=new E0.UserRefreshClient(n),r.fromJSON(e)):e.type===_o.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===fs.EXTERNAL_ACCOUNT_TYPE?(r=Ov.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===k0.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new k0.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,r=new yo.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){console.warn("The `fromStream` method is deprecated. Please use the `JWT` constructor with a parsed stream instead. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials.");let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",a=>s.push(a)).on("end",()=>{try{try{let a=JSON.parse(s.join("")),u=this._cacheClientFromJSON(a,n);return r(u)}catch(a){if(!this.keyFilename)throw a;let u=new yo.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),r(u)}}catch(a){return o(a)}})})}fromAPIKey(e,n={}){return new yo.JWT({...n,apiKey:e})}_isWindows(){let e=vv.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,Av.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==fs.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ds.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof _o.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof fs.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([ds.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Kt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=vd.resolve(this.keyFilename),n=ls.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new Rv.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=Sv.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,xv.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof _o.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,Tv.createCrypto)();if(r instanceof yo.JWT&&r.key)return await s.sign(r.key,e);let a=await this.getCredentials();if(!a.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,a.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Kt.GoogleAuth=Dd});var v0=X(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.IAMAuth=void 0;var Rd=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};Pa.IAMAuth=Rd});var T0=X(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.DownscopedClient=un.EXPIRATION_TIME_OFFSET=un.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var Pv=Xe(),Fv=re("stream"),xd=_t(),Iv=fa(),Nv="urn:ietf:params:oauth:grant-type:token-exchange",Bv="urn:ietf:params:oauth:token-type:access_token",Mv="urn:ietf:params:oauth:token-type:access_token";un.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;un.EXPIRATION_TIME_OFFSET=300*1e3;var Od=class extends xd.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof xd.AuthClient?{}:e),e instanceof xd.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>un.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${un.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Iv.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=Pv.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,u=s.config.data instanceof Fv.Readable;if(!n&&(a===401||a===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:Nv,requestedTokenType:Bv,subjectToken:e,subjectTokenType:Mv},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};un.DownscopedClient=Od});var D0=X(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.PassThroughClient=void 0;var Lv=_t(),Pd=class extends Lv.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};Fa.PassThroughClient=Pd});var Id=X(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.GoogleAuth=le.auth=le.PassThroughClient=le.ExecutableError=le.PluggableAuthClient=le.DownscopedClient=le.BaseExternalAccountClient=le.ExternalAccountClient=le.IdentityPoolClient=le.AwsRequestSigner=le.AwsClient=le.UserRefreshClient=le.LoginTicket=le.ClientAuthentication=le.OAuth2Client=le.CodeChallengeMethod=le.Impersonated=le.JWT=le.JWTAccess=le.IdTokenClient=le.IAMAuth=le.GCPEnv=le.Compute=le.DEFAULT_UNIVERSE=le.AuthClient=le.gaxios=le.gcpMetadata=void 0;var R0=S0();Object.defineProperty(le,"GoogleAuth",{enumerable:!0,get:function(){return R0.GoogleAuth}});le.gcpMetadata=Yo();le.gaxios=Xe();var x0=_t();Object.defineProperty(le,"AuthClient",{enumerable:!0,get:function(){return x0.AuthClient}});Object.defineProperty(le,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return x0.DEFAULT_UNIVERSE}});var jv=Cl();Object.defineProperty(le,"Compute",{enumerable:!0,get:function(){return jv.Compute}});var Uv=kl();Object.defineProperty(le,"GCPEnv",{enumerable:!0,get:function(){return Uv.GCPEnv}});var $v=v0();Object.defineProperty(le,"IAMAuth",{enumerable:!0,get:function(){return $v.IAMAuth}});var qv=El();Object.defineProperty(le,"IdTokenClient",{enumerable:!0,get:function(){return qv.IdTokenClient}});var zv=Ul();Object.defineProperty(le,"JWTAccess",{enumerable:!0,get:function(){return zv.JWTAccess}});var Hv=ql();Object.defineProperty(le,"JWT",{enumerable:!0,get:function(){return Hv.JWT}});var Wv=Gl();Object.defineProperty(le,"Impersonated",{enumerable:!0,get:function(){return Wv.Impersonated}});var Fd=_r();Object.defineProperty(le,"CodeChallengeMethod",{enumerable:!0,get:function(){return Fd.CodeChallengeMethod}});Object.defineProperty(le,"OAuth2Client",{enumerable:!0,get:function(){return Fd.OAuth2Client}});Object.defineProperty(le,"ClientAuthentication",{enumerable:!0,get:function(){return Fd.ClientAuthentication}});var Gv=gl();Object.defineProperty(le,"LoginTicket",{enumerable:!0,get:function(){return Gv.LoginTicket}});var Jv=Hl();Object.defineProperty(le,"UserRefreshClient",{enumerable:!0,get:function(){return Jv.UserRefreshClient}});var Vv=dd();Object.defineProperty(le,"AwsClient",{enumerable:!0,get:function(){return Vv.AwsClient}});var Kv=ud();Object.defineProperty(le,"AwsRequestSigner",{enumerable:!0,get:function(){return Kv.AwsRequestSigner}});var Yv=id();Object.defineProperty(le,"IdentityPoolClient",{enumerable:!0,get:function(){return Yv.IdentityPoolClient}});var Qv=kd();Object.defineProperty(le,"ExternalAccountClient",{enumerable:!0,get:function(){return Qv.ExternalAccountClient}});var Xv=Kn();Object.defineProperty(le,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Xv.BaseExternalAccountClient}});var Zv=T0();Object.defineProperty(le,"DownscopedClient",{enumerable:!0,get:function(){return Zv.DownscopedClient}});var O0=wd();Object.defineProperty(le,"PluggableAuthClient",{enumerable:!0,get:function(){return O0.PluggableAuthClient}});Object.defineProperty(le,"ExecutableError",{enumerable:!0,get:function(){return O0.ExecutableError}});var eT=D0();Object.defineProperty(le,"PassThroughClient",{enumerable:!0,get:function(){return eT.PassThroughClient}});var tT=new R0.GoogleAuth;le.auth=tT});var l_=X(($N,hf)=>{"use strict";var $R=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,qR=/(\w*(\.\w*)*)\..*/;hf.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,c_(r.stack)}};function c_(t){let e=t.match($R);return e?e[1].split(/[/\\]/).slice(-1)[0].match(qR)[1]:"anonymous"}hf.exports.extractPluginName=c_});var f_=X((qN,d_)=>{"use strict";d_.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var h_=X((zN,uu)=>{"use strict";var zR=l_(),HR=f_(),WR=0;function pf(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=zR(t)+"-auto-"+WR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=HR(e.name);return!n&&!t[r]&&(t[r]=t),t}uu.exports=pf;uu.exports.default=pf;uu.exports.fastifyPlugin=pf});var bs,mf=Le(()=>{"use strict";bs=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:a}=n||{},u="";if(o){let l=new Date().toISOString();u+=this.config.colors?`${this.colors.cyan}[${l}]${this.colors.reset} `:`[${l}] `}switch(s&&(u+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":u+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?u+=this.toMarkdown(e):u+=String(e);break;case"text":default:typeof e=="object"?u+=JSON.stringify(e,null,2):u+=String(e);break}return a&&Object.keys(a).length>0&&(u+=`
68
68
  `+(this.config.colors?`${this.colors.dim}`:""),u+="Metadata: "+JSON.stringify(a,null,2),this.config.colors&&(u+=this.colors.reset)),u}toMarkdown(e,n=0){let r=" ".repeat(n);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${r}-
69
69
  ${this.toMarkdown(o,n+1)}`:`${r}- ${o}`).join(`
70
70
  `):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${r}${o}:
71
71
  ${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
72
- `):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;case"log":default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var bs,pf=Le(()=>{"use strict";bs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{format:r="json",timestamp:o=!0,prefix:s,metadata:a}=n||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,n,r,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(u),l}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,a){let u=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,n,r,o,s)}catch(d){if(u=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw u}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});import{writeFileSync as HR,existsSync as WR,mkdirSync as GR}from"fs";import{join as h_}from"path";import{tmpdir as JR}from"os";var Cs,mf=Le(()=>{"use strict";Cs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=JR();this.baseDir=h_(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{WR(this.baseDir)||GR(this.baseDir,{recursive:!0})}catch{}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return h_(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return HR(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var gf,Eo,p_=Le(()=>{"use strict";hf();pf();mf();gf=class{handlers=new Map;defaultOptions={};registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){console.error(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){switch(e.type){case"console":return new _s(e.config);case"webhook":return new bs(e.config);case"temp-file":return new Cs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,u])=>{try{await u.output(e,r)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},a=e.map(async u=>{let l=this.handlers.get(u);if(!l){console.warn(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await l.output(n,o)?s.success.push(u):s.failed.push(u)}catch(d){console.error(`[OutputManager] Handler ${u} failed:`,d),s.failed.push(u)}});return await Promise.all(a),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},Eo=new gf});import KR from"fastify";import YR from"@fastify/cors";var Ih=Ln(Wu(),1);import{readFileSync as pC,existsSync as Ph}from"fs";import{join as Fh}from"path";import{config as mC}from"dotenv";var Ir=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:Fh(process.cwd(),this.options.jsonPath);if(Ph(e))try{let n=pC(e,"utf-8"),r=Ih.default.parse(n);this.config={...this.config,...r},console.log(`Loaded JSON config from: ${e}`)}catch(n){console.warn(`Failed to load JSON config from ${e}:`,n)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:Fh(process.cwd(),this.options.envPath);if(Ph(e))try{let n=mC({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){console.warn(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,n){this.config[e]=n}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function He(t,e=500,n="internal_error",r="api_error"){let o=new Error(t);return o.statusCode=e,o.code=n,o.type=r,o}async function Nh(t,e,n){e.log.error(t);let r=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return n.code(r).send(s)}catch{return n.code(r).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return n.code(r).send(o)}import{ProxyAgent as gC}from"undici";function Bh(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,u=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let d=new AbortController,f=()=>d.abort();n.signal.addEventListener("abort",f),u.addEventListener("abort",f),a=d.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new gC(new URL(n.httpsProxy).toString())),o?.debug({reqId:r.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:n.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var yC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Nr={maxBodyLength:4096,maxStreamChunks:100},Gu=!1;function _C(t){Gu=t}function bC(){return Gu}function ti(t){return Gu||t.get("DEBUG_LOG")===!0}function jh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?Nr:{maxBodyLength:e.maxBodyLength??Nr.maxBodyLength,maxStreamChunks:e.maxStreamChunks??Nr.maxStreamChunks}}function Uh(t){let e={};for(let[n,r]of Object.entries(t))yC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function ni(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function $h(t,e,n){let r=typeof n.body=="string"?n.body:JSON.stringify(n.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:n.url,headers:Uh(n.headers),body:ni(r,Nr.maxBodyLength)})}function qh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:Uh(n.headers),...n.body!==void 0?{body:ni(n.body,Nr.maxBodyLength)}:{}})}function Mh(t,e,n,r){let o=CC(r);t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,...o?{usage_monitor:o}:{},data:ni(r,Nr.maxBodyLength)})}function CC(t){let e=[];for(let n of t.split(/\r?\n/)){if(!n.startsWith("data:"))continue;let r=n.slice(5).trim();if(!(!r||r==="[DONE]"))try{let o=JSON.parse(r),s=o?.usage||o?.response?.usage;s&&e.push({path:o?.usage?"usage":"response.usage",usage:s,choicesLength:Array.isArray(o?.choices)?o.choices.length:void 0,finishReason:o?.choices?.[0]?.finish_reason})}catch{e.push({parseError:!0,data:ni(r,512)})}}if(e.length)return e.length===1?e[0]:e}function Lh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function zh(t,e,n,r){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:u,value:l}=await o.read();if(u)break;a+=l;let d=a.split(`
72
+ `):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;case"log":default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var Cs,gf=Le(()=>{"use strict";Cs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{format:r="json",timestamp:o=!0,prefix:s,metadata:a}=n||{},u={data:e};return o&&(u.timestamp=new Date().toISOString()),s&&(u.prefix=s),a&&Object.keys(a).length>0&&(u.metadata=a),u}async sendRequest(e,n,r,o,s){let a=new AbortController,u=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(u),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(u),l}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,a){let u=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,n,r,o,s)}catch(f){if(u=f,l===a.maxAttempts)break;let d=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw u}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});import{writeFileSync as GR,existsSync as JR,mkdirSync as VR}from"fs";import{join as m_}from"path";import{tmpdir as KR}from"os";var ws,yf=Le(()=>{"use strict";ws=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=KR();this.baseDir=m_(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{JR(this.baseDir)||VR(this.baseDir,{recursive:!0})}catch{}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return m_(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return GR(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var _f,ko,g_=Le(()=>{"use strict";mf();gf();yf();_f=class{handlers=new Map;defaultOptions={};registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){console.error(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){switch(e.type){case"console":return new bs(e.config);case"webhook":return new Cs(e.config);case"temp-file":return new ws(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,u])=>{try{await u.output(e,r)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},a=e.map(async u=>{let l=this.handlers.get(u);if(!l){console.warn(`[OutputManager] Handler ${u} not found`),s.failed.push(u);return}try{await l.output(n,o)?s.success.push(u):s.failed.push(u)}catch(f){console.error(`[OutputManager] Handler ${u} failed:`,f),s.failed.push(u)}});return await Promise.all(a),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},ko=new _f});import QR from"fastify";import XR from"@fastify/cors";var Bh=Ln(Gu(),1);import{readFileSync as gC,existsSync as Ih}from"fs";import{join as Nh}from"path";import{config as yC}from"dotenv";var Ir=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:Nh(process.cwd(),this.options.jsonPath);if(Ih(e))try{let n=gC(e,"utf-8"),r=Bh.default.parse(n);this.config={...this.config,...r},console.log(`Loaded JSON config from: ${e}`)}catch(n){console.warn(`Failed to load JSON config from ${e}:`,n)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:Nh(process.cwd(),this.options.envPath);if(Ih(e))try{let n=yC({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){console.warn(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,n){this.config[e]=n}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function He(t,e=500,n="internal_error",r="api_error"){let o=new Error(t);return o.statusCode=e,o.code=n,o.type=r,o}async function Mh(t,e,n){e.log.error(t);let r=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return n.code(r).send(s)}catch{return n.code(r).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return n.code(r).send(o)}import{ProxyAgent as _C}from"undici";function Lh(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([f,d])=>{d&&s.set(f,d)});let a,u=AbortSignal.timeout(n.TIMEOUT??60*1e3*60);if(n.signal){let f=new AbortController,d=()=>f.abort();n.signal.addEventListener("abort",d),u.addEventListener("abort",d),a=f.signal}else a=u;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return n.httpsProxy&&(l.dispatcher=new _C(new URL(n.httpsProxy).toString())),o?.debug({reqId:r.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:n.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var bC=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),Nr={maxBodyLength:4096,maxStreamChunks:100},Ju=!1;function CC(t){Ju=t}function wC(){return Ju}function ni(t){return Ju||t.get("DEBUG_LOG")===!0}function $h(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?Nr:{maxBodyLength:e.maxBodyLength??Nr.maxBodyLength,maxStreamChunks:e.maxStreamChunks??Nr.maxStreamChunks}}function qh(t){let e={};for(let[n,r]of Object.entries(t))bC.has(n.toLowerCase())?e[n]="***MASKED***":e[n]=r;return e}function ri(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function zh(t,e,n){let r=typeof n.body=="string"?n.body:JSON.stringify(n.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:n.url,headers:qh(n.headers),body:ri(r,Nr.maxBodyLength)})}function Hh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:n.status,headers:qh(n.headers),...n.body!==void 0?{body:ri(n.body,Nr.maxBodyLength)}:{}})}function jh(t,e,n,r){let o=EC(r);t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:n,...o?{usage_monitor:o}:{},data:ri(r,Nr.maxBodyLength)})}function EC(t){let e=[];for(let n of t.split(/\r?\n/)){if(!n.startsWith("data:"))continue;let r=n.slice(5).trim();if(!(!r||r==="[DONE]"))try{let o=JSON.parse(r),s=o?.usage||o?.response?.usage;s&&e.push({path:o?.usage?"usage":"response.usage",usage:s,choicesLength:Array.isArray(o?.choices)?o.choices.length:void 0,finishReason:o?.choices?.[0]?.finish_reason})}catch{e.push({parseError:!0,data:ri(r,512)})}}if(e.length)return e.length===1?e[0]:e}function Uh(t,e,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:n})}function Wh(t,e,n,r){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:u,value:l}=await o.read();if(u)break;a+=l;let f=a.split(`
73
73
 
74
- `);a=d.pop()||"";for(let f of d)f.trim()&&(s<r.maxStreamChunks?Mh(e,n,s,f):s===r.maxStreamChunks&&e.info({debug_log:!0,reqId:n,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${r.maxStreamChunks}]`}),s++)}a.trim()&&(s<r.maxStreamChunks&&Mh(e,n,s,a.trim()),s++),Lh(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),Lh(e,n,s)}finally{o.releaseLock()}})()}var ri="2.3.16";Un();import{existsSync as Xh,mkdirSync as PC,readFileSync as FC,writeFileSync as IC}from"fs";import{join as Zh}from"path";import{HOME_DIR as NC}from"@wengine-ai/claude-code-router-shared";var Zu=Zh(NC,"runtime"),ec=Zh(Zu,"rate-limit.json"),Br=new Map,Kh=!1,BC=null,MC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],LC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],jC=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Io(t,e,n){let r=u=>{if(n instanceof Headers)return n.get(u);let l=Object.keys(n).find(d=>d.toLowerCase()===u);return l?n[l]:null},o=Xu(r,MC),s=Xu(r,LC),a=Xu(r,jC);(o||s||a)&&Br.set(t,{provider:t,remaining:Yh(o),limit:Yh(s),reset:qC(a),capturedAt:Date.now()})}function UC(t){return Br.get(t)}function $C(){return Array.from(Br.values())}function Xu(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function Yh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function qC(t){if(!t)return null;let e=t.trim();if(!e)return null;let n=Number(e);if(Number.isFinite(n))return n>1e12?Math.floor(n/1e3):n>1e9?Math.floor(n):Math.floor(Date.now()/1e3+n);let r=Date.parse(e);if(Number.isFinite(r))return Math.floor(r/1e3);let o=zC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function zC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,n=0,r=!1;for(let o of t.matchAll(e)){r=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":n+=s;break;case"s":n+=s*1e3;break;case"m":n+=s*60*1e3;break;case"h":n+=s*60*60*1e3;break;case"d":n+=s*24*60*60*1e3;break}}return r?n:null}function HC(){try{if(!Xh(ec))return;let t=JSON.parse(FC(ec,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>3600*1e3)continue;Br.set(n.provider,n)}}catch{}}function Qh(){try{if(Br.size===0)return;Xh(Zu)||PC(Zu,{recursive:!0}),IC(ec,JSON.stringify(Array.from(Br.values()),null,2),"utf-8")}catch{}}function tc(){Kh||(Kh=!0,HC(),BC=setInterval(Qh,6e4),process.on("exit",Qh))}oi();var Mr=class{name="openai-responses";endPoint="/v1/responses";getCacheReadInputTokens(e){return e?.cache_read_input_tokens??e?.input_tokens_details?.cached_tokens??e?.prompt_tokens_details?.cached_tokens??0}getCacheCreationInputTokens(e){return e?.cache_creation_input_tokens??e?.input_tokens_details?.cache_creation_tokens??e?.input_tokens_details?.cache_write_tokens??e?.prompt_tokens_details?.cache_creation_tokens??e?.prompt_tokens_details?.cache_write_tokens??0}buildResponsesUsage(e){let n=e?.input_tokens??e?.prompt_tokens??0,r=e?.output_tokens??e?.completion_tokens??0,o=this.getCacheReadInputTokens(e),s=this.getCacheCreationInputTokens(e);return{input_tokens:n,output_tokens:r,total_tokens:e?.total_tokens??n+r,input_tokens_details:{cached_tokens:o,cache_creation_tokens:s},output_tokens_details:{reasoning_tokens:e?.output_tokens_details?.reasoning_tokens??0},cache_read_input_tokens:o,cache_creation_input_tokens:s}}async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:e.reasoning.summary||"auto"});let n=[],r=e.messages.filter(o=>o.role==="system");if(r.length>0){let o=r[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),n.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,n.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{n.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}n.push(o)}}),e.input=n,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return r.type==="message"&&Array.isArray(r.content)?new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers}):new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let[r,o]=e.body.tee(),s=r.getReader(),a="";try{let{value:g,done:_}=await s.read();!_&&g&&(a=new TextDecoder().decode(g))}finally{s.releaseLock()}if(r.cancel().catch(()=>{}),a.includes("message_start")||a.includes("content_block_start")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}if(a.includes("response.created")||a.includes("response.output_text.delta")||a.includes("response.in_progress")||a.includes("response.output_item.added")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}let d=this.prependToStream(a,o),f=new TextDecoder,p=new TextEncoder,m="",b=!1,w=this,y=new ReadableStream({async start(g){let _=d.getReader(),A=-1,C="",S=T=>(T!==C&&(A++,C=T),A);try{for(;;){let{done:T,value:R}=await _.read();if(T){b||g.enqueue(p.encode(`data: [DONE]
74
+ `);a=f.pop()||"";for(let d of f)d.trim()&&(s<r.maxStreamChunks?jh(e,n,s,d):s===r.maxStreamChunks&&e.info({debug_log:!0,reqId:n,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${r.maxStreamChunks}]`}),s++)}a.trim()&&(s<r.maxStreamChunks&&jh(e,n,s,a.trim()),s++),Uh(e,n,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${n}:`,a),Uh(e,n,s)}finally{o.releaseLock()}})()}var oi="2.3.18";Un();import{existsSync as ep,mkdirSync as IC,readFileSync as NC,writeFileSync as BC}from"fs";import{join as tp}from"path";import{HOME_DIR as MC}from"@wengine-ai/claude-code-router-shared";var ec=tp(MC,"runtime"),tc=tp(ec,"rate-limit.json"),Mr=new Map,Qh=!1,LC=null,jC=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],UC=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],$C=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Io(t,e,n){let r=u=>{if(n instanceof Headers)return n.get(u);let l=Object.keys(n).find(f=>f.toLowerCase()===u);return l?n[l]:null},o=Zu(r,jC),s=Zu(r,UC),a=Zu(r,$C);(o||s||a)&&Mr.set(t,{provider:t,remaining:Xh(o),limit:Xh(s),reset:HC(a),capturedAt:Date.now()})}function qC(t){return Mr.get(t)}function zC(){return Array.from(Mr.values())}function Zu(t,e){for(let n of e){let r=t(n);if(r)return r}return null}function Xh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function HC(t){if(!t)return null;let e=t.trim();if(!e)return null;let n=Number(e);if(Number.isFinite(n))return n>1e12?Math.floor(n/1e3):n>1e9?Math.floor(n):Math.floor(Date.now()/1e3+n);let r=Date.parse(e);if(Number.isFinite(r))return Math.floor(r/1e3);let o=WC(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function WC(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,n=0,r=!1;for(let o of t.matchAll(e)){r=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":n+=s;break;case"s":n+=s*1e3;break;case"m":n+=s*60*1e3;break;case"h":n+=s*60*60*1e3;break;case"d":n+=s*24*60*60*1e3;break}}return r?n:null}function GC(){try{if(!ep(tc))return;let t=JSON.parse(NC(tc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>3600*1e3)continue;Mr.set(n.provider,n)}}catch{}}function Zh(){try{if(Mr.size===0)return;ep(ec)||IC(ec,{recursive:!0}),BC(tc,JSON.stringify(Array.from(Mr.values()),null,2),"utf-8")}catch{}}function nc(){Qh||(Qh=!0,GC(),LC=setInterval(Zh,6e4),process.on("exit",Zh))}si();var Lr=class{name="openai-responses";endPoint="/v1/responses";getCacheReadInputTokens(e){return e?.cache_read_input_tokens??e?.input_tokens_details?.cached_tokens??e?.prompt_tokens_details?.cached_tokens??0}getCacheCreationInputTokens(e){return e?.cache_creation_input_tokens??e?.input_tokens_details?.cache_creation_tokens??e?.input_tokens_details?.cache_write_tokens??e?.prompt_tokens_details?.cache_creation_tokens??e?.prompt_tokens_details?.cache_write_tokens??0}buildResponsesUsage(e){let n=e?.input_tokens??e?.prompt_tokens??0,r=e?.output_tokens??e?.completion_tokens??0,o=this.getCacheReadInputTokens(e),s=this.getCacheCreationInputTokens(e);return{input_tokens:n,output_tokens:r,total_tokens:e?.total_tokens??n+r,input_tokens_details:{cached_tokens:o,cache_creation_tokens:s},output_tokens_details:{reasoning_tokens:e?.output_tokens_details?.reasoning_tokens??0},cache_read_input_tokens:o,cache_creation_input_tokens:s}}async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:e.reasoning.summary||"auto"});let n=[],r=e.messages.filter(o=>o.role==="system");if(r.length>0){let o=r[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),n.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,n.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{n.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}n.push(o)}}),e.input=n,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return r.type==="message"&&Array.isArray(r.content)?new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers}):new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let[r,o]=e.body.tee(),s=r.getReader(),a="";try{let{value:g,done:_}=await s.read();!_&&g&&(a=new TextDecoder().decode(g))}finally{s.releaseLock()}if(r.cancel().catch(()=>{}),a.includes("message_start")||a.includes("content_block_start")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}if(a.includes("response.created")||a.includes("response.output_text.delta")||a.includes("response.in_progress")||a.includes("response.output_item.added")){let g=this.prependToStream(a,o);return new Response(g,{status:e.status,statusText:e.statusText,headers:e.headers})}let f=this.prependToStream(a,o),d=new TextDecoder,p=new TextEncoder,m="",b=!1,w=this,y=new ReadableStream({async start(g){let _=f.getReader(),A=-1,C="",v=T=>(T!==C&&(A++,C=T),A);try{for(;;){let{done:T,value:R}=await _.read();if(T){b||g.enqueue(p.encode(`data: [DONE]
75
75
 
76
- `));break}let $=f.decode(R,{stream:!0});m+=$;let V=m.split(/\r?\n/);m=V.pop()||"";for(let P of V)if(P.trim())try{if(P.startsWith("event: "))continue;if(P.startsWith("data: ")){let Y=P.slice(5).trim();if(Y==="[DONE]"){b=!0,g.enqueue(p.encode(`data: [DONE]
76
+ `));break}let $=d.decode(R,{stream:!0});m+=$;let G=m.split(/\r?\n/);m=G.pop()||"";for(let P of G)if(P.trim())try{if(P.startsWith("event: "))continue;if(P.startsWith("data: ")){let K=P.slice(5).trim();if(K==="[DONE]"){b=!0,g.enqueue(p.encode(`data: [DONE]
77
77
 
78
- `));continue}try{let z=JSON.parse(Y);if(z.type==="response.output_text.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:{content:z.delta||""},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
78
+ `));continue}try{let z=JSON.parse(K);if(z.type==="response.output_text.delta"){let Y={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:v(z.type),delta:{content:z.delta||""},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
79
79
 
80
- `))}else if(z.type==="response.output_item.added"&&z.item?.type==="function_call"){let K={id:z.item.call_id||z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:S(z.type),delta:{role:"assistant",tool_calls:[{index:0,id:z.item.call_id||z.item.id,function:{name:z.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
80
+ `))}else if(z.type==="response.output_item.added"&&z.item?.type==="function_call"){let Y={id:z.item.call_id||z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:v(z.type),delta:{role:"assistant",tool_calls:[{index:0,id:z.item.call_id||z.item.id,function:{name:z.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
81
81
 
82
- `))}else if(z.type==="response.output_item.added"&&z.item?.type==="message"){let K=[];(z.item.content||[]).forEach(ee=>{ee.type==="output_text"&&K.push({type:"text",text:ee.text||""})});let Q={role:"assistant"};if(K.length===1&&K[0].type==="text"?Q.content=K[0].text:K.length>0&&(Q.content=K),Q.content){let ee={id:z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:Q,finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(ee)}
82
+ `))}else if(z.type==="response.output_item.added"&&z.item?.type==="message"){let Y=[];(z.item.content||[]).forEach(ee=>{ee.type==="output_text"&&Y.push({type:"text",text:ee.text||""})});let Q={role:"assistant"};if(Y.length===1&&Y[0].type==="text"?Q.content=Y[0].text:Y.length>0&&(Q.content=Y),Q.content){let ee={id:z.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:v(z.type),delta:Q,finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(ee)}
83
83
 
84
- `))}}else if(z.type==="response.output_text.annotation.added"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex",choices:[{index:S(z.type),delta:{annotations:[{type:"url_citation",url_citation:{url:z.annotation?.url||"",title:z.annotation?.title||"",content:"",start_index:z.annotation?.start_index||0,end_index:z.annotation?.end_index||0}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
84
+ `))}}else if(z.type==="response.output_text.annotation.added"){let Y={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex",choices:[{index:v(z.type),delta:{annotations:[{type:"url_citation",url_citation:{url:z.annotation?.url||"",title:z.annotation?.title||"",content:"",start_index:z.annotation?.start_index||0,end_index:z.annotation?.end_index||0}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
85
85
 
86
- `))}else if(z.type==="response.function_call_arguments.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:S(z.type),delta:{tool_calls:[{index:0,function:{arguments:z.delta||""}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
86
+ `))}else if(z.type==="response.function_call_arguments.delta"){let Y={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:v(z.type),delta:{tool_calls:[{index:0,function:{arguments:z.delta||""}}]},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
87
87
 
88
- `))}else if(z.type==="response.completed"){let K=z.response?.output?.some(ee=>ee.type==="function_call")?"tool_calls":"stop",Q={id:z.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:K}]};g.enqueue(p.encode(`data: ${JSON.stringify(Q)}
88
+ `))}else if(z.type==="response.completed"){let Y=z.response?.output?.some(ee=>ee.type==="function_call")?"tool_calls":"stop",Q={id:z.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:Y}]};g.enqueue(p.encode(`data: ${JSON.stringify(Q)}
89
89
 
90
- `)),b=!0}else if(z.type==="response.reasoning_summary_text.delta"){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:S(z.type),delta:{thinking:{content:z.delta||""}},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
90
+ `)),b=!0}else if(z.type==="response.reasoning_summary_text.delta"){let Y={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:v(z.type),delta:{thinking:{content:z.delta||""}},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
91
91
 
92
- `))}else if(z.type==="response.reasoning_summary_part.done"&&z.part){let K={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:A,delta:{thinking:{signature:z.item_id}},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(K)}
92
+ `))}else if(z.type==="response.reasoning_summary_part.done"&&z.part){let Y={id:z.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:z.response?.model,choices:[{index:A,delta:{thinking:{signature:z.item_id}},finish_reason:null}]};g.enqueue(p.encode(`data: ${JSON.stringify(Y)}
93
93
 
94
94
  `))}}catch{g.enqueue(p.encode(P+`
95
95
  `))}}else g.enqueue(p.encode(P+`
96
- `))}catch(Y){console.error("Error processing line:",P,Y),g.enqueue(p.encode(P+`
96
+ `))}catch(K){console.error("Error processing line:",P,K),g.enqueue(p.encode(P+`
97
97
  `))}}m.trim()&&g.enqueue(p.encode(m+`
98
98
  `)),b||g.enqueue(p.encode(`data: [DONE]
99
99
 
100
- `))}catch(T){console.error("Stream error:",T),g.error(T)}finally{try{_.releaseLock()}catch(T){console.error("Error releasing reader lock:",T)}g.close()}}});return new Response(y,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,n){let r={...e};if(delete r.cache_control,e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}async transformResponseIn(e,n){if(e.headers.get("Content-Type")?.includes("text/event-stream")&&e.body){let[o,s]=e.body.tee(),a=o.getReader(),u="";try{let{value:m,done:b}=await a.read();!b&&m&&(u=new TextDecoder().decode(m))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=u.includes("message_start")||u.includes("content_block_start"),d=u.includes("chat.completion.chunk");if(u.includes("response.created")||u.includes("response.output_text.delta")||u.includes("response.in_progress")||u.includes("response.output_item.added"))return new Response(s,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}});if(d&&!l){let m=this.convertOpenAIChatStreamToResponsesAPI(s,n);return new Response(m,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}let p=this.convertAnthropicStreamToResponsesAPI(s,n);return new Response(p,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}try{let o=await e.json();return new Response(JSON.stringify(this.wrapChatInResponses(o)),{headers:{"Content-Type":"application/json"}})}catch{return e}}prependToStream(e,n){let o=new TextEncoder().encode(e),s=n.getReader(),a=!1;return new ReadableStream({async pull(u){a||(a=!0,u.enqueue(o));try{let{done:l,value:d}=await s.read();l?u.close():u.enqueue(d)}catch(l){u.error(l)}},cancel(){s.cancel().catch(()=>{})}})}convertOpenAIChatStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u=0,l=!1,d=!1,f="",p=-1,m=[],b=(y,g)=>o.encode(`event: ${y}
100
+ `))}catch(T){console.error("Stream error:",T),g.error(T)}finally{try{_.releaseLock()}catch(T){console.error("Error releasing reader lock:",T)}g.close()}}});return new Response(y,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,n){let r={...e};if(delete r.cache_control,e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}async transformResponseIn(e,n){if(e.headers.get("Content-Type")?.includes("text/event-stream")&&e.body){let[o,s]=e.body.tee(),a=o.getReader(),u="";try{let{value:m,done:b}=await a.read();!b&&m&&(u=new TextDecoder().decode(m))}finally{a.releaseLock()}o.cancel().catch(()=>{});let l=u.includes("message_start")||u.includes("content_block_start"),f=u.includes("chat.completion.chunk");if(u.includes("response.created")||u.includes("response.output_text.delta")||u.includes("response.in_progress")||u.includes("response.output_item.added"))return new Response(s,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}});if(f&&!l){let m=this.convertOpenAIChatStreamToResponsesAPI(s,n);return new Response(m,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}let p=this.convertAnthropicStreamToResponsesAPI(s,n);return new Response(p,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}try{let o=await e.json();return new Response(JSON.stringify(this.wrapChatInResponses(o)),{headers:{"Content-Type":"application/json"}})}catch{return e}}prependToStream(e,n){let o=new TextEncoder().encode(e),s=n.getReader(),a=!1;return new ReadableStream({async pull(u){a||(a=!0,u.enqueue(o));try{let{done:l,value:f}=await s.read();l?u.close():u.enqueue(f)}catch(l){u.error(l)}},cancel(){s.cancel().catch(()=>{})}})}convertOpenAIChatStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u=0,l=!1,f=!1,d="",p=-1,m=[],b=(y,g)=>o.encode(`event: ${y}
101
101
  data: ${JSON.stringify(g)}
102
102
 
103
- `),w=(y,g=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:y,model:s,output:g,usage:this.buildResponsesUsage()});return new ReadableStream({async start(y){try{let g=e.getReader(),_="",A=!1,C=S=>{if(!A){A=!0;for(let T of m)if(T.type==="function_call"){let R=m.indexOf(T);y.enqueue(b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:T.call_id||T.id,output_index:R,arguments:T.arguments||""})),T.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}for(let T of m)if(T.type==="message"){let R=m.indexOf(T);T.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}y.enqueue(b("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:S?.model||s,output:m.slice(),usage:S?.usage?{...this.buildResponsesUsage(S.usage)}:this.buildResponsesUsage()}}))}};for(;;){let{done:S,value:T}=await g.read();if(S)break;_+=r.decode(T,{stream:!0});let R=_.split(`
104
- `);_=R.pop()||"";for(let $ of R){let V=$.trim();if(!V||V.startsWith("event:")||!V.startsWith("data:"))continue;let P=V.slice(5).trim();if(P==="[DONE]"){C({}),y.enqueue(o.encode(`data: [DONE]
103
+ `),w=(y,g=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:y,model:s,output:g,usage:this.buildResponsesUsage()});return new ReadableStream({async start(y){try{let g=e.getReader(),_="",A=!1,C=v=>{if(!A){A=!0;for(let T of m)if(T.type==="function_call"){let R=m.indexOf(T);y.enqueue(b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:T.call_id||T.id,output_index:R,arguments:T.arguments||""})),T.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}for(let T of m)if(T.type==="message"){let R=m.indexOf(T);T.status="completed",y.enqueue(b("response.output_item.done",{type:"response.output_item.done",output_index:R,item:T}))}y.enqueue(b("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:v?.model||s,output:m.slice(),usage:v?.usage?{...this.buildResponsesUsage(v.usage)}:this.buildResponsesUsage()}}))}};for(;;){let{done:v,value:T}=await g.read();if(v)break;_+=r.decode(T,{stream:!0});let R=_.split(`
104
+ `);_=R.pop()||"";for(let $ of R){let G=$.trim();if(!G||G.startsWith("event:")||!G.startsWith("data:"))continue;let P=G.slice(5).trim();if(P==="[DONE]"){C({}),y.enqueue(o.encode(`data: [DONE]
105
105
 
106
- `));continue}let Y;try{Y=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(b("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(b("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let z=Y.choices?.[0];if(!z)continue;let K=z.delta;if(K?.content){if(!d){d=!0;let Q=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:Q,item:ee}))}y.enqueue(b("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:K.content}))}if(Array.isArray(K?.tool_calls))for(let Q of K.tool_calls){if(Q.id){f=Q.id,p=u++;let ee={id:Q.id,type:"function_call",status:"in_progress",call_id:Q.id,name:Q.function?.name||"",arguments:""};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:p,item:ee}))}if(Q.function?.arguments){y.enqueue(b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f,output_index:p,delta:Q.function.arguments}));let ee=m.find(ae=>ae.call_id===f);ee&&(ee.arguments+=Q.function.arguments)}}z.finish_reason&&C(Y)}}A||C({}),y.close()}catch(g){y.error(g)}}})}convertAnthropicStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u="",l="",d=-1,f="",p="",m="",b=-1,w="",y="",g=-1,_=0,A=!1,C=!1,S=!1,T=!1,R=null,$=[],V=(ee,ae)=>o.encode(`event: ${ee}
107
- data: ${JSON.stringify(ae)}
106
+ `));continue}let K;try{K=JSON.parse(P)}catch{continue}l||(l=!0,y.enqueue(b("response.created",{type:"response.created",response:w("in_progress")})),y.enqueue(b("response.in_progress",{type:"response.in_progress",response:w("in_progress")})));let z=K.choices?.[0];if(!z)continue;let Y=z.delta;if(Y?.content){if(!f){f=!0;let Q=u++,ee={id:`${a}_msg`,type:"message",status:"in_progress",role:"assistant",content:[]};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:Q,item:ee}))}y.enqueue(b("response.output_text.delta",{type:"response.output_text.delta",item_id:`${a}_msg`,output_index:u-1,content_index:0,delta:Y.content}))}if(Array.isArray(Y?.tool_calls))for(let Q of Y.tool_calls){if(Q.id){d=Q.id,p=u++;let ee={id:Q.id,type:"function_call",status:"in_progress",call_id:Q.id,name:Q.function?.name||"",arguments:""};m.push(ee),y.enqueue(b("response.output_item.added",{type:"response.output_item.added",output_index:p,item:ee}))}if(Q.function?.arguments){y.enqueue(b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:d,output_index:p,delta:Q.function.arguments}));let ee=m.find(se=>se.call_id===d);ee&&(ee.arguments+=Q.function.arguments)}}z.finish_reason&&C(K)}}A||C({}),y.close()}catch(g){y.error(g)}}})}convertAnthropicStreamToResponsesAPI(e,n){let r=new TextDecoder,o=new TextEncoder,s=n?.provider?.models?.[0]||"gpt-5.4",a=`resp_${Date.now()}`,u="",l="",f=-1,d="",p="",m="",b=-1,w="",y="",g=-1,_=0,A=!1,C=!1,v=!1,T=!1,R=null,$=[],G=(ee,se)=>o.encode(`event: ${ee}
107
+ data: ${JSON.stringify(se)}
108
108
 
109
- `),P=(ee,ae=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:ae,usage:this.buildResponsesUsage()}),Y=()=>{A||(A=!0,Q.enqueue(V("response.created",{type:"response.created",response:P("in_progress")})),Q.enqueue(V("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},z=(ee,ae)=>{Q.enqueue(V("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...ae,status:"completed"}}))},K=ee=>{if(!T){if(T=!0,C){let ae=$.find(se=>se.type==="message");ae&&(ae.content=[{type:"output_text",text:u}],ae.status="completed")}for(let ae of $)ae.type==="function_call"&&(ae.status="completed");return V("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:s,output:$,usage:ee?{...this.buildResponsesUsage(ee)}:this.buildResponsesUsage()}})}},Q;return new ReadableStream({async start(ee){Q=ee;try{let ae=e.getReader(),se="";for(;;){let{done:G,value:Z}=await ae.read();if(G)break;se+=r.decode(Z,{stream:!0});let ie=se.split(`
110
- `);se=ie.pop()||"";for(let Ue of ie){let Ae=Ue.trim();if(!Ae||Ae.startsWith("event:")||!Ae.startsWith("data:"))continue;let J=Ae.slice(5).trim();if(J==="[DONE]")continue;let ce;try{ce=JSON.parse(J)}catch{continue}if(ce.type==="message_start"&&(a=ce.message?.id||a,Y()),ce.type==="content_block_start"){let te=ce.content_block;if(R=te?.type||null,te?.type==="tool_use"){f=te.id||"",p=te.name||"",m="",b=_++;let Te={id:f,type:"function_call",status:"in_progress",call_id:f,name:p,arguments:""};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:b,item:Te}))}if(te?.type==="thinking"&&(w=te.thinking||"",!S)){S=!0,g=_++,y=`rs_${a}`;let Te={id:y,type:"reasoning",status:"in_progress",summary:[]};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:g,item:Te}))}if(te?.type==="text"&&(u=te?.text||"",!C)){C=!0,d=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:Te}))}}if(ce.type==="content_block_delta"){let te=ce.delta;if(te?.type==="text_delta"){if(!C){C=!0,d=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(V("response.output_item.added",{type:"response.output_item.added",output_index:d,item:Te}))}u+=te.text||"",Q.enqueue(V("response.output_text.delta",{type:"response.output_text.delta",item_id:l,output_index:d,content_index:0,delta:te.text||""}))}te?.type==="thinking_delta"&&(w+=te.thinking||"",Q.enqueue(V("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:y||`rs_${a}`,output_index:g>=0?g:0,summary_index:0,delta:te.thinking||""}))),te?.type==="input_json_delta"&&(m+=te.partial_json||"",Q.enqueue(V("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f||"call_0",output_index:b>=0?b:0,delta:te.partial_json||""})))}if(ce.type==="content_block_stop"){if(R==="tool_use"&&f){Q.enqueue(V("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:f,output_index:b,arguments:m}));let te=$.find(Te=>Te.call_id===f);te&&(te.arguments=m,te.status="completed"),te&&z(b,te)}if(R==="text"&&C){Q.enqueue(V("response.output_text.done",{type:"response.output_text.done",item_id:l,output_index:d,content_index:0,text:u}));let te=$.find(Te=>Te.type==="message");te&&(te.content=[{type:"output_text",text:u}],z(d,te))}if(R==="thinking"&&S){let te=$.find(Te=>Te.type==="reasoning");te&&(te.summary=[{type:"summary_text",text:w}],z(g,te))}R=null}if(ce.type==="message_delta"){let te=K(ce.usage);te&&Q.enqueue(te)}if(ce.type==="message_stop"){let te=K();te&&Q.enqueue(te),Q.enqueue(o.encode(`data: [DONE]
109
+ `),P=(ee,se=[])=>({id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:ee,model:s,output:se,usage:this.buildResponsesUsage()}),K=()=>{A||(A=!0,Q.enqueue(G("response.created",{type:"response.created",response:P("in_progress")})),Q.enqueue(G("response.in_progress",{type:"response.in_progress",response:P("in_progress")})))},z=(ee,se)=>{Q.enqueue(G("response.output_item.done",{type:"response.output_item.done",output_index:ee,item:{...se,status:"completed"}}))},Y=ee=>{if(!T){if(T=!0,C){let se=$.find(ie=>ie.type==="message");se&&(se.content=[{type:"output_text",text:u}],se.status="completed")}for(let se of $)se.type==="function_call"&&(se.status="completed");return G("response.completed",{type:"response.completed",response:{id:a,object:"response",created_at:Math.floor(Date.now()/1e3),status:"completed",model:s,output:$,usage:ee?{...this.buildResponsesUsage(ee)}:this.buildResponsesUsage()}})}},Q;return new ReadableStream({async start(ee){Q=ee;try{let se=e.getReader(),ie="";for(;;){let{done:J,value:Z}=await se.read();if(J)break;ie+=r.decode(Z,{stream:!0});let ce=ie.split(`
110
+ `);ie=ce.pop()||"";for(let je of ce){let we=je.trim();if(!we||we.startsWith("event:")||!we.startsWith("data:"))continue;let V=we.slice(5).trim();if(V==="[DONE]")continue;let ue;try{ue=JSON.parse(V)}catch{continue}if(ue.type==="message_start"&&(a=ue.message?.id||a,K()),ue.type==="content_block_start"){let te=ue.content_block;if(R=te?.type||null,te?.type==="tool_use"){d=te.id||"",p=te.name||"",m="",b=_++;let Te={id:d,type:"function_call",status:"in_progress",call_id:d,name:p,arguments:""};$.push(Te),Q.enqueue(G("response.output_item.added",{type:"response.output_item.added",output_index:b,item:Te}))}if(te?.type==="thinking"&&(w=te.thinking||"",!v)){v=!0,g=_++,y=`rs_${a}`;let Te={id:y,type:"reasoning",status:"in_progress",summary:[]};$.push(Te),Q.enqueue(G("response.output_item.added",{type:"response.output_item.added",output_index:g,item:Te}))}if(te?.type==="text"&&(u=te?.text||"",!C)){C=!0,f=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(G("response.output_item.added",{type:"response.output_item.added",output_index:f,item:Te}))}}if(ue.type==="content_block_delta"){let te=ue.delta;if(te?.type==="text_delta"){if(!C){C=!0,f=_++,l=`${a}_msg`;let Te={id:l,type:"message",status:"in_progress",role:"assistant",content:[]};$.push(Te),Q.enqueue(G("response.output_item.added",{type:"response.output_item.added",output_index:f,item:Te}))}u+=te.text||"",Q.enqueue(G("response.output_text.delta",{type:"response.output_text.delta",item_id:l,output_index:f,content_index:0,delta:te.text||""}))}te?.type==="thinking_delta"&&(w+=te.thinking||"",Q.enqueue(G("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:y||`rs_${a}`,output_index:g>=0?g:0,summary_index:0,delta:te.thinking||""}))),te?.type==="input_json_delta"&&(m+=te.partial_json||"",Q.enqueue(G("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:d||"call_0",output_index:b>=0?b:0,delta:te.partial_json||""})))}if(ue.type==="content_block_stop"){if(R==="tool_use"&&d){Q.enqueue(G("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:d,output_index:b,arguments:m}));let te=$.find(Te=>Te.call_id===d);te&&(te.arguments=m,te.status="completed"),te&&z(b,te)}if(R==="text"&&C){Q.enqueue(G("response.output_text.done",{type:"response.output_text.done",item_id:l,output_index:f,content_index:0,text:u}));let te=$.find(Te=>Te.type==="message");te&&(te.content=[{type:"output_text",text:u}],z(f,te))}if(R==="thinking"&&v){let te=$.find(Te=>Te.type==="reasoning");te&&(te.summary=[{type:"summary_text",text:w}],z(g,te))}R=null}if(ue.type==="message_delta"){let te=Y(ue.usage);te&&Q.enqueue(te)}if(ue.type==="message_stop"){let te=Y();te&&Q.enqueue(te),Q.enqueue(o.encode(`data: [DONE]
111
111
 
112
- `))}}}Y();let me=K();me&&Q.enqueue(me),se="",Q.close()}catch(ae){Q.error(ae)}}})}wrapChatInResponses(e){let n=e?.choices?.[0],r=[],o=[];if(n?.message?.content&&o.push({type:"output_text",text:n.message.content}),r.push({type:"message",role:"assistant",content:o}),Array.isArray(n?.message?.tool_calls))for(let s of n.message.tool_calls)r.push({type:"function_call",id:s.id,call_id:s.id,name:s.function?.name||"",arguments:s.function?.arguments||"{}"});return{id:e.id||`resp_${Date.now()}`,object:"response",model:e.model,output:r,usage:e.usage?{...this.buildResponsesUsage(e.usage)}:void 0}}convertResponseToChat(e){let n=e.output?.find(d=>d.type==="message"),r=e.output?.find(d=>d.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(n&&n.reasoning&&(u={content:n.reasoning}),n&&n.content){let d=[],f=[];if(n.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let m=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});m&&f.push(m)}else if(p.type==="output_image_base64"){let m=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});m&&f.push(m)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.join("")}return r&&(a=[{id:r.call_id||r.id,function:{name:r.name,arguments:r.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:u,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_tokens:this.getCacheCreationInputTokens(e.usage)},cache_read_input_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_input_tokens:this.getCacheCreationInputTokens(e.usage)}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};import{get_encoding as ZC}from"tiktoken";var nc=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},rc=new nc(100);Un();import{readFile as cc}from"fs/promises";import{opendir as ew,stat as tw}from"fs/promises";import{join as lc}from"path";import{CLAUDE_PROJECTS_DIR as op,HOME_DIR as sp}from"@wengine-ai/claude-code-router-shared";import{existsSync as np,mkdirSync as WC,readFileSync as GC,writeFileSync as JC}from"fs";import{join as rp}from"path";import{HOME_DIR as VC}from"@wengine-ai/claude-code-router-shared";var oc=rp(VC,"runtime"),sc=rp(oc,"quota-store.json"),Lr=new Map,ep=!1,KC=null;function ic(t,e){t&&Lr.set(t,{...e,provider:t,capturedAt:Date.now()})}function ac(t){let e=Lr.get(t);return e?{...e}:void 0}function YC(){return Array.from(Lr.values()).map(t=>({...t}))}function QC(){try{if(!np(sc))return;let t=JSON.parse(GC(sc,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>1440*60*1e3)continue;Lr.set(n.provider,n)}}catch{}}function tp(){try{if(Lr.size===0)return;np(oc)||WC(oc,{recursive:!0}),JC(sc,JSON.stringify(Array.from(Lr.values()),null,2),"utf-8")}catch{}}function uc(){ep||(ep=!0,QC(),KC=setInterval(tp,6e4),process.on("exit",tp))}oi();var XC=/^[A-Za-z0-9_-]+$/;function jr(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!XC.test(e)))return e}function No(t){if(!t)return;if(typeof t=="object")return jr(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=jr(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return jr(e.slice(r+n.length))}var En=ZC("cl100k_base"),lp=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=En.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=En.encode(s.text).length:s.type==="tool_use"?r+=En.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=En.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=En.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=En.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=En.encode(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=En.encode(o.name+o.description).length),o.input_schema&&(r+=En.encode(JSON.stringify(o.input_schema)).length)}),r},dp=async(t,e)=>{if(t.sessionId){let n=await pp(t.sessionId);if(n){let r=lc(sp,n,"config.json"),o=lc(sp,n,`${t.sessionId}.json`);try{let s=JSON.parse(await cc(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await cc(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function ii(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function fp(t){let e=ii(t),n=e.includes("[1m]")||e.endsWith("[1m"),r=e.replace(/\[1m\]|\[1m$/g,""),o=r.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:n,isCcrAlias:!0};let s=r.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||r.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:n,isCcrAlias:!1}:{family:null,extended:n,isCcrAlias:!1}}function nw(t,e){if(!e||!t)return null;let n=ii(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=fp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=ii(o);if(a&&n.includes(a))return s}return null}function hp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function ip(t){if(!t?.includes(","))return null;let[e,...n]=t.split(","),r=e.trim(),o=n.join(",").trim();return!r||!o?null:{providerName:r,routeModel:o}}function tt(t,e,n,r,o){let s=ip(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=e.find(p=>p.name.toLowerCase()===a.toLowerCase());if(l&&l.enabled===!1)return null;if(o===!0&&r&&!n){let p=Fo(),m=p.getPromotion(a,u,r,e);if(m){let b=ip(m);if(b){let w=e.find(g=>g.name.toLowerCase()===b.providerName.toLowerCase()),y=w?.models?.find(g=>String(g).toLowerCase()===b.routeModel.toLowerCase());if(w&&y)return`${w.name},${y}`}p.clear(a,u,r)}}if(!n&&!Ye().isAvailable(a,u))return null;let d=ac(a);if(d){let p=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,m=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(p||m)return null}let f=l?.models?.find(p=>String(p).toLowerCase()===u.toLowerCase());return l&&f?`${l.name},${f}`:t}function jt(t,e,n,r,o){let s=Ye(),a=[n?.[t],r?.[t]];for(let u of a)if(!(!Array.isArray(u)||u.length===0))for(let l of u){let d=tt(l,e);if(d)return d}return null}function rw(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(n=>n.type==="image"||n.type==="image_url"||Array.isArray(n?.content)&&n.content.some(r=>r.type==="image"||r.type==="image_url")))}function ow(t){let e=ii(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(r=>r.test(e))}function sw(t,e,n,r,o,s,a,u){let l=n.longContextThreshold||6e4,d=Math.max(e,hp(o)),f=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let w=tt(n.extendedContext,r,!1,"extendedContext",u);if(w)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!1};let y=u?jt("extendedContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>l&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let w=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(w)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!1};let y=u?jt("longContext",r,n.fallback,a,f):null;if(y)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:y,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(w=>w.type?.startsWith("web_search"))&&n.webSearch){let w=tt(n.webSearch,r,!1,"webSearch",u);if(w)return{model:w,scenarioType:"webSearch",isFallback:!1};let y=u?jt("webSearch",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using webSearch fallback model"),{model:y,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let w=tt(n.think,r,!1,"think",u);if(w)return{model:w,scenarioType:"think",isFallback:!1};let y=u?jt("think",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using think fallback model"),{model:y,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let w=tt(n.default,r,!1,"default",u);if(w)return{model:w,scenarioType:"default",isFallback:!1};let y=u?jt("default",r,n.fallback,a,f):null;if(y)return t.log.info("Family: using default fallback model"),{model:y,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var iw=async(t,e,n,r)=>{let o=await dp(t,n),s=n.get("providers")||[],a=o||n.get("Router"),u=a?.enableFallback===!0,l=u?a?.fallback||n.get("fallback"):void 0;if(t.body.model.includes(",")){let A=tt(t.body.model,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return t.log.info(`Using fallback for explicit model: ${C}`),{model:C,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:d,extended:f,isCcrAlias:p}=fp(t.body.model),m=a?.families?.[d||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${d}${f?" (1M)":""}`),t.modelFamily=d,t.familyFallback=m.fallback;let A=sw(t,e,m,s,r,f,l,u);if(A)return{model:A.model,scenarioType:A.scenarioType}}let b=p&&!a?.enableFamilyRouting?null:nw(t.body.model,a?.models);if(b){let A=tt(b,s,!1,"modelMapping",u);if(A)return t.log.info(`Using mapped model for ${t.body.model}: ${b}`),{model:A,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${b} unavailable (fail pool), skipping`)}let w=Math.max(e,hp(r)),y=a?.extendedContextThreshold||2e5;if(w>y&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${w}, estimated: ${e}, threshold: ${y}`);let A=tt(a.extendedContext,s,!1,"extendedContext",u);if(A)return{model:A,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let C=u?jt("extendedContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"extendedContext"}}let g=a?.longContextThreshold||6e4;if(w>g&&a?.longContext){t.log.info(`Using long context model due to token count: ${w}, estimated: ${e}, threshold: ${g}`);let A=tt(a.longContext,s,!1,"longContext",u);if(A)return{model:A,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let C=u?jt("longContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let A=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(A)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${A[1]}</CCR-SUBAGENT-MODEL>`,""),{model:A[1],scenarioType:"default"}}if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&a?.background){t.log.info(`Using background model for ${t.body.model}`);let A=tt(a.background,s,!1,"background",u);if(A)return{model:A,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch){let A=tt(a.webSearch,s,!1,"webSearch",u);if(A)return{model:A,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let C=u?jt("webSearch",s,void 0,l):null;if(C)return{model:C,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let A=tt(a.think,s,!1,"think",u);if(A)return{model:A,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let C=u?jt("think",s,void 0,l):null;if(C)return{model:C,scenarioType:"think"}}if(a?.default){let A=tt(a.default,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return{model:C,scenarioType:"default"};let S=tt(a.default,s,!0,"default",u);if(S)return t.log.warn(`No fallback available; retrying default model ${a.default} despite fail-pool state`),{model:S,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Bo=async(t,e,n)=>{let{configService:r,event:o}=n;t.originalModel=t.body.model;let s=No(t.body.metadata?.user_id);s&&(t.sessionId=s);let u=await dp(t,r)||r.get("Router"),l=u?.enableFallback===!0,d=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let f=rc.get(t.sessionId),{messages:p,system:m=[],tools:b}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await cc(w,"utf-8");m[1].text=`${y}<env>${m[1].text.split("<env>").pop()}`}try{let[y,g]=t.body.model.split(","),_=n.tokenizerService?.getTokenizerConfigForModel(y,g),A;n.tokenizerService?A=(await n.tokenizerService.countTokens({messages:p,system:m,tools:b},_)).tokenCount:A=lp(p,m,b),t.tokenCount=A;let C,S=r.get("CUSTOM_ROUTER_PATH");if(S)try{C=await re(S)(t,r.getAll(),{event:o})}catch(T){t.log.error(`failed to load custom router: ${T.message}`)}if(C)t.scenarioType="default";else{let T=await iw(t,A,r,f);C=T.model,t.scenarioType=T.scenarioType}if(u?.image&&C!==u.image&&rw(t)&&!ow(C)){let T=tt(u.image,d,!1,"image",l);T?(t.log.info(`Using image model fallback for ${C}`),C=T,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${C}`),t.scenarioType="image")}t.body.model=C}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,ap=1e3,Ur=new Set,up=1e3,aw=3,uw=50,cw=t=>new Promise(e=>setTimeout(e,t));function lw(){if(lr.size<=ap)return;let t=[...lr.keys()].slice(0,lr.size-ap);for(let e of t)lr.delete(e)}function dw(){if(Ur.size<=up)return;let t=[...Ur].slice(0,Ur.size-up);for(let e of t)Ur.delete(e)}var cp=async t=>{let e=await ew(op),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=lc(op,s,`${t}.jsonl`);try{return(await tw(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return s;return null},pp=async t=>{let e=jr(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await cp(e);if(!n&&!Ur.has(e)){Ur.add(e),dw();for(let r=0;r<aw&&!n;r++)await cw(uw),n=await cp(e)}return n?(lr.set(e,n),lw(),n):null}catch(n){return console.error("Error searching for project by session:",n),null}};var fw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function mp(t){let e=[],n=Array.isArray(t.input)?t.input:[t.input];for(let r of n)if(r.type==="function_call")e.push({role:"assistant",tool_calls:[{id:r.call_id,type:"function",function:{name:r.name,arguments:r.arguments||"{}"}}]});else if(r.type==="function_call_output")e.push({role:"tool",tool_call_id:r.call_id,content:typeof r.output=="string"?r.output:JSON.stringify(r.output)});else if(r.type==="reasoning"){let o=Array.isArray(r.summary)?r.summary.filter(s=>s.type==="summary_text"&&s.text).map(s=>s.text).join(`
112
+ `))}}}K();let pe=Y();pe&&Q.enqueue(pe),ie="",Q.close()}catch(se){Q.error(se)}}})}wrapChatInResponses(e){let n=e?.choices?.[0],r=[],o=[];if(n?.message?.content&&o.push({type:"output_text",text:n.message.content}),r.push({type:"message",role:"assistant",content:o}),Array.isArray(n?.message?.tool_calls))for(let s of n.message.tool_calls)r.push({type:"function_call",id:s.id,call_id:s.id,name:s.function?.name||"",arguments:s.function?.arguments||"{}"});return{id:e.id||`resp_${Date.now()}`,object:"response",model:e.model,output:r,usage:e.usage?{...this.buildResponsesUsage(e.usage)}:void 0}}convertResponseToChat(e){let n=e.output?.find(f=>f.type==="message"),r=e.output?.find(f=>f.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(f=>({type:"url_citation",url_citation:{url:f.url||"",title:f.title||"",content:"",start_index:f.start_index||0,end_index:f.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,u=null;if(n&&n.reasoning&&(u={content:n.reasoning}),n&&n.content){let f=[],d=[];if(n.content.forEach(p=>{if(p.type==="output_text")f.push(p.text||"");else if(p.type==="output_image"){let m=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});m&&d.push(m)}else if(p.type==="output_image_base64"){let m=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});m&&d.push(m)}}),d.length>0){let p=[];f.length>0&&p.push({type:"text",text:f.join("")}),p.push(...d),s=p}else s=f.join("")}return r&&(a=[{id:r.call_id||r.id,function:{name:r.name,arguments:r.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:u,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_tokens:this.getCacheCreationInputTokens(e.usage)},cache_read_input_tokens:this.getCacheReadInputTokens(e.usage),cache_creation_input_tokens:this.getCacheCreationInputTokens(e.usage)}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};import{get_encoding as tw}from"tiktoken";var rc=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},oc=new rc(100);Un();import{readFile as dc}from"fs/promises";import{opendir as nw,stat as rw}from"fs/promises";import{join as fc}from"path";import{CLAUDE_PROJECTS_DIR as ip,HOME_DIR as ap}from"@wengine-ai/claude-code-router-shared";import{existsSync as op,mkdirSync as JC,readFileSync as VC,writeFileSync as KC}from"fs";import{join as sp}from"path";import{HOME_DIR as YC}from"@wengine-ai/claude-code-router-shared";var sc=sp(YC,"runtime"),ic=sp(sc,"quota-store.json"),jr=new Map,np=!1,QC=null;function ac(t,e){t&&jr.set(t,{...e,provider:t,capturedAt:Date.now()})}function uc(t){let e=jr.get(t);return e?{...e}:void 0}function XC(){return Array.from(jr.values()).map(t=>({...t}))}function ZC(){try{if(!op(ic))return;let t=JSON.parse(VC(ic,"utf-8"));if(!Array.isArray(t))return;let e=Date.now();for(let n of t)if(n&&n.provider){if(n.capturedAt&&e-n.capturedAt>1440*60*1e3)continue;jr.set(n.provider,n)}}catch{}}function rp(){try{if(jr.size===0)return;op(sc)||JC(sc,{recursive:!0}),KC(ic,JSON.stringify(Array.from(jr.values()),null,2),"utf-8")}catch{}}function cc(){np||(np=!0,ZC(),QC=setInterval(rp,6e4),process.on("exit",rp))}si();var ew=/^[A-Za-z0-9_-]+$/;function Ur(t){if(typeof t!="string")return;let e=t.trim();if(!(!e||!ew.test(e)))return e}function No(t){if(!t)return;if(typeof t=="object")return Ur(t.session_id??t.sessionId);if(typeof t!="string")return;let e=t.trim();if(!e)return;try{let o=JSON.parse(e),s=Ur(o?.session_id??o?.sessionId);if(s)return s}catch{}let n="_session_",r=e.lastIndexOf(n);if(r!==-1)return Ur(e.slice(r+n.length))}var En=tw("cl100k_base"),dp=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=En.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=En.encode(s.text).length:s.type==="tool_use"?r+=En.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=En.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=En.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=En.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=En.encode(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=En.encode(o.name+o.description).length),o.input_schema&&(r+=En.encode(JSON.stringify(o.input_schema)).length)}),r},fp=async(t,e)=>{if(t.sessionId){let n=await mp(t.sessionId);if(n){let r=fc(ap,n,"config.json"),o=fc(ap,n,`${t.sessionId}.json`);try{let s=JSON.parse(await dc(o,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}try{let s=JSON.parse(await dc(r,"utf8"));if(s&&s.Router&&Object.keys(s.Router).length>0)return s.Router}catch{}}}};function ai(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function hp(t){let e=ai(t),n=e.includes("[1m]")||e.endsWith("[1m"),r=e.replace(/\[1m\]|\[1m$/g,""),o=r.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:n,isCcrAlias:!0};let s=r.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||r.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:n,isCcrAlias:!1}:{family:null,extended:n,isCcrAlias:!1}}function ow(t,e){if(!e||!t)return null;let n=ai(t);if(e[t])return e[t];if(e[n])return e[n];let{family:r}=hp(t);if(r&&e[r])return e[r];for(let[o,s]of Object.entries(e)){let a=ai(o);if(a&&n.includes(a))return s}return null}function pp(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function lc(t){if(!t?.includes(","))return null;let[e,...n]=t.split(","),r=e.trim(),o=n.join(",").trim();return!r||!o?null:{providerName:r,routeModel:o}}function Bo(t,e,n){let r=t.find(s=>s.name.toLowerCase()===e.toLowerCase());if(!r||r.enabled===!1)return null;let o=r.models?.find(s=>String(s).toLowerCase()===n.toLowerCase());return o?{provider:r,model:String(o)}:null}function tt(t,e,n,r,o){let s=lc(t);if(!s)return t;let{providerName:a,routeModel:u}=s,l=Bo(e,a,u);if(!l){if(o===!0&&r&&!n){let d=Br(),p=d.getPromotion(a,u,r,e);if(p){let m=lc(p);if(m){let b=Bo(e,m.providerName,m.routeModel);if(b)return`${b.provider.name},${b.model}`}d.clear(a,u,r)}}return null}if(o===!0&&r&&!n){let d=Br(),p=d.getPromotion(a,u,r,e);if(p){let m=lc(p);if(m){let b=Bo(e,m.providerName,m.routeModel);if(b)return`${b.provider.name},${b.model}`}d.clear(a,u,r)}}if(!n&&!Ye().isAvailable(l.provider.name,l.model))return null;let f=uc(l.provider.name);if(f){let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,p=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||p)return null}return`${l.provider.name},${l.model}`}function jt(t,e,n,r,o){let s=Ye(),a=[n?.[t],r?.[t]];for(let u of a)if(!(!Array.isArray(u)||u.length===0))for(let l of u){let f=tt(l,e);if(f)return f}return null}function sw(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(n=>n.type==="image"||n.type==="image_url"||Array.isArray(n?.content)&&n.content.some(r=>r.type==="image"||r.type==="image_url")))}function iw(t){let e=ai(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(r=>r.test(e))}function aw(t,e,n,r,o,s,a,u,l){let f=n.longContextThreshold??l??6e4,d=Math.max(e,pp(o)),p=t.modelFamily;if((s||d>2e5)&&n.extendedContext){let y=tt(n.extendedContext,r,!1,"extendedContext",u);if(y)return t.log.info(`Family: using extended context model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:y,scenarioType:"extendedContext",isFallback:!1};let g=u?jt("extendedContext",r,n.fallback,a,p):null;if(g)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${d}, estimated: ${e}, explicit: ${s}`),{model:g,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(d>f&&(n.longContext||n.fallback?.longContext?.length||a?.longContext?.length)){let y=n.longContext?tt(n.longContext,r,!1,"longContext",u):null;if(y)return t.log.info(`Family: using long context model, tokens: ${d}, estimated: ${e}`),{model:y,scenarioType:"longContext",isFallback:!1};let g=u?jt("longContext",r,n.fallback,a,p):null;if(g)return t.log.info(`Family: using long context fallback model, tokens: ${d}, estimated: ${e}`),{model:g,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(y=>y.type?.startsWith("web_search"))&&n.webSearch){let y=tt(n.webSearch,r,!1,"webSearch",u);if(y)return{model:y,scenarioType:"webSearch",isFallback:!1};let g=u?jt("webSearch",r,n.fallback,a,p):null;if(g)return t.log.info("Family: using webSearch fallback model"),{model:g,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking?.type==="enabled"&&n.think){let y=tt(n.think,r,!1,"think",u);if(y)return{model:y,scenarioType:"think",isFallback:!1};let g=u?jt("think",r,n.fallback,a,p):null;if(g)return t.log.info("Family: using think fallback model"),{model:g,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(n.default){let y=tt(n.default,r,!1,"default",u);if(y)return{model:y,scenarioType:"default",isFallback:!1};let g=u?jt("default",r,n.fallback,a,p):null;if(g)return t.log.info("Family: using default fallback model"),{model:g,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var uw=async(t,e,n,r)=>{let o=await fp(t,n),s=n.get("providers")||[],a=o||n.get("Router"),u=a?.enableFallback===!0,l=u?a?.fallback||n.get("fallback"):void 0;if(t.body.model.includes(",")){let A=tt(t.body.model,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return t.log.info(`Using fallback for explicit model: ${C}`),{model:C,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:f,extended:d,isCcrAlias:p}=hp(t.body.model),m=a?.families?.[f||""];if(m&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${f}${d?" (1M)":""}`),t.modelFamily=f,t.familyFallback=m.fallback;let A=aw(t,e,m,s,r,d,l,u,a?.longContextThreshold);if(A)return{model:A.model,scenarioType:A.scenarioType}}let b=p&&!a?.enableFamilyRouting?null:ow(t.body.model,a?.models);if(b){let A=tt(b,s,!1,"modelMapping",u);if(A)return t.log.info(`Using mapped model for ${t.body.model}: ${b}`),{model:A,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${b} unavailable (fail pool), skipping`)}let w=Math.max(e,pp(r)),y=a?.extendedContextThreshold||2e5;if(w>y&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${w}, estimated: ${e}, threshold: ${y}`);let A=tt(a.extendedContext,s,!1,"extendedContext",u);if(A)return{model:A,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let C=u?jt("extendedContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"extendedContext"}}let g=a?.longContextThreshold||6e4;if(w>g&&a?.longContext){t.log.info(`Using long context model due to token count: ${w}, estimated: ${e}, threshold: ${g}`);let A=tt(a.longContext,s,!1,"longContext",u);if(A)return{model:A,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let C=u?jt("longContext",s,void 0,l):null;if(C)return{model:C,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let A=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(A)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${A[1]}</CCR-SUBAGENT-MODEL>`,""),{model:A[1],scenarioType:"default"}}if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&a?.background){t.log.info(`Using background model for ${t.body.model}`);let A=tt(a.background,s,!1,"background",u);if(A)return{model:A,scenarioType:"background"};t.log.warn(`Background model ${a.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&a?.webSearch){let A=tt(a.webSearch,s,!1,"webSearch",u);if(A)return{model:A,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let C=u?jt("webSearch",s,void 0,l):null;if(C)return{model:C,scenarioType:"webSearch"}}if(t.body.thinking?.type==="enabled"&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let A=tt(a.think,s,!1,"think",u);if(A)return{model:A,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let C=u?jt("think",s,void 0,l):null;if(C)return{model:C,scenarioType:"think"}}if(a?.default){let A=tt(a.default,s,!1,"default",u);if(A)return{model:A,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let C=u?jt("default",s,void 0,l):null;if(C)return{model:C,scenarioType:"default"};let v=tt(a.default,s,!0,"default",u);if(v)return t.log.warn(`No fallback available; retrying default model ${a.default} despite fail-pool state`),{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Mo=async(t,e,n)=>{let{configService:r,event:o}=n;t.originalModel=t.body.model;let s=No(t.body.metadata?.user_id);s&&(t.sessionId=s);let u=await fp(t,r)||r.get("Router"),l=u?.enableFallback===!0,f=r.get("providers")||[];t.enableFallback=l,t.fallbackConfig=u?.fallback||r.get("fallback");let d=oc.get(t.sessionId),{messages:p,system:m=[],tools:b}=t.body,w=r.get("REWRITE_SYSTEM_PROMPT");if(w&&m.length>1&&m[1]?.text?.includes("<env>")){let y=await dc(w,"utf-8");m[1].text=`${y}<env>${m[1].text.split("<env>").pop()}`}try{let[y,g]=t.body.model.split(","),_=n.tokenizerService?.getTokenizerConfigForModel(y,g),A;n.tokenizerService?A=(await n.tokenizerService.countTokens({messages:p,system:m,tools:b},_)).tokenCount:A=dp(p,m,b),t.tokenCount=A;let C,v=r.get("CUSTOM_ROUTER_PATH");if(v)try{C=await re(v)(t,r.getAll(),{event:o})}catch(T){t.log.error(`failed to load custom router: ${T.message}`)}if(C)t.scenarioType="default";else{let T=await uw(t,A,r,d);C=T.model,t.scenarioType=T.scenarioType}if(u?.image&&C!==u.image&&sw(t)&&!iw(C)){let T=tt(u.image,f,!1,"image",l);T?(t.log.info(`Using image model fallback for ${C}`),C=T,t.scenarioType="image"):(t.log.warn(`Image model ${u.image} unavailable (fail pool), keeping ${C}`),t.scenarioType="image")}typeof C=="string"&&C.trim()?t.body.model=C:(t.log.warn(`Router could not resolve a valid model for ${t.originalModel||t.body.model}; keeping original request model`),t.scenarioType=t.scenarioType||"default")}catch(y){t.log.error(`Error in router middleware: ${y.message}`),t.body.model=u?.default,t.scenarioType="default"}},lr=new Map,up=1e3,$r=new Set,cp=1e3,cw=3,lw=50,dw=t=>new Promise(e=>setTimeout(e,t));function fw(){if(lr.size<=up)return;let t=[...lr.keys()].slice(0,lr.size-up);for(let e of t)lr.delete(e)}function hw(){if($r.size<=cp)return;let t=[...$r].slice(0,$r.size-cp);for(let e of t)$r.delete(e)}var lp=async t=>{let e=await nw(ip),n=[];for await(let s of e)s.isDirectory()&&n.push(s.name);let r=n.map(async s=>{let a=fc(ip,s,`${t}.jsonl`);try{return(await rw(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(r);for(let s of o)if(s)return s;return null},mp=async t=>{let e=Ur(t);if(!e)return null;if(lr.has(e))return lr.get(e)||null;try{let n=await lp(e);if(!n&&!$r.has(e)){$r.add(e),hw();for(let r=0;r<cw&&!n;r++)await dw(lw),n=await lp(e)}return n?(lr.set(e,n),fw(),n):null}catch(n){return console.error("Error searching for project by session:",n),null}};var pw=/^ccr-(opus|sonnet|haiku)(\[1m\])?$/i;function gp(t){let e=[],n=Array.isArray(t.input)?t.input:[t.input];for(let r of n)if(r.type==="function_call")e.push({role:"assistant",tool_calls:[{id:r.call_id,type:"function",function:{name:r.name,arguments:r.arguments||"{}"}}]});else if(r.type==="function_call_output")e.push({role:"tool",tool_call_id:r.call_id,content:typeof r.output=="string"?r.output:JSON.stringify(r.output)});else if(r.type==="reasoning"){let o=Array.isArray(r.summary)?r.summary.filter(s=>s.type==="summary_text"&&s.text).map(s=>s.text).join(`
113
113
  `):"";o&&e.push({role:"assistant",content:[{type:"text",text:`[reasoning]
114
- ${o}`}],_reasoningItem:!0})}else if(r.role){let o=r.content;Array.isArray(o)&&(o=o.map(s=>s.type==="input_text"?{type:"text",text:s.text}:s.type==="output_text"?{type:"text",text:s.text}:s.type==="input_image"?{type:"image_url",image_url:{url:s.image_url},media_type:s.mime_type}:s)),e.push({role:r.role,content:o})}t.messages=e,delete t.input,t.instructions&&typeof t.instructions=="string"&&(t.system=t.instructions,delete t.instructions),Array.isArray(t.tools)&&(t.tools=t.tools.filter(r=>r&&typeof r=="object").map(r=>r.type==="function"&&r.name&&!r.function?{type:"function",function:{name:r.name,description:r.description||"",parameters:r.parameters||{type:"object",properties:{}}}}:r.function?.name?r:r.type==="web_search"?{type:"function",function:{name:"web_search",description:"Search the web",parameters:{type:"object",properties:{query:{type:"string"}}}}}:null).filter(Boolean)),t.reasoning&&typeof t.reasoning=="object"&&(t.reasoning={enabled:!0,effort:t.reasoning.effort}),delete t.store,delete t.previous_response_id,delete t.include}async function gp(t,e,n,r){let o=t.body;r.endPoint==="/v1/responses"&&o?.input&&!o?.messages&&mp(o),r.endPoint==="/v1/responses"&&!t.provider&&typeof o?.model=="string"&&fw.test(o.model)&&await Bo(t,e,{configService:n.configService,tokenizerService:n.tokenizerService});let s=t.provider;if(!s&&o?.model){let d=o.model.split(",");d.length>1&&(s=d[0],o.model=d.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let d=n.providerService.resolveModelRoute(o.model);d&&(a=d.provider,o.model=d.targetModel)}if(!a&&o?.model){let f=n.configService.get("Router")?.default;if(f&&f.includes(",")){let[p,...m]=f.split(","),b=n.providerService.getProvider(p);b&&(a=b,o.model=m.join(","))}}if(t.originalModel||(t.originalModel=o?.model),!a)throw He(`Provider '${s}' not found`,404,"provider_not_found");t.provider=a.name||s;let u=mw(t),l=r.endPoint==="/v1/messages"&&u;u&&e.header("X-Codex-Detected","true"),l&&e.header("X-Codex-On-Messages","true"),t.isCodexOnMessagesEndpoint=l,t.codexDetected=u;try{r.endPoint==="/v1/responses"&&o.input&&!o.messages&&mp(o);let{requestBody:d,config:f,bypass:p}=await yp(o,a,r,t.headers,{req:t});if(d?.messages&&!p&&!t.isTargetAnthropic){let y=d.messages,g=new Set,_=[],A=[];for(let C of y){if(C?.role!=="system"){A.push(C);continue}let S=JSON.stringify(C.content??"");g.has(S)||(g.add(S),_.push(C))}_.length>0&&A.length>0&&(d.messages=[..._,...A])}let m=await _p(d,f,a,n,p,r,{req:t});try{a?.baseUrl&&m?.headers&&Io(s,a.baseUrl,m.headers)}catch{}let b=await bp(d,m,a,r,p,{req:t,isCodexOnMessagesEndpoint:l});if(o.stream&&b?.body){let y=b.body.getReader(),g=await y.read();if(g.done)throw y.releaseLock(),He(`Provider returned empty streaming response from ${s}`,400,"provider_response_error");let _=new TextDecoder().decode(g.value);if(_.includes("event: error")){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned error in SSE stream: ${S}`,400,"provider_response_error")}if(_.split(`
115
- `).filter(S=>S.startsWith("data:")&&S.trim().length>5).length===0){y.releaseLock();let S=_.length<500?_:_.slice(0,500);throw He(`Provider ${s} returned streaming response with no SSE data lines: ${S}`,400,"provider_response_error")}let C=new ReadableStream({start:S=>{S.enqueue(g.value);let T=()=>{y.read().then(({done:R,value:$})=>{R?S.close():(S.enqueue($),T())}).catch(R=>S.error(R))};T()},cancel:()=>{y.cancel()}});b=new Response(C,{headers:b.headers,status:b.status,statusText:b.statusText})}let w=Cp(b,e,o,n);try{let y=o.model||t.originalModel;s&&y&&Ye().recordSuccess(s,y)}catch{}return w}catch(d){if(!t.__retryAttempted){t.__retryAttempted=!0;try{return await gp(t,e,n,r)}catch(p){if(t.__fallbackExhausted)throw p;d=p}}let f=await hw(t,e,n,r,d);if(f)return f;throw t.__fallbackExhausted=!0,d}}async function hw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),d=Ye(),f=t.provider||"",p=t.body.model||"",m=new Set,b=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&ai(o.rawBody)||o?.message&&ai(o.message);if(f&&p&&(b?(d.markRateLimited(f,p,120,o?.message),t.log.warn(`Primary model ${f},${p} rate-limited, will try fallbacks`)):d.recordFailure(f,p,o?.message),m.add(`${f},${p}`),n.recordUsage?.({provider:f,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})),!(t.enableFallback??n.configService.get("Router")?.enableFallback===!0))return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let y=A=>{let[C,...S]=A.split(","),T=C?.trim(),R=S.join(",").trim();return!T||!R?null:{provider:T,model:R,key:`${T},${R}`}},g=[];if(u){let A=a?.[s];Array.isArray(A)&&A.length>0?g.push({name:`${u}/${s}`,models:A}):t.log.warn(`No ${u} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&g.push({name:`global/${s}`,models:l[s]}),g.length===0&&s!=="image"&&t.body?.messages?.some(S=>S.role==="user"&&Array.isArray(S.content)&&S.content.some(T=>T.type==="image"||T.type==="image_url"||Array.isArray(T?.content)&&T.content.some(R=>R.type==="image"||R.type==="image_url")))&&Array.isArray(l?.image)&&l.image.length>0&&(t.log.info(`No fallback for scenario '${s}', but request has images \u2014 trying fallback.image`),g.push({name:"global/image (auto-detected)",models:l.image})),g.length===0)return null;let _=g.reduce((A,C)=>A+C.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let A of g){t.log.info(`Trying ${A.name} fallback stage with ${A.models.length} models`);for(let C of A.models){let S=y(C);if(!S){t.log.warn(`Fallback model '${C}' is invalid, skipping`);continue}if(m.has(S.key))continue;m.add(S.key);let T=S.provider,R=S.model;try{if(!d.isAvailable(T,R)){t.log.warn(`Fallback model ${C} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${C}`);let $={...t.body};$.model=R;let V={...t,provider:T,body:$},P=n.providerService.getProvider(T);if(!P){t.log.warn(`Fallback provider '${T}' not found, skipping`);continue}if(P.enabled===!1){t.log.warn(`Fallback provider '${T}' is disabled, skipping`);continue}let{requestBody:Y,config:z,bypass:K}=await yp($,P,r,t.headers,{req:V}),Q=await _p(Y,z,P,n,K,r,{req:V});try{P?.baseUrl&&Q?.headers&&Io(T,P.baseUrl,Q.headers)}catch{}let ee=await bp(Y,Q,P,r,K,{req:V,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return t.log.info(`Fallback model ${C} succeeded`),d.recordSuccess(T,R),f&&p&&(Fo().promote(f,p,s,T,R),t.log.info(`Promoted fallback model ${T},${R} for ${f},${p}:${s}`),b?t.log.info(`Rate-limited original model ${f},${p} already marked unavailable with cooldown`):(d.forceOpen(f,p,o?.message),t.log.info(`Marked original model ${f},${p} as unavailable`))),t.provider=T,t.body=$,Cp(ee,e,$,n)}catch($){d.recordFailure(T,R,$.message),t.log.warn(`Fallback model ${S.key} failed: ${$.message}`),n.recordUsage?.({provider:T,model:R,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:$.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream,req:t});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function yp(t,e,n,r,o){let s=JSON.parse(JSON.stringify(t)),a=s?.system;if(typeof a=="string"&&a.includes("cch="))s.system=a.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");else if(Array.isArray(a))for(let d=0;d<a.length;d++){let f=a[d],p=typeof f=="string"?f:f?.text??"";if(p.includes("cch=")){let m=p.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof f=="string"?a[d]=m:typeof f?.text=="string"&&(f.text=m)}}let u={},l=!1;if(l=pw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let d=await n.transformRequestOut(s);d.body?(s=d.body,u=d.config||{}):s=d}if(!l&&e.transformer?.use?.length)for(let d of e.transformer.use){if(!d||typeof d.transformRequestIn!="function")continue;let f=await d.transformRequestIn(s,e,o);f.body?(s=f.body,u={...u,...f.config}):s=f}if(!l&&e.transformer?.[t.model]?.use?.length)for(let d of e.transformer[t.model].use)!d||typeof d.transformRequestIn!="function"||(s=await d.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function pw(t,e,n){return e.endPoint==="/v1/chat/completions"&&Array.isArray(n?.system)?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[n.model]?.use.length||t.transformer?.[n.model]?.use.length===1&&t.transformer?.[n.model]?.use[0].name===e.name)}function mw(t){let e=t.headers||{},n=e["x-anthropic-billing-header"]||"";if(typeof n=="string"&&n.includes("cc_version="))return!1;let r=e["user-agent"]||"";if(typeof r=="string"&&/codex/i.test(r))return!0;let o=t.pathname||t.url||"";if(typeof o=="string"&&o.split("?",1)[0].endsWith("/v1/responses"))return!0;let s=t.originalModel||t.body?.model||"";return typeof s=="string"&&s.toLowerCase()==="ccr-codex"}async function _p(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let f=r.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,n);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];ti(r.configService)&&$h(r.log,a.req.id,{url:String(u),headers:l,body:t});let d=await Bh(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!d.ok){let f=await d.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${d.status}): ${f}`);let p=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.isRateLimit=d.status===429||ai(f),p.rawBody=f,p}if(d.ok){let f=d.headers.get("content-type")||"",p=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${p} contentType=${f} ok=${d.ok} status=${d.status} hasBody=${!!d.body}`),!p||f.includes("application/json")){let m=d.clone(),b="";try{if(b=await m.text(),!b||b.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(b);if(w&&typeof w=="object"&&w.error&&(typeof w.error=="string"||typeof w.error=="object"&&Object.keys(w.error).length>0)){r.log.error(`[provider_response_error] Hidden error from provider(${n.name},${t.model}: ${d.status}): ${b}`);let g=ai(b),_=He(`Error from provider(${n.name},${t.model}: ${d.status}): ${b}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=b,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${b}"`);let y=He(`API returned an empty or malformed response (HTTP 200) from ${n.name} \u2014 check for a proxy or gateway intercepting the request`,400,"provider_response_error");throw y.rawBody=b,y}throw w}}}if(!t.stream&&ti(r.configService)){let p=await d.clone().text();qh(r.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function bp(t,e,n,r,o,s){let a=e;if(!o&&n.transformer?.use?.length)for(let u of Array.from(n.transformer.use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&n.transformer?.[t.model]?.use?.length)for(let u of Array.from(n.transformer[t.model].use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&r.transformResponseIn&&(s.provider||(s.provider=n),a=await r.transformResponseIn(a,s)),s?.isCodexOnMessagesEndpoint)try{a=await new Mr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function Cp(t,e,n,r){if(t.ok||e.code(t.status),n.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&ti(r.configService)){let[s,a]=t.body.tee(),u=jh(r.configService);return zh(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var dc=async t=>{t.get("/",async()=>({message:"LLMs API",version:ri})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Ye().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError,rateLimitUntil:o.rateLimitUntil??null})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:n}of e)n.endPoint&&t.post(n.endPoint,async(r,o)=>gp(r,o,t,n));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(n,r)=>{let{name:o,baseUrl:s,apiKey:a,models:u}=n.body;if(!o?.trim())throw He("Provider name is required",400,"invalid_request");if(!s||!gw(s))throw He("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw He("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw He("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(n.body.name))throw He(`Provider with name '${n.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(n.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{let r=t.providerService.getProvider(n.params.id);if(!r)throw He("Provider not found",404,"provider_not_found");return r}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(n,r)=>{let o=t.providerService.updateProvider(n.params.id,n.body);if(!o)throw He("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{if(!t.providerService.deleteProvider(n.params.id))throw He("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(n,r)=>{if(!t.providerService.toggleProvider(n.params.id,n.body.enabled))throw He("Provider not found",404,"provider_not_found");return{message:`Provider ${n.body.enabled?"enabled":"disabled"} successfully`}})};function ai(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("rate_limit")||e.includes("rate_limit_error")||e.includes("too many requests")||e.includes("too many")||e.includes("quota exhausted")||e.includes("qps_limit")||e.includes("token_limit")||e.includes("\u9650\u6D41")||e.includes("\u9891\u7387\u9650\u5236")}function gw(t){try{return new URL(t),!0}catch{return!1}}var $r=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],quotaToken:n.quota_token,transformer:n.transformer?r:void 0,cacheMode:n.cache_mode||"exclusive",enabled:n.enabled!==!1,wakeupEnabled:n.wakeup_enabled===!0,wakeupTime:n.wakeup_time||"06:00",wakeupModel:n.wakeup_model||""}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}registerProvider(e){let n={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let a=`${r.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let a=`${r.name},${s}`,u={provider:r.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){let r=this.providers.get(e);if(!r)return!1;r.enabled=n;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=n)}return!0}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var Qe=[];for(let t=0;t<256;++t)Qe.push((t+256).toString(16).slice(1));function wp(t,e=0){return(Qe[t[e+0]]+Qe[t[e+1]]+Qe[t[e+2]]+Qe[t[e+3]]+"-"+Qe[t[e+4]]+Qe[t[e+5]]+"-"+Qe[t[e+6]]+Qe[t[e+7]]+"-"+Qe[t[e+8]]+Qe[t[e+9]]+"-"+Qe[t[e+10]]+Qe[t[e+11]]+Qe[t[e+12]]+Qe[t[e+13]]+Qe[t[e+14]]+Qe[t[e+15]]).toLowerCase()}import{randomFillSync as yw}from"crypto";var ci=new Uint8Array(256),ui=ci.length;function fc(){return ui>ci.length-16&&(yw(ci),ui=0),ci.slice(ui,ui+=16)}import{randomUUID as _w}from"crypto";var hc={randomUUID:_w};function bw(t,e,n){if(hc.randomUUID&&!e&&!t)return hc.randomUUID();t=t||{};let r=t.random??t.rng?.()??fc();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return wp(r)}var Ut=bw;var Ep=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var kp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function Cw(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function Ap(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(b=>{if(typeof b=="string"){n.push({type:"text",text:b});return}b&&typeof b=="object"&&b.type==="text"&&b.text&&n.push({...b})})},o=()=>{let m=new Map;for(let b=0;b<n.length;b++){let w=n[b],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,b);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(b,1),b--}};t.messages.forEach(m=>{m.role==="system"?r(m.content):e.push(m)}),o();let s=[];for(let m=0;m<e.length;m++){let b=e[m];if(b.role==="tool"){let w=b.content;try{typeof b.content=="string"&&(w=JSON.parse(b.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:b.tool_call_id,content:w};b.cache_control&&(y.cache_control=b.cache_control);let g=s[s.length-1];g&&g.role==="user"&&Array.isArray(g.content)?g.content.push(y):s.push({role:"user",content:[y]})}else if(b.role==="user"){let w=[];typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&b.content.forEach(g=>{g&&typeof g=="object"&&g.type==="image_url"&&g.image_url?.url?w.push({type:"image",source:{type:"base64",media_type:g.media_type||"image/jpeg",data:g.image_url.url.split(",")[1]||g.image_url.url}}):w.push(g)});let y=s[s.length-1];y&&y.role==="user"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"user",content:w.length>0?w:[{type:"text",text:" "}]})}else if(b.role==="assistant"){let w=[];b.content&&(typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&w.push(...b.content)),b.tool_calls&&b.tool_calls.length>0&&b.tool_calls.forEach(g=>{let _={};try{_=JSON.parse(g.function.arguments)}catch{_=g.function.arguments}w.push({type:"tool_use",id:g.id,name:g.function.name,input:_})}),b.thinking&&w.unshift({type:"thinking",thinking:b.thinking.content,signature:b.thinking.signature});let y=s[s.length-1];y&&y.role==="assistant"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"assistant",content:w.length>0?w:[{type:"text",text:" "}]})}}let a=()=>{let m=n.filter(b=>b?.cache_control).length;for(let b of s)Array.isArray(b.content)&&(m+=b.content.filter(w=>w?.cache_control).length);return m},u=m=>m&&typeof m=="object"?{...m}:{type:"ephemeral"},l=()=>{for(let m=s.length-1;m>=0;m--){let b=s[m]?.content;if(!Array.isArray(b))continue;let w=b.find(y=>y?.cache_control);if(w?.cache_control)return w.cache_control}for(let m=n.length-1;m>=0;m--)if(n[m]?.cache_control)return n[m].cache_control;return{type:"ephemeral"}},d=(m,b)=>{if(!Array.isArray(m?.content)||m.content.some(y=>y?.cache_control))return!1;let w=m.content.find(y=>y&&typeof y=="object"&&!y.cache_control);return w?(w.cache_control=u(b),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let b=s,w=l(),y=[];for(let g=b.length-1;g>=0;g--)b[g]?.role!=="user"||!Array.isArray(b[g].content)||y.push(g);for(let g of y){if(m<=0)break;d(b[g],w)&&m--}})();let p={messages:s,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};if(n.length>0){let m=n.some(b=>b?.cache_control);p.system=m?n:n.map(b=>b.text||"").join(`
114
+ ${o}`}],_reasoningItem:!0})}else if(r.role){let o=r.content;Array.isArray(o)&&(o=o.map(s=>s.type==="input_text"?{type:"text",text:s.text}:s.type==="output_text"?{type:"text",text:s.text}:s.type==="input_image"?{type:"image_url",image_url:{url:s.image_url},media_type:s.mime_type}:s)),e.push({role:r.role,content:o})}t.messages=e,delete t.input,t.instructions&&typeof t.instructions=="string"&&(t.system=t.instructions,delete t.instructions),Array.isArray(t.tools)&&(t.tools=t.tools.filter(r=>r&&typeof r=="object").map(r=>r.type==="function"&&r.name&&!r.function?{type:"function",function:{name:r.name,description:r.description||"",parameters:r.parameters||{type:"object",properties:{}}}}:r.function?.name?r:r.type==="web_search"?{type:"function",function:{name:"web_search",description:"Search the web",parameters:{type:"object",properties:{query:{type:"string"}}}}}:null).filter(Boolean)),t.reasoning&&typeof t.reasoning=="object"&&(t.reasoning={enabled:!0,effort:t.reasoning.effort}),delete t.store,delete t.previous_response_id,delete t.include}async function yp(t,e,n,r){let o=t.body;r.endPoint==="/v1/responses"&&o?.input&&!o?.messages&&gp(o),r.endPoint==="/v1/responses"&&!t.provider&&typeof o?.model=="string"&&pw.test(o.model)&&await Mo(t,e,{configService:n.configService,tokenizerService:n.tokenizerService});let s=t.provider;if(!s&&o?.model){let f=o.model.split(",");f.length>1&&(s=f[0],o.model=f.slice(1).join(","))}let a=s?n.providerService.getProvider(s):void 0;if(!a&&o?.model){let f=n.providerService.resolveModelRoute(o.model);f&&(a=f.provider,o.model=f.targetModel)}if(!a&&o?.model){let d=n.configService.get("Router")?.default;if(d&&d.includes(",")){let[p,...m]=d.split(","),b=n.providerService.getProvider(p);b&&(a=b,o.model=m.join(","))}}if(t.originalModel||(t.originalModel=o?.model),!a)throw He(`Provider '${s}' not found`,404,"provider_not_found");t.provider=a.name||s;let u=yw(t),l=r.endPoint==="/v1/messages"&&u;u&&e.header("X-Codex-Detected","true"),l&&e.header("X-Codex-On-Messages","true"),t.isCodexOnMessagesEndpoint=l,t.codexDetected=u;try{r.endPoint==="/v1/responses"&&o.input&&!o.messages&&gp(o);let{requestBody:f,config:d,bypass:p}=await bp(o,a,r,t.headers,{req:t});if(f?.messages&&!p&&!t.isTargetAnthropic){let y=f.messages,g=new Set,_=[],A=[];for(let C of y){if(C?.role!=="system"){A.push(C);continue}let v=JSON.stringify(C.content??"");g.has(v)||(g.add(v),_.push(C))}_.length>0&&A.length>0&&(f.messages=[..._,...A])}let m=await Cp(f,d,a,n,p,r,{req:t});try{a?.baseUrl&&m?.headers&&Io(s,a.baseUrl,m.headers)}catch{}let b=await wp(f,m,a,r,p,{req:t,isCodexOnMessagesEndpoint:l});b=await _p(o,b,a.name||s);let w=Ep(b,e,o,n);try{let y=o.model||t.originalModel;s&&y&&Ye().recordSuccess(s,y)}catch{}return w}catch(f){if(!t.__retryAttempted){t.__retryAttempted=!0;try{return await yp(t,e,n,r)}catch(p){if(t.__fallbackExhausted)throw p;f=p}}let d=await mw(t,e,n,r,f);if(d)return d;throw t.__fallbackExhausted=!0,f}}async function _p(t,e,n){if(!t?.stream||!e?.body)return e;let r=e.body.getReader(),o=await r.read();if(o.done)throw r.releaseLock(),He(`Provider returned empty streaming response from ${n}`,400,"provider_response_error");let s=new TextDecoder().decode(o.value);if(s.includes("event: error")){r.releaseLock();let l=s.length<500?s:s.slice(0,500);throw He(`Provider ${n} returned error in SSE stream: ${l}`,400,"provider_response_error")}if(s.split(`
115
+ `).filter(l=>l.startsWith("data:")&&l.trim().length>5).length===0){r.releaseLock();let l=s.length<500?s:s.slice(0,500);throw He(`Provider ${n} returned streaming response with no SSE data lines: ${l}`,400,"provider_response_error")}let u=new ReadableStream({start:l=>{l.enqueue(o.value);let f=()=>{r.read().then(({done:d,value:p})=>{d?l.close():(l.enqueue(p),f())}).catch(d=>l.error(d))};f()},cancel:()=>{r.cancel()}});return new Response(u,{headers:e.headers,status:e.status,statusText:e.statusText})}async function mw(t,e,n,r,o){let s=t.scenarioType||"default",a=t.familyFallback,u=t.modelFamily,l=t.fallbackConfig??n.configService.get("fallback"),f=Ye(),d=t.provider||"",p=t.body.model||"",m=new Set,b=o?.statusCode===429||o?.isRateLimit===!0||o?.rawBody&&ui(o.rawBody)||o?.message&&ui(o.message);if(d&&p&&(b?(f.markRateLimited(d,p,120,o?.message),t.log.warn(`Primary model ${d},${p} rate-limited, will try fallbacks`)):f.recordFailure(d,p,o?.message),m.add(`${d},${p}`),n.recordUsage?.({provider:d,model:p,originalModel:t.originalModel||p,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})),!(t.enableFallback??n.configService.get("Router")?.enableFallback===!0))return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let y=A=>{let[C,...v]=A.split(","),T=C?.trim(),R=v.join(",").trim();return!T||!R?null:{provider:T,model:R,key:`${T},${R}`}},g=[];if(u){let A=a?.[s];Array.isArray(A)&&A.length>0?g.push({name:`${u}/${s}`,models:A}):t.log.warn(`No ${u} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&g.push({name:`global/${s}`,models:l[s]}),g.length===0&&s!=="image"&&t.body?.messages?.some(v=>v.role==="user"&&Array.isArray(v.content)&&v.content.some(T=>T.type==="image"||T.type==="image_url"||Array.isArray(T?.content)&&T.content.some(R=>R.type==="image"||R.type==="image_url")))&&Array.isArray(l?.image)&&l.image.length>0&&(t.log.info(`No fallback for scenario '${s}', but request has images \u2014 trying fallback.image`),g.push({name:"global/image (auto-detected)",models:l.image})),g.length===0)return null;let _=g.reduce((A,C)=>A+C.models.length,0);t.log.warn(`Request failed for ${s}, trying ${_} fallback models across ${g.length} fallback stage(s)`);for(let A of g){t.log.info(`Trying ${A.name} fallback stage with ${A.models.length} models`);for(let C of A.models){let v=y(C);if(!v){t.log.warn(`Fallback model '${C}' is invalid, skipping`);continue}if(m.has(v.key))continue;m.add(v.key);let T=n.providerService.getProviders(),R=Bo(T,v.provider,v.model);if(!R){t.log.warn(`Fallback model ${C} is not configured or provider is disabled, skipping`);continue}let $=R.provider.name,G=R.model;if(!f.isAvailable($,G)){t.log.warn(`Fallback model ${C} unavailable (fail pool), skipping`);continue}let P;for(let K=1;K<=2;K++)try{t.log.info(`Trying fallback model: ${$},${G}${K>1?" (retry)":""}`);let z={...t.body};z.model=G;let Y={...t,provider:$,body:z},Q=R.provider,{requestBody:ee,config:se,bypass:ie}=await bp(z,Q,r,t.headers,{req:Y}),pe=await Cp(ee,se,Q,n,ie,r,{req:Y});try{Q?.baseUrl&&pe?.headers&&Io($,Q.baseUrl,pe.headers)}catch{}let J=await wp(ee,pe,Q,r,ie,{req:Y,isCodexOnMessagesEndpoint:t.isCodexOnMessagesEndpoint||!1});return J=await _p(z,J,$),t.log.info(`Fallback model ${$},${G} succeeded`),f.recordSuccess($,G),d&&p&&(Br().promote(d,p,s,$,G),t.log.info(`Promoted fallback model ${$},${G} for ${d},${p}:${s}`),b?t.log.info(`Rate-limited original model ${d},${p} already marked unavailable with cooldown`):(f.forceOpen(d,p,o?.message),t.log.info(`Marked original model ${d},${p} as unavailable`))),t.provider=$,t.body=z,Ep(J,e,z,n)}catch(z){if(P=z,K===1){t.log.warn(`Fallback model ${$},${G} failed, retrying once: ${z.message}`);continue}}f.recordFailure($,G,P?.message),t.log.warn(`Fallback model ${$},${G} failed after retry: ${P?.message}`),n.recordUsage?.({provider:$,model:G,originalModel:t.originalModel||p||t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:P?.message||String(P),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0,req:t})}}return t.log.error(`All fallback models failed for ${s}`),null}async function bp(t,e,n,r,o){let s=JSON.parse(JSON.stringify(t)),a=s?.system;if(typeof a=="string"&&a.includes("cch="))s.system=a.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");else if(Array.isArray(a))for(let f=0;f<a.length;f++){let d=a[f],p=typeof d=="string"?d:d?.text??"";if(p.includes("cch=")){let m=p.replace(/cch=[^;]+;?/g,"cch=ccr-stable;");typeof d=="string"?a[f]=m:typeof d?.text=="string"&&(d.text=m)}}let u={},l=!1;if(l=gw(e,n,t),l&&(r instanceof Headers?r.delete("content-length"):delete r["content-length"],u.headers=r),!l&&typeof n.transformRequestOut=="function"){let f=await n.transformRequestOut(s);f.body?(s=f.body,u=f.config||{}):s=f}if(!l&&e.transformer?.use?.length)for(let f of e.transformer.use){if(!f||typeof f.transformRequestIn!="function")continue;let d=await f.transformRequestIn(s,e,o);d.body?(s=d.body,u={...u,...d.config}):s=d}if(!l&&e.transformer?.[t.model]?.use?.length)for(let f of e.transformer[t.model].use)!f||typeof f.transformRequestIn!="function"||(s=await f.transformRequestIn(s,e,o));return{requestBody:s,config:u,bypass:l}}function gw(t,e,n){return e.endPoint==="/v1/chat/completions"&&Array.isArray(n?.system)?!1:t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[n.model]?.use.length||t.transformer?.[n.model]?.use.length===1&&t.transformer?.[n.model]?.use[0].name===e.name)}function yw(t){let e=t.headers||{},n=e["x-anthropic-billing-header"]||"";if(typeof n=="string"&&n.includes("cc_version="))return!1;let r=e["user-agent"]||"";if(typeof r=="string"&&/codex/i.test(r))return!0;let o=t.pathname||t.url||"";if(typeof o=="string"&&o.split("?",1)[0].endsWith("/v1/responses"))return!0;let s=t.originalModel||t.body?.model||"";return typeof s=="string"&&s.toLowerCase()==="ccr-codex"}async function Cp(t,e,n,r,o,s,a){let u=e.url||new URL(n.baseUrl);if(!e.TIMEOUT){let d=r.configService.get("API_TIMEOUT_MS");d&&(e.TIMEOUT=typeof d=="string"?parseInt(d,10):d)}if(o&&typeof s.auth=="function"){let d=await s.auth(t,n);if(d.body){t=d.body;let p=e.headers||{};d.config?.headers&&(p={...p,...d.config.headers},delete p.host,delete d.config.headers),e={...e,...d.config,headers:p}}else t=d}let l={Authorization:`Bearer ${n.apiKey}`,...e?.headers||{}};for(let d in l)(l[d]==="undefined"||["authorization","Authorization"].includes(d)&&l[d]?.includes("undefined"))&&delete l[d];ni(r.configService)&&zh(r.log,a.req.id,{url:String(u),headers:l,body:t});let f=await Lh(u,t,{httpsProxy:r.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,r.log);if(!f.ok){let d=await f.text();r.log.error(`[provider_response_error] Error from provider(${n.name},${t.model}: ${f.status}): ${d}`);let p=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${d}`,f.status,"provider_response_error");throw p.isRateLimit=f.status===429||ui(d),p.rawBody=d,p}if(f.ok){let d=f.headers.get("content-type")||"",p=t.stream===!0;if(r.log.info(`[hidden-error-check] provider=${n.name} model=${t.model} stream=${t.stream} isStreamRequest=${p} contentType=${d} ok=${f.ok} status=${f.status} hasBody=${!!f.body}`),!p||d.includes("application/json")){let m=f.clone(),b="";try{if(b=await m.text(),!b||b.trim()==="")throw new SyntaxError("Empty JSON body");let w=JSON.parse(b);if(w&&typeof w=="object"&&w.error&&(typeof w.error=="string"||typeof w.error=="object"&&Object.keys(w.error).length>0)){r.log.error(`[provider_response_error] Hidden error from provider(${n.name},${t.model}: ${f.status}): ${b}`);let g=ui(b),_=He(`Error from provider(${n.name},${t.model}: ${f.status}): ${b}`,400,"provider_response_error");throw _.isRateLimit=g,_.rawBody=b,_}}catch(w){if(w instanceof SyntaxError){r.log.warn(`[provider_response_error] Empty or malformed JSON response from provider(${n.name},${t.model}: 200): "${b}"`);let y=He(`API returned an empty or malformed response (HTTP 200) from ${n.name} \u2014 check for a proxy or gateway intercepting the request`,400,"provider_response_error");throw y.rawBody=b,y}throw w}}}if(!t.stream&&ni(r.configService)){let p=await f.clone().text();Hh(r.log,a.req.id,{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:p})}return f}async function wp(t,e,n,r,o,s){let a=e;if(!o&&n.transformer?.use?.length)for(let u of Array.from(n.transformer.use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&n.transformer?.[t.model]?.use?.length)for(let u of Array.from(n.transformer[t.model].use).reverse())!u||typeof u.transformResponseOut!="function"||(a=await u.transformResponseOut(a,s));if(!o&&r.transformResponseIn&&(s.provider||(s.provider=n),a=await r.transformResponseIn(a,s)),s?.isCodexOnMessagesEndpoint)try{a=await new Lr().transformResponseIn(a,{...s,provider:n})}catch(u){console.error("Failed to apply Responses API conversion for codex client:",u)}return a}function Ep(t,e,n,r){if(t.ok||e.code(t.status),n.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&ni(r.configService)){let[s,a]=t.body.tee(),u=$h(r.configService);return Wh(s,r.log,e.request.id,u),e.send(a)}return e.send(t.body)}else return t.json()}var hc=async t=>{t.get("/",async()=>({message:"LLMs API",version:oi})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:Ye().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError,rateLimitUntil:o.rateLimitUntil??null})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:n}of e)n.endPoint&&t.post(n.endPoint,async(r,o)=>yp(r,o,t,n));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(n,r)=>{let{name:o,baseUrl:s,apiKey:a,models:u}=n.body;if(!o?.trim())throw He("Provider name is required",400,"invalid_request");if(!s||!_w(s))throw He("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw He("API key is required",400,"invalid_request");if(!u||!Array.isArray(u)||u.length===0)throw He("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(n.body.name))throw He(`Provider with name '${n.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(n.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{let r=t.providerService.getProvider(n.params.id);if(!r)throw He("Provider not found",404,"provider_not_found");return r}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(n,r)=>{let o=t.providerService.updateProvider(n.params.id,n.body);if(!o)throw He("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async n=>{if(!t.providerService.deleteProvider(n.params.id))throw He("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(n,r)=>{if(!t.providerService.toggleProvider(n.params.id,n.body.enabled))throw He("Provider not found",404,"provider_not_found");return{message:`Provider ${n.body.enabled?"enabled":"disabled"} successfully`}})};function ui(t){let e=t.toLowerCase();return e.includes("rate limit")||e.includes("rate_limit")||e.includes("rate_limit_error")||e.includes("too many requests")||e.includes("too many")||e.includes("quota exhausted")||e.includes("qps_limit")||e.includes("token_limit")||e.includes("\u9650\u6D41")||e.includes("\u9891\u7387\u9650\u5236")}function _w(t){try{return new URL(t),!0}catch{return!1}}var qr=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],quotaToken:n.quota_token,transformer:n.transformer?r:void 0,cacheMode:n.cache_mode||"exclusive",enabled:n.enabled!==!1,wakeupEnabled:n.wakeup_enabled===!0,wakeupTime:n.wakeup_time||"06:00",wakeupModel:n.wakeup_model||""}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}registerProvider(e){let n={...e,enabled:e.enabled!==!1,wakeupEnabled:e.wakeupEnabled===!0,wakeupTime:e.wakeupTime||"06:00",wakeupModel:e.wakeupModel||""};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let a=`${r.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let a=`${r.name},${s}`,u={provider:r.name,model:s,fullModel:a};this.modelRoutes.set(a,u),this.modelRoutes.has(s)||this.modelRoutes.set(s,u)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){let r=this.providers.get(e);if(!r)return!1;r.enabled=n;let o=this.configService.get("providers");if(o&&Array.isArray(o)){let s=o.find(a=>a.name===e);s&&(s.enabled=n)}return!0}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.enabled!==!1&&n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var Qe=[];for(let t=0;t<256;++t)Qe.push((t+256).toString(16).slice(1));function kp(t,e=0){return(Qe[t[e+0]]+Qe[t[e+1]]+Qe[t[e+2]]+Qe[t[e+3]]+"-"+Qe[t[e+4]]+Qe[t[e+5]]+"-"+Qe[t[e+6]]+Qe[t[e+7]]+"-"+Qe[t[e+8]]+Qe[t[e+9]]+"-"+Qe[t[e+10]]+Qe[t[e+11]]+Qe[t[e+12]]+Qe[t[e+13]]+Qe[t[e+14]]+Qe[t[e+15]]).toLowerCase()}import{randomFillSync as bw}from"crypto";var li=new Uint8Array(256),ci=li.length;function pc(){return ci>li.length-16&&(bw(li),ci=0),li.slice(ci,ci+=16)}import{randomUUID as Cw}from"crypto";var mc={randomUUID:Cw};function ww(t,e,n){if(mc.randomUUID&&!e&&!t)return mc.randomUUID();t=t||{};let r=t.random??t.rng?.()??pc();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return kp(r)}var Ut=ww;var Ap=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var Sp=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);function Ew(t){return t.filter(e=>!!e?.function?.name).map(e=>({name:e.function.name,description:e.function.description,input_schema:e.function.parameters}))}function vp(t){let e=[],n=[],r=m=>{if(typeof m=="string"){n.push({type:"text",text:m});return}Array.isArray(m)&&m.forEach(b=>{if(typeof b=="string"){n.push({type:"text",text:b});return}b&&typeof b=="object"&&b.type==="text"&&b.text&&n.push({...b})})},o=()=>{let m=new Map;for(let b=0;b<n.length;b++){let w=n[b],y=w?.text??JSON.stringify(w),g=m.get(y);if(g===void 0){m.set(y,b);continue}!n[g]?.cache_control&&w?.cache_control&&(n[g]=w),n.splice(b,1),b--}};t.messages.forEach(m=>{m.role==="system"?r(m.content):e.push(m)}),o();let s=[];for(let m=0;m<e.length;m++){let b=e[m];if(b.role==="tool"){let w=b.content;try{typeof b.content=="string"&&(w=JSON.parse(b.content))}catch{}w!=null&&typeof w!="object"&&typeof w!="string"&&(w=String(w));let y={type:"tool_result",tool_use_id:b.tool_call_id,content:w};b.cache_control&&(y.cache_control=b.cache_control);let g=s[s.length-1];g&&g.role==="user"&&Array.isArray(g.content)?g.content.push(y):s.push({role:"user",content:[y]})}else if(b.role==="user"){let w=[];typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&b.content.forEach(g=>{g&&typeof g=="object"&&g.type==="image_url"&&g.image_url?.url?w.push({type:"image",source:{type:"base64",media_type:g.media_type||"image/jpeg",data:g.image_url.url.split(",")[1]||g.image_url.url}}):w.push(g)});let y=s[s.length-1];y&&y.role==="user"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"user",content:w.length>0?w:[{type:"text",text:" "}]})}else if(b.role==="assistant"){let w=[];b.content&&(typeof b.content=="string"?w.push({type:"text",text:b.content}):Array.isArray(b.content)&&w.push(...b.content)),b.tool_calls&&b.tool_calls.length>0&&b.tool_calls.forEach(g=>{let _={};try{_=JSON.parse(g.function.arguments)}catch{_=g.function.arguments}w.push({type:"tool_use",id:g.id,name:g.function.name,input:_})}),b.thinking&&w.unshift({type:"thinking",thinking:b.thinking.content,signature:b.thinking.signature});let y=s[s.length-1];y&&y.role==="assistant"&&Array.isArray(y.content)?y.content.push(...w):s.push({role:"assistant",content:w.length>0?w:[{type:"text",text:" "}]})}}let a=()=>{let m=n.filter(b=>b?.cache_control).length;for(let b of s)Array.isArray(b.content)&&(m+=b.content.filter(w=>w?.cache_control).length);return m},u=m=>m&&typeof m=="object"?{...m}:{type:"ephemeral"},l=()=>{for(let m=s.length-1;m>=0;m--){let b=s[m]?.content;if(!Array.isArray(b))continue;let w=b.find(y=>y?.cache_control);if(w?.cache_control)return w.cache_control}for(let m=n.length-1;m>=0;m--)if(n[m]?.cache_control)return n[m].cache_control;return{type:"ephemeral"}},f=(m,b)=>{if(!Array.isArray(m?.content)||m.content.some(y=>y?.cache_control))return!1;let w=m.content.find(y=>y&&typeof y=="object"&&!y.cache_control);return w?(w.cache_control=u(b),!0):!1};(()=>{let m=4-a();if(m<=0||s.length===0)return;let b=s,w=l(),y=[];for(let g=b.length-1;g>=0;g--)b[g]?.role!=="user"||!Array.isArray(b[g].content)||y.push(g);for(let g of y){if(m<=0)break;f(b[g],w)&&m--}})();let p={messages:s,model:t.model,max_tokens:t.max_tokens||4096,temperature:t.temperature,stream:t.stream};if(n.length>0){let m=n.some(b=>b?.cache_control);p.system=m?n:n.map(b=>b.text||"").join(`
116
116
 
117
- `)}return t.tools&&t.tools.length>0&&(p.tools=Cw(t.tools),t.tool_choice&&(t.tool_choice==="auto"?p.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?p.tool_choice={type:"any"}:typeof t.tool_choice=="string"?p.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(p.tool_choice={type:"tool",name:t.tool_choice.function.name}))),p}var li=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n){let r={};return this.useBearer?(r.authorization=`Bearer ${n.apiKey}`,r["x-api-key"]=void 0):(r["x-api-key"]=n.apiKey,r.authorization=void 0),{body:e,config:{headers:r}}}async transformRequestOut(e){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));n.push({role:"system",content:s})}}let r=JSON.parse(JSON.stringify(e.messages||[]));r?.forEach(s=>{s.role==="system"&&n.push({role:"system",content:s.content})}),r?.forEach(s=>{if(s.role!=="system"&&(s.role==="user"||s.role==="assistant")){if(typeof s.content=="string"){n.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};n.push(d)});let u=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);u.length&&n.push({role:"user",content:u.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?kp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},u=s.content.filter(f=>f.type==="text"&&f.text);u.length&&(a.content=u.map(f=>f.text).join(`
118
- `));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),n.push(a)}return}}});let o={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Ep(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,n,r){if(!this.isAnthropicMessagesEndpoint(n.baseUrl))return e;r&&r.req&&(r.req.isTargetAnthropic=!0);let o=Ap(e),s={};return this.useBearer?(s.authorization=`Bearer ${n.apiKey}`,s["x-api-key"]=void 0):(s["x-api-key"]=n.apiKey,s.authorization=void 0),s["anthropic-version"]="2023-06-01",s["content-type"]="application/json",{body:o,config:{headers:s}}}isAnthropicMessagesEndpoint(e){try{return new URL(e.trim()).pathname.replace(/\/+$/,"").endsWith("/messages")}catch{return!1}}async transformResponseIn(e,n){if(n?.req?.isTargetAnthropic)return e;if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,n);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,n);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description||"",parameters:n.input_schema}}))}async convertOpenAIStreamToAnthropic(e,n){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,u=null,l="unknown",d=!1,f=!1,p=!1,m=new Map,b=new Map,w=0,y=0,g=0,_=!1,A=!1,C=0,S=-1,T=()=>{let P=C;return C++,P},R=P=>{if(!_)try{o.enqueue(P);let Y=new TextDecoder().decode(P);this.logger.debug({reqId:n.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))_=!0;else throw this.logger.debug({reqId:n.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},$=()=>{if(!_)try{if(!d){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),_=!0;return}if(S>=0){let Y={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
119
- data: ${JSON.stringify(Y)}
117
+ `)}return t.tools&&t.tools.length>0&&(p.tools=Ew(t.tools),t.tool_choice&&(t.tool_choice==="auto"?p.tool_choice={type:"auto"}:t.tool_choice==="any"||t.tool_choice==="required"?p.tool_choice={type:"any"}:typeof t.tool_choice=="string"?p.tool_choice={type:"tool",name:t.tool_choice}:typeof t.tool_choice=="object"&&t.tool_choice.type==="function"&&(p.tool_choice={type:"tool",name:t.tool_choice.function.name}))),p}var di=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n){let r={};return this.useBearer?(r.authorization=`Bearer ${n.apiKey}`,r["x-api-key"]=void 0):(r["x-api-key"]=n.apiKey,r.authorization=void 0),{body:e,config:{headers:r}}}async transformRequestOut(e){let n=[];if(e.system){if(typeof e.system=="string")n.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));n.push({role:"system",content:s})}}let r=JSON.parse(JSON.stringify(e.messages||[]));r?.forEach(s=>{s.role==="system"&&n.push({role:"system",content:s.content})}),r?.forEach(s=>{if(s.role!=="system"&&(s.role==="user"||s.role==="assistant")){if(typeof s.content=="string"){n.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let f={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};n.push(f)});let u=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);u.length&&n.push({role:"user",content:u.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?Sp(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},u=s.content.filter(d=>d.type==="text"&&d.text);u.length&&(a.content=u.map(d=>d.text).join(`
118
+ `));let l=s.content.filter(d=>d.type==="tool_use"&&d.id);l.length&&(a.tool_calls=l.map(d=>({id:d.id,type:"function",function:{name:d.name,arguments:JSON.stringify(d.input||{})}})));let f=s.content.find(d=>d.type==="thinking");f&&(a.thinking={content:f.thinking,signature:f.signature}),n.push(a)}return}}});let o={messages:n,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Ap(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformRequestIn(e,n,r){if(!this.isAnthropicMessagesEndpoint(n.baseUrl))return e;r&&r.req&&(r.req.isTargetAnthropic=!0);let o=vp(e),s={};return this.useBearer?(s.authorization=`Bearer ${n.apiKey}`,s["x-api-key"]=void 0):(s["x-api-key"]=n.apiKey,s.authorization=void 0),s["anthropic-version"]="2023-06-01",s["content-type"]="application/json",{body:o,config:{headers:s}}}isAnthropicMessagesEndpoint(e){try{return new URL(e.trim()).pathname.replace(/\/+$/,"").endsWith("/messages")}catch{return!1}}async transformResponseIn(e,n){if(n?.req?.isTargetAnthropic)return e;if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,n);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,n);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description||"",parameters:n.input_schema}}))}async convertOpenAIStreamToAnthropic(e,n){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,u=null,l="unknown",f=!1,d=!1,p=!1,m=new Map,b=new Map,w=0,y=0,g=0,_=!1,A=!1,C=0,v=-1,T=()=>{let P=C;return C++,P},R=P=>{if(!_)try{o.enqueue(P);let K=new TextDecoder().decode(P);this.logger.debug({reqId:n.req.id,data:K,type:"send data"})}catch(K){if(K instanceof TypeError&&K.message.includes("Controller is already closed"))_=!0;else throw this.logger.debug({reqId:n.req.id,error:K instanceof Error?K.message:String(K),type:"send data error"}),K}},$=()=>{if(!_)try{if(!f){this.logger?.warn("[empty_stream] Upstream produced no data, closing silently"),o.close(),_=!0;return}if(v>=0){let K={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
119
+ data: ${JSON.stringify(K)}
120
120
 
121
- `)),S=-1}if(u)R(s.encode(`event: message_delta
121
+ `)),v=-1}if(u)R(s.encode(`event: message_delta
122
122
  data: ${JSON.stringify(u)}
123
123
 
124
- `)),u=null;else{let Y=n?.req?.tokenCount||0;R(s.encode(`event: message_delta
125
- data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:Y,output_tokens:0,cache_read_input_tokens:0}})}
124
+ `)),u=null;else{let K=n?.req?.tokenCount||0;R(s.encode(`event: message_delta
125
+ data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:K,output_tokens:0,cache_read_input_tokens:0}})}
126
126
 
127
127
  `))}let P={type:"message_stop"};R(s.encode(`event: message_stop
128
128
  data: ${JSON.stringify(P)}
129
129
 
130
- `)),o.close(),_=!0}catch(P){if(P instanceof TypeError&&P.message.includes("Controller is already closed"))_=!0;else throw P}},V=null;try{V=e.getReader();let P=new TextDecoder,Y="";for(;!_;){let{done:z,value:K}=await V.read();if(z)break;Y+=P.decode(K,{stream:!0});let Q=Y.split(`
131
- `);Y=Q.pop()||"";for(let ee of Q){if(_||p)break;if(!ee.startsWith("data:"))continue;let ae=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:ae}),ae!=="[DONE]")try{let se=JSON.parse(ae);if(w++,this.logger.debug({reqId:n.req.id,response:se,tppe:"Original Response"}),se.error){n?.req&&(n.req.sseError=se.error);let G={type:"error",message:{type:"api_error",message:JSON.stringify(se.error)}};R(s.encode(`event: error
132
- data: ${JSON.stringify(G)}
130
+ `)),o.close(),_=!0}catch(P){if(P instanceof TypeError&&P.message.includes("Controller is already closed"))_=!0;else throw P}},G=null;try{G=e.getReader();let P=new TextDecoder,K="";for(;!_;){let{done:z,value:Y}=await G.read();if(z)break;K+=P.decode(Y,{stream:!0});let Q=K.split(`
131
+ `);K=Q.pop()||"";for(let ee of Q){if(_)break;if(!ee.startsWith("data:"))continue;let se=ee.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:se}),se!=="[DONE]")try{let ie=JSON.parse(se);if(w++,this.logger.debug({reqId:n.req.id,response:ie,tppe:"Original Response"}),ie.error){n?.req&&(n.req.sseError=ie.error);let J={type:"error",message:{type:"api_error",message:JSON.stringify(ie.error)}};R(s.encode(`event: error
132
+ data: ${JSON.stringify(J)}
133
133
 
134
- `));continue}if(l=se.model||l,!d&&!_&&!p){d=!0;let G=n?.req?.tokenCount||0,Z={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:G,output_tokens:0}}};R(s.encode(`event: message_start
134
+ `));continue}if(l=ie.model||l,!f&&!_&&!p){f=!0;let J=n?.req?.tokenCount||0,Z={type:"message_start",message:{id:a,type:"message",role:"assistant",content:[],model:l,stop_reason:null,stop_sequence:null,usage:{input_tokens:J,output_tokens:0}}};R(s.encode(`event: message_start
135
135
  data: ${JSON.stringify(Z)}
136
136
 
137
- `))}let me=se.choices?.[0];if(se.usage){let G=se.usage?.prompt_tokens_details?.cached_tokens||0,ie=(se.usage?.prompt_tokens||0)-G;this.logger?.info({debug_log:!0,reqId:n.req.id,phase:"anthropic_transformer_usage",providerUsage:se.usage,mappedUsage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G},choicesLength:Array.isArray(se.choices)?se.choices.length:void 0,finishReason:me?.finish_reason}),u?u.usage={input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}:u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{input_tokens:ie,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:G}}}if(!me)continue;if(me?.delta?.thinking&&!_&&!p&&!f){if(!A){let G=T(),Z={type:"content_block_start",index:G,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
137
+ `))}let pe=ie.choices?.[0];if(ie.usage){let J=ie.usage?.prompt_tokens_details?.cached_tokens||0,ce=(ie.usage?.prompt_tokens||0)-J,je=ie.usage?.completion_tokens||0;this.logger?.info({debug_log:!0,reqId:n.req.id,phase:"anthropic_transformer_usage",providerUsage:ie.usage,mappedUsage:{input_tokens:ce,output_tokens:je,cache_read_input_tokens:J},choicesLength:Array.isArray(ie.choices)?ie.choices.length:void 0,finishReason:pe?.finish_reason});let we={input_tokens:ce,output_tokens:je,cache_read_input_tokens:J};if(!u)u={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:{...we}};else{let V=u.usage||{};u.usage={input_tokens:we.input_tokens||V.input_tokens||0,output_tokens:we.output_tokens||V.output_tokens||0,cache_read_input_tokens:we.cache_read_input_tokens||V.cache_read_input_tokens||0}}}if(!pe)continue;if(pe?.delta?.thinking&&!_&&!p&&!d){if(!A){let J=T(),Z={type:"content_block_start",index:J,content_block:{type:"thinking",thinking:""}};R(s.encode(`event: content_block_start
138
138
  data: ${JSON.stringify(Z)}
139
139
 
140
- `)),S=G,A=!0}if(me.delta.thinking.signature){let G={type:"content_block_delta",index:S,delta:{type:"signature_delta",signature:me.delta.thinking.signature}};R(s.encode(`event: content_block_delta
141
- data: ${JSON.stringify(G)}
140
+ `)),v=J,A=!0}if(pe.delta.thinking.signature){let J={type:"content_block_delta",index:v,delta:{type:"signature_delta",signature:pe.delta.thinking.signature}};R(s.encode(`event: content_block_delta
141
+ data: ${JSON.stringify(J)}
142
142
 
143
- `));let Z={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
143
+ `));let Z={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
144
144
  data: ${JSON.stringify(Z)}
145
145
 
146
- `)),S=-1}else if(me.delta.thinking.content){let G={type:"content_block_delta",index:S,delta:{type:"thinking_delta",thinking:me.delta.thinking.content||""}};R(s.encode(`event: content_block_delta
147
- data: ${JSON.stringify(G)}
146
+ `)),v=-1}else if(pe.delta.thinking.content){let J={type:"content_block_delta",index:v,delta:{type:"thinking_delta",thinking:pe.delta.thinking.content||""}};R(s.encode(`event: content_block_delta
147
+ data: ${JSON.stringify(J)}
148
148
 
149
- `))}}if(me?.delta?.content&&!_&&!p){if(y++,S>=0&&!f){let Z={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
149
+ `))}}if(pe?.delta?.content&&!_&&!p){if(y++,v>=0&&!d){let Z={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
150
150
  data: ${JSON.stringify(Z)}
151
151
 
152
- `)),S=-1}if(!f&&!p){f=!0;let G=T(),Z={type:"content_block_start",index:G,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
152
+ `)),v=-1}if(!d&&!p){d=!0;let J=T(),Z={type:"content_block_start",index:J,content_block:{type:"text",text:""}};R(s.encode(`event: content_block_start
153
153
  data: ${JSON.stringify(Z)}
154
154
 
155
- `)),S=G}if(!_&&!p){let G={type:"content_block_delta",index:S,delta:{type:"text_delta",text:me.delta.content}};R(s.encode(`event: content_block_delta
156
- data: ${JSON.stringify(G)}
155
+ `)),v=J}if(!_&&!p){let J={type:"content_block_delta",index:v,delta:{type:"text_delta",text:pe.delta.content}};R(s.encode(`event: content_block_delta
156
+ data: ${JSON.stringify(J)}
157
157
 
158
- `))}}if(me?.delta?.annotations?.length&&!_&&!p){if(S>=0&&f){let G={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
159
- data: ${JSON.stringify(G)}
158
+ `))}}if(pe?.delta?.annotations?.length&&!_&&!p){if(v>=0&&d){let J={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
159
+ data: ${JSON.stringify(J)}
160
160
 
161
- `)),S=-1,f=!1}me?.delta?.annotations.forEach(G=>{let Z=T(),ie={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Ut()}`,content:[{type:"web_search_result",title:G.url_citation.title,url:G.url_citation.url}]}};R(s.encode(`event: content_block_start
162
- data: ${JSON.stringify(ie)}
161
+ `)),v=-1,d=!1}pe?.delta?.annotations.forEach(J=>{let Z=T(),ce={type:"content_block_start",index:Z,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${Ut()}`,content:[{type:"web_search_result",title:J.url_citation.title,url:J.url_citation.url}]}};R(s.encode(`event: content_block_start
162
+ data: ${JSON.stringify(ce)}
163
163
 
164
- `));let Ue={type:"content_block_stop",index:Z};R(s.encode(`event: content_block_stop
165
- data: ${JSON.stringify(Ue)}
164
+ `));let je={type:"content_block_stop",index:Z};R(s.encode(`event: content_block_stop
165
+ data: ${JSON.stringify(je)}
166
166
 
167
- `)),S=-1})}if(me?.delta?.tool_calls&&!_&&!p){g++;let G=new Set;for(let Z of me.delta.tool_calls){if(_)break;let ie=Z.index??0;if(G.has(ie))continue;if(G.add(ie),!b.has(ie)){if(S>=0){let Oe={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
167
+ `)),v=-1})}if(pe?.delta?.tool_calls&&!_&&!p){g++;let J=new Set;for(let Z of pe.delta.tool_calls){if(_)break;let ce=Z.index??0;if(J.has(ce))continue;if(J.add(ce),!b.has(ce)){if(v>=0){let Oe={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
168
168
  data: ${JSON.stringify(Oe)}
169
169
 
170
- `)),S=-1}let Ae=T();b.set(ie,Ae);let J=Z.id||`call_ccr_${ie}`,ce=Z.function?.name||`tool_${ie}`,te={type:"content_block_start",index:Ae,content_block:{type:"tool_use",id:J,name:ce,input:{}}};R(s.encode(`event: content_block_start
170
+ `)),v=-1}let we=T();b.set(ce,we);let V=Z.id||`call_ccr_${ce}`,ue=Z.function?.name||`tool_${ce}`,te={type:"content_block_start",index:we,content_block:{type:"tool_use",id:V,name:ue,input:{}}};R(s.encode(`event: content_block_start
171
171
  data: ${JSON.stringify(te)}
172
172
 
173
- `)),S=Ae;let Te={id:J,name:ce,arguments:"",contentBlockIndex:Ae};m.set(ie,Te)}else if(Z.id&&Z.function?.name){let Ae=m.get(ie);Ae.id.startsWith("call_")&&Ae.name.startsWith("tool_")&&(Ae.id=Z.id,Ae.name=Z.function.name)}if(Z.function?.arguments&&!_&&!p){let Ae=b.get(ie);if(Ae===void 0)continue;let J=m.get(ie);J&&(J.arguments+=Z.function.arguments);try{let ce={type:"content_block_delta",index:Ae,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};R(s.encode(`event: content_block_delta
174
- data: ${JSON.stringify(ce)}
173
+ `)),v=we;let Te={id:V,name:ue,arguments:"",contentBlockIndex:we};m.set(ce,Te)}else if(Z.id&&Z.function?.name){let we=m.get(ce);we.id.startsWith("call_")&&we.name.startsWith("tool_")&&(we.id=Z.id,we.name=Z.function.name)}if(Z.function?.arguments&&!_&&!p){let we=b.get(ce);if(we===void 0)continue;let V=m.get(ce);V&&(V.arguments+=Z.function.arguments);try{let ue={type:"content_block_delta",index:we,delta:{type:"input_json_delta",partial_json:Z.function.arguments}};R(s.encode(`event: content_block_delta
174
+ data: ${JSON.stringify(ue)}
175
175
 
176
- `))}catch{try{let ce=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),te={type:"content_block_delta",index:Ae,delta:{type:"input_json_delta",partial_json:ce}};R(s.encode(`event: content_block_delta
176
+ `))}catch{try{let ue=Z.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),te={type:"content_block_delta",index:we,delta:{type:"input_json_delta",partial_json:ue}};R(s.encode(`event: content_block_delta
177
177
  data: ${JSON.stringify(te)}
178
178
 
179
- `))}catch(ce){console.error(ce)}}}}}if(me?.finish_reason&&!_&&!p){if(y===0&&g===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};R(s.encode(`event: content_block_stop
180
- data: ${JSON.stringify(G)}
179
+ `))}catch(ue){console.error(ue)}}}}}if(pe?.finish_reason&&!_&&!p){if(y===0&&g===0&&console.error("Warning: No content in the stream response!"),v>=0){let J={type:"content_block_stop",index:v};R(s.encode(`event: content_block_stop
180
+ data: ${JSON.stringify(J)}
181
181
 
182
- `)),S=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[me.finish_reason]||"end_turn",ie=se.usage?.prompt_tokens_details?.cached_tokens||0,Ae=(se.usage?.prompt_tokens||0)-ie;u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:Ae,output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:ie}}}break}}catch(se){this.logger?.error(`parseError: ${se.name} message: ${se.message} stack: ${se.stack} data: ${ae}`)}}}$()}catch(P){if(!_)try{o.error(P)}catch(Y){console.error(Y)}}finally{if(V)try{V.releaseLock()}catch(P){console.error(P)}}},cancel:o=>{this.logger.debug({reqId:n.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message.annotations){let l=`srvtoolu_${Ut()}`;o.push({type:"server_tool_use",id:l,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:l,content:r.message.annotations.map(d=>({type:"web_search_result",url:d.url_citation.url,title:d.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(l=>{let d={};try{let f=l.function.arguments||"{}";typeof f=="object"?d=f:typeof f=="string"&&(d=JSON.parse(f))}catch{d={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:d})}),r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature});let s=e.usage?.prompt_tokens_details?.cached_tokens||0,a=(e.usage?.prompt_tokens||0)-s,u={id:e.id?.startsWith("msg_")?e.id:`msg_${Ut().replace(/-/g,"")}`,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":r.finish_reason==="length"?"max_tokens":r.finish_reason==="tool_calls"?"tool_use":r.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:a,cache_creation_input_tokens:0,cache_read_input_tokens:s,output_tokens:e.usage?.completion_tokens||0,server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:"",iterations:[],speed:"standard"},stop_details:null,context_management:null};return this.logger.debug({reqId:n.req.id,result:u},"Conversion complete, final Anthropic response"),u}catch{throw He(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var qr={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function ww(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(qr).includes(r)?r:qr.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(qr).includes(o)?o:qr.TYPE_UNSPECIFIED})}}}function Mo(t){let e={},n=["items"],r=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&ww(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let l=u.toUpperCase();e.type=Object.values(qr).includes(l)?l:qr.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=Mo(u);else if(r.includes(a)){let l=[];for(let d of u){if(d.type=="null"){e.nullable=!0;continue}l.push(Mo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(u))l[d]=Mo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Ew(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Mo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Mo(e.response));return t}function di(t){let e=[],n=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));n?.length&&e.push(Ew({functionDeclarations:n})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let m={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(m.thoughtSignature=l.thinking.signature),m})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(m=>{let b=s.find(w=>w.tool_call_id===m.id);return{functionResponse:{name:m?.function?.name,response:{result:b?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}let u={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),u.toolConfig=l}return u}function fi(t){let e=t.contents,n=t.tools,r=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,l={messages:[],model:r,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function hi(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json();n?.debug({response:r},`${e} response:`);let o="",s="",a=r.candidates[0]?.content?.parts||[],u=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=u?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=u?.filter(p=>p.text)?.map(p=>p.text)?.join(`
183
- `)||"",f={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.modelVersion,object:"chat.completion",usage:{completion_tokens:r.usageMetadata?.candidatesTokenCount||0,prompt_tokens:r.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:r.usageMetadata?.cachedContentTokenCount||0},total_tokens:r.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:r.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=!1,a=!1,u=!1,l="",d=0,f=-1,p=new ReadableStream({async start(m){let b=async(g,_)=>{if(g.startsWith("data: ")){let A=g.slice(6).trim();if(A){n?.debug({chunkStr:A},`${e} chunk:`);try{let C=JSON.parse(A);if(!C.candidates||!C.candidates[0]){n?.debug({chunkStr:A},"Invalid chunk structure");return}let S=C.candidates[0],T=S.content?.parts||[];T.filter(P=>P.text&&P.thought===!0).forEach(P=>{u||(u=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:P.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
182
+ `)),v=-1}if(!_){let Z={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[pe.finish_reason]||"end_turn";u?u.delta={...u.delta,stop_reason:Z,stop_sequence:null}:u={type:"message_delta",delta:{stop_reason:Z,stop_sequence:null},usage:{input_tokens:0,output_tokens:0,cache_read_input_tokens:0}}}p=!0}}catch(ie){this.logger?.error(`parseError: ${ie.name} message: ${ie.message} stack: ${ie.stack} data: ${se}`)}}}$()}catch(P){if(!_)try{o.error(P)}catch(K){console.error(K)}}finally{if(G)try{G.releaseLock()}catch(P){console.error(P)}}},cancel:o=>{this.logger.debug({reqId:n.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message.annotations){let l=`srvtoolu_${Ut()}`;o.push({type:"server_tool_use",id:l,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:l,content:r.message.annotations.map(f=>({type:"web_search_result",url:f.url_citation.url,title:f.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(l=>{let f={};try{let d=l.function.arguments||"{}";typeof d=="object"?f=d:typeof d=="string"&&(f=JSON.parse(d))}catch{f={text:l.function.arguments||""}}o.push({type:"tool_use",id:l.id,name:l.function.name,input:f})}),r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature});let s=e.usage?.prompt_tokens_details?.cached_tokens||0,a=(e.usage?.prompt_tokens||0)-s,u={id:e.id?.startsWith("msg_")?e.id:`msg_${Ut().replace(/-/g,"")}`,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":r.finish_reason==="length"?"max_tokens":r.finish_reason==="tool_calls"?"tool_use":r.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:a,cache_creation_input_tokens:0,cache_read_input_tokens:s,output_tokens:e.usage?.completion_tokens||0,server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:"",iterations:[],speed:"standard"},stop_details:null,context_management:null};return this.logger.debug({reqId:n.req.id,result:u},"Conversion complete, final Anthropic response"),u}catch{throw He(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var zr={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function kw(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(zr).includes(r)?r:zr.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(zr).includes(o)?o:zr.TYPE_UNSPECIFIED})}}}function Lo(t){let e={},n=["items"],r=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&kw(t.type,e);for(let[a,u]of Object.entries(t))if(u!=null)if(a=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(u))continue;let l=u.toUpperCase();e.type=Object.values(zr).includes(l)?l:zr.TYPE_UNSPECIFIED}else if(n.includes(a))e[a]=Lo(u);else if(r.includes(a)){let l=[];for(let f of u){if(f.type=="null"){e.nullable=!0;continue}l.push(Lo(f))}e[a]=l}else if(o.includes(a)){let l={};for(let[f,d]of Object.entries(u))l[f]=Lo(d);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=u}return e}function Aw(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Lo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Lo(e.response));return t}function fi(t){let e=[],n=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));n?.length&&e.push(Aw({functionDeclarations:n})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let f;l.role==="assistant"?f="model":(["user","system"].includes(l.role),f="user");let d=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),d.push(p)}else Array.isArray(l.content)?d.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?d.push({text:l.content.text}):d.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&d.push(...l.tool_calls.map(p=>{let m={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(m.thoughtSignature=l.thinking.signature),m})),d.length===0&&d.push({text:""}),o.push({role:f,parts:d}),f==="model"&&l.tool_calls){let p=l.tool_calls.map(m=>{let b=s.find(w=>w.tool_call_id===m.id);return{functionResponse:{name:m?.function?.name,response:{result:b?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],f,d=t.reasoning.max_tokens;typeof d<"u"&&(d>=l[0]&&d<=l[1]?f=d:d<l[0]?f=l[0]:d>l[1]&&(f=l[1]),a.thinkingConfig.thinkingBudget=f)}let u={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),u.toolConfig=l}return u}function hi(t){let e=t.contents,n=t.tools,r=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,u=t.tool_choice,l={messages:[],model:r,max_tokens:o,temperature:s,stream:a,tool_choice:u};return Array.isArray(e)&&e.forEach(f=>{typeof f=="string"?l.messages.push({role:"user",content:f}):typeof f.text=="string"?l.messages.push({role:"user",content:f.text||null}):f.role==="user"?l.messages.push({role:"user",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]}):f.role==="model"&&l.messages.push({role:"assistant",content:f?.parts?.map(d=>({type:"text",text:d.text||""}))||[]})}),Array.isArray(n)&&(l.tools=[],n.forEach(f=>{Array.isArray(f.functionDeclarations)&&f.functionDeclarations.forEach(d=>{l.tools.push({type:"function",function:{name:d.name,description:d.description,parameters:d.parameters}})})})),l}async function pi(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json();n?.debug({response:r},`${e} response:`);let o="",s="",a=r.candidates[0]?.content?.parts||[],u=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:u.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=u?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],f=u?.filter(p=>p.text)?.map(p=>p.text)?.join(`
183
+ `)||"",d={id:r.responseId,choices:[{finish_reason:r.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:f,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.modelVersion,object:"chat.completion",usage:{completion_tokens:r.usageMetadata?.candidatesTokenCount||0,prompt_tokens:r.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:r.usageMetadata?.cachedContentTokenCount||0},total_tokens:r.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:r.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(d),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=!1,a=!1,u=!1,l="",f=0,d=-1,p=new ReadableStream({async start(m){let b=async(g,_)=>{if(g.startsWith("data: ")){let A=g.slice(6).trim();if(A){n?.debug({chunkStr:A},`${e} chunk:`);try{let C=JSON.parse(A);if(!C.candidates||!C.candidates[0]){n?.debug({chunkStr:A},"Invalid chunk structure");return}let v=C.candidates[0],T=v.content?.parts||[];T.filter(P=>P.text&&P.thought===!0).forEach(P=>{u||(u=!0);let K={choices:[{delta:{role:"assistant",content:null,thinking:{content:P.text}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
184
184
 
185
- `))});let R=T.find(P=>P.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!u){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
185
+ `))});let R=T.find(P=>P.thoughtSignature)?.thoughtSignature;if(R&&!s){if(!u){let K={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
186
186
 
187
- `))}let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:R}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(_.enqueue(o.encode(`data: ${JSON.stringify(P)}
187
+ `))}let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:R}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(_.enqueue(o.encode(`data: ${JSON.stringify(P)}
188
188
 
189
- `)),s=!0,d++,l){let Y={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
189
+ `)),s=!0,f++,l){let K={choices:[{delta:{role:"assistant",content:l},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(K)}
190
190
 
191
- `)),l="",a||(a=!0)}}let $=T.filter(P=>P.functionCall).map(P=>({id:P.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:P.functionCall?.name,arguments:JSON.stringify(P.functionCall?.args||{})}})),V=T.filter(P=>P.text&&P.thought!==!0).map(P=>P.text).join(`
192
- `);if(!V&&s&&!a){let P={choices:[{delta:{role:"assistant",content:"(no content)"},index:d,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
191
+ `)),l="",a||(a=!0)}}let $=T.filter(P=>P.functionCall).map(P=>({id:P.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:P.functionCall?.name,arguments:JSON.stringify(P.functionCall?.args||{})}})),G=T.filter(P=>P.text&&P.thought!==!0).map(P=>P.text).join(`
192
+ `);if(!G&&s&&!a){let P={choices:[{delta:{role:"assistant",content:"(no content)"},index:f,finish_reason:null,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
193
193
 
194
- `)),a||(a=!0)}if(u&&V&&!s)if(C.modelVersion.includes("3")){l+=V;return}else{let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
194
+ `)),a||(a=!0)}if(u&&G&&!s)if(C.modelVersion.includes("3")){l+=G;return}else{let P={choices:[{delta:{role:"assistant",content:null,thinking:{signature:`ccr_${+new Date}`}},finish_reason:null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};_.enqueue(o.encode(`data: ${JSON.stringify(P)}
195
195
 
196
- `)),s=!0}if(V){l||d++;let P={choices:[{delta:{role:"assistant",content:V},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(P.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((Y,z)=>{let K=S?.groundingMetadata?.groundingSupports?.filter(Q=>Q.groundingChunkIndices?.includes(z));return{type:"url_citation",url_citation:{url:Y?.web?.uri||"",title:Y?.web?.title||"",content:K?.[0]?.segment?.text||"",start_index:K?.[0]?.segment?.startIndex||0,end_index:K?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(P)}
196
+ `)),s=!0}if(G){l||f++;let P={choices:[{delta:{role:"assistant",content:G},finish_reason:v.finishReason?.toLowerCase()||null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};v?.groundingMetadata?.groundingChunks?.length&&(P.choices[0].delta.annotations=v.groundingMetadata.groundingChunks.map((K,z)=>{let Y=v?.groundingMetadata?.groundingSupports?.filter(Q=>Q.groundingChunkIndices?.includes(z));return{type:"url_citation",url_citation:{url:K?.web?.uri||"",title:K?.web?.title||"",content:Y?.[0]?.segment?.text||"",start_index:Y?.[0]?.segment?.startIndex||0,end_index:Y?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(P)}
197
197
 
198
- `)),!a&&V&&(a=!0)}$.length>0&&($.forEach(P=>{d++,f++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...P,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((z,K)=>{let Q=S?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(K));return{type:"url_citation",url_citation:{url:z?.web?.uri||"",title:z?.web?.title||"",content:Q?.[0]?.segment?.text||"",start_index:Q?.[0]?.segment?.startIndex||0,end_index:Q?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(Y)}
198
+ `)),!a&&G&&(a=!0)}$.length>0&&($.forEach(P=>{f++,d++;let K={choices:[{delta:{role:"assistant",tool_calls:[{...P,index:d}]},finish_reason:v.finishReason?.toLowerCase()||null,index:f,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:C.responseId||"",model:C.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:C.usageMetadata?.candidatesTokenCount||0,prompt_tokens:C.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:C.usageMetadata?.cachedContentTokenCount||0},total_tokens:C.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:C.usageMetadata?.thoughtsTokenCount||0}}};v?.groundingMetadata?.groundingChunks?.length&&(K.choices[0].delta.annotations=v.groundingMetadata.groundingChunks.map((z,Y)=>{let Q=v?.groundingMetadata?.groundingSupports?.filter(ee=>ee.groundingChunkIndices?.includes(Y));return{type:"url_citation",url_citation:{url:z?.web?.uri||"",title:z?.web?.title||"",content:Q?.[0]?.segment?.text||"",start_index:Q?.[0]?.segment?.startIndex||0,end_index:Q?.[0]?.segment?.endIndex||0}}})),_.enqueue(o.encode(`data: ${JSON.stringify(K)}
199
199
 
200
- `))}),!a&&V&&(a=!0))}catch(C){n?.error(`Error parsing ${e} stream chunk`,A,C.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:g,value:_}=await w.read();if(g){y&&await b(y,m);break}y+=r.decode(_,{stream:!0});let A=y.split(`
201
- `);y=A.pop()||"";for(let C of A)await b(C,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var pi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:di(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}transformRequestOut=fi;async transformResponseOut(e){return hi(e,this.name,this.logger)}};async function eT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
200
+ `))}),!a&&G&&(a=!0))}catch(C){n?.error(`Error parsing ${e} stream chunk`,A,C.message)}}}},w=t.body.getReader(),y="";try{for(;;){let{done:g,value:_}=await w.read();if(g){y&&await b(y,m);break}y+=r.decode(_,{stream:!0});let A=y.split(`
201
+ `);y=A.pop()||"";for(let C of A)await b(C,m)}}catch(g){m.error(g)}finally{m.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var mi=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,n){return{body:fi(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}transformRequestOut=hi;async transformResponseOut(e){return pi(e,this.name,this.logger)}};async function nT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Id(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
202
202
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
203
203
  2. Run "gcloud auth application-default login"
204
- 3. Use Google Cloud environment with default service account`)}}var Fa=class{name="vertex-gemini";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await eT();return{body:di(e),config:{url:new URL(`./v1beta1/projects/${r}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return fi(e)}async transformResponseOut(e){return hi(e,this.name)}};var Ia=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let n=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),r=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||n;return r&&e.tool_choice&&delete e.tool_choice,e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,u="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(u=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):u&&(o.reasoning_content=u),r&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
204
+ 3. Use Google Cloud environment with default service account`)}}var Ia=class{name="vertex-gemini";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await nT();return{body:fi(e),config:{url:new URL(`./v1beta1/projects/${r}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return hi(e)}async transformResponseOut(e){return pi(e,this.name)}};var Na=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let n=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),r=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||n;return r&&e.tool_choice&&delete e.tool_choice,e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,u="";if(typeof o.content=="string"){let f=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);f&&(u=f[1].trim(),o.content=o.content.replace(f[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):u&&(o.reasoning_content=u),r&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,b,w)=>{let y=m.split(`
205
205
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
206
206
  `))},p=(m,b)=>{let{controller:w,encoder:y}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let g=JSON.parse(m.slice(6));if(g.choices?.[0]?.delta?.reasoning_content){b.appendReasoningContent(g.choices[0].delta.reasoning_content);let _={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,thinking:{content:g.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let A=`data: ${JSON.stringify(_)}
207
207
 
208
- `;w.enqueue(y.encode(A));return}if(g.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let _="ccr_think_signature",A=g.choices[0].delta.content,C={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:_}}}]};delete C.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(C)}
208
+ `;w.enqueue(y.encode(A));return}if(g.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let _="ccr_think_signature",A=g.choices[0].delta.content,C={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:_}}}]};delete C.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(C)}
209
209
 
210
- `;w.enqueue(y.encode(S));let T={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:A}}]};delete T.choices[0].delta.reasoning_content;let R=`data: ${JSON.stringify(T)}
210
+ `;w.enqueue(y.encode(v));let T={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:A}}]};delete T.choices[0].delta.reasoning_content;let R=`data: ${JSON.stringify(T)}
211
211
 
212
212
  `;w.enqueue(y.encode(R));return}if(g.choices[0]?.delta?.reasoning_content&&delete g.choices[0].delta.reasoning_content,g.choices?.[0]?.delta&&Object.keys(g.choices[0].delta).length>0){let _=`data: ${JSON.stringify(g)}
213
213
 
214
214
  `;w.enqueue(y.encode(_))}}catch{w.enqueue(y.encode(m+`
215
215
  `))}else w.enqueue(y.encode(m+`
216
- `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
216
+ `))};try{for(;;){let{done:m,value:b}=await f.read();if(m){a.trim()&&d(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
217
217
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:_=>o+=_,isReasoningComplete:()=>s,setReasoningComplete:_=>s=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
218
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Na=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
218
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{f.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ba=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
219
219
  IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
220
220
  Examples:
221
221
  1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
222
- 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=-1,s="",a="",u=new ReadableStream({async start(l){let d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
222
+ 2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=-1,s="",a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,b,w)=>{let y=m.split(`
223
223
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
224
- `))},p=(m,b)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:A}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let C=JSON.parse(m.slice(6));if(C.choices[0]?.delta?.tool_calls?.length){let S=C.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){_(S.index);return}else if(g()>-1&&S.index===g()&&S.function.arguments){A(S.function.arguments);try{let T=JSON.parse(b.exitToolResponse());C.choices=[{delta:{role:"assistant",content:T.response||""}}];let R=`data: ${JSON.stringify(C)}
224
+ `))},p=(m,b)=>{let{controller:w,encoder:y,exitToolIndex:g,setExitToolIndex:_,appendExitToolResponse:A}=b;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let C=JSON.parse(m.slice(6));if(C.choices[0]?.delta?.tool_calls?.length){let v=C.choices[0].delta.tool_calls[0];if(v.function?.name==="ExitTool"){_(v.index);return}else if(g()>-1&&v.index===g()&&v.function.arguments){A(v.function.arguments);try{let T=JSON.parse(b.exitToolResponse());C.choices=[{delta:{role:"assistant",content:T.response||""}}];let R=`data: ${JSON.stringify(C)}
225
225
 
226
- `;w.enqueue(y.encode(R))}catch{}return}}if(C.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0){let S=`data: ${JSON.stringify(C)}
226
+ `;w.enqueue(y.encode(R))}catch{}return}}if(C.choices?.[0]?.delta&&Object.keys(C.choices[0].delta).length>0){let v=`data: ${JSON.stringify(C)}
227
227
 
228
- `;w.enqueue(y.encode(S))}}catch{w.enqueue(y.encode(m+`
228
+ `;w.enqueue(y.encode(v))}}catch{w.enqueue(y.encode(m+`
229
229
  `))}else w.enqueue(y.encode(m+`
230
- `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
230
+ `))};try{for(;;){let{done:m,value:b}=await f.read();if(m){a.trim()&&d(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
231
231
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,exitToolIndex:()=>o,setExitToolIndex:_=>o=_,exitToolResponse:()=>s,appendExitToolResponse:_=>s+=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
232
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ba=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
232
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{f.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ma=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u=!1,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
233
233
  `);for(let A of _)A.trim()&&y.enqueue(g.encode(A+`
234
234
  `))},b=(w,y)=>{let{controller:g,encoder:_}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let A=w.slice(6);try{let C=JSON.parse(A);if(C.usage&&(this.logger?.debug({usage:C.usage,hasToolCall:u},"usage"),C.choices[0].finish_reason=u?"tool_calls":"stop"),C.choices?.[0]?.finish_reason==="error"){g.enqueue(_.encode(`data: ${JSON.stringify({error:C.choices?.[0].error})}
235
235
 
236
- `));return}C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let S=C.choices?.[0]?.delta?.reasoning||C.choices?.[0]?.delta?.reasoning_content;if(S){y.appendReasoningContent(S);let P={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:S}}}]};P.choices?.[0]?.delta&&(delete P.choices[0].delta.reasoning,delete P.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(P)}
236
+ `));return}C.choices?.[0]?.delta?.content&&!y.hasTextContent()&&y.setHasTextContent(!0);let v=C.choices?.[0]?.delta?.reasoning||C.choices?.[0]?.delta?.reasoning_content;if(v){y.appendReasoningContent(v);let P={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,thinking:{content:v}}}]};P.choices?.[0]?.delta&&(delete P.choices[0].delta.reasoning,delete P.choices[0].delta.reasoning_content);let K=`data: ${JSON.stringify(P)}
237
237
 
238
- `;g.enqueue(_.encode(Y));return}if(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let P="ccr_think_signature",Y=C.choices[0].delta.content,z={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:P}}}]};z.choices?.[0]?.delta&&delete z.choices[0].delta.reasoning;let K=`data: ${JSON.stringify(z)}
238
+ `;g.enqueue(_.encode(K));return}if(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let P="ccr_think_signature",K=C.choices[0].delta.content,z={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:P}}}]};z.choices?.[0]?.delta&&delete z.choices[0].delta.reasoning;let Y=`data: ${JSON.stringify(z)}
239
239
 
240
- `;g.enqueue(_.encode(K));let Q={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:Y}}]};Q.choices?.[0]?.delta&&(delete Q.choices[0].delta.reasoning,delete Q.choices[0].delta.reasoning_content);let ee=`data: ${JSON.stringify(Q)}
240
+ `;g.enqueue(_.encode(Y));let Q={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:K}}]};Q.choices?.[0]?.delta&&(delete Q.choices[0].delta.reasoning,delete Q.choices[0].delta.reasoning_content);let ee=`data: ${JSON.stringify(Q)}
241
241
 
242
- `;g.enqueue(_.encode(ee));return}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.reasoning_content&&delete C.choices[0].delta.reasoning_content,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let T=C.choices?.[0]?.delta,R=T&&Object.keys(T).length>0,$=C.choices?.[0]?.finish_reason,V=C.usage;if(R||$||V){let P=`data: ${JSON.stringify(C)}
242
+ `;g.enqueue(_.encode(ee));return}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.reasoning_content&&delete C.choices[0].delta.reasoning_content,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(P=>{P.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0);let T=C.choices?.[0]?.delta,R=T&&Object.keys(T).length>0,$=C.choices?.[0]?.finish_reason,G=C.usage;if(R||$||G){let P=`data: ${JSON.stringify(C)}
243
243
 
244
244
  `;g.enqueue(_.encode(P))}}catch{g.enqueue(_.encode(w+`
245
245
  `))}}else g.enqueue(_.encode(w+`
246
- `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&m(l,f,r);break}if(!y||y.length===0)continue;let g;try{g=n.decode(y,{stream:!0})}catch(A){console.warn("Failed to decode chunk",A);continue}if(g.length===0)continue;if(l+=g,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let A=l.split(`
247
- `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",C,S),f.enqueue(r.encode(C+`
246
+ `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&m(l,d,r);break}if(!y||y.length===0)continue;let g;try{g=n.decode(y,{stream:!0})}catch(A){console.warn("Failed to decode chunk",A);continue}if(g.length===0)continue;if(l+=g,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let A=l.split(`
247
+ `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",C,v),d.enqueue(r.encode(C+`
248
248
  `))}continue}let _=l.split(`
249
- `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),f.enqueue(r.encode(A+`
250
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ma=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var La=class{name="groq";async transformRequestIn(e){return e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(n=>{delete n.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(b,w,y)=>{let g=b.split(`
249
+ `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),d.enqueue(r.encode(A+`
250
+ `))}}}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var La=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var ja=class{name="groq";async transformRequestIn(e){return e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(n=>{delete n.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u="",l=new ReadableStream({async start(f){let d=e.body.getReader(),p=(b,w,y)=>{let g=b.split(`
251
251
  `);for(let _ of g)_.trim()&&w.enqueue(y.encode(_+`
252
- `))},m=(b,w)=>{let{controller:y,encoder:g}=w;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let _=b.slice(6);try{let A=JSON.parse(_);if(A.error)throw new Error(JSON.stringify(A));A.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),A.choices?.[0]?.delta?.tool_calls?.length&&A.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Ut()}`}),A.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof A.choices[0].index=="number"?A.choices[0].index+=1:A.choices[0].index=1);let C=`data: ${JSON.stringify(A)}
252
+ `))},m=(b,w)=>{let{controller:y,encoder:g}=w;if(b.startsWith("data: ")&&b.trim()!=="data: [DONE]"){let _=b.slice(6);try{let A=JSON.parse(_);if(A.error)throw new Error(JSON.stringify(A));A.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),A.choices?.[0]?.delta?.tool_calls?.length&&A.choices?.[0]?.delta?.tool_calls.forEach(v=>{v.id=`call_${Ut()}`}),A.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof A.choices[0].index=="number"?A.choices[0].index+=1:A.choices[0].index=1);let C=`data: ${JSON.stringify(A)}
253
253
 
254
254
  `;y.enqueue(g.encode(C))}catch{y.enqueue(g.encode(b+`
255
255
  `))}}else y.enqueue(g.encode(b+`
256
- `))};try{for(;;){let{done:b,value:w}=await f.read();if(b){u.trim()&&p(u,d,r);break}if(!w||w.length===0)continue;let y;try{y=n.decode(w,{stream:!0})}catch(_){console.warn("Failed to decode chunk",_);continue}if(y.length===0)continue;if(u+=y,u.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let _=u.split(`
257
- `);u=_.pop()||"";for(let A of _)if(A.trim())try{m(A,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),d.enqueue(r.encode(A+`
256
+ `))};try{for(;;){let{done:b,value:w}=await d.read();if(b){u.trim()&&p(u,f,r);break}if(!w||w.length===0)continue;let y;try{y=n.decode(w,{stream:!0})}catch(_){console.warn("Failed to decode chunk",_);continue}if(y.length===0)continue;if(u+=y,u.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let _=u.split(`
257
+ `);u=_.pop()||"";for(let A of _)if(A.trim())try{m(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),f.enqueue(r.encode(A+`
258
258
  `))}continue}let g=u.split(`
259
- `);u=g.pop()||"";for(let _ of g)if(_.trim())try{m(_,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:A=>o=A,reasoningContent:()=>s,appendReasoningContent:A=>s+=A,isReasoningComplete:()=>a,setReasoningComplete:A=>a=A})}catch(A){console.error("Error processing line:",_,A),d.enqueue(r.encode(_+`
260
- `))}}}catch(b){console.error("Stream error:",b),d.error(b)}finally{try{f.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ja=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),e}};var M0=Ln(Wu());var Dn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function x0(t){return/^[0-9A-Fa-f]$/.test(t)}function Qn(t){return t>="0"&&t<="9"}function O0(t){return t>=" "}function fs(t){return`,:[]/{}()
261
- +`.includes(t)}function Fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Id(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Nd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Bd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Md(t){return`,[]/{}
262
- +`.includes(t)}function Ld(t){return hs(t)||tT.test(t)}var tT=/^[[{\w-]$/;function P0(t){return t===`
263
- `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Yn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function F0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function I0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function hs(t){return jd(t)||Ua(t)}function jd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function Ud(t){return t==='"'}function Ua(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function $d(t){return t==="'"}function _o(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function Ft(t,e){let n=t.length;if(!Yn(t,n-1))return t+e;for(;Yn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function N0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function B0(t){return/[,\n][ \t\r]*$/.test(t)}var nT={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},rT={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
264
- `,r:"\r",t:" "};function qd(t){let e=0,n="";d(["```","[```","{```"]),s()||ee(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),Ld(t[e])&&B0(n)?(o||(n=Ft(n,",")),_()):o&&(n=_o(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Q();function s(){a();let G=y()||g()||A()||S()||T()||$(!1)||V();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Z=e,ie=u(G);do ie=l(),ie&&(ie=u(G));while(ie);return e>Z}function u(G){let Z=G?Yn:F0,ie="";for(;;)if(Z(t,e))ie+=t[e],e++;else if(I0(t,e))ie+=" ",e++;else break;return ie.length>0?(n+=ie,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!oT(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
265
- `;)e++;return!0}return!1}function d(G){if(f(G)){if(Fd(t[e]))for(;e<t.length&&Id(t[e]);)e++;return a(),!0}return!1}function f(G){u(!0);for(let Z of G){let ie=e+Z.length;if(t.slice(e,ie)===Z)return e=ie,!0}return!1}function p(G){return t[e]===G?(n+=t[e],e++,!0):!1}function m(G){return t[e]===G?(e++,!0):!1}function b(){return m("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),m(","),!0):!1}function y(){if(t[e]==="{"){n+="{",e++,a(),m(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(G?(Z=!0,G=!1):(Z=p(","),Z||(n=Ft(n,",")),a()),w(),!(A()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=_o(n,","):ae();break}a();let Ue=p(":"),Ae=e>=t.length;Ue||(Ld(t[e])||Ae?n=Ft(n,":"):se()),s()||(Ue||Ae?n+="null":se())}return t[e]==="}"?(n+="}",e++):n=Ft(n,"}"),!0}return!1}function g(){if(t[e]==="["){n+="[",e++,a(),m(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(n=Ft(n,",")),w(),!s()){n=_o(n,",");break}return t[e]==="]"?(n+="]",e++):n=Ft(n,"]"),!0}return!1}function _(){let G=!0,Z=!0;for(;Z;)G?G=!1:p(",")||(n=Ft(n,",")),Z=s();Z||(n=_o(n,",")),n=`[
259
+ `);u=g.pop()||"";for(let _ of g)if(_.trim())try{m(_,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:A=>o=A,reasoningContent:()=>s,appendReasoningContent:A=>s+=A,isReasoningComplete:()=>a,setReasoningComplete:A=>a=A})}catch(A){console.error("Error processing line:",_,A),f.enqueue(r.encode(_+`
260
+ `))}}}catch(b){console.error("Stream error:",b),f.error(b)}finally{try{d.releaseLock()}catch(b){console.error("Error releasing reader lock:",b)}f.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),e}};var j0=Ln(Gu());var Dn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function P0(t){return/^[0-9A-Fa-f]$/.test(t)}function Qn(t){return t>="0"&&t<="9"}function F0(t){return t>=" "}function hs(t){return`,:[]/{}()
261
+ +`.includes(t)}function Nd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Bd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var Md=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Ld=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function jd(t){return`,[]/{}
262
+ +`.includes(t)}function Ud(t){return ps(t)||rT.test(t)}var rT=/^[[{\w-]$/;function I0(t){return t===`
263
+ `||t==="\r"||t===" "||t==="\b"||t==="\f"}function Yn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function N0(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function B0(t,e){let n=t.charCodeAt(e);return n===160||n>=8192&&n<=8202||n===8239||n===8287||n===12288}function ps(t){return $d(t)||$a(t)}function $d(t){return t==='"'||t==="\u201C"||t==="\u201D"}function qd(t){return t==='"'}function $a(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function zd(t){return t==="'"}function bo(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function Ft(t,e){let n=t.length;if(!Yn(t,n-1))return t+e;for(;Yn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function M0(t,e,n){return t.substring(0,e)+t.substring(e+n)}function L0(t){return/[,\n][ \t\r]*$/.test(t)}var oT={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},sT={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
264
+ `,r:"\r",t:" "};function Hd(t){let e=0,n="";f(["```","[```","{```"]),s()||ee(),f(["```","```]","```}"]);let o=p(",");for(o&&a(),Ud(t[e])&&L0(n)?(o||(n=Ft(n,",")),_()):o&&(n=bo(n,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return n;Q();function s(){a();let J=y()||g()||A()||v()||T()||$(!1)||G();return a(),J}function a(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Z=e,ce=u(J);do ce=l(),ce&&(ce=u(J));while(ce);return e>Z}function u(J){let Z=J?Yn:N0,ce="";for(;;)if(Z(t,e))ce+=t[e],e++;else if(B0(t,e))ce+=" ",e++;else break;return ce.length>0?(n+=ce,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!iT(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
265
+ `;)e++;return!0}return!1}function f(J){if(d(J)){if(Nd(t[e]))for(;e<t.length&&Bd(t[e]);)e++;return a(),!0}return!1}function d(J){u(!0);for(let Z of J){let ce=e+Z.length;if(t.slice(e,ce)===Z)return e=ce,!0}return!1}function p(J){return t[e]===J?(n+=t[e],e++,!0):!1}function m(J){return t[e]===J?(e++,!0):!1}function b(){return m("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),m(","),!0):!1}function y(){if(t[e]==="{"){n+="{",e++,a(),m(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="}";){let Z;if(J?(Z=!0,J=!1):(Z=p(","),Z||(n=Ft(n,",")),a()),w(),!(A()||$(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?n=bo(n,","):se();break}a();let je=p(":"),we=e>=t.length;je||(Ud(t[e])||we?n=Ft(n,":"):ie()),s()||(je||we?n+="null":ie())}return t[e]==="}"?(n+="}",e++):n=Ft(n,"}"),!0}return!1}function g(){if(t[e]==="["){n+="[",e++,a(),m(",")&&a();let J=!0;for(;e<t.length&&t[e]!=="]";)if(J?J=!1:p(",")||(n=Ft(n,",")),w(),!s()){n=bo(n,",");break}return t[e]==="]"?(n+="]",e++):n=Ft(n,"]"),!0}return!1}function _(){let J=!0,Z=!0;for(;Z;)J?J=!1:p(",")||(n=Ft(n,",")),Z=s();Z||(n=bo(n,",")),n=`[
266
266
  ${n}
267
- ]`}function A(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ie=t[e]==="\\";if(ie&&(e++,ie=!0),hs(t[e])){let Ue=Ud(t[e])?Ud:$d(t[e])?$d:Ua(t[e])?Ua:jd,Ae=e,J=n.length,ce='"';for(e++;;){if(e>=t.length){let te=P(e-1);return!G&&fs(t.charAt(te))?(e=Ae,n=n.substring(0,J),A(!0)):(ce=Ft(ce,'"'),n+=ce,!0)}if(e===Z)return ce=Ft(ce,'"'),n+=ce,!0;if(Ue(t[e])){let te=e,Te=ce.length;if(ce+='"',e++,n+=ce,a(!1),G||e>=t.length||fs(t[e])||hs(t[e])||Qn(t[e]))return C(),!0;let Oe=P(te-1),je=t.charAt(Oe);if(je===",")return e=Ae,n=n.substring(0,J),A(!1,Oe);if(fs(je))return e=Ae,n=n.substring(0,J),A(!0);n=n.substring(0,J),e=te+1,ce=`${ce.substring(0,Te)}\\${ce.substring(Te)}`}else if(G&&Md(t[e])){if(t[e-1]===":"&&Nd.test(t.substring(Ae+1,e+2)))for(;e<t.length&&Bd.test(t[e]);)ce+=t[e],e++;return ce=Ft(ce,'"'),n+=ce,C(),!0}else if(t[e]==="\\"){let te=t.charAt(e+1);if(rT[te]!==void 0)ce+=t.slice(e,e+2),e+=2;else if(te==="u"){let Oe=2;for(;Oe<6&&x0(t[e+Oe]);)Oe++;Oe===6?(ce+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:me()}else ce+=te,e+=2}else{let te=t.charAt(e);te==='"'&&t[e-1]!=="\\"?(ce+=`\\${te}`,e++):P0(te)?(ce+=nT[te],e++):(O0(te)||K(te),ce+=te,e++)}ie&&b()}}return!1}function C(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),n=_o(n,'"',!0);let Z=n.length;A()?n=N0(n,Z,1):n=Ft(n,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1}for(;Qn(t[e]);)e++;if(t[e]==="."){if(e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1;for(;Qn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return z(G),!0;if(!Qn(t[e]))return e=G,!1;for(;Qn(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let Z=t.slice(G,e),ie=/^0\d/.test(Z);return n+=ie?`"${Z}"`:Z,!0}return!1}function T(){return R("true","true")||R("false","false")||R("null","null")||R("True","true")||R("False","false")||R("None","null")}function R(G,Z){return t.slice(e,e+G.length)===G?(n+=Z,e+=G.length,!0):!1}function $(G){let Z=e;if(Fd(t[e])){for(;e<t.length&&Id(t[e]);)e++;let ie=e;for(;Yn(t,ie);)ie++;if(t[ie]==="(")return e=ie+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!Md(t[e])&&!hs(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&Nd.test(t.substring(Z,e+2)))for(;e<t.length&&Bd.test(t[e]);)e++;if(e>Z){for(;Yn(t,e-1)&&e>0;)e--;let ie=t.slice(Z,e);return n+=ie==="undefined"?"null":JSON.stringify(ie),t[e]==='"'&&e++,!0}}function V(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(G,e)}"`,!0}}function P(G){let Z=G;for(;Z>0&&Yn(t,Z);)Z--;return Z}function Y(){return e>=t.length||fs(t[e])||Yn(t,e)}function z(G){n+=`${t.slice(G,e)}0`}function K(G){throw new Dn(`Invalid character ${JSON.stringify(G)}`,e)}function Q(){throw new Dn(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ee(){throw new Dn("Unexpected end of json string",t.length)}function ae(){throw new Dn("Object key expected",e)}function se(){throw new Dn("Colon expected",e)}function me(){let G=t.slice(e,e+6);throw new Dn(`Invalid unicode character "${G}"`,e)}}function oT(t,e){return t[e]==="*"&&t[e+1]==="/"}function zd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(n){try{let r=M0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=qd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${n.message}. JSON5 parsing failed: ${r.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var $a=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message?.tool_calls?.length)for(let r of n.choices[0].message.tool_calls)r.function?.arguments&&(r.function.arguments=zd(r.function.arguments,this.logger));return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o={},s=!1,a="",u=!1,l=!1,d="",f=new ReadableStream({async start(p){let m=e.body.getReader(),b=(g,_,A)=>{let C=g.split(`
268
- `);for(let S of C)S.trim()&&_.enqueue(A.encode(S+`
269
- `))},w=(g,_,A)=>{let C="";try{C=zd(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),C=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:C},id:o.id,index:o.index,type:"function"}]},T={...g,choices:[{...g.choices[0],delta:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let R=`data: ${JSON.stringify(T)}
267
+ ]`}function A(){let J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ce=t[e]==="\\";if(ce&&(e++,ce=!0),ps(t[e])){let je=qd(t[e])?qd:zd(t[e])?zd:$a(t[e])?$a:$d,we=e,V=n.length,ue='"';for(e++;;){if(e>=t.length){let te=P(e-1);return!J&&hs(t.charAt(te))?(e=we,n=n.substring(0,V),A(!0)):(ue=Ft(ue,'"'),n+=ue,!0)}if(e===Z)return ue=Ft(ue,'"'),n+=ue,!0;if(je(t[e])){let te=e,Te=ue.length;if(ue+='"',e++,n+=ue,a(!1),J||e>=t.length||hs(t[e])||ps(t[e])||Qn(t[e]))return C(),!0;let Oe=P(te-1),Ue=t.charAt(Oe);if(Ue===",")return e=we,n=n.substring(0,V),A(!1,Oe);if(hs(Ue))return e=we,n=n.substring(0,V),A(!0);n=n.substring(0,V),e=te+1,ue=`${ue.substring(0,Te)}\\${ue.substring(Te)}`}else if(J&&jd(t[e])){if(t[e-1]===":"&&Md.test(t.substring(we+1,e+2)))for(;e<t.length&&Ld.test(t[e]);)ue+=t[e],e++;return ue=Ft(ue,'"'),n+=ue,C(),!0}else if(t[e]==="\\"){let te=t.charAt(e+1);if(sT[te]!==void 0)ue+=t.slice(e,e+2),e+=2;else if(te==="u"){let Oe=2;for(;Oe<6&&P0(t[e+Oe]);)Oe++;Oe===6?(ue+=t.slice(e,e+6),e+=6):e+Oe>=t.length?e=t.length:pe()}else ue+=te,e+=2}else{let te=t.charAt(e);te==='"'&&t[e-1]!=="\\"?(ue+=`\\${te}`,e++):I0(te)?(ue+=oT[te],e++):(F0(te)||Y(te),ue+=te,e++)}ce&&b()}}return!1}function C(){let J=!1;for(a();t[e]==="+";){J=!0,e++,a(),n=bo(n,'"',!0);let Z=n.length;A()?n=M0(n,Z,1):n=Ft(n,'"')}return J}function v(){let J=e;if(t[e]==="-"){if(e++,K())return z(J),!0;if(!Qn(t[e]))return e=J,!1}for(;Qn(t[e]);)e++;if(t[e]==="."){if(e++,K())return z(J),!0;if(!Qn(t[e]))return e=J,!1;for(;Qn(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,K())return z(J),!0;if(!Qn(t[e]))return e=J,!1;for(;Qn(t[e]);)e++}if(!K())return e=J,!1;if(e>J){let Z=t.slice(J,e),ce=/^0\d/.test(Z);return n+=ce?`"${Z}"`:Z,!0}return!1}function T(){return R("true","true")||R("false","false")||R("null","null")||R("True","true")||R("False","false")||R("None","null")}function R(J,Z){return t.slice(e,e+J.length)===J?(n+=Z,e+=J.length,!0):!1}function $(J){let Z=e;if(Nd(t[e])){for(;e<t.length&&Bd(t[e]);)e++;let ce=e;for(;Yn(t,ce);)ce++;if(t[ce]==="(")return e=ce+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!jd(t[e])&&!ps(t[e])&&(!J||t[e]!==":");)e++;if(t[e-1]===":"&&Md.test(t.substring(Z,e+2)))for(;e<t.length&&Ld.test(t[e]);)e++;if(e>Z){for(;Yn(t,e-1)&&e>0;)e--;let ce=t.slice(Z,e);return n+=ce==="undefined"?"null":JSON.stringify(ce),t[e]==='"'&&e++,!0}}function G(){if(t[e]==="/"){let J=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=`"${t.substring(J,e)}"`,!0}}function P(J){let Z=J;for(;Z>0&&Yn(t,Z);)Z--;return Z}function K(){return e>=t.length||hs(t[e])||Yn(t,e)}function z(J){n+=`${t.slice(J,e)}0`}function Y(J){throw new Dn(`Invalid character ${JSON.stringify(J)}`,e)}function Q(){throw new Dn(`Unexpected character ${JSON.stringify(t[e])}`,e)}function ee(){throw new Dn("Unexpected end of json string",t.length)}function se(){throw new Dn("Object key expected",e)}function ie(){throw new Dn("Colon expected",e)}function pe(){let J=t.slice(e,e+6);throw new Dn(`Invalid unicode character "${J}"`,e)}}function iT(t,e){return t[e]==="*"&&t[e+1]==="/"}function Wd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(n){try{let r=j0.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Hd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${n.message}. JSON5 parsing failed: ${r.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var qa=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message?.tool_calls?.length)for(let r of n.choices[0].message.tool_calls)r.function?.arguments&&(r.function.arguments=Wd(r.function.arguments,this.logger));return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o={},s=!1,a="",u=!1,l=!1,f="",d=new ReadableStream({async start(p){let m=e.body.getReader(),b=(g,_,A)=>{let C=g.split(`
268
+ `);for(let v of C)v.trim()&&_.enqueue(A.encode(v+`
269
+ `))},w=(g,_,A)=>{let C="";try{C=Wd(o.arguments||"",this.logger)}catch($){console.error(`${$.message} ${$.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),C=o.arguments||""}let v={role:"assistant",tool_calls:[{function:{name:o.name,arguments:C},id:o.id,index:o.index,type:"function"}]},T={...g,choices:[{...g.choices[0],delta:v}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let R=`data: ${JSON.stringify(T)}
270
270
 
271
- `;_.enqueue(A.encode(R))},y=(g,_)=>{let{controller:A,encoder:C}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let S=g.slice(6);try{let T=JSON.parse(S);if(T.choices?.[0]?.delta?.tool_calls?.length){let $=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""},$.function?.arguments&&($.function.arguments="");let V=`data: ${JSON.stringify(T)}
271
+ `;_.enqueue(A.encode(R))},y=(g,_)=>{let{controller:A,encoder:C}=_;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]"){let v=g.slice(6);try{let T=JSON.parse(v);if(T.choices?.[0]?.delta?.tool_calls?.length){let $=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""},$.function?.arguments&&($.function.arguments="");let G=`data: ${JSON.stringify(T)}
272
272
 
273
- `;A.enqueue(C.encode(V));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(T,A,C),o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(T,A,C),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let R=`data: ${JSON.stringify(T)}
273
+ `;A.enqueue(C.encode(G));return}else if(o.index===$.index){$.function?.arguments&&(o.arguments+=$.function.arguments);return}else{w(T,A,C),o={index:$.index,name:$.function?.name||"",id:$.id||"",arguments:$.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(T,A,C),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let R=`data: ${JSON.stringify(T)}
274
274
 
275
275
  `;A.enqueue(C.encode(R))}catch{A.enqueue(C.encode(g+`
276
276
  `))}}else A.enqueue(C.encode(g+`
277
- `))};try{for(;;){let{done:g,value:_}=await m.read();if(g){d.trim()&&b(d,p,r);break}if(!_||_.length===0)continue;let A;try{A=n.decode(_,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(A.length===0)continue;if(d+=A,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
278
- `);d=S.pop()||"";for(let T of S)if(T.trim())try{y(T,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:R=>s=R,reasoningContent:()=>a,appendReasoningContent:R=>a+=R,isReasoningComplete:()=>u,setReasoningComplete:R=>u=R})}catch(R){console.error("Error processing line:",T,R),p.enqueue(r.encode(T+`
279
- `))}continue}let C=d.split(`
280
- `);d=C.pop()||"";for(let S of C)if(S.trim())try{y(S,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){console.error("Error processing line:",S,T),p.enqueue(r.encode(S+`
281
- `))}}}catch(g){console.error("Stream error:",g),p.error(g)}finally{try{m.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}p.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var qa=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return n.choices[0]?.message.reasoning_content&&(n.thinking={content:n.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let d=e.body.getReader(),f=(m,b,w)=>{let y=m.split(`
277
+ `))};try{for(;;){let{done:g,value:_}=await m.read();if(g){f.trim()&&b(f,p,r);break}if(!_||_.length===0)continue;let A;try{A=n.decode(_,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(A.length===0)continue;if(f+=A,f.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=f.split(`
278
+ `);f=v.pop()||"";for(let T of v)if(T.trim())try{y(T,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:R=>s=R,reasoningContent:()=>a,appendReasoningContent:R=>a+=R,isReasoningComplete:()=>u,setReasoningComplete:R=>u=R})}catch(R){console.error("Error processing line:",T,R),p.enqueue(r.encode(T+`
279
+ `))}continue}let C=f.split(`
280
+ `);f=C.pop()||"";for(let v of C)if(v.trim())try{y(v,{controller:p,encoder:r,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>a,appendReasoningContent:T=>a+=T,isReasoningComplete:()=>u,setReasoningComplete:T=>u=T})}catch(T){console.error("Error processing line:",v,T),p.enqueue(r.encode(v+`
281
+ `))}}}catch(g){console.error("Stream error:",g),p.error(g)}finally{try{m.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}p.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var za=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return n.choices[0]?.message.reasoning_content&&(n.thinking={content:n.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o="",s=!1,a="",u=new ReadableStream({async start(l){let f=e.body.getReader(),d=(m,b,w)=>{let y=m.split(`
282
282
  `);for(let g of y)g.trim()&&b.enqueue(w.encode(g+`
283
283
  `))},p=(m,b)=>{let{controller:w,encoder:y}=b;if(this.logger?.debug({line:m},"Processing reason line"),m.startsWith("data: ")&&m.trim()!=="data: [DONE]")try{let g=JSON.parse(m.slice(6));if(console.log(JSON.stringify(g)),g.choices?.[0]?.delta?.reasoning_content){b.appendReasoningContent(g.choices[0].delta.reasoning_content);let _={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,thinking:{content:g.choices[0].delta.reasoning_content}}}]};delete _.choices[0].delta.reasoning_content;let A=`data: ${JSON.stringify(_)}
284
284
 
285
- `;w.enqueue(y.encode(A));return}if(g.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let _="ccr_think_signature",A=g.choices[0].delta.content,C={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:_}}}]};delete C.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(C)}
285
+ `;w.enqueue(y.encode(A));return}if(g.choices?.[0]?.delta?.content&&b.reasoningContent()&&!b.isReasoningComplete()){b.setReasoningComplete(!0);let _="ccr_think_signature",A=g.choices[0].delta.content,C={...g,choices:[{...g.choices[0],delta:{...g.choices[0].delta,content:null,thinking:{content:b.reasoningContent(),signature:_}}}]};delete C.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(C)}
286
286
 
287
- `;w.enqueue(y.encode(S))}if(g.choices?.[0]?.delta?.reasoning_content&&delete g.choices[0].delta.reasoning_content,g.choices?.[0]?.delta&&Object.keys(g.choices[0].delta).length>0){b.isReasoningComplete()&&g.choices[0].index++;let _=`data: ${JSON.stringify(g)}
287
+ `;w.enqueue(y.encode(v))}if(g.choices?.[0]?.delta?.reasoning_content&&delete g.choices[0].delta.reasoning_content,g.choices?.[0]?.delta&&Object.keys(g.choices[0].delta).length>0){b.isReasoningComplete()&&g.choices[0].index++;let _=`data: ${JSON.stringify(g)}
288
288
 
289
289
  `;w.enqueue(y.encode(_))}}catch{w.enqueue(y.encode(m+`
290
290
  `))}else w.enqueue(y.encode(m+`
291
- `))};try{for(;;){let{done:m,value:b}=await d.read();if(m){a.trim()&&f(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
291
+ `))};try{for(;;){let{done:m,value:b}=await f.read();if(m){a.trim()&&d(a,l,r);break}let w=n.decode(b,{stream:!0});a+=w;let y=a.split(`
292
292
  `);a=y.pop()||"";for(let g of y)if(g.trim())try{p(g,{controller:l,encoder:r,reasoningContent:()=>o,appendReasoningContent:_=>o+=_,isReasoningComplete:()=>s,setReasoningComplete:_=>s=_})}catch(_){console.error("Error processing line:",g,_),l.enqueue(r.encode(g+`
293
- `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{d.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var za=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Ha=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function L0(t){let e=[];for(let r=0;r<t.messages.length;r++){let o=t.messages[r],s=r===t.messages.length-1,a=o.role==="assistant",u=[];typeof o.content=="string"?u.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?u.push({type:"text",text:l.text||""}):l.type==="image_url"&&u.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&u.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&u.length===0&&o.tool_calls&&u.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:u}))}let n={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),n}function j0(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(r.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function U0(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o;r.tool_use&&r.tool_use.length>0&&(o=r.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:r.id,choices:[{finish_reason:r.stop_reason||null,index:0,message:{content:r.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:{completion_tokens:r.usage.output_tokens,prompt_tokens:r.usage.input_tokens,total_tokens:r.usage.input_tokens+r.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=(u,l)=>{if(u.startsWith("data: ")){let d=u.slice(6).trim();if(d){n?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
293
+ `))}}}catch(m){console.error("Stream error:",m),l.error(m)}finally{try{f.releaseLock()}catch(m){console.error("Error releasing reader lock:",m)}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ha=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Wa=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function U0(t){let e=[];for(let r=0;r<t.messages.length;r++){let o=t.messages[r],s=r===t.messages.length-1,a=o.role==="assistant",u=[];typeof o.content=="string"?u.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?u.push({type:"text",text:l.text||""}):l.type==="image_url"&&u.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&u.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&u.length===0&&o.tool_calls&&u.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:u}))}let n={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(n.tools=t.tools.map(r=>({name:r.function.name,description:r.function.description,input_schema:r.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?n.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(n.tool_choice={type:"tool",name:t.tool_choice})),n}function $0(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(r.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function q0(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o;r.tool_use&&r.tool_use.length>0&&(o=r.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:r.id,choices:[{finish_reason:r.stop_reason||null,index:0,message:{content:r.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:{completion_tokens:r.usage.output_tokens,prompt_tokens:r.usage.input_tokens,total_tokens:r.usage.input_tokens+r.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r=new TextDecoder,o=new TextEncoder,s=(u,l)=>{if(u.startsWith("data: ")){let f=u.slice(6).trim();if(f){n?.debug({chunkStr:f},`${e} chunk:`);try{let d=JSON.parse(f);if(d.type==="content_block_delta"&&d.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:d.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
294
294
 
295
- `))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
295
+ `))}else if(d.type==="content_block_delta"&&d.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:d.index||0,function:{arguments:d.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
296
296
 
297
- `))}else if(f.type==="content_block_start"&&f.content_block?.type==="tool_use"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,id:f.content_block.id,type:"function",function:{name:f.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
297
+ `))}else if(d.type==="content_block_start"&&d.content_block?.type==="tool_use"){let p={choices:[{delta:{tool_calls:[{index:d.index||0,id:d.content_block.id,type:"function",function:{name:d.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
298
298
 
299
- `))}else if(f.type==="message_delta"){let p={choices:[{delta:{},finish_reason:f.delta?.stop_reason==="tool_use"?"tool_calls":f.delta?.stop_reason==="max_tokens"?"length":f.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
299
+ `))}else if(d.type==="message_delta"){let p={choices:[{delta:{},finish_reason:d.delta?.stop_reason==="tool_use"?"tool_calls":d.delta?.stop_reason==="max_tokens"?"length":d.delta?.stop_reason==="stop_sequence"?"content_filter":"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
300
300
 
301
- `))}else if(f.type==="message_stop")l.enqueue(o.encode(`data: [DONE]
301
+ `))}else if(d.type==="message_stop")l.enqueue(o.encode(`data: [DONE]
302
302
 
303
- `));else{let p={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
303
+ `));else{let p={choices:[{delta:{role:"assistant",content:d.content?.[0]?.text||""},finish_reason:d.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:d.id||"",model:d.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:d.usage?.output_tokens||0,prompt_tokens:d.usage?.input_tokens||0,total_tokens:(d.usage?.input_tokens||0)+(d.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
304
304
 
305
- `))}}catch(f){n?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(u){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,u);break}d+=r.decode(p,{stream:!0});let m=d.split(`
306
- `);d=m.pop()||"";for(let b of m)s(b,u)}}catch(f){u.error(f)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function sT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Pd(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
305
+ `))}}catch(d){n?.error(`Error parsing ${e} stream chunk`,f,d.message)}}}},a=new ReadableStream({async start(u){let l=t.body.getReader(),f="";try{for(;;){let{done:d,value:p}=await l.read();if(d){f&&s(f,u);break}f+=r.decode(p,{stream:!0});let m=f.split(`
306
+ `);f=m.pop()||"";for(let b of m)s(b,u)}}catch(d){u.error(d)}finally{u.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function aT(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>Ln(Id(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
307
307
  1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
308
308
  2. Run "gcloud auth application-default login"
309
- 3. Use Google Cloud environment with default service account`)}}var Wa=class{name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await sT();return{body:L0(e),config:{url:new URL(`/v1/projects/${r}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return j0(e)}async transformResponseOut(e){return U0(e,this.name,this.logger)}};var Ga=class{name="cerebras";async transformRequestIn(e,n){let r=JSON.parse(JSON.stringify(e));return r.reasoning?delete r.reasoning:r.disable_reasoning=!1,{body:r,config:{headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Ja=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Va=class{name="OpenAI";endPoint="/v1/chat/completions"};var Ka=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let n={...e},r=Object.entries(this.options);for(let[o,s]of r)if(o in n)if(typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null)n[o]=this.deepMergeObjects(n[o],s);else continue;else n[o]=this.cloneValue(s);return n}async transformResponseOut(e){return e}deepMergeObjects(e,n){let r={...e};for(let[o,s]of Object.entries(n))o in r&&typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null?r[o]=this.deepMergeObjects(r[o],s):r[o]=this.cloneValue(s);return r}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>this.cloneValue(r));let n={};for(let[r,o]of Object.entries(e))n[r]=this.cloneValue(o);return n}};var Ya=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
309
+ 3. Use Google Cloud environment with default service account`)}}var Ga=class{name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let u=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(u);l&&l.project_id&&(r=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!r)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await aT();return{body:U0(e),config:{url:new URL(`/v1/projects/${r}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return $0(e)}async transformResponseOut(e){return q0(e,this.name,this.logger)}};var Ja=class{name="cerebras";async transformRequestIn(e,n){let r=JSON.parse(JSON.stringify(e));return r.reasoning?delete r.reasoning:r.disable_reasoning=!1,{body:r,config:{headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Va=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ka=class{name="OpenAI";endPoint="/v1/chat/completions"};var Ya=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let n={...e},r=Object.entries(this.options);for(let[o,s]of r)if(o in n)if(typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null)n[o]=this.deepMergeObjects(n[o],s);else continue;else n[o]=this.cloneValue(s);return n}async transformResponseOut(e){return e}deepMergeObjects(e,n){let r={...e};for(let[o,s]of Object.entries(n))o in r&&typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null?r[o]=this.deepMergeObjects(r[o],s):r[o]=this.cloneValue(s);return r}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>this.cloneValue(r));let n={};for(let[r,o]of Object.entries(e))n[r]=this.cloneValue(o);return n}};var Qa=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(n=>{Array.isArray(n.content)&&n.content.forEach(r=>{r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)})}):e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control,r.type==="image_url"&&(r.image_url.url.startsWith("http")||(r.image_url.url=`data:${r.media_type};base64,${r.image_url.url}`),delete r.media_type)}):n.cache_control&&delete n.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",a=!1,u=!1,l="",f=new ReadableStream({async start(d){let p=e.body.getReader(),m=(w,y,g)=>{let _=w.split(`
310
310
  `);for(let A of _)A.trim()&&y.enqueue(g.encode(A+`
311
311
  `))},b=(w,y)=>{let{controller:g,encoder:_}=y;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let A=w.slice(6);try{let C=JSON.parse(A);if(C.usage&&(this.logger?.debug({usage:C.usage,hasToolCall:u},"usage"),C.choices[0].finish_reason=u?"tool_calls":"stop"),C.choices?.[0]?.finish_reason==="error"&&g.enqueue(_.encode(`data: ${JSON.stringify({error:C.choices?.[0].error})}
312
312
 
@@ -314,39 +314,39 @@ ${n}
314
314
 
315
315
  `;g.enqueue(_.encode(R));return}if(C.choices?.[0]?.delta?.content&&y.reasoningContent()&&!y.isReasoningComplete()){y.setReasoningComplete(!0);let R={...C,choices:[{...C.choices?.[0],delta:{...C.choices[0].delta,content:null,thinking:{content:y.reasoningContent(),signature:"ccr_think_signature"}}}]};R.choices?.[0]?.delta&&delete R.choices[0].delta.reasoning;let $=`data: ${JSON.stringify(R)}
316
316
 
317
- `;g.enqueue(_.encode($))}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),C.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof C.choices[0].index=="number"?C.choices[0].index+=1:C.choices[0].index=1);let S=`data: ${JSON.stringify(C)}
317
+ `;g.enqueue(_.encode($))}C.choices?.[0]?.delta?.reasoning&&delete C.choices[0].delta.reasoning,C.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(C.choices?.[0]?.delta?.tool_calls[0].id,10))&&C.choices?.[0]?.delta?.tool_calls.forEach(T=>{T.id=`call_${Ut()}`}),C.choices?.[0]?.delta?.tool_calls?.length&&!u&&(u=!0),C.choices?.[0]?.delta?.tool_calls?.length&&y.hasTextContent()&&(typeof C.choices[0].index=="number"?C.choices[0].index+=1:C.choices[0].index=1);let v=`data: ${JSON.stringify(C)}
318
318
 
319
- `;g.enqueue(_.encode(S))}catch{g.enqueue(_.encode(w+`
319
+ `;g.enqueue(_.encode(v))}catch{g.enqueue(_.encode(w+`
320
320
  `))}}else g.enqueue(_.encode(w+`
321
- `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&m(l,f,r);break}if(!y||y.length===0)continue;let g;try{g=n.decode(y,{stream:!0})}catch(A){console.warn("Failed to decode chunk",A);continue}if(g.length===0)continue;if(l+=g,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let A=l.split(`
322
- `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",C,S),f.enqueue(r.encode(C+`
321
+ `))};try{for(;;){let{done:w,value:y}=await p.read();if(w){l.trim()&&m(l,d,r);break}if(!y||y.length===0)continue;let g;try{g=n.decode(y,{stream:!0})}catch(A){console.warn("Failed to decode chunk",A);continue}if(g.length===0)continue;if(l+=g,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let A=l.split(`
322
+ `);l=A.pop()||"";for(let C of A)if(C.trim())try{b(C,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",C,v),d.enqueue(r.encode(C+`
323
323
  `))}continue}let _=l.split(`
324
- `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),f.enqueue(r.encode(A+`
325
- `))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Hd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
324
+ `);l=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:d,encoder:r,hasTextContent:()=>o,setHasTextContent:C=>o=C,reasoningContent:()=>s,appendReasoningContent:C=>s+=C,isReasoningComplete:()=>a,setReasoningComplete:C=>a=C})}catch(C){console.error("Error processing line:",A,C),d.enqueue(r.encode(A+`
325
+ `))}}}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Gd=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
326
326
 
327
327
  Output format:
328
328
  <reasoning_content>
329
329
  Your detailed thinking process goes here
330
330
  </reasoning_content>
331
- Your final answer must follow after the closing tag above.`,iT=10,Qa=class{name="forcereasoning";async transformRequestIn(e){let n=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||n<iT)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
332
- ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:Hd}):r.content=[{type:"text",text:Hd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Hd}]}),e}async transformResponseOut(e){let n="<reasoning_content>",r="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,u=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",m="",b="",w=(y,g)=>{if(typeof g!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(y)}
331
+ Your final answer must follow after the closing tag above.`,uT=10,Xa=class{name="forcereasoning";async transformRequestIn(e){let n=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||n<uT)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
332
+ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:Gd}):r.content=[{type:"text",text:Gd},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Gd}]}),e}async transformResponseOut(e){let n="<reasoning_content>",r="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,u=new ReadableStream({async start(l){let f=e.body.getReader(),d="",p="SEARCHING",m="",b="",w=(y,g)=>{if(typeof g!="string"){y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0&&!y.choices[0].delta.content&&(y.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(y)}
333
333
 
334
334
  `)));return}let _=m+g;for(m="";_.length>0;)if(p==="SEARCHING"){let A=_.indexOf(n);if(A!==-1)_=_.substring(A+n.length),p="REASONING";else{for(let C=n.length-1;C>0;C--)if(_.endsWith(n.substring(0,C))){m=_.substring(_.length-C);break}_=""}}else if(p==="REASONING"){let A=_.indexOf(r);if(A!==-1){let C=_.substring(0,A);if(C.length>0){let R={...y.choices[0].delta,thinking:{content:C}};delete R.content;let $={...y,choices:[{...y.choices[0],delta:R,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify($)}
335
335
 
336
- `))}let S={...y.choices[0].delta,thinking:{signature:"ccr_think_signature"}};delete S.content;let T={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
336
+ `))}let v={...y.choices[0].delta,thinking:{signature:"ccr_think_signature"}};delete v.content;let T={...y,choices:[{...y.choices[0],delta:v,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
337
337
 
338
- `)),o++,_=_.substring(A+r.length),p="FINAL"}else{let C=_;for(let S=r.length-1;S>0;S--)if(_.endsWith(r.substring(0,S))){m=_.substring(_.length-S),C=_.substring(0,_.length-S);break}if(C.length>0){let S={...y.choices[0].delta,thinking:{content:C}};delete S.content;let T={...y,choices:[{...y.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
338
+ `)),o++,_=_.substring(A+r.length),p="FINAL"}else{let C=_;for(let v=r.length-1;v>0;v--)if(_.endsWith(r.substring(0,v))){m=_.substring(_.length-v),C=_.substring(0,_.length-v);break}if(C.length>0){let v={...y.choices[0].delta,thinking:{content:C}};delete v.content;let T={...y,choices:[{...y.choices[0],delta:v,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
339
339
 
340
- `))}_=""}}else if(p==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))b+=_;else{let C=b+_,S={...y.choices[0].delta,content:C};S.thinking&&delete S.thinking;let T={...y,choices:[{...y.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
340
+ `))}_=""}}else if(p==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))b+=_;else{let C=b+_,v={...y.choices[0].delta,content:C};v.thinking&&delete v.thinking;let T={...y,choices:[{...y.choices[0],delta:v}]};l.enqueue(a.encode(`data: ${JSON.stringify(T)}
341
341
 
342
- `)),b=""}o++,_=""}};try{for(;;){let{done:y,value:g}=await d.read();if(y)break;let _=s.decode(g,{stream:!0});f+=_;let A=f.split(`
343
- `);f=A.pop()||"";for(let C of A)if(C.trim()){if(C.trim()==="data: [DONE]"){l.enqueue(a.encode(C+`
342
+ `)),b=""}o++,_=""}};try{for(;;){let{done:y,value:g}=await f.read();if(y)break;let _=s.decode(g,{stream:!0});d+=_;let A=d.split(`
343
+ `);d=A.pop()||"";for(let C of A)if(C.trim()){if(C.trim()==="data: [DONE]"){l.enqueue(a.encode(C+`
344
344
 
345
- `));break}if(C.startsWith("data:"))try{let S=JSON.parse(C.slice(5));w(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(C+`
345
+ `));break}if(C.startsWith("data:"))try{let v=JSON.parse(C.slice(5));w(v,v.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(C+`
346
346
  `))}else l.enqueue(a.encode(C+`
347
- `))}}}catch(y){console.error("Stream error:",y),l.error(y)}finally{try{d.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}if(p==="REASONING"){let g={choices:[{delta:{thinking:{signature:"ccr_think_signature"}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(g)}
347
+ `))}}}catch(y){console.error("Stream error:",y),l.error(y)}finally{try{f.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}if(p==="REASONING"){let g={choices:[{delta:{thinking:{signature:"ccr_think_signature"}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(g)}
348
348
 
349
- `))}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Xa=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(r=>r.thinking?.content))&&e.messages.forEach(r=>{if(r.role==="assistant"){let o=r.thinking?.content,s=r.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(r.reasoning_content=o,s&&(r.reasoning_content_signature=s)),r.tool_calls&&r.tool_calls.length>0&&(r.reasoning_content||(r.reasoning_content="")),r.thinking&&delete r.thinking}}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type");if(n?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a="",u=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
349
+ `))}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Za=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(r=>r.thinking?.content))&&e.messages.forEach(r=>{if(r.role==="assistant"){let o=r.thinking?.content,s=r.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(r.reasoning_content=o,s&&(r.reasoning_content_signature=s)),r.tool_calls&&r.tool_calls.length>0&&(r.reasoning_content||(r.reasoning_content="")),r.thinking&&delete r.thinking}}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type");if(n?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,o=new TextEncoder,s="",a="",u=new ReadableStream({async start(l){let f=e.body.getReader();try{for(;;){let{done:d,value:p}=await f.read();if(d){a.trim()&&l.enqueue(o.encode(a+`
350
350
  `));break}let m=r.decode(p,{stream:!0});a+=m;let b=a.split(`
351
351
  `);a=b.pop()||"";for(let w of b)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let y=JSON.parse(w.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){s+=y.choices[0].delta.reasoning_content;let g={...y,choices:[{...y.choices[0],delta:{thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete g.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(g)}
352
352
 
@@ -356,18 +356,18 @@ ${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return
356
356
 
357
357
  `))}catch{l.enqueue(o.encode(w+`
358
358
  `))}else l.enqueue(o.encode(w+`
359
- `))}}catch(f){l.error(f)}finally{try{d.releaseLock()}catch{}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":n||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(n?.includes("application/json")){let r=await e.json();return r.choices?.[0]?.message?.reasoning_content&&(r.choices[0].message.thinking={content:r.choices[0].message.reasoning_content},delete r.choices[0].message.reasoning_content),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var $0={AnthropicTransformer:li,GeminiTransformer:pi,VertexGeminiTransformer:Fa,VertexClaudeTransformer:Wa,DeepseekTransformer:Ia,TooluseTransformer:Na,OpenrouterTransformer:Ba,OpenAITransformer:Va,MaxTokenTransformer:Ma,GroqTransformer:La,CleancacheTransformer:ja,EnhanceToolTransformer:$a,ReasoningTransformer:qa,SamplingTransformer:za,MaxCompletionTokens:Ha,CerebrasTransformer:Ga,StreamOptionsTransformer:Ja,CustomParamsTransformer:Ka,VercelTransformer:Ya,OpenAIResponsesTransformer:Mr,ForceReasoningTransformer:Qa,KimiTransformer:Xa};var bo=class{constructor(e,n){this.configService=e;this.logger=n}transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&n.endPoint&&e.push({name:r,transformer:n})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=re(re.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
359
+ `))}}catch(d){l.error(d)}finally{try{f.releaseLock()}catch{}l.close()}}});return new Response(u,{status:e.status,statusText:e.statusText,headers:{"Content-Type":n||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}if(n?.includes("application/json")){let r=await e.json();return r.choices?.[0]?.message?.reasoning_content&&(r.choices[0].message.thinking={content:r.choices[0].message.reasoning_content},delete r.choices[0].message.reasoning_content),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var z0={AnthropicTransformer:di,GeminiTransformer:mi,VertexGeminiTransformer:Ia,VertexClaudeTransformer:Ga,DeepseekTransformer:Na,TooluseTransformer:Ba,OpenrouterTransformer:Ma,OpenAITransformer:Ka,MaxTokenTransformer:La,GroqTransformer:ja,CleancacheTransformer:Ua,EnhanceToolTransformer:qa,ReasoningTransformer:za,SamplingTransformer:Ha,MaxCompletionTokens:Wa,CerebrasTransformer:Ja,StreamOptionsTransformer:Va,CustomParamsTransformer:Ya,VercelTransformer:Qa,OpenAIResponsesTransformer:Lr,ForceReasoningTransformer:Xa,KimiTransformer:Za};var Co=class{constructor(e,n){this.configService=e;this.logger=n}transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&n.endPoint&&e.push({name:r,transformer:n})}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=re(re.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
360
360
  error: ${n.message}
361
361
  stack: ${n.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
362
- Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values($0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};import{get_encoding as aT}from"tiktoken";var ps=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=aT(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");let r=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(u=>{typeof u.content=="string"?r+=n.encode(u.content).length:Array.isArray(u.content)&&u.content.forEach(l=>{if(l.type==="text")r+=n.encode(l.text).length;else if(l.type==="tool_use")r+=n.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let d=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(d).length}})}),typeof s=="string"?r+=n.encode(s).length:Array.isArray(s)&&s.forEach(u=>{u.type==="text"&&(typeof u.text=="string"?r+=n.encode(u.text).length:Array.isArray(u.text)&&u.text.forEach(l=>{r+=n.encode(l||"").length}))}),a&&a.forEach(u=>{u.description&&(r+=n.encode(u.name+u.description).length),u.input_schema&&(r+=n.encode(JSON.stringify(u.input_schema)).length)}),r}isInitialized(){return this.encoding!==void 0}encodeText(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");return Array.from(n.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};import{join as nu}from"path";import{homedir as yR}from"os";import{existsSync as Vd,mkdirSync as _R}from"fs";import{promises as ru}from"fs";var uT=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let n of t){let r=e;for(let o=0;o<n.length;++o){let s=n[o];r=r[s]??=Object.create(null)}r.end=n}return e}split(t){let e=[],n=t.length,r=0,o=0;for(;o<n;){let s=this.trie,a=null,u=o;for(;u<n&&(s=s[t[u]]);)s.end&&(a=s.end),++u;a?(o>r&&e.push(t.slice(r,o)),e.push(a),o+=a.length,r=o):++o}return r<n&&e.push(t.slice(r)),e}},cT=uT,lT=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},dT=lT,V0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),n=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+n),n+=1);let r=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,r[s]]))})(),fT=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),hT=fT(V0),q0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",pT=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${q0}])]+`,` ?[^\\s${q0}]+`]]),ms="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",gI=new RegExp(`^[${ms}]+$`,"gu"),Gd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),Za=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of pT)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=mT(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},mT=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),gT=(t,e,n)=>{let r=[],o=0;for(;o<t.length;){if(r.push(t[o]),(e.get(t[o])??n)!==n){++o;continue}for(;++o<t.length&&(e.get(t[o])??n)===n;)e.get(r.at(-1))!==n&&(r[r.length-1]+=t[o])}return r},yT=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,_T=t=>Number.isInteger(t)||typeof t=="bigint",bT=t=>{let e=0;for(let n of t)++e;return e},CT=t=>K0(t.toLowerCase()),It=(...t)=>Array.prototype.concat.apply([],t),Jd=t=>new Map(Object.entries(t)),wT=(t,e)=>{let n=[],r=0;for(let o of t.matchAll(e)){let s=o[0];r<o.index&&n.push(t.slice(r,o.index)),s.length>0&&n.push(s),r=o.index+s.length}return r<t.length&&n.push(t.slice(r)),n},K0=t=>t.replace(new RegExp("\\p{M}","gu"),""),z0=(t,e,n=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let r of n)if(!(r in t))return`${e} must contain a "${r}" property`;return null},ET=t=>t.match(/\S+/g)||[],kT=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},gs=kT,AT=class extends gs{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rn=AT,ST=class extends Rn{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);yT(o)?(e.push(" "),e.push(r),e.push(" ")):e.push(r)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
363
- `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},vT=ST,TT=class extends Rn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},DT=TT,RT=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>Y0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},xT=RT,OT=class extends Rn{normalize(t){let e=Za(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},PT=OT,FT=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},eu=FT,IT=class extends eu{constructor(){super(...arguments),this.form="NFC"}},NT=IT,BT=class extends eu{constructor(){super(...arguments),this.form="NFD"}},MT=BT,LT=class extends eu{constructor(){super(...arguments),this.form="NFKC"}},jT=LT,UT=class extends eu{constructor(){super(...arguments),this.form="NFKD"}},$T=UT,qT=class extends Rn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},zT=qT,HT=class extends Rn{normalize(t){return K0(t)}},WT=HT,GT=class extends Rn{normalize(t){return t.toLowerCase()}},JT=GT,VT=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},KT=VT;function YT(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new vT(t);case"Precompiled":return new DT(t);case"Sequence":return new xT(t);case"Replace":return new PT(t);case"NFC":return new NT(t);case"NFD":return new MT(t);case"NFKC":return new jT(t);case"NFKD":return new $T(t);case"Strip":return new zT(t);case"StripAccents":return new WT(t);case"Lowercase":return new JT(t);case"Prepend":return new KT(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var Y0=YT,QT=class extends gs{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},cn=QT,XT=class extends cn{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=V0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(n=>Array.from(this.text_encoder.encode(n),r=>this.byte_encoder[r]).join(""))}},ZT=XT,eD=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},tD=eD,nD=class extends cn{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},rD=nD,oD=class extends cn{constructor(t){super(),this.config=t,this.pattern=Za(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):wT(t,this.pattern)}},sD=oD,iD=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${ms}]+|[${ms}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},aD=iD,uD=class extends cn{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},cD=uD,lD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${ms}]+|[${ms}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},dD=lD,fD=class extends cn{constructor(t){super(),this.config=t,this.pattern=Za(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},hD=fD,pD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>Q0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},mD=pD,gD=class extends cn{pre_tokenize_text(t){return ET(t)}},yD=gD;function _D(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new dD;case"Sequence":return new mD(t);case"Whitespace":return new tD;case"WhitespaceSplit":return new yD;case"Metaspace":return new rD(t);case"ByteLevel":return new ZT(t);case"Split":return new sD(t);case"Punctuation":return new aD(t);case"Digits":return new cD(t);case"Replace":return new hD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var Q0=_D,bD=class extends gs{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=gT(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},tu=bD,CD=class extends tu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<r.length;){let u=r.length,l=null;for(;s<u;){let d=r.slice(s,u).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},H0=CD,W0=class X0{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new X0(!1,new Map)}},wD=class{constructor(){this.root=W0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=W0.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},ED=wD,Wd=class Z0{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new Z0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},kD=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Wd(this.bos_token_id??0,0,0,0,0),o=new Wd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Wd(r,o,t,e,n);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,u=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(u===null||d>a)&&(u=l.clone(),a=d)}if(u!==null)s.prev=u,s.backtrace_score=a;else return[]}++e}let n=[],r=this.begin_nodes[t][0].prev;if(r===null)return[];let o=r.clone();for(;o.prev!==null;)n.push(o.clone()),o=o.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},AD=kD;function SD(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var vD=class extends tu{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=SD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new ED,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],a=e.slice(r).join(""),u=this.trie.common_prefix_search(a);for(let l of u){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=bT(l);t.insert(r,p,f,d),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new AD(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},G0=vD,TD=class{constructor(t=(n,r)=>n>r,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},DD=TD,RD=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},xD=RD,OD=class extends tu{constructor(t){super(t),this.tokens_to_ids=Jd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new xD(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new DD((u,l)=>u.score<l.score),s={token:n[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<n.length;++u){let l={bias:u/n.length,token:n[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let d={...u.prev};u.prev.deleted=!0,u.prev=d,d.prev?d.prev.next=d:s=d}let l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let u=s;u!==null;u=u.next)r.push(u.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},J0=OD,PD=class extends tu{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Jd(e.target_lang?n[e.target_lang]:n),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},FD=PD;function ID(t,e){switch(t.type){case"WordPiece":return new H0(t);case"Unigram":return new G0(t,e.eos_token);case"BPE":return new J0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new G0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new J0(t):new H0(t):new FD(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var ND=ID,BD=class extends gs{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ys=BD,MD=class extends ys{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of r)"SpecialToken"in a?n&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=It(o,t),s=It(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=It(o,e),s=It(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},LD=MD,jD=class extends ys{post_process(t,e=null){return{tokens:e?It(t,e):t}}},UD=jD,$D=class extends ys{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=It([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},qD=$D,zD=class extends ys{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=It([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},HD=zD,WD=class extends ys{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>e_(e))}post_process(t,e=null,n=!0){let r={tokens:t};for(let o of this.processors)r=o.post_process(r.tokens,e,n);return r}},GD=WD;function JD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new LD(t);case"ByteLevel":return new UD(t);case"BertProcessing":return new qD(t);case"RobertaProcessing":return new HD(t);case"Sequence":return new GD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var e_=JD,VD=class extends gs{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},ln=VD,KD=class extends ln{constructor(t){super(t),this.byte_decoder=hT,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},YD=KD,QD=class extends ln{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=Gd(e)),e})}},XD=QD,ZD=class extends ln{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},eR=ZD,tR=class extends ln{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},nR=tR,rR=class extends ln{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let r=1;r<t.length;++r)t[r]!==e.at(-1)&&e.push(t[r]);let n=e.filter(r=>r!==this.pad_token).join("");return this.cleanup&&(n=Gd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},oR=rR,sR=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>t_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},iR=sR,aR=class extends ln{decode_chain(t){let e=Za(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},uR=aR,cR=class extends ln{decode_chain(t){return[t.join("")]}},lR=cR,dR=class extends ln{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let n=0;for(let o=0;o<this.start&&e[o]===this.content;++o)n=o+1;let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},fR=dR,hR=class extends ln{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},pR=hR;function mR(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new YD(t);case"WordPiece":return new XD(t);case"Metaspace":return new eR(t);case"BPEDecoder":return new nR(t);case"CTC":return new oR(t);case"Sequence":return new iR(t);case"Replace":return new uR(t);case"Fuse":return new lR(t);case"Strip":return new fR(t);case"ByteFallback":return new pR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var t_=mR,gR=class{constructor(t,e){let n=z0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=z0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=Y0(this.tokenizer.normalizer),this.pre_tokenizer=Q0(this.tokenizer.pre_tokenizer),this.model=ND(this.tokenizer.model,this.config),this.post_processor=e_(this.tokenizer.post_processor),this.decoder=t_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new dT(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new cT(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),a=this.model.convert_tokens_to_ids(o),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return r&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!_T(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Gd(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=CT(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(n,{section_index:r}):[n];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:It(r??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},n_=gR;var ou=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||nu(yR(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=nu(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:nu(e,"tokenizer.json"),tokenizerConfig:nu(e,"tokenizer_config.json")}}ensureDir(e){Vd(e)||_R(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Vd(e.tokenizerJson)||!Vd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([ru.readFile(e.tokenizerJson,"utf-8"),ru.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[u,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([ru.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),ru.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let n=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new n_(n.tokenizerJson,n.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let a of r)if(typeof a.content=="string")n.push(a.content);else if(Array.isArray(a.content))for(let u of a.content)u.type==="text"&&u.text?n.push(u.text):u.type==="tool_use"&&u.input?n.push(JSON.stringify(u.input)):u.type==="tool_result"&&n.push(typeof u.content=="string"?u.content:JSON.stringify(u.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")n.push(a.text);else if(Array.isArray(a.text))for(let u of a.text)u&&n.push(u)}}if(s)for(let a of s)a.name&&n.push(a.name),a.description&&n.push(a.description),a.input_schema&&n.push(JSON.stringify(a.input_schema));return n.join(" ")}};var su=class{type="api";name;config;logger;options;constructor(e,n,r={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=n,this.options=r;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let u=await a.json();return this.extractTokenCount(u)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out"):n}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`)}}};var Co=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new ps("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new ps(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new ou(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new su(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};Un();var dn=class{async fetchJson(e,n,r,o,s){let a=s||n.apiKey;if(!a)return null;let u={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(r)};if(o)try{let{ProxyAgent:l}=await import("undici");u.dispatcher=new l(new URL(o).toString())}catch{}try{let l=await fetch(e,u);return l.ok?await l.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Kd=class extends dn{async queryQuota(e,n,r){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,n,r),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>_e(l?.total_balance)!==void 0);if(!a)return null;let u=_e(a.total_balance);return u===void 0?null:{totalBalance:u,currency:typeof a.currency=="string"?a.currency:void 0}}},Yd=class extends dn{async queryQuota(e,n,r){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,n,r))?.data;if(!s||typeof s!="object")return null;let a={},u=_e(s.limit),l=_e(s.limit_remaining),d=_e(s.usage),f=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},Qd=class extends dn{async queryQuota(e,n,r){let o=TR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),d=_e(a.balance);return l!==void 0&&(u.totalBalance=l),d!==void 0&&(u.remainingBalance=d),l!==void 0&&d!==void 0&&(u.usedBalance=Math.max(0,l-d)),this.hasQuotaData(u)?u:null}},Xd=class extends dn{async queryQuota(e,n,r){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let u=await a.json(),l=Array.isArray(u?.data?.limits)?u.data.limits:[],d=null,f=null,p=null;for(let b of l)b.type==="TOKENS_LIMIT"?b.unit===3?d=b:b.unit===6?f=b:d||(d=b):b.type==="TIME_LIMIT"&&(p=b);let m={};if(d){let b=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);b!==void 0?m.usedDailyBalance=b:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:b!==void 0&&y!==void 0&&(m.limitDaily=b+y),d.nextResetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let b=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);b!==void 0?m.usedBalance=b:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:b!==void 0&&y!==void 0&&(m.totalBalance=b+y),f.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(m.usedDailyBalance===void 0){let b=_e(p.currentValue);b!==void 0&&(m.usedDailyBalance=b)}if(m.limitDaily===void 0){let b=_e(p.usage),w=_e(p.currentValue),y=_e(p.remaining);b!==void 0?m.limitDaily=b:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}p.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},Zd=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(r).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let u=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!u.ok)return null;let d=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},m=_e(f.per5HourUsedQuota),b=_e(f.per5HourTotalQuota);m!==void 0&&(p.usedDailyBalance=m),b!==void 0&&(p.limitDaily=b);let w=_e(f.perWeekUsedQuota),y=_e(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},ef=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let s={method:"GET",headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://maas.xfyun.cn",Referer:"https://maas.xfyun.cn/packageSubscription",Authorization:(r_(e.quotaToken,"atp-auth-token")||r_(e.quotaToken,"tenantToken")||e.quotaToken).trim(),Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://maas.xfyun.cn/api/v1/gpt-finetune/coding-plan/list?page=1&size=10",s);if(!a.ok)return null;let u=await a.json();if(u?.succeed===!1||u?.failed===!0)return null;let l=DR(u,e.apiKey),d=l?.codingPlanUsageDTO||l?.usage||l;if(!d||typeof d!="object")return null;let f={},p=_e(d.rp5hUsage),m=_e(d.rp5hLimit);p!==void 0&&(f.usedDailyBalance=p),m!==void 0&&(f.limitDaily=m);let b=_e(d.rpwUsage),w=_e(d.rpwLimit);return b!==void 0&&(f.usedBalance=b),w!==void 0&&(f.totalBalance=w),f.remainingBalance===void 0&&w!==void 0&&b!==void 0&&(f.remainingBalance=Math.max(0,w-b)),this.hasQuotaData(f)?f:null}catch{return null}}},tf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let u=await a.json(),l={},d=Array.isArray(u?.limits)?u.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,m=_e(p.limit),b=_e(p.remaining),w=p.resetTime;m!==void 0&&b!==void 0&&(l.usedDailyBalance=Math.max(0,m-b),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let f=u?.usage;if(f){let p=_e(f.limit),m=_e(f.remaining),b=_e(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,b!==void 0?l.usedBalance=b:m!==void 0&&(l.usedBalance=Math.max(0,p-m),l.remainingBalance=m)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},nf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=sf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com";try{let u=[`https://${a}/v1/token_plan/remains`,`https://${a}/v1/api/openplatform/coding_plan/remains`],l=null;for(let S of u)if(l=await this.fetchJson(S,e,n,r,o.trim()),l)break;if(!l)return null;if(l?.base_resp){let S=l.base_resp.status_code;if(S!==void 0&&S!==0)return null}let d=Array.isArray(l?.model_remains)?l.model_remains:[];if(d.length===0)return null;let f=d[0],p={},m=_e(f.current_interval_total_count),b=_e(f.current_interval_usage_count),w=_e(f.current_interval_remaining_percent),y=_e(f.end_time);m!==void 0&&b!==void 0&&m>0?(p.usedDailyBalance=Math.max(0,m-b),p.limitDaily=m):w!==void 0&&(p.limitDaily=100,p.usedDailyBalance=Math.max(0,100-w)),y&&(p.resetTime=new Date(y).toISOString());let g=_e(f.current_weekly_total_count),_=_e(f.current_weekly_usage_count),A=_e(f.current_weekly_remaining_percent),C=_e(f.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(p.usedBalance=Math.max(0,g-_),p.remainingBalance=_,p.totalBalance=g):A!==void 0&&(p.totalBalance=100,p.usedBalance=Math.max(0,100-A),p.remainingBalance=A),C&&!p.resetTime&&(p.resetTime=new Date(C).toISOString()),this.hasQuotaData(p)?p:null}catch{return null}}},bR=new Kd,CR=new Yd,wR=new Qd,ER=new Xd,kR=new Zd,AR=new ef,SR=new tf,vR=new nf;function of(t){let e=sf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?SR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?vR:e==="deepseek.com"||e.endsWith(".deepseek.com")?bR:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?CR:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?wR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?ER:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?kR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?AR:null:null}function TR(t){let e=sf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function DR(t,e){let n=rf(t);if(n.length===0)return null;let r=String(e||"").split(":").map(s=>s.trim()).filter(Boolean);return n.find(s=>{let a=s?.codingPlanAppCredentialDTO||s?.appCredential||s,u=String(a?.apiKey||a?.api_key||"").trim();return u&&r.some(l=>l.includes(u)||u.includes(l))})||n[0]}function rf(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>rf(e)):Object.values(t).flatMap(e=>rf(e))}function r_(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function sf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function _e(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let n=Number(e);return Number.isFinite(n)?n:void 0}var RR="x-claude-code-router-source",xR="x-claude-code-router-version";function o_(t){return{[RR]:t,[xR]:ri}}var OR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function PR(t){return t===!0||t==="true"||t===1||t==="1"}function FR(t){let e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${r}`}function IR(t){try{let e=new URL(t),n=e.pathname;return n.endsWith("/v1/messages")?n=n.slice(0,-12):n.endsWith("/messages")?n=n.slice(0,-9):n.endsWith("/v1/chat/completions")?n=n.slice(0,-20):n.endsWith("/chat/completions")&&(n=n.slice(0,-17)),n.endsWith("/v1")||(n=n.endsWith("/")?`${n}v1`:`${n}/v1`),e.pathname=`${n}/models`,e.toString()}catch{return null}}function NR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function af(t,e,n){let r=IR(t.baseUrl);if(!r)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(n).toString())}catch{}let s=await fetch(r,o);if(s.headers&&Io(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function BR(t,e,n,r){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl,a=t.baseUrl.includes("/messages")||o.includes("claude");try{let u={"Content-Type":"application/json",...o_("scheduled-wakeup")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:o,messages:[{role:"user",content:"Wake up and acknowledge with a short greeting."}],max_tokens:10}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let d=await fetch(s,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function MR(t,e,n,r,o){let s=t.baseUrl,a=t.baseUrl.includes("/messages")||e.includes("claude");try{let u={"Content-Type":"application/json",...o_("rate-limit-probe")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:e,messages:[{role:"user",content:"Hello, please reply briefly."}],max_tokens:10}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let d=await fetch(s,l);if(d.ok)return{success:!0};let f=await d.text().catch(()=>"");return{success:!1,error:`HTTP ${d.status}: ${f.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var iu=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...OR,...n},this.getProviders=e,this.getHttpsProxy=r,this.logger=o,this.getConfig=s}start(){if(this.running)return;let e=this.isWakeupGloballyEnabled();!this.config.enabled&&!e||(this.running=!0,setTimeout(()=>{this.running&&(this.config.enabled&&(this.runQuotaProbe(),this.runHealthProbe(),this.runRateLimitProbe()),this.runScheduledWakeup())},this.config.initialDelayMs),this.config.enabled&&(this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.rateLimitProbeTimer=setInterval(()=>this.runRateLimitProbe(),120*1e3)),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.rateLimitProbeTimer&&(clearInterval(this.rateLimitProbeTimer),this.rateLimitProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),n=this.getHttpsProxy?.(),r=Ye();if(e.length===0)return;let o=[];for(let a of e){let u=of(a.baseUrl),l=Array.isArray(a.models)?a.models:[];u&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:u.queryQuota(a,this.config.probeTimeoutMs,n).then(d=>{if(d){ic(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let m=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let b of l){if(r.getState(a.name,b)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${b}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,b,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let b=r.getState(a.name,m);b&&b.status==="open"&&b.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),NR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:af(a,this.config.probeTimeoutMs,n).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let u=s[a];if(u.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${u.reason}`)}}}async runHealthProbe(){let e=Ye(),n=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),r=this.getHttpsProxy?.();if(n.length===0)return;this.logger?.debug?.(`Running health probe for ${n.length} providers`);let o=await Promise.allSettled(n.map(s=>af(s,this.config.probeTimeoutMs,r)));for(let s=0;s<n.length;s++){let a=n[s],u=o[s],l=Array.isArray(a.models)?a.models:[];if(u.status==="fulfilled"){let d=u.value;if(d.success){let f=0;for(let p of l){let m=e.getState(a.name,p);if(m&&m.status==="open"){let b=m.lastError?.includes("Quota exhausted"),w=m.rateLimitUntil||m.lastError&&(m.lastError.includes("429")||m.lastError.toLowerCase().includes("rate limit")||m.lastError.toLowerCase().includes("rate_limit")||m.lastError.toLowerCase().includes("too many requests")||m.lastError.toLowerCase().includes("\u9650\u6D41"));if(b){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${p})`);continue}}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,u.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${u.reason}`)}}}async runRateLimitProbe(){let e=Ye(),n=e.getRateLimitedModels();if(n.length===0)return;let r=this.getProviders(),o=this.getHttpsProxy?.(),s=this.config.probeTimeoutMs;this.logger?.debug?.(`Running rate-limit recovery probe for ${n.length} model(s)`);for(let a of n){let[u,...l]=a.split(","),d=l.join(",");if(!u||!d)continue;let f=e.getState(u,d);if(!f||!f.rateLimitUntil)continue;if(Date.now()>=f.rateLimitUntil){e.recover(u,d),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let p=r.find(m=>m?.name===u&&m.enabled!==!1);if(!p){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await MR(p,d,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,d);else if(m.error&&(m.error.includes("429")||m.error.toLowerCase().includes("rate limit")||m.error.toLowerCase().includes("rate_limit")||m.error.toLowerCase().includes("too many requests")||m.error.toLowerCase().includes("\u9650\u6D41"))){let b=Date.now();f.rateLimitUntil&&f.rateLimitUntil>b?f.rateLimitUntil+=120*1e3:f.rateLimitUntil=b+120*1e3,this.logger?.debug?.(`Rate-limit probe for ${a} confirmed still limited, extending cooldown`)}else this.logger?.debug?.(`Rate-limit probe for ${a} returned non-rate-limit error: ${m.error?.slice(0,100)}`)}catch(m){this.logger?.warn?.(`Rate-limit probe exception for ${a}: ${m?.message||m}`)}}}async runScheduledWakeup(){if(!this.isWakeupGloballyEnabled())return;let e=this.getProviders().filter(l=>l?.name&&l.enabled!==!1&&l.wakeupEnabled===!0);if(e.length===0)return;let n=new Date,r=n.getHours(),o=n.getMinutes(),s=FR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let d=l.wakeupTime||u,[f,p]=d.split(":"),m=parseInt(f,10),b=parseInt(p,10);if(isNaN(m)||isNaN(b))continue;let w=r>m||r===m&&o>=b,y=(m*60+b)*6e4-(r*60+o)*6e4,g=y>0&&y<=300*1e3;(w||g)&&!this.hasWakeupFiredToday(l.name,s)&&(this.logger?.info?.(`Scheduled wake-up triggered for provider ${l.name} at ${d}`),BR(l,3e4,a,this.logger).then(_=>{_.success?this.logger?.info?.(`Successfully woke up provider ${l.name}`):this.logger?.error?.(`Failed to wake up provider ${l.name}: ${_.error}`)}).catch(_=>{this.logger?.error?.(`Error in wake-up task for ${l.name}: ${_}`)}))}}isWakeupGloballyEnabled(){return this.getConfig?PR(this.getConfig("WAKEUP_ENABLED")):!1}hasWakeupFiredToday(e,n){return this.lastWakeupDate.get(e)===n?!0:(this.lastWakeupDate.set(e,n),!1)}async probeProviderManually(e){let r=this.getProviders().find(u=>u.name===e);if(!r)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(r.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await af(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let u of a)Ye().recordSuccess(r.name,u);else for(let u of a)Ye().recordFailure(r.name,u,s.error);return s.success}},Xn=null;function s_(t,e,n,r,o){return Xn||(Xn=new iu(t,e,n,r,o)),Xn}function uf(t,e,n,r,o){let s=s_(t,e,n,r,o);return s.start(),s}function cf(){Xn&&Xn.stop()}function LR(){Xn&&(Xn.stop(),Xn=null)}Un();var lf=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},i_=new lf;var y_=Ln(d_(),1);var wo=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
364
- `);this.buffer=r.pop()||"";for(let o of r){let s=this.processLine(o);s&&n.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let n=[];this.processLine(this.buffer.trim(),n),n.forEach(r=>e.enqueue(r))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,n){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let r={...this.currentEvent};return this.currentEvent={},n?(n.push(r),null):r}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let r=e.slice(5).trim();if(r==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(r)}catch{this.currentEvent.data={raw:r,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var uu=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
362
+ Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(z0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};import{get_encoding as cT}from"tiktoken";var ms=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=cT(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");let r=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(u=>{typeof u.content=="string"?r+=n.encode(u.content).length:Array.isArray(u.content)&&u.content.forEach(l=>{if(l.type==="text")r+=n.encode(l.text).length;else if(l.type==="tool_use")r+=n.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let f=typeof l.content=="string"?l.content:JSON.stringify(l.content);r+=n.encode(f).length}})}),typeof s=="string"?r+=n.encode(s).length:Array.isArray(s)&&s.forEach(u=>{u.type==="text"&&(typeof u.text=="string"?r+=n.encode(u.text).length:Array.isArray(u.text)&&u.text.forEach(l=>{r+=n.encode(l||"").length}))}),a&&a.forEach(u=>{u.description&&(r+=n.encode(u.name+u.description).length),u.input_schema&&(r+=n.encode(JSON.stringify(u.input_schema)).length)}),r}isInitialized(){return this.encoding!==void 0}encodeText(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");return Array.from(n.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};import{join as ru}from"path";import{homedir as bR}from"os";import{existsSync as Yd,mkdirSync as CR}from"fs";import{promises as ou}from"fs";var lT=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let n of t){let r=e;for(let o=0;o<n.length;++o){let s=n[o];r=r[s]??=Object.create(null)}r.end=n}return e}split(t){let e=[],n=t.length,r=0,o=0;for(;o<n;){let s=this.trie,a=null,u=o;for(;u<n&&(s=s[t[u]]);)s.end&&(a=s.end),++u;a?(o>r&&e.push(t.slice(r,o)),e.push(a),o+=a.length,r=o):++o}return r<n&&e.push(t.slice(r)),e}},dT=lT,fT=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},hT=fT,Y0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),n=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+n),n+=1);let r=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,r[s]]))})(),pT=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),mT=pT(Y0),H0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",gT=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${H0}])]+`,` ?[^\\s${H0}]+`]]),gs="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",_I=new RegExp(`^[${gs}]+$`,"gu"),Vd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),eu=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");for(let[r,o]of gT)n=n.replaceAll(r,o);return new RegExp(n,"gu")}else if(t.String!==void 0){let n=yT(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},yT=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_T=(t,e,n)=>{let r=[],o=0;for(;o<t.length;){if(r.push(t[o]),(e.get(t[o])??n)!==n){++o;continue}for(;++o<t.length&&(e.get(t[o])??n)===n;)e.get(r.at(-1))!==n&&(r[r.length-1]+=t[o])}return r},bT=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,CT=t=>Number.isInteger(t)||typeof t=="bigint",wT=t=>{let e=0;for(let n of t)++e;return e},ET=t=>Q0(t.toLowerCase()),It=(...t)=>Array.prototype.concat.apply([],t),Kd=t=>new Map(Object.entries(t)),kT=(t,e)=>{let n=[],r=0;for(let o of t.matchAll(e)){let s=o[0];r<o.index&&n.push(t.slice(r,o.index)),s.length>0&&n.push(s),r=o.index+s.length}return r<t.length&&n.push(t.slice(r)),n},Q0=t=>t.replace(new RegExp("\\p{M}","gu"),""),W0=(t,e,n=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let r of n)if(!(r in t))return`${e} must contain a "${r}" property`;return null},AT=t=>t.match(/\S+/g)||[],ST=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},ys=ST,vT=class extends ys{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},Rn=vT,TT=class extends Rn{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);bT(o)?(e.push(" "),e.push(r),e.push(" ")):e.push(r)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
363
+ `:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},DT=TT,RT=class extends Rn{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},xT=RT,OT=class extends Rn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>X0(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},PT=OT,FT=class extends Rn{normalize(t){let e=eu(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},IT=FT,NT=class extends Rn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},tu=NT,BT=class extends tu{constructor(){super(...arguments),this.form="NFC"}},MT=BT,LT=class extends tu{constructor(){super(...arguments),this.form="NFD"}},jT=LT,UT=class extends tu{constructor(){super(...arguments),this.form="NFKC"}},$T=UT,qT=class extends tu{constructor(){super(...arguments),this.form="NFKD"}},zT=qT,HT=class extends Rn{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},WT=HT,GT=class extends Rn{normalize(t){return Q0(t)}},JT=GT,VT=class extends Rn{normalize(t){return t.toLowerCase()}},KT=VT,YT=class extends Rn{normalize(t){return t=this.config.prepend+t,t}},QT=YT;function XT(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new DT(t);case"Precompiled":return new xT(t);case"Sequence":return new PT(t);case"Replace":return new IT(t);case"NFC":return new MT(t);case"NFD":return new jT(t);case"NFKC":return new $T(t);case"NFKD":return new zT(t);case"Strip":return new WT(t);case"StripAccents":return new JT(t);case"Lowercase":return new KT(t);case"Prepend":return new QT(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var X0=XT,ZT=class extends ys{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},cn=ZT,eD=class extends cn{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=Y0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(n=>Array.from(this.text_encoder.encode(n),r=>this.byte_encoder[r]).join(""))}},tD=eD,nD=class extends cn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},rD=nD,oD=class extends cn{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},sD=oD,iD=class extends cn{constructor(t){super(),this.config=t,this.pattern=eu(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):kT(t,this.pattern)}},aD=iD,uD=class extends cn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${gs}]+|[${gs}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},cD=uD,lD=class extends cn{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},dD=lD,fD=class extends cn{constructor(){super(),this.pattern=new RegExp(`[^\\s${gs}]+|[${gs}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},hD=fD,pD=class extends cn{constructor(t){super(),this.config=t,this.pattern=eu(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},mD=pD,gD=class extends cn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>Z0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},yD=gD,_D=class extends cn{pre_tokenize_text(t){return AT(t)}},bD=_D;function CD(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new hD;case"Sequence":return new yD(t);case"Whitespace":return new rD;case"WhitespaceSplit":return new bD;case"Metaspace":return new sD(t);case"ByteLevel":return new tD(t);case"Split":return new aD(t);case"Punctuation":return new cD(t);case"Digits":return new dD(t);case"Replace":return new mD(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var Z0=CD,wD=class extends ys{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=_T(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},nu=wD,ED=class extends nu{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<r.length;){let u=r.length,l=null;for(;s<u;){let f=r.slice(s,u).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){l=f;break}--u}if(l===null){o=!0;break}a.push(l),s=u}o?e.push(this.unk_token):e.push(...a)}return e}},G0=ED,J0=class e_{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new e_(!1,new Map)}},kD=class{constructor(){this.root=J0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=J0.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},AD=kD,Jd=class t_{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new t_(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},SD=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Jd(this.bos_token_id??0,0,0,0,0),o=new Jd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Jd(r,o,t,e,n);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,u=null;for(let l of this.end_nodes[e]){let f=l.backtrace_score+s.score;(u===null||f>a)&&(u=l.clone(),a=f)}if(u!==null)s.prev=u,s.backtrace_score=a;else return[]}++e}let n=[],r=this.begin_nodes[t][0].prev;if(r===null)return[];let o=r.clone();for(;o.prev!==null;)n.push(o.clone()),o=o.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},vD=SD;function TD(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var DD=class extends nu{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=TD(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new AD,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],a=e.slice(r).join(""),u=this.trie.common_prefix_search(a);for(let l of u){s.push(l);let f=this.tokens_to_ids.get(l),d=this.scores[f],p=wT(l);t.insert(r,p,d,f),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new vD(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},V0=DD,RD=class{constructor(t=(n,r)=>n>r,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},xD=RD,OD=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},PD=OD,FD=class extends nu{constructor(t){super(t),this.tokens_to_ids=Kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new PD(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new xD((u,l)=>u.score<l.score),s={token:n[0],bias:0,prev:null,next:null},a=s;for(let u=1;u<n.length;++u){let l={bias:u/n.length,token:n[u],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let u=o.pop();if(u.deleted||!u.next||u.next.deleted)continue;if(u.deleted=!0,u.next.deleted=!0,u.prev){let f={...u.prev};u.prev.deleted=!0,u.prev=f,f.prev?f.prev.next=f:s=f}let l={token:u.token+u.next.token,bias:u.bias,prev:u.prev,next:u.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let u=s;u!==null;u=u.next)r.push(u.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},K0=FD,ID=class extends nu{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Kd(e.target_lang?n[e.target_lang]:n),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},ND=ID;function BD(t,e){switch(t.type){case"WordPiece":return new G0(t);case"Unigram":return new V0(t,e.eos_token);case"BPE":return new K0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new V0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new K0(t):new G0(t):new ND(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var MD=BD,LD=class extends ys{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},_s=LD,jD=class extends _s{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of r)"SpecialToken"in a?n&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=It(o,t),s=It(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=It(o,e),s=It(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},UD=jD,$D=class extends _s{post_process(t,e=null){return{tokens:e?It(t,e):t}}},qD=$D,zD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=It([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},HD=zD,WD=class extends _s{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=It([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=It(t,o,e,s),r=It(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},GD=WD,JD=class extends _s{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>n_(e))}post_process(t,e=null,n=!0){let r={tokens:t};for(let o of this.processors)r=o.post_process(r.tokens,e,n);return r}},VD=JD;function KD(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new UD(t);case"ByteLevel":return new qD(t);case"BertProcessing":return new HD(t);case"RobertaProcessing":return new GD(t);case"Sequence":return new VD(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var n_=KD,YD=class extends ys{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},ln=YD,QD=class extends ln{constructor(t){super(t),this.byte_decoder=mT,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},XD=QD,ZD=class extends ln{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=Vd(e)),e})}},eR=ZD,tR=class extends ln{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},nR=tR,rR=class extends ln{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},oR=rR,sR=class extends ln{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let r=1;r<t.length;++r)t[r]!==e.at(-1)&&e.push(t[r]);let n=e.filter(r=>r!==this.pad_token).join("");return this.cleanup&&(n=Vd(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(t){return[this.convert_tokens_to_string(t)]}},iR=sR,aR=class extends ln{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>r_(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},uR=aR,cR=class extends ln{decode_chain(t){let e=eu(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},lR=cR,dR=class extends ln{decode_chain(t){return[t.join("")]}},fR=dR,hR=class extends ln{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let n=0;for(let o=0;o<this.start&&e[o]===this.content;++o)n=o+1;let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},pR=hR,mR=class extends ln{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},gR=mR;function yR(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new XD(t);case"WordPiece":return new eR(t);case"Metaspace":return new nR(t);case"BPEDecoder":return new oR(t);case"CTC":return new iR(t);case"Sequence":return new uR(t);case"Replace":return new lR(t);case"Fuse":return new fR(t);case"Strip":return new pR(t);case"ByteFallback":return new gR(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var r_=yR,_R=class{constructor(t,e){let n=W0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=W0(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=X0(this.tokenizer.normalizer),this.pre_tokenizer=Z0(this.tokenizer.pre_tokenizer),this.model=MD(this.tokenizer.model,this.config),this.post_processor=n_(this.tokenizer.post_processor),this.decoder=r_(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new hT(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new dT(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),a=this.model.convert_tokens_to_ids(o),u={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return r&&s&&(u.token_type_ids=s),u}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!CT(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Vd(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=ET(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(n,{section_index:r}):[n];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:It(r??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},o_=_R;var su=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||ru(bR(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=ru(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:ru(e,"tokenizer.json"),tokenizerConfig:ru(e,"tokenizer_config.json")}}ensureDir(e){Yd(e)||CR(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Yd(e.tokenizerJson)||!Yd(e.tokenizerConfig))return null;let[n,r]=await Promise.all([ou.readFile(e.tokenizerJson,"utf-8"),ou.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[u,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([ou.writeFile(e.tokenizerJson,JSON.stringify(u,null,2)),ou.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:u,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let n=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new o_(n.tokenizerJson,n.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let a of r)if(typeof a.content=="string")n.push(a.content);else if(Array.isArray(a.content))for(let u of a.content)u.type==="text"&&u.text?n.push(u.text):u.type==="tool_use"&&u.input?n.push(JSON.stringify(u.input)):u.type==="tool_result"&&n.push(typeof u.content=="string"?u.content:JSON.stringify(u.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")n.push(a.text);else if(Array.isArray(a.text))for(let u of a.text)u&&n.push(u)}}if(s)for(let a of s)a.name&&n.push(a.name),a.description&&n.push(a.description),a.input_schema&&n.push(JSON.stringify(a.input_schema));return n.join(" ")}};var iu=class{type="api";name;config;logger;options;constructor(e,n,r={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=n,this.options=r;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let u=await a.json();return this.extractTokenCount(u)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out"):n}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`)}}};var wo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new ms("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new ms(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new su(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new iu(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};Un();var dn=class{async fetchJson(e,n,r,o,s){let a=s||n.apiKey;if(!a)return null;let u={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(r)};if(o)try{let{ProxyAgent:l}=await import("undici");u.dispatcher=new l(new URL(o).toString())}catch{}try{let l=await fetch(e,u);return l.ok?await l.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Qd=class extends dn{async queryQuota(e,n,r){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,n,r),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>_e(l?.total_balance)!==void 0);if(!a)return null;let u=_e(a.total_balance);return u===void 0?null:{totalBalance:u,currency:typeof a.currency=="string"?a.currency:void 0}}},Xd=class extends dn{async queryQuota(e,n,r){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,n,r))?.data;if(!s||typeof s!="object")return null;let a={},u=_e(s.limit),l=_e(s.limit_remaining),f=_e(s.usage),d=_e(s.usage_daily);return u!==void 0&&(a.totalBalance=u),l!==void 0&&(a.remainingBalance=l),f!==void 0&&(a.usedBalance=f),d!==void 0&&(a.usedDailyBalance=d),this.hasQuotaData(a)?a:null}},Zd=class extends dn{async queryQuota(e,n,r){let o=RR(e.baseUrl),a=(await this.fetchJson(o,e,n,r))?.data;if(!a||typeof a!="object")return null;let u={},l=_e(a.totalBalance),f=_e(a.balance);return l!==void 0&&(u.totalBalance=l),f!==void 0&&(u.remainingBalance=f),l!==void 0&&f!==void 0&&(u.usedBalance=Math.max(0,l-f)),this.hasQuotaData(u)?u:null}},ef=class extends dn{async queryQuota(e,n,r){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let u=await a.json(),l=Array.isArray(u?.data?.limits)?u.data.limits:[],f=null,d=null,p=null;for(let b of l)b.type==="TOKENS_LIMIT"?b.unit===3?f=b:b.unit===6?d=b:f||(f=b):b.type==="TIME_LIMIT"&&(p=b);let m={};if(f){let b=_e(f.currentValue),w=_e(f.usage),y=_e(f.remaining),g=_e(f.percentage);b!==void 0?m.usedDailyBalance=b:g!==void 0&&(m.usedDailyBalance=g,m.limitDaily=100),w!==void 0?m.limitDaily=w:b!==void 0&&y!==void 0&&(m.limitDaily=b+y),f.nextResetTime&&(m.resetTime=new Date(f.nextResetTime).toISOString())}if(d){let b=_e(d.currentValue),w=_e(d.usage),y=_e(d.remaining),g=_e(d.percentage);b!==void 0?m.usedBalance=b:g!==void 0&&(m.usedBalance=g,m.totalBalance=100),w!==void 0?m.totalBalance=w:b!==void 0&&y!==void 0&&(m.totalBalance=b+y),d.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(d.nextResetTime).toISOString())}if(p){if(m.usedDailyBalance===void 0){let b=_e(p.currentValue);b!==void 0&&(m.usedDailyBalance=b)}if(m.limitDaily===void 0){let b=_e(p.usage),w=_e(p.currentValue),y=_e(p.remaining);b!==void 0?m.limitDaily=b:w!==void 0&&y!==void 0&&(m.limitDaily=w+y)}p.nextResetTime&&!m.resetTime&&(m.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(m)?m:null}catch{return null}}},tf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(r).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let u=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!u.ok)return null;let f=(await u.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(f)||f.length===0)return null;let d=f[0]?.codingPlanQuotaInfo;if(!d)return null;let p={},m=_e(d.per5HourUsedQuota),b=_e(d.per5HourTotalQuota);m!==void 0&&(p.usedDailyBalance=m),b!==void 0&&(p.limitDaily=b);let w=_e(d.perWeekUsedQuota),y=_e(d.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),y!==void 0&&(p.totalBalance=y),this.hasQuotaData(p)?p:null}catch{return null}}},nf=class extends dn{async queryQuota(e,n,r){if(!e.quotaToken)return null;let s={method:"GET",headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://maas.xfyun.cn",Referer:"https://maas.xfyun.cn/packageSubscription",Authorization:(s_(e.quotaToken,"atp-auth-token")||s_(e.quotaToken,"tenantToken")||e.quotaToken).trim(),Cookie:e.quotaToken},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://maas.xfyun.cn/api/v1/gpt-finetune/coding-plan/list?page=1&size=10",s);if(!a.ok)return null;let u=await a.json();if(u?.succeed===!1||u?.failed===!0)return null;let l=xR(u,e.apiKey),f=l?.codingPlanUsageDTO||l?.usage||l;if(!f||typeof f!="object")return null;let d={},p=_e(f.rp5hUsage),m=_e(f.rp5hLimit);p!==void 0&&(d.usedDailyBalance=p),m!==void 0&&(d.limitDaily=m);let b=_e(f.rpwUsage),w=_e(f.rpwLimit);return b!==void 0&&(d.usedBalance=b),w!==void 0&&(d.totalBalance=w),d.remainingBalance===void 0&&w!==void 0&&b!==void 0&&(d.remainingBalance=Math.max(0,w-b)),this.hasQuotaData(d)?d:null}catch{return null}}},rf=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(r).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let u=await a.json(),l={},f=Array.isArray(u?.limits)?u.limits:[];if(f.length>0&&f[0]?.detail){let p=f[0].detail,m=_e(p.limit),b=_e(p.remaining),w=p.resetTime;m!==void 0&&b!==void 0&&(l.usedDailyBalance=Math.max(0,m-b),l.limitDaily=m),w&&(l.resetTime=new Date(w).toISOString())}let d=u?.usage;if(d){let p=_e(d.limit),m=_e(d.remaining),b=_e(d.used),w=d.resetTime;p!==void 0&&(l.totalBalance=p,b!==void 0?l.usedBalance=b:m!==void 0&&(l.usedBalance=Math.max(0,p-m),l.remainingBalance=m)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},of=class extends dn{async queryQuota(e,n,r){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=uf(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com";try{let u=[`https://${a}/v1/token_plan/remains`,`https://${a}/v1/api/openplatform/coding_plan/remains`],l=null;for(let v of u)if(l=await this.fetchJson(v,e,n,r,o.trim()),l)break;if(!l)return null;if(l?.base_resp){let v=l.base_resp.status_code;if(v!==void 0&&v!==0)return null}let f=Array.isArray(l?.model_remains)?l.model_remains:[];if(f.length===0)return null;let d=f[0],p={},m=_e(d.current_interval_total_count),b=_e(d.current_interval_usage_count),w=_e(d.current_interval_remaining_percent),y=_e(d.end_time);m!==void 0&&b!==void 0&&m>0?(p.usedDailyBalance=Math.max(0,m-b),p.limitDaily=m):w!==void 0&&(p.limitDaily=100,p.usedDailyBalance=Math.max(0,100-w)),y&&(p.resetTime=new Date(y).toISOString());let g=_e(d.current_weekly_total_count),_=_e(d.current_weekly_usage_count),A=_e(d.current_weekly_remaining_percent),C=_e(d.weekly_end_time);return g!==void 0&&_!==void 0&&g>0?(p.usedBalance=Math.max(0,g-_),p.remainingBalance=_,p.totalBalance=g):A!==void 0&&(p.totalBalance=100,p.usedBalance=Math.max(0,100-A),p.remainingBalance=A),C&&!p.resetTime&&(p.resetTime=new Date(C).toISOString()),this.hasQuotaData(p)?p:null}catch{return null}}},wR=new Qd,ER=new Xd,kR=new Zd,AR=new ef,SR=new tf,vR=new nf,TR=new rf,DR=new of;function af(t){let e=uf(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?TR:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?DR:e==="deepseek.com"||e.endsWith(".deepseek.com")?wR:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?ER:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?kR:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?AR:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?SR:e==="xf-yun.com"||e.endsWith(".xf-yun.com")||e==="xfyun.cn"||e.endsWith(".xfyun.cn")||e==="xfyun.com"||e.endsWith(".xfyun.com")?vR:null:null}function RR(t){let e=uf(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function xR(t,e){let n=sf(t);if(n.length===0)return null;let r=String(e||"").split(":").map(s=>s.trim()).filter(Boolean);return n.find(s=>{let a=s?.codingPlanAppCredentialDTO||s?.appCredential||s,u=String(a?.apiKey||a?.api_key||"").trim();return u&&r.some(l=>l.includes(u)||u.includes(l))})||n[0]}function sf(t){return!t||typeof t!="object"?[]:!Array.isArray(t)&&t.codingPlanUsageDTO?[t]:Array.isArray(t)?t.flatMap(e=>sf(e)):Object.values(t).flatMap(e=>sf(e))}function s_(t,e){let n=t.match(new RegExp(`(?:^|;\\s*)${e}=([^;]+)`));return n?decodeURIComponent(n[1]):void 0}function uf(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function _e(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let n=Number(e);return Number.isFinite(n)?n:void 0}var OR="x-claude-code-router-source",PR="x-claude-code-router-version";function i_(t){return{[OR]:t,[PR]:oi}}var FR={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function IR(t){return t===!0||t==="true"||t===1||t==="1"}function NR(t){let e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${r}`}function BR(t){try{let e=new URL(t),n=e.pathname;return n.endsWith("/v1/messages")?n=n.slice(0,-12):n.endsWith("/messages")?n=n.slice(0,-9):n.endsWith("/v1/chat/completions")?n=n.slice(0,-20):n.endsWith("/chat/completions")&&(n=n.slice(0,-17)),n.endsWith("/v1")||(n=n.endsWith("/")?`${n}v1`:`${n}/v1`),e.pathname=`${n}/models`,e.toString()}catch{return null}}function MR(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function cf(t,e,n){let r=BR(t.baseUrl);if(!r)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:u}=await import("undici");o.dispatcher=new u(new URL(n).toString())}catch{}let s=await fetch(r,o);if(s.headers&&Io(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}async function LR(t,e,n,r){let o=t.wakeupModel||(Array.isArray(t.models)?t.models[0]:void 0);if(!o)return{success:!1,error:"No models configured for provider"};let s=t.baseUrl,a=t.baseUrl.includes("/messages")||o.includes("claude");try{let u={"Content-Type":"application/json",...i_("scheduled-wakeup")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:o,messages:[{role:"user",content:"Wake up and acknowledge with a short greeting."}],max_tokens:10}),signal:AbortSignal.timeout(e)};if(n)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(n).toString())}catch{}r?.info(`Sending scheduled wake-up call to provider ${t.name} using model ${o}...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown wake-up error"}}}async function jR(t,e,n,r,o){let s=t.baseUrl,a=t.baseUrl.includes("/messages")||e.includes("claude");try{let u={"Content-Type":"application/json",...i_("rate-limit-probe")};a?(u["x-api-key"]=t.apiKey,u["anthropic-version"]="2023-06-01"):u.Authorization=`Bearer ${t.apiKey}`;let l={method:"POST",headers:u,body:JSON.stringify({model:e,messages:[{role:"user",content:"Hello, please reply briefly."}],max_tokens:10}),signal:AbortSignal.timeout(n)};if(r)try{let{ProxyAgent:p}=await import("undici");l.dispatcher=new p(new URL(r).toString())}catch{}o?.debug?.(`Sending independent ping to rate-limited model ${t.name} (${e})...`);let f=await fetch(s,l);if(f.ok)return{success:!0};let d=await f.text().catch(()=>"");return{success:!1,error:`HTTP ${f.status}: ${d.slice(0,200)||"Unknown error"}`}}catch(u){return{success:!1,error:u?.message||u?.toString()||"Unknown ping error"}}}var au=class{config;quotaProbeTimer;healthProbeTimer;wakeupTimer;rateLimitProbeTimer;lastWakeupDate=new Map;getProviders;getHttpsProxy;logger;getConfig;running=!1;constructor(e,n,r,o,s){this.config={...FR,...n},this.getProviders=e,this.getHttpsProxy=r,this.logger=o,this.getConfig=s}start(){if(this.running)return;let e=this.isWakeupGloballyEnabled();!this.config.enabled&&!e||(this.running=!0,setTimeout(()=>{this.running&&(this.config.enabled&&(this.runQuotaProbe(),this.runHealthProbe(),this.runRateLimitProbe()),this.runScheduledWakeup())},this.config.initialDelayMs),this.config.enabled&&(this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.rateLimitProbeTimer=setInterval(()=>this.runRateLimitProbe(),120*1e3)),this.wakeupTimer=setInterval(()=>this.runScheduledWakeup(),60*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.rateLimitProbeTimer&&(clearInterval(this.rateLimitProbeTimer),this.rateLimitProbeTimer=void 0),this.wakeupTimer&&(clearInterval(this.wakeupTimer),this.wakeupTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&a.enabled!==!1&&!this.config.excludeProviders.includes(a.name)),n=this.getHttpsProxy?.(),r=Ye();if(e.length===0)return;let o=[];for(let a of e){let u=af(a.baseUrl),l=Array.isArray(a.models)?a.models:[];u&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:u.queryQuota(a,this.config.probeTimeoutMs,n).then(f=>{if(f){ac(a.name,f),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let d=f.limitDaily!==void 0&&f.usedDailyBalance!==void 0&&f.usedDailyBalance>=f.limitDaily,p=f.totalBalance!==void 0&&f.usedBalance!==void 0&&f.usedBalance>=f.totalBalance;if(d||p){let m=d?`Quota exhausted: 5h limit reached (${f.usedDailyBalance}/${f.limitDaily})`:`Quota exhausted: 7d balance depleted (${f.usedBalance}/${f.totalBalance})`;for(let b of l){if(r.getState(a.name,b)?.rateLimitUntil){this.logger?.debug?.(`Skip forceOpen for ${a.name} (${b}): already rate-limited with active cooldown`);continue}r.forceOpen(a.name,b,m)}this.logger?.warn?.(`${m} for ${a.name}, marked as unhealthy`)}else for(let m of l){let b=r.getState(a.name,m);b&&b.status==="open"&&b.lastError?.includes("Quota exhausted")&&(r.recover(a.name,m),this.logger?.info?.(`Quota recovered for ${a.name} (${m}), marked as healthy`))}}})}),MR(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:cf(a,this.config.probeTimeoutMs,n).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let u=s[a];if(u.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${u.reason}`)}}}async runHealthProbe(){let e=Ye(),n=this.getProviders().filter(s=>s?.name&&s.enabled!==!1&&!this.config.excludeProviders.includes(s.name)),r=this.getHttpsProxy?.();if(n.length===0)return;this.logger?.debug?.(`Running health probe for ${n.length} providers`);let o=await Promise.allSettled(n.map(s=>cf(s,this.config.probeTimeoutMs,r)));for(let s=0;s<n.length;s++){let a=n[s],u=o[s],l=Array.isArray(a.models)?a.models:[];if(u.status==="fulfilled"){let f=u.value;if(f.success){let d=0;for(let p of l){let m=e.getState(a.name,p);if(m&&m.status==="open"){let b=m.lastError?.includes("Quota exhausted"),w=m.rateLimitUntil||m.lastError&&(m.lastError.includes("429")||m.lastError.toLowerCase().includes("rate limit")||m.lastError.toLowerCase().includes("rate_limit")||m.lastError.toLowerCase().includes("too many requests")||m.lastError.toLowerCase().includes("\u9650\u6D41"));if(b){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}if(w||m.rateLimitUntil){this.logger?.debug?.(`Skipping health probe recovery for rate-limited ${a.name} (${p})`);continue}}e.recordSuccess(a.name,p),d++}d>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let d of l)e.recordFailure(a.name,d,f.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${f.error}`)}}else{for(let f of l)e.recordFailure(a.name,f,u.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${u.reason}`)}}}async runRateLimitProbe(){let e=Ye(),n=e.getRateLimitedModels();if(n.length===0)return;let r=this.getProviders(),o=this.getHttpsProxy?.(),s=this.config.probeTimeoutMs;this.logger?.debug?.(`Running rate-limit recovery probe for ${n.length} model(s)`);for(let a of n){let[u,...l]=a.split(","),f=l.join(",");if(!u||!f)continue;let d=e.getState(u,f);if(!d||!d.rateLimitUntil)continue;if(Date.now()>=d.rateLimitUntil){e.recover(u,f),this.logger?.info?.(`Rate-limit cooldown expired, auto-recovered ${a}`);continue}let p=r.find(m=>m?.name===u&&m.enabled!==!1);if(!p){this.logger?.warn?.(`Provider ${u} not found or disabled for rate-limit probe`);continue}try{let m=await jR(p,f,s,o,this.logger);if(m.success)this.logger?.info?.(`Rate-limit probe succeeded for ${a}, recovering model`),e.recover(u,f);else if(m.error&&(m.error.includes("429")||m.error.toLowerCase().includes("rate limit")||m.error.toLowerCase().includes("rate_limit")||m.error.toLowerCase().includes("too many requests")||m.error.toLowerCase().includes("\u9650\u6D41"))){let b=Date.now();d.rateLimitUntil&&d.rateLimitUntil>b?d.rateLimitUntil+=120*1e3:d.rateLimitUntil=b+120*1e3,this.logger?.debug?.(`Rate-limit probe for ${a} confirmed still limited, extending cooldown`)}else this.logger?.debug?.(`Rate-limit probe for ${a} returned non-rate-limit error: ${m.error?.slice(0,100)}`)}catch(m){this.logger?.warn?.(`Rate-limit probe exception for ${a}: ${m?.message||m}`)}}}async runScheduledWakeup(){if(!this.isWakeupGloballyEnabled())return;let e=this.getProviders().filter(l=>l?.name&&l.enabled!==!1&&l.wakeupEnabled===!0);if(e.length===0)return;let n=new Date,r=n.getHours(),o=n.getMinutes(),s=NR(n),a=this.getHttpsProxy?.(),u=this.getConfig&&this.getConfig("WAKEUP_TIME")||"06:00";for(let l of e){let f=l.wakeupTime||u,[d,p]=f.split(":"),m=parseInt(d,10),b=parseInt(p,10);if(isNaN(m)||isNaN(b))continue;let w=r>m||r===m&&o>=b,y=(m*60+b)*6e4-(r*60+o)*6e4,g=y>0&&y<=300*1e3;(w||g)&&!this.hasWakeupFiredToday(l.name,s)&&(this.logger?.info?.(`Scheduled wake-up triggered for provider ${l.name} at ${f}`),LR(l,3e4,a,this.logger).then(_=>{_.success?this.logger?.info?.(`Successfully woke up provider ${l.name}`):this.logger?.error?.(`Failed to wake up provider ${l.name}: ${_.error}`)}).catch(_=>{this.logger?.error?.(`Error in wake-up task for ${l.name}: ${_}`)}))}}isWakeupGloballyEnabled(){return this.getConfig?IR(this.getConfig("WAKEUP_ENABLED")):!1}hasWakeupFiredToday(e,n){return this.lastWakeupDate.get(e)===n?!0:(this.lastWakeupDate.set(e,n),!1)}async probeProviderManually(e){let r=this.getProviders().find(u=>u.name===e);if(!r)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;if(r.enabled===!1)return this.logger?.warn?.(`Provider ${e} is disabled, skipping manual probe`),!1;let o=this.getHttpsProxy?.(),s=await cf(r,this.config.probeTimeoutMs,o),a=Array.isArray(r.models)?r.models:[];if(s.success)for(let u of a)Ye().recordSuccess(r.name,u);else for(let u of a)Ye().recordFailure(r.name,u,s.error);return s.success}},Xn=null;function a_(t,e,n,r,o){return Xn||(Xn=new au(t,e,n,r,o)),Xn}function lf(t,e,n,r,o){let s=a_(t,e,n,r,o);return s.start(),s}function df(){Xn&&Xn.stop()}function UR(){Xn&&(Xn.stop(),Xn=null)}Un();var ff=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},u_=new ff;var b_=Ln(h_(),1);var Eo=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
364
+ `);this.buffer=r.pop()||"";for(let o of r){let s=this.processLine(o);s&&n.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let n=[];this.processLine(this.buffer.trim(),n),n.forEach(r=>e.enqueue(r))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,n){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let r={...this.currentEvent};return this.currentEvent={},n?(n.push(r),null):r}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let r=e.slice(5).trim();if(r==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(r)}catch{this.currentEvent.data={raw:r,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var cu=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
365
365
  `),e.id&&(r+=`id: ${e.id}
366
366
  `),e.retry&&(r+=`retry: ${e.retry}
367
367
  `),e.data&&(e.data.type==="done"?r+=`data: [DONE]
368
368
  `:r+=`data: ${JSON.stringify(e.data)}
369
369
  `),r+=`
370
- `,n.enqueue(r)}})}};var f_=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let a=await e(s,r);a!==void 0&&r.enqueue(a)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};hf();pf();mf();p_();var ws=new Map,yf=new Map,VR=1,__={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,y_.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)Eo.registerHandlers(n.outputHandlers);else{let a=[];for(let u of r)u==="console"?a.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):u==="temp-file"?a.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):u==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");a.length>0&&Eo.registerHandlers(a)}n.outputOptions&&Eo.setDefaultOptions(n.outputOptions);let o=async a=>{let u=t.tokenizerService;if(!u)return t.log?.warn("TokenizerService not available"),null;if(!a.provider||!a.model)return null;let l=a.provider,d=a.model,f=`${l}:${d}`;if(yf.has(f))return yf.get(f);let p=u.getTokenizerConfigForModel(l,d);if(!p)return t.log?.debug(`No tokenizer config for ${l}:${d}, using fallback`),null;try{let m=await u.getTokenizer(p);return yf.set(f,m),t.log?.info(`Created tokenizer for ${l}:${d} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${d}: ${m.message}`),null}},s=a=>{let u=new URL(`http://127.0.0.1${a}`).pathname;return u.endsWith("/v1/messages")||u.endsWith("/v1/responses")};t.addHook("onRequest",async a=>{s(a.url)&&(a.requestStartTime=performance.now())}),t.addHook("onSend",async(a,u,l)=>{let d=a.requestStartTime;if(!d)return;let f=a.id||Date.now().toString(),p;try{p=No(a.body?.metadata?.user_id)}catch{}if(!p){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;p=a.sessionId||(typeof _=="string"?_:void 0)||f}let m=await o(a);if(l instanceof ReadableStream){ws.set(f,{requestId:f,sessionId:p,startTime:d,lastTokenTime:d,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=l.tee();return(async()=>{let C=null,S=async T=>{let R=ws.get(f);if(!R)return;let $=performance.now();if(T){let V=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=R.lastTokenTime-R.startTime;R.tokensPerSecond=m_(R.tokenCount,P,V)}else{let V=$-1e3;R.tokenTimestamps=R.tokenTimestamps.filter(P=>P>V),R.tokensPerSecond=R.tokenTimestamps.length}await g_(R,r,n.outputOptions,T).catch(V=>{t.log?.warn(`Failed to output streaming stats: ${V.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new wo).getReader();for(C=setInterval(async()=>{ws.get(f)&&await S(!1)},1e3);;){let{done:$,value:V}=await R.read();if($)break;let P=V,Y=ws.get(f);if(!Y)continue;let z=performance.now(),K=P.event||P.data?.type,Q=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta";!Y.firstTokenTime&&Q&&(Y.firstTokenTime=z,Y.timeToFirstToken=Math.round(z-Y.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let ae=P.data.delta.type;ae==="text_delta"?ee=P.data.delta.text||"":ae==="input_json_delta"?ee=P.data.delta.partial_json||"":ae==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((K==="response.output_text.delta"||K==="response.function_call_arguments.delta"||K==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let ae=m&&m.encodeText?m.encodeText(ee).length:Es(ee);Y.tokenCount+=ae,Y.lastTokenTime=z;for(let se=0;se<ae;se++)Y.tokenTimestamps.push(z)}(P.event==="message_stop"||K==="response.completed"||K==="response.failed")&&(C&&(clearInterval(C),C=null),await S(!0),ws.delete(f))}}catch(T){C&&clearInterval(C),T.name!=="AbortError"&&T.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${T.message}`)}})().catch(C=>{console.log(C),t.log?.warn(`Background stats processing failed: ${C.message}`)}),g}let b=performance.now(),w=0,y=!1;if(l&&typeof l=="string")try{let g=JSON.parse(l);if(typeof g.usage?.output_tokens=="number")w=g.usage.output_tokens,y=!0;else{let _=g.content??g.message?.content;if(_!==void 0)if(y=!0,m)Array.isArray(_)?w=_.reduce((A,C)=>{if(C.type==="text"){let S=C.text||"";return A+(m.encodeText?m.encodeText(S).length:Es(S))}return A},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:Es(_));else{let A=Array.isArray(_)?_.map(C=>C.text).join(""):typeof _=="string"?_:"";w=Es(A)}}}catch{}if(y){let g=Math.round(b-d),_=b-d,A={requestId:f,sessionId:p,startTime:d,lastTokenTime:b,tokenCount:w,tokensPerSecond:m_(w,_),timeToFirstToken:g,stream:!1,tokenTimestamps:[]};await g_(A,r,n.outputOptions,!0)}return l})})};function m_(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,VR);return Math.round(t/r)}function Es(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function g_(t,e,n,r=!1){let o=r?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await Eo.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function QR(t={}){let e=KR({bodyLimit:52428800,...t});return e.setErrorHandler(Nh),e.register(YR),e}var _f=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=QR({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new bo(this.configService,this.app.log),this.tokenizerService=new Co(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new $r(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await dc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new bo(r,this.app.log);await o.initialize();let s=new $r(r,o,this.app.log),a=new Co(r,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",r),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bo(l,d,{configService:r,tokenizerService:a})}),await dc(u)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let u=r.body;r.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(r,o)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body)try{let a=r.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let u=a.model.split(","),l=a.model;if(u.length>1){let[d,...f]=u;l=f.join(","),a.model=l,r.provider=d}r.model=l;return}catch(a){return r.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{tc()}catch{}try{uc()}catch{}try{Qu()}catch{}try{let r={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=uf(()=>this.providerService.getProviders(),r,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(r){this.app.log.warn?.(`Failed to start active probe service: ${r.message}`)}let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`);try{cf()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},mM=_f;export{iu as ActiveProbeService,Ir as ConfigService,si as ProviderHealthStore,$r as ProviderService,wo as SSEParserTransform,uu as SSESerializerTransform,Co as TokenizerService,bo as TransformerService,lp as calculateTokenCount,mM as default,No as extractSessionIdFromUserId,s_ as getActiveProbeService,YC as getAllQuotaResults,$C as getAllRateLimitInfo,Ye as getHealthStore,of as getQuotaAdapter,ac as getQuotaResult,UC as getRateLimitInfo,bC as getRuntimeDebugLog,Qu as initProviderHealthPersistence,uc as initQuotaStorePersistence,tc as initRateLimitPersistence,jr as normalizeSessionId,i_ as pluginManager,LR as resetActiveProbeService,f_ as rewriteStream,Bo as router,pp as searchProjectBySession,rc as sessionUsageCache,_C as setRuntimeDebugLog,uf as startActiveProbe,cf as stopActiveProbe,ic as storeQuotaResult,__ as tokenSpeedPlugin};
370
+ `,n.enqueue(r)}})}};var p_=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let a=await e(s,r);a!==void 0&&r.enqueue(a)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};mf();gf();yf();g_();var Es=new Map,bf=new Map,YR=1,C_={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,b_.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)ko.registerHandlers(n.outputHandlers);else{let a=[];for(let u of r)u==="console"?a.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):u==="temp-file"?a.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):u==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");a.length>0&&ko.registerHandlers(a)}n.outputOptions&&ko.setDefaultOptions(n.outputOptions);let o=async a=>{let u=t.tokenizerService;if(!u)return t.log?.warn("TokenizerService not available"),null;if(!a.provider||!a.model)return null;let l=a.provider,f=a.model,d=`${l}:${f}`;if(bf.has(d))return bf.get(d);let p=u.getTokenizerConfigForModel(l,f);if(!p)return t.log?.debug(`No tokenizer config for ${l}:${f}, using fallback`),null;try{let m=await u.getTokenizer(p);return bf.set(d,m),t.log?.info(`Created tokenizer for ${l}:${f} - ${m.name}`),m}catch(m){return t.log?.warn(`Failed to create tokenizer for ${l}:${f}: ${m.message}`),null}},s=a=>{let u=new URL(`http://127.0.0.1${a}`).pathname;return u.endsWith("/v1/messages")||u.endsWith("/v1/responses")};t.addHook("onRequest",async a=>{s(a.url)&&(a.requestStartTime=performance.now())}),t.addHook("onSend",async(a,u,l)=>{let f=a.requestStartTime;if(!f)return;let d=a.id||Date.now().toString(),p;try{p=No(a.body?.metadata?.user_id)}catch{}if(!p){let g=a.headers?.["x-request-id"],_=Array.isArray(g)?g[0]:g;p=a.sessionId||(typeof _=="string"?_:void 0)||d}let m=await o(a);if(l instanceof ReadableStream){Es.set(d,{requestId:d,sessionId:p,startTime:f,lastTokenTime:f,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[g,_]=l.tee();return(async()=>{let C=null,v=async T=>{let R=Es.get(d);if(!R)return;let $=performance.now();if(T){let G=R.firstTokenTime?R.firstTokenTime-R.startTime:0,P=R.lastTokenTime-R.startTime;R.tokensPerSecond=y_(R.tokenCount,P,G)}else{let G=$-1e3;R.tokenTimestamps=R.tokenTimestamps.filter(P=>P>G),R.tokensPerSecond=R.tokenTimestamps.length}await __(R,r,n.outputOptions,T).catch(G=>{t.log?.warn(`Failed to output streaming stats: ${G.message}`)})};try{let R=_.pipeThrough(new TextDecoderStream).pipeThrough(new Eo).getReader();for(C=setInterval(async()=>{Es.get(d)&&await v(!1)},1e3);;){let{done:$,value:G}=await R.read();if($)break;let P=G,K=Es.get(d);if(!K)continue;let z=performance.now(),Y=P.event||P.data?.type,Q=P.event==="content_block_start"||P.event==="content_block_delta"||P.event==="text_block"||P.event==="content_block"||Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta";!K.firstTokenTime&&Q&&(K.firstTokenTime=z,K.timeToFirstToken=Math.round(z-K.startTime));let ee="";if(P.event==="content_block_delta"&&P.data?.delta){let se=P.data.delta.type;se==="text_delta"?ee=P.data.delta.text||"":se==="input_json_delta"?ee=P.data.delta.partial_json||"":se==="thinking_delta"&&(ee=P.data.delta.thinking||"")}if((Y==="response.output_text.delta"||Y==="response.function_call_arguments.delta"||Y==="response.reasoning_summary_text.delta")&&(ee=typeof P.data?.delta=="string"?P.data.delta:""),ee){let se=m&&m.encodeText?m.encodeText(ee).length:ks(ee);K.tokenCount+=se,K.lastTokenTime=z;for(let ie=0;ie<se;ie++)K.tokenTimestamps.push(z)}(P.event==="message_stop"||Y==="response.completed"||Y==="response.failed")&&(C&&(clearInterval(C),C=null),await v(!0),Es.delete(d))}}catch(T){C&&clearInterval(C),T.name!=="AbortError"&&T.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${T.message}`)}})().catch(C=>{console.log(C),t.log?.warn(`Background stats processing failed: ${C.message}`)}),g}let b=performance.now(),w=0,y=!1;if(l&&typeof l=="string")try{let g=JSON.parse(l);if(typeof g.usage?.output_tokens=="number")w=g.usage.output_tokens,y=!0;else{let _=g.content??g.message?.content;if(_!==void 0)if(y=!0,m)Array.isArray(_)?w=_.reduce((A,C)=>{if(C.type==="text"){let v=C.text||"";return A+(m.encodeText?m.encodeText(v).length:ks(v))}return A},0):typeof _=="string"&&(w=m.encodeText?m.encodeText(_).length:ks(_));else{let A=Array.isArray(_)?_.map(C=>C.text).join(""):typeof _=="string"?_:"";w=ks(A)}}}catch{}if(y){let g=Math.round(b-f),_=b-f,A={requestId:d,sessionId:p,startTime:f,lastTokenTime:b,tokenCount:w,tokensPerSecond:y_(w,_),timeToFirstToken:g,stream:!1,tokenTimestamps:[]};await __(A,r,n.outputOptions,!0)}return l})})};function y_(t,e,n=0){if(t<=0)return 0;let r=Math.max((e-n)/1e3,YR);return Math.round(t/r)}function ks(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function __(t,e,n,r=!1){let o=r?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await ko.outputToType(u,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${u}:`,l)}}Un();Un();function ZR(t={}){let e=QR({bodyLimit:52428800,...t});return e.setErrorHandler(Mh),e.register(XR),e}var Cf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:n,...r}=e;this.app=ZR({...r,logger:r.logger??!0}),this.configService=new Ir(e),this.transformerService=new Co(this.configService,this.app.log),this.tokenizerService=new wo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new qr(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async u=>{u.decorate("configService",this.configService),u.decorate("transformerService",this.transformerService),u.decorate("providerService",this.providerService),u.decorate("tokenizerService",this.tokenizerService),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:this.configService,tokenizerService:this.tokenizerService})}),await hc(u)});return}if(!n)throw new Error("options is required");let r=new Ir({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Co(r,this.app.log);await o.initialize();let s=new qr(r,o,this.app.log),a=new wo(r,this.app.log);await a.initialize(),await this.app.register(async u=>{u.decorate("configService",r),u.decorate("transformerService",o),u.decorate("providerService",s),u.decorate("tokenizerService",a),u.decorate("recordUsage",this.recordUsage||(()=>{})),u.addHook("preHandler",async(l,f)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Mo(l,f,{configService:r,tokenizerService:a})}),await hc(u)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let u=r.body;r.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(r,o)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body)try{let a=r.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let u=a.model.split(","),l=a.model;if(u.length>1){let[f,...d]=u;l=d.join(","),a.model=l,r.provider=f}r.model=l;return}catch(a){return r.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{nc()}catch{}try{cc()}catch{}try{Xu()}catch{}try{let r={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=lf(()=>this.providerService.getProviders(),r,()=>this.configService.getHttpsProxy(),this.app.log,o=>this.configService.get(o))}catch(r){this.app.log.warn?.(`Failed to start active probe service: ${r.message}`)}let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`);try{df()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},yM=Cf;export{au as ActiveProbeService,Ir as ConfigService,ii as ProviderHealthStore,qr as ProviderService,Eo as SSEParserTransform,cu as SSESerializerTransform,wo as TokenizerService,Co as TransformerService,dp as calculateTokenCount,yM as default,No as extractSessionIdFromUserId,a_ as getActiveProbeService,XC as getAllQuotaResults,zC as getAllRateLimitInfo,Ye as getHealthStore,af as getQuotaAdapter,uc as getQuotaResult,qC as getRateLimitInfo,wC as getRuntimeDebugLog,Xu as initProviderHealthPersistence,cc as initQuotaStorePersistence,nc as initRateLimitPersistence,Ur as normalizeSessionId,u_ as pluginManager,UR as resetActiveProbeService,p_ as rewriteStream,Mo as router,mp as searchProjectBySession,oc as sessionUsageCache,CC as setRuntimeDebugLog,lf as startActiveProbe,df as stopActiveProbe,ac as storeQuotaResult,C_ as tokenSpeedPlugin};
371
371
  /*! Bundled license information:
372
372
 
373
373
  web-streams-polyfill/dist/ponyfill.es2018.js: