@truebit/cli 1.129.0 → 1.129.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.mjs +1 -1
- package/package.json +2 -2
package/build/index.mjs
CHANGED
|
@@ -518,7 +518,7 @@ MQCjfy+Rocm9Xue4YnwWmNJVA44fA0P5W2OpYow9OYCVRaEevL8uO1XYru5xtMPW
|
|
|
518
518
|
rfMCMQCi85sWBbJwKKXdS6BptQFuZbT73o/gBh1qUxl/nNr12UO8Yfwr6wPLb+6N
|
|
519
519
|
IwLz3/Y=
|
|
520
520
|
-----END CERTIFICATE-----
|
|
521
|
-
`;var Q1a=300*1e3;function Cwe(e=process.env){let t=Q1a;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let n=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(n)||n<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=n}return{awsNitroRootCaPem:EBt,maxAttestationAgeMs:t}}function wBt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as Djt,verify as sya,X509Certificate as oya}from"crypto";import{Buffer as $jt}from"buffer";var qwe;try{qwe=new TextDecoder}catch{}var rt,Em,de=0;var kwe=[],eha=105,tha=57342,nha=57343,SBt=57337;var TBt=6,K8={},jS=11281e4,qp=1681e4;var Gh=kwe,US=0,an={},fa,VS,HS=0,Kh=0,Ka,L0,Ya=[],Rwe=[],Oo,Us,FS,ABt={useRecords:!1,mapsAsObjects:!0},zS=!1,CBt=2;try{new Function("")}catch{CBt=1/0}var xd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[n,r]of Object.entries(t.keyMap))this.mapKey.set(r,n)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let n=new Map;for(let[r,a]of Object.entries(t))n.set(this._keyMap.hasOwnProperty(r)?this._keyMap[r]:r,a);return n}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[r,a]of Object.entries(this._keyMap))this._mapKey.set(a,r)}let n={};return t.forEach((r,a)=>n[B0(this._mapKey.has(a)?this._mapKey.get(a):a)]=r),n}mapDecode(t,n){let r=this.decode(t);return this._keyMap&&r.constructor.name==="Array"?r.map(a=>this.decodeKeys(a)):r}decode(t,n){if(rt)return DBt(()=>(yX(),this?this.decode(t,n):e.prototype.decode.call(ABt,t,n)));Em=n>-1?n:t.length,de=0,US=0,Kh=0,VS=null,Gh=kwe,Ka=null,rt=t;try{Us=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(r){throw rt=null,t instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(an=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return fa=this.structures,mX();(!fa||fa.length>0)&&(fa=[])}else an=ABt,(!fa||fa.length>0)&&(fa=[]),Oo=null;return mX()}decodeMultiple(t,n){let r,a=0;try{let i=t.length;zS=!0;let s=this?this.decode(t,i):Dwe.decode(t,i);if(n){if(n(s)===!1)return;for(;de<i;)if(a=de,n(mX())===!1)return}else{for(r=[s];de<i;)a=de,r.push(mX());return r}}catch(i){throw i.lastPosition=a,i.values=r,i}finally{zS=!1,yX()}}};function mX(){try{let e=fn();if(Ka){if(de>=Ka.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ka.postBundlePosition,Ka=null}if(de==Em)fa=null,rt=null,L0&&(L0=null);else if(de>Em){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!zS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw yX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function fn(){let e=rt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=rt[de++];break;case 25:if(t==7)return fha();e=Us.getUint16(de),de+=2;break;case 26:if(t==7){let n=Us.getFloat32(de);if(an.useFloat32>2){let r=bX[(rt[de]&127)<<1|rt[de+1]>>7];return de+=4,(r*n+(n>0?.5:-.5)>>0)/r}return de+=4,n}if(e=Us.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let n=Us.getFloat64(de);return de+=8,n}if(t>1){if(Us.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=Us.getUint32(de+4)}else an.int64AsNumber?(e=Us.getUint32(de)*4294967296,e+=Us.getUint32(de+4)):e=Us.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let n=[],r,a=0;for(;(r=fn())!=K8;){if(a>=jS)throw new Error(`Array length exceeds ${jS}`);n[a++]=r}return t==4?n:t==3?n.join(""):Buffer.concat(n);case 5:let i;if(an.mapsAsObjects){let s={},o=0;if(an.keyMap)for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[B0(an.decodeKey(i))]=fn()}else for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[B0(i)]=fn()}return s}else{FS&&(an.mapsAsObjects=!0,FS=!1);let s=new Map;if(an.keyMap){let o=0;for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(an.decodeKey(i),fn())}}else{let o=0;for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(i,fn())}}return s}case 7:return K8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return oha(e);case 3:if(Kh>=de)return VS.slice(de-HS,(de+=e)-HS);if(Kh==0&&Em<140&&e<32){let a=e<16?MBt(e):sha(e);if(a!=null)return a}return qBt(e);case 4:if(e>=jS)throw new Error(`Array length exceeds ${jS}`);let n=new Array(e);for(let a=0;a<e;a++)n[a]=fn();return n;case 5:if(e>=qp)throw new Error(`Map size exceeds ${jS}`);if(an.mapsAsObjects){let a={};if(an.keyMap)for(let i=0;i<e;i++)a[B0(an.decodeKey(fn()))]=fn();else for(let i=0;i<e;i++)a[B0(fn())]=fn();return a}else{FS&&(an.mapsAsObjects=!0,FS=!1);let a=new Map;if(an.keyMap)for(let i=0;i<e;i++)a.set(an.decodeKey(fn()),fn());else for(let i=0;i<e;i++)a.set(fn(),fn());return a}case 6:if(e>=SBt){let a=fa[e&8191];if(a)return a.read||(a.read=Pwe(a)),a.read();if(e<65536){if(e==nha){let i=J8(),s=fn(),o=fn();Mwe(s,o);let l={};if(an.keyMap)for(let u=2;u<i;u++){let d=an.decodeKey(o[u-2]);l[B0(d)]=fn()}else for(let u=2;u<i;u++){let d=o[u-2];l[B0(d)]=fn()}return l}else if(e==tha){let i=J8(),s=fn();for(let o=2;o<i;o++)Mwe(s++,fn());return fn()}else if(e==SBt)return mha();if(an.getShared&&(Nwe(),a=fa[e&8191],a))return a.read||(a.read=Pwe(a)),a.read()}}let r=Ya[e];if(r)return r.handlesRead?r(fn):r(fn());{let a=fn();for(let i=0;i<Rwe.length;i++){let s=Rwe[i](e,a);if(s!==void 0)return s}return new Co(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Wh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var IBt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Pwe(e){if(!e)throw new Error("Structure is required in record definition");function t(){let n=rt[de++];if(n=n&31,n>23)switch(n){case 24:n=rt[de++];break;case 25:n=Us.getUint16(de),de+=2;break;case 26:n=Us.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+rt[de-1])}let r=this.compiledReader;for(;r;){if(r.propertyCount===n)return r(fn);r=r.next}if(this.slowReads++>=CBt){let i=this.length==n?this:this.slice(0,n);return r=an.keyMap?new Function("r","return {"+i.map(s=>an.decodeKey(s)).map(s=>IBt.test(s)?B0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>IBt.test(s)?B0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(r.next=this.compiledReader),r.propertyCount=n,this.compiledReader=r,r(fn)}let a={};if(an.keyMap)for(let i=0;i<n;i++)a[B0(an.decodeKey(this[i]))]=fn();else for(let i=0;i<n;i++)a[B0(this[i])]=fn();return a}return e.slowReads=0,t}function B0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var qBt=Yh,rha=Yh,aha=Yh,iha=Yh,RBt=!1;function PBt(e){RBt=!0,qBt=t(1),rha=t(2),aha=t(3),iha=t(5);function t(n){return function(a){let i=Gh[US++];if(i==null){if(Ka)return Yh(a);let o=e(de,Em,a,rt);if(typeof o=="string")i=o,Gh=kwe;else if(Gh=o,US=1,Kh=1,i=Gh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(VS=i,HS=de,Kh=de+s,de+=a,i.slice(0,a))}}}function Yh(e){let t;if(e<16&&(t=MBt(e)))return t;if(e>64&&qwe)return qwe.decode(rt.subarray(de,de+=e));let n=de+e,r=[];for(t="";de<n;){let a=rt[de++];if((a&128)===0)r.push(a);else if((a&224)===192){let i=rt[de++]&63,s=(a&31)<<6|i;s<128?r.push(65533):r.push(s)}else if((a&240)===224){let i=rt[de++]&63,s=rt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?r.push(65533):r.push(o)}else if((a&248)===240){let i=rt[de++]&63,s=rt[de++]&63,o=rt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?r.push(65533):(l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|l&1023),r.push(l))}else r.push(65533);r.length>=4096&&(t+=Ei.apply(String,r),r.length=0)}return r.length>0&&(t+=Ei.apply(String,r)),t}var Ei=String.fromCharCode;function sha(e){let t=de,n=new Array(e);for(let r=0;r<e;r++){let a=rt[de++];if((a&128)>0){de=t;return}n[r]=a}return Ei.apply(String,n)}function MBt(e){if(e<4)if(e<2){if(e===0)return"";{let t=rt[de++];if((t&128)>1){de-=1;return}return Ei(t)}}else{let t=rt[de++],n=rt[de++];if((t&128)>0||(n&128)>0){de-=2;return}if(e<3)return Ei(t,n);let r=rt[de++];if((r&128)>0){de-=3;return}return Ei(t,n,r)}else{let t=rt[de++],n=rt[de++],r=rt[de++],a=rt[de++];if((t&128)>0||(n&128)>0||(r&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return Ei(t,n,r,a);{let i=rt[de++];if((i&128)>0){de-=5;return}return Ei(t,n,r,a,i)}}else if(e<8){let i=rt[de++],s=rt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return Ei(t,n,r,a,i,s);let o=rt[de++];if((o&128)>0){de-=7;return}return Ei(t,n,r,a,i,s,o)}else{let i=rt[de++],s=rt[de++],o=rt[de++],l=rt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return Ei(t,n,r,a,i,s,o,l);{let u=rt[de++];if((u&128)>0){de-=9;return}return Ei(t,n,r,a,i,s,o,l,u)}}else if(e<12){let u=rt[de++],d=rt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return Ei(t,n,r,a,i,s,o,l,u,d);let c=rt[de++];if((c&128)>0){de-=11;return}return Ei(t,n,r,a,i,s,o,l,u,d,c)}else{let u=rt[de++],d=rt[de++],c=rt[de++],g=rt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(g&128)>0){de-=12;return}if(e<14){if(e===12)return Ei(t,n,r,a,i,s,o,l,u,d,c,g);{let m=rt[de++];if((m&128)>0){de-=13;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m)}}else{let m=rt[de++],p=rt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p);let y=rt[de++];if((y&128)>0){de-=15;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p,y)}}}}}function oha(e){return an.copyBuffers?Uint8Array.prototype.slice.call(rt,de,de+=e):rt.subarray(de,de+=e)}var kBt=new Float32Array(1),hX=new Uint8Array(kBt.buffer,0,4);function fha(){let e=rt[de++],t=rt[de++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let r=((e&3)<<8|t)/16777216;return e&128?-r:r}return hX[3]=e&128|(n>>1)+56,hX[2]=(e&7)<<5|t>>3,hX[1]=t<<5,hX[0]=0,kBt[0]}var hSi=new Array(4096);var Co=class{constructor(t,n){this.value=t,this.tag=n}};Ya[0]=e=>new Date(e);Ya[1]=e=>new Date(Math.round(e*1e3));Ya[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t};Ya[3]=e=>BigInt(-1)-Ya[2](e);Ya[4]=e=>+(e[1]+"e"+e[0]);Ya[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var Mwe=(e,t)=>{e=e-57344;let n=fa[e];n&&n.isShared&&((fa.restoreStructures||(fa.restoreStructures=[]))[e]=n),fa[e]=t,t.read=Pwe(t)};Ya[eha]=e=>{let t=e.length,n=e[1];Mwe(e[0],n);let r={};for(let a=2;a<t;a++){let i=n[a-2];r[B0(i)]=e[a]}return r};Ya[14]=e=>Ka?Ka[0].slice(Ka.position0,Ka.position0+=e):new Co(e,14);Ya[15]=e=>Ka?Ka[1].slice(Ka.position1,Ka.position1+=e):new Co(e,15);var lha={Error,RegExp};Ya[27]=e=>(lha[e[0]]||Error)(e[1],e[2]);var NBt=e=>{if(rt[de++]!=132){let n=new Error("Packed values structure must be followed by a 4 element array");throw rt.length<de&&(n.incomplete=!0),n}let t=e();if(!t||!t.length){let n=new Error("Packed values structure must be followed by a 4 element array");throw n.incomplete=!0,n}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};NBt.handlesRead=!0;Ya[51]=NBt;Ya[TBt]=e=>{if(!Oo)if(an.getShared)Nwe();else return new Co(e,TBt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ya[28]=e=>{L0||(L0=new Map,L0.id=0);let t=L0.id++,n=de,r=rt[de],a;r>>5==4?a=[]:a={};let i={target:a};L0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=n,a=s,L0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ya[28].handlesRead=!0;Ya[29]=e=>{let t=L0.get(e);return t.used=!0,t.target};Ya[258]=e=>new Set(e);(Ya[259]=e=>(an.mapsAsObjects&&(an.mapsAsObjects=!1,FS=!0),e())).handlesRead=!0;function Y8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Wh(){if(!Oo)if(an.getShared)Nwe();else throw new Error("No packed values available");return Oo}var uha=1399353956;Rwe.push((e,t)=>{if(e>=225&&e<=255)return Y8(Wh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Y8(Wh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Y8(Wh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Y8(t,Wh().suffixes[e-216]);if(e>=27647&&e<=28671)return Y8(t,Wh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Y8(t,Wh().suffixes[e-1811939328]);if(e==uha)return{packedValues:Oo,structures:fa.slice(0),version:t};if(e==55799)return t});var dha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,OBt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],cha=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<OBt.length;e++)pha(OBt[e],cha[e]);function pha(e,t){let n="get"+e.name.slice(0,-5),r;typeof e=="function"?r=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&r==1)continue;let i=r==2?1:r==4?2:r==8?3:0;Ya[a?t:t-4]=r==1||a==dha?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!an.copyBuffers&&(r===1||r===2&&!(s.byteOffset&1)||r===4&&!(s.byteOffset&3)||r===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[n];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function mha(){let e=J8(),t=de+fn();for(let r=2;r<e;r++){let a=J8();de+=a}let n=de;return de=t,Ka=[Yh(J8()),Yh(J8())],Ka.position0=0,Ka.position1=0,Ka.postBundlePosition=de,de=n,fn()}function J8(){let e=rt[de++]&31;if(e>23)switch(e){case 24:e=rt[de++];break;case 25:e=Us.getUint16(de),de+=2;break;case 26:e=Us.getUint32(de),de+=4;break}return e}function Nwe(){if(an.getShared){let e=DBt(()=>(rt=null,an.getShared()))||{},t=e.structures||[];an.sharedVersion=e.version,Oo=an.sharedValues=e.packedValues,fa===!0?an.structures=fa=t:fa.splice.apply(fa,[0,t.length].concat(t))}}function DBt(e){let t=Em,n=de,r=US,a=HS,i=Kh,s=VS,o=Gh,l=L0,u=Ka,d=new Uint8Array(rt.slice(0,Em)),c=fa,g=an,m=zS,p=e();return Em=t,de=n,US=r,HS=a,Kh=i,VS=s,Gh=o,L0=l,Ka=u,rt=d,zS=m,fa=c,an=g,Us=new DataView(rt.buffer,rt.byteOffset,rt.byteLength),p}function yX(){rt=null,L0=null,fa=null}var bX=new Array(147);for(let e=0;e<256;e++)bX[e]=+("1e"+Math.floor(45.15-e*.30103));var Dwe=new xd({useRecords:!1}),hha=Dwe.decode,yha=Dwe.decodeMultiple,gX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var vX;try{vX=new TextEncoder}catch{}var Fwe,UBt,EX=typeof globalThis=="object"&&globalThis.Buffer,WS=typeof EX<"u",$we=WS?EX.allocUnsafeSlow:Uint8Array,$Bt=WS?EX:Uint8Array,LBt=256,BBt=WS?4294967296:2144337920;var Lwe,ie,wr,te=0,wm,ci=null,bha=61440,gha=/[\u0080-\uFFFF]/,n0=Symbol("record-id"),Sm=class extends xd{constructor(t){super(t),this.offset=0;let n,r,a,i,s,o;t=t||{};let l=$Bt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:vX&&vX.encodeInto?function(P,U){return vX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let g=t.sequential;g&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let v=[],E=0,x=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(q=>this.encodeKeys(q))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new $we(8192),wr=new DataView(ie.buffer,0,8192),te=0),wm=ie.length-10,wm-te<2048?(ie=new $we(ie.length),wr=new DataView(ie.buffer,0,ie.length),wm=ie.length-10,te=0):U===Vwe&&(te=te+7&2147483640),r=te,u.useSelfDescribedHeader&&(wr.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ci=[],ci.size=1/0):ci=null,a=u.structures,a){if(a.uninitialized){let D=u.getShared()||{};u.structures=a=D.structures||[],u.sharedVersion=D.version;let I=u.sharedValues=D.packedValues;if(I){b={};for(let T=0,R=I.length;T<R;T++)b[I[T]]=T}}let q=a.length;if(q>c&&!g&&(q=c),!a.transitions){a.transitions=Object.create(null);for(let D=0;D<q;D++){let I=a[D];if(!I)continue;let T,R=a.transitions;for(let L=0,$=I.length;L<$;L++){R[n0]===void 0&&(R[n0]=D);let H=I[L];T=R[H],T||(T=R[H]=Object.create(null)),R=T}R[n0]=D|1048576}}g||(a.nextId=q)}if(i&&(i=!1),s=a||[],p=b,t.pack){let q=new Map;if(q.values=[],q.encoder=u,q.maxValues=t.maxPrivatePackedValues||(b?16:1/0),q.objectMap=b||!1,q.samplingPackedValues=m,_X(P,q),q.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let D=q.values;w(D),wd(0),wd(0),p=Object.create(b||null);for(let I=0,T=D.length;I<T;I++)p[D[I]]=I}}Lwe=U&jwe;try{if(Lwe)return;if(w(P),ci&&FBt(r,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>wm&&z(te),u.offset=te;let q=xha(ie.subarray(r,te),o.idsToInsert);return o=null,q}return U&Vwe?(ie.start=r,ie.end=te,ie):ie.subarray(r,te)}finally{if(a){if(x<10&&x++,a.length>c&&(a.length=c),E>1e4)a.transitions=null,x=0,E=0,v.length>0&&(v=[]);else if(v.length>0&&!g){for(let q=0,D=v.length;q<D;q++)v[q][n0]=void 0;v=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let q=ie.subarray(r,te);return u.updateSharedData()===!1?u.encode(P):q}U&Cha&&(te=r)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,q=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[D,I]of m)I.count>U&&(b[D]=q++,y.push(D),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>wm&&(ie=z(te));var U=typeof P,q;if(U==="string"){if(p){let R=p[P];if(R>=0){R<16?ie[te++]=R+224:(ie[te++]=198,R&1?w(15-R>>1):w(R-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let D=P.length;if(ci&&D>=4&&D<1024){if((ci.size+=D)>bha){let L,$=(ci[0]?ci[0].length*3+ci[1].length:0)+10;te+$>wm&&(ie=z(te+$)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ci.position?132:130,ie[te++]=26,L=te-r,te+=4,ci.position&&FBt(r,w),ci=["",""],ci.size=0,ci.position=L}let R=gha.test(P);ci[R?0:1]+=P,ie[te++]=R?206:207,w(D);return}let I;D<32?I=1:D<256?I=2:D<65536?I=3:I=5;let T=D*3;if(te+T>wm&&(ie=z(te+T)),D<64||!l){let R,L,$,H=te+I;for(R=0;R<D;R++)L=P.charCodeAt(R),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&(($=P.charCodeAt(R+1))&64512)===56320?(L=65536+((L&1023)<<10)+($&1023),R++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);q=H-te-I}else q=l(P,te+I,T);q<24?ie[te++]=96|q:q<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+q),ie[te++]=120,ie[te++]=q):q<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+q),ie[te++]=121,ie[te++]=q>>8,ie[te++]=q&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+q),ie[te++]=122,wr.setUint32(te,q),te+=4),te+=q}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,wr.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,wr.setUint16(te,~P),te+=2):(ie[te++]=58,wr.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,wr.setUint32(te,-1-P),te+=4;else{let D;if((D=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,wr.setFloat32(te,P);let I;if(D<4||(I=P*bX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,wr.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-r),te+=2;return}else o.set(P,{offset:te-r})}let D=P.constructor;if(D===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if(D===Array){q=P.length,q<24?ie[te++]=128|q:wd(q);for(let I=0;I<q;I++)w(P[I])}else if(D===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),q=P.size,q<24?ie[te++]=160|q:q<256?(ie[te++]=184,ie[te++]=q):q<65536?(ie[te++]=185,ie[te++]=q>>8,ie[te++]=q&255):(ie[te++]=186,wr.setUint32(te,q),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=Fwe.length;I<T;I++){let R=UBt[I];if(P instanceof R){let L=Fwe[I],$=L.tag;$==null&&($=L.getTag&&L.getTag.call(this,P)),$<24?ie[te++]=192|$:$<256?(ie[te++]=216,ie[te++]=$):$<65536?(ie[te++]=217,ie[te++]=$>>8,ie[te++]=$&255):$>-1&&(ie[te++]=218,wr.setUint32(te,$),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Lwe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||Bwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,wr.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,wr.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,wr.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let D=[];for(;P;)D.push(Number(P&BigInt(255))),P>>=BigInt(8);Uwe(new Uint8Array(D.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),q=Object.values(P),D=U.length;D<24?ie[te++]=160|D:D<256?(ie[te++]=184,ie[te++]=D):D<65536?(ie[te++]=185,ie[te++]=D>>8,ie[te++]=D&255):(ie[te++]=186,wr.setUint32(te,D),te+=4);let I;if(u.keyMap)for(let T=0;T<D;T++)w(u.encodeKey(U[T])),w(q[T]);else for(let T=0;T<D;T++)w(U[T]),w(q[T])}:P=>{ie[te++]=185;let U=te-r;te+=2;let q=0;if(u.keyMap)for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(u.encodeKey(D)),w(P[D]),q++);else for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(D),w(P[D]),q++);ie[U+++r]=q>>8,ie[U+r]=q&255}:(P,U)=>{let q,D=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,R,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];q=D[ae],q||(q=D[ae]=Object.create(null),I++),D=q}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(q=D[H],q||(D[n0]&1048576&&(R=D[n0]&65535),q=D[H]=Object.create(null),I++),D=q,T++);let $=D[n0];if($!==void 0)$&=65535,ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255;else if(L||(L=D.__keys__||(D.__keys__=Object.keys(P))),R===void 0?($=s.nextId++,$||($=0,s.nextId=1),$>=LBt&&(s.nextId=($=c)+1)):$=R,s[$]=L,$<c){ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255,D=s.transitions;for(let H=0;H<T;H++)(D[n0]===void 0||D[n0]&1048576)&&(D[n0]=$),D=D[L[H]];D[n0]=$|1048576,i=!0}else{if(D[n0]=$,wr.setUint32(te,3655335680),te+=3,I&&(E+=x*I),v.length>=LBt-c&&(v.shift()[n0]=void 0),v.push(D),wd(T+2),w(57344+$),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:wd(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-r>BBt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(BBt,Math.round(Math.max((P-r)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-r<<2,ie.length-1)>>12)+1<<12;let q=new $we(U);return wr=new DataView(q.buffer,0,U),ie.copy?ie.copy(q,0,r,P):q.set(ie.slice(r,P)),te-=r,r=0,wm=q.length-10,ie=q},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,q){let D=P.constructor;if(D===Object){let I=u.useRecords!==!1;I?B(P,!0):jBt(Object.keys(P).length,160);for(let T in P){let R=P[T];I||w(T),R&&typeof R=="object"?U[T]?yield*F(R,U[T]):yield*ne(R,U,T):w(R)}}else if(D===Array){let I=P.length;wd(I);for(let T=0;T<I;T++){let R=P[T];R&&(typeof R=="object"||te-r>j)?U.element?yield*F(R,U.element):yield*ne(R,U,"element"):w(R)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-r>j)?U.element?yield*F(I,U.element):yield*ne(I,U,"element"):w(I);ie[te++]=255}else Bwe(P)?(jBt(P.size,64),yield ie.subarray(r,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(r,te),yield P,Y(),ie[te++]=255):w(P);q&&te>r?yield ie.subarray(r,te):te-r>j&&(yield ie.subarray(r,te),Y())}function*ne(P,U,q){let D=te-r;try{w(P),te-r>j&&(yield ie.subarray(r,te),Y())}catch(I){if(I.iteratorNotHandled)U[q]={},te=r+D,yield*F.call(this,P,U[q]);else throw I}}function Y(){j=V,u.encode(null,jwe)}function M(P,U,q){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,jwe),q(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let q of F(P,U,!0)){let D=q.constructor;if(D===$Bt||D===Uint8Array)yield q;else if(Bwe(q)){let I=q.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(q[Symbol.asyncIterator])for await(let I of q)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield q}}}useBuffer(t){ie=t,wr=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let n=this.structures.slice(0),r=new xX(n,this.sharedValues,this.sharedVersion),a=this.saveShared(r,i=>(i&&i.version||0)==t);return a===!1?(r=this.getShared()||{},this.structures=r.structures||[],this.sharedValues=r.packedValues,this.sharedVersion=r.version,this.structures.nextId=this.structures.length):n.forEach((i,s)=>this.structures[s]=i),a}};function jBt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,wr.setUint32(te,e),te+=4)}var xX=class{constructor(t,n,r){this.structures=t,this.packedValues=n,this.version=r}};function wd(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,wr.setUint32(te,e),te+=4)}var vha=typeof Blob>"u"?function(){}:Blob;function Bwe(e){if(e instanceof vha)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function _X(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let r=t.get(e);if(r)++r.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let r=0,a=e.length;r<a;r++)_X(e[r],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&_X(n,t),_X(e[n],t))}break;case"function":console.log(e)}}var _ha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;UBt=[Date,Set,Error,RegExp,Co,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,xX];Fwe=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(ie[te++]=26,wr.setUint32(te,n),te+=4):(ie[te++]=251,wr.setFloat64(te,n),te+=8)}},{tag:258,encode(e,t){let n=Array.from(e);t(n)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Uwe(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||WS&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Uwe(e,n)}},Ed(68,1),Ed(69,2),Ed(70,4),Ed(71,8),Ed(72,1),Ed(77,2),Ed(78,4),Ed(79,8),Ed(85,4),Ed(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let a=n.values;t(a),wd(0),wd(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(r){wr.setUint32(te,3655335424),te+=3;let a=r.slice(0);a.unshift(57344),a.push(new Co(e.version,1399353956)),t(a)}else t(new Co(e.version,1399353956))}}];function Ed(e,t){return!_ha&&t>1&&(e-=4),{tag:e,encode:function(r,a){let i=r.byteLength,s=r.byteOffset||0,o=r.buffer||r;a(WS?EX.from(o,s,i):new Uint8Array(o,s,i))}}}function Uwe(e,t){let n=e.byteLength;n<24?ie[te++]=64+n:n<256?(ie[te++]=88,ie[te++]=n):n<65536?(ie[te++]=89,ie[te++]=n>>8,ie[te++]=n&255):(ie[te++]=90,wr.setUint32(te,n),te+=4),te+n>=ie.length&&t(te+n),ie.set(e.buffer?e:new Uint8Array(e),te),te+=n}function xha(e,t){let n,r=t.length*2,a=e.length-r;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;n=t.pop();){let i=n.offset;e.copyWithin(i+r,i,a),r-=2;let s=i+r;e[s++]=216,e[s++]=28,a=i}return e}function FBt(e,t){wr.setUint32(ci.position+e,te-ci.position-e+1);let n=ci;ci=null,t(n[0]),t(n[1])}var Hwe=new Sm({useRecords:!1}),Eha=Hwe.encode,wha=Hwe.encodeAsIterable,Sha=Hwe.encodeAsAsyncIterable,{NEVER:Tha,ALWAYS:Aha,DECIMAL_ROUND:Iha,DECIMAL_FIT:Oha}=gX,Vwe=512,Cha=1024,jwe=2048;import{createRequire as eya}from"module";var tya=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!tya){let e;try{typeof Se=="function"?e=Ojt():e=eya(import.meta.url)("cbor-extract"),e&&PBt(e.extractStrings)}catch{}}import{Buffer as GS}from"buffer";var Cjt=18,qjt=new xd({mapsAsObjects:!1,useRecords:!1}),nya=new Sm({mapsAsObjects:!1,useRecords:!1});function Zh(e,t){if(e instanceof Uint8Array)return GS.from(e.buffer,e.byteOffset,e.byteLength);if(GS.isBuffer(e))return e;throw new Ga(`Expected byte string for ${t}`)}function Xwe(e,t){return e==null?null:Zh(e,t)}function Pp(e,t){return e instanceof Map?e.get(t):e[t]}function Rjt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Ga(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof Co&&e.tag===1)return Rjt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Ga(`Missing or invalid timestamp (${t})`)}function rya(e){let t;try{t=qjt.decode(e)}catch(c){throw new Ga(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Ga("Attestation payload is not a map");let n=t,r=Pp(n,"module_id"),a=Pp(n,"digest"),i=Rjt(Pp(n,"timestamp")),s=Pp(n,"pcrs"),o=Pp(n,"certificate"),l=Pp(n,"cabundle");if(typeof r!="string")throw new Ga("Missing or invalid module_id");if(typeof a!="string")throw new Ga("Missing or invalid digest");if(!(s instanceof Map))throw new Ga("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Ga("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,g]of s.entries()){if(typeof c!="number")throw new Ga("Non-integer PCR index");u.set(c,Zh(g,`pcrs[${c}]`))}let d=l.map((c,g)=>Zh(c,`cabundle[${g}]`));return{moduleId:r,digest:a,timestamp:i,pcrs:u,certificateDer:Zh(o,"certificate"),cabundleDer:d,publicKey:Xwe(Pp(n,"public_key"),"public_key"),userData:Xwe(Pp(n,"user_data"),"user_data"),nonce:Xwe(Pp(n,"nonce"),"nonce")}}function Pjt(e){let t;try{t=GS.from(e,"base64")}catch(o){throw new Ga(`attestation_document is not valid base64: ${o.message}`)}let n;try{n=qjt.decode(t)}catch(o){throw new Ga(`COSE document is not valid CBOR: ${o.message}`)}let r;if(n instanceof Co){if(n.tag!==Cjt)throw new Ga(`Unexpected COSE tag ${n.tag}, expected ${Cjt}`);r=n.value}else r=n;if(!Array.isArray(r)||r.length!==4)throw new Ga("COSE_Sign1 envelope must be a 4-element array");let a=Zh(r[0],"protected header"),i=Zh(r[2],"payload"),s=Zh(r[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:rya(i)}}function Mjt(e,t){let n=nya.encode(["Signature1",e,GS.alloc(0),t]);return GS.from(n.buffer,n.byteOffset,n.byteLength)}import{X509Certificate as aya}from"crypto";function kjt(e,t){try{return new aya(e)}catch(n){throw new _d(`Failed to parse ${t}: ${n.message}`)}}function iya(e,t,n){let r=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(r)||Number.isNaN(a))throw new _d(`Cannot parse validity window of ${n}`);if(t<r)throw new _d(`${n} not yet valid at attestation time`);if(t>a)throw new _d(`${n} expired before attestation time`)}function Njt(e){let t=kjt(e.leafDer,"leaf certificate"),n=e.cabundleDer.map((l,u)=>kjt(l,`cabundle[${u}]`)),r=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...n,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new _d(`No issuer found for certificate with subject ${i.subject}`);r.push(d),a.add(d.fingerprint256),i=d}if(r[r.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new _d("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<r.length;l++)iya(r[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:r}}function fya(e){try{return new oya(e)}catch(t){throw new $0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function lya(e,t){if(!t||t.length===0)throw new xm("Attestation payload does not include a public key");let n;try{n=Djt({key:e,format:"pem"})}catch(a){throw new xm(`Response public_key is not a valid PEM key: ${a.message}`)}let r;try{let a=n.export({type:"spki",format:"der"});r=$jt.isBuffer(a)?a:$jt.from(a)}catch(a){throw new xm(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!r.equals(t))throw new xm("Response public_key does not match the public key endorsed by the attestation");return Djt({key:t,format:"der",type:"spki"})}function Qwe(e,t,n=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Ga("Response missing attestation_document or public_key");let r=Pjt(e.attestation_document),a=fya(t.awsNitroRootCaPem),{leaf:i}=Njt({leafDer:r.payload.certificateDer,cabundleDer:r.payload.cabundleDer,trustedRoot:a,refTimeMs:r.payload.timestamp}),s=Mjt(r.protectedHeaderBytes,r.payloadBytes),o=!1;try{o=sya("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},r.signature)}catch(c){throw new G8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new G8("COSE signature did not verify against the leaf certificate");let l=lya(e.public_key,r.payload.publicKey),u=Math.abs(n-r.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new BS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,g]of r.payload.pcrs.entries())d[c]=wBt(g);return{publicKey:l,pcrs:d,timestamp:r.payload.timestamp,moduleId:r.payload.moduleId}}function Ljt(e){if(uya.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(KS.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function dya(e,t){try{let n=v0({namespace:t});return(await e.post("getkey",n)).data}catch(n){return Ljt(n),console.error(KS.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function cya(e){let t=typeof e.publicKey=="string"?tu.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,n=tu.randomBytes(32),r=tu.randomBytes(12),a=tu.createCipheriv("aes-256-gcm",n,r),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=tu.publicEncrypt({key:t,padding:tu.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},n);return n.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:r.toString("base64")}}async function Bjt(e,t,n,r=Cwe()){try{let a=await dya(e,n);if(!a)return null;let i;try{i=Qwe(a,r).publicKey}catch(o){if(o instanceof $0)return console.error(KS.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(KS.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...cya({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return Ljt(a),console.error(KS.red("Failed to encrypt credentials. Please try again.")),null}}async function jjt(e,t,n){let r=await Bjt(e,n,t.namespace);if(!r)return null;let a=v0({...t,public_key:r.public_key,encrypted_authString:r.encrypted_authString,encrypted_key:r.encrypted_key,iv:r.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return pya.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(g0(i),null)}}async function Fjt(e,t,n,r,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!nBt(i))throw"Invalid private key provided";if(!mya.isAddress(s))throw"Invalid address provided";if(One(r,a),!W8(e))throw"Invalid taskId";let o=await iYe(),l={taskId:e,namespace:t,taskName:n,method:r};console.log("Encrypting credentials...");let u=await jjt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(eSe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await jjt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+eSe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(eSe.red(l));return}}import Mp from"colors";Rs();var hya=3e4,OX=null;async function Ujt(){if(OX&&OX.expiresAt>Date.now())return OX.chains;let n=(await(await F5()).get("chains")).data??[];return OX={chains:n,expiresAt:Date.now()+hya},n}async function Vjt(){let e;try{e=await Ujt()}catch(a){console.error(Mp.red(`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`)),process.exit(1)}if(e.length===0){console.log(Mp.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),n={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},r=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Mp.cyan(r("chainId",n.chainId)+" "+r("name",n.name)+" "+r("symbol",n.symbol)+" network")),console.log(Mp.gray("-".repeat(n.chainId)+" "+"-".repeat(n.name)+" "+"-".repeat(n.symbol)+" "+"-".repeat(n.network)));for(let a of t)console.log(Mp.yellow(r(a.chainId,n.chainId))+" "+Mp.white(r(a.name,n.name))+" "+Mp.gray(r(a.symbol,n.symbol))+" "+(a.network==="mainnet"?Mp.green(a.network):Mp.gray(a.network)))}import{inspect as aba}from"util";import gs from"ora";import{v4 as iba}from"uuid";import{ethers as UX}from"ethers";var Hjt={name:"@truebit/cli",version:"1.129.0",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.17.0","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"15.0.0",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.8",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.8"},engines:{node:">=22.13.0"}};ki();Rs();l0();ki();import{createInterface as Eya}from"node:readline/promises";import kp from"chalk";Rs();import YS from"axios";import{ethers as Q8}from"ethers";import{randomBytes as bya}from"crypto";import{v4 as gya}from"uuid";ki();import{ethers as CX}from"ethers";async function zjt(e){Hh(e);let t=Qi(),n=or(t,Ot.AVAX),r=CX.keccak256(CX.toUtf8Bytes(e));return await n.authorization.registerAuthorization(r),r}async function tSe(e,t,n=en("address")){Hh(e);let r=Qi(),a=or(r,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(n),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=CX.keccak256(CX.toUtf8Bytes(e)),d={user:n,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await aBt(n,u,o,c,t)).status==201?u:null}ki();l0();import{isTooManyTries as Wjt,retryAsync as Gjt}from"ts-retry";var Kjt="0x0000000000000000000000000000000000000000";async function Yjt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await vya(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function Xh(e){return e==="Y"||e==="N"}function Jjt(e){return!Q8.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function Zjt(){let e=Qi(),t=or(e,Ot.AVAX),n=en("address"),r=await xya(),a=await _ya();Hh(a);let i=Q8.keccak256(Q8.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(n)),g=await t.authorization.nonces(n),m={user:Q8.getAddress(n),namespace:r,nonce:c,deadline:s},p={user:n,apiKeyHash:i,nonce:Number(g),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),v={user:n,namespace:r,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let E=await iBt(v);if(E.status!==201)throw new Error("Registration failed with unexpected status");if(!E.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!E.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:r,apiKey:a,hashedApiKey:i}}catch(E){let x=E.message;throw new Error(`Combined registration failed: ${x}`)}}async function vya(e){let t=await qs();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(n){if(YS.isAxiosError(n)&&n.response?.status===404&&typeof n.response?.data?.message=="string"&&n.response.data.message.includes("User not found"))return!1;throw n}}async function qX(e,t){try{let n={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let r=t.privateKey,a=t.address,i=Ma.createSignedBody(n,r,a);return(await(await qs()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(n){if(YS.isAxiosError(n)&&n.response?.status===401&&n.response?.data.message.includes("Entitlement Validation Error")||YS.isAxiosError(n)&&n.response?.status==404&&n.response?.data.message&&n.response?.data.message.includes("User not found"))return null;throw YS.isAxiosError(n)?n.response?Error(`The server responding with an error -> ${n.response.data.message||n.response.status+" - "+n.response.statusText}`):n.request?Error(`The server is not responding -> ${n.message}`):Error(`There was an error in the communication with the server -> ${n.message}`):Error(typeof n=="string"?`There was an error in the communication with the server -> ${n}`:"There was an error in the communication with the server.")}}async function Xjt(e){try{return await(await qs()).post("user/register",e)}catch(t){throw YS.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function _ya(){let e=Qi(),t=or(e,Ot.AVAX),n="";try{await Gjt(async()=>{n=gya();let r=Q8.keccak256(Q8.toUtf8Bytes(n));return await t.authorization.getPayerAddress(r)===Kjt},{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Wjt(r)?Error("Attempts to generate unique Api Key for the user exhausted."):r}return n}async function xya(){let e=Qi(),t=or(e,Ot.AVAX),n="";try{await Gjt(async()=>(n=bya(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(n)===Kjt),{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Wjt(r)?Error("Attempts to generate unique namespace for the user exhausted."):r}return n}function Qjt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}l0();y6();import wya from"ora";import*as RX from"os";async function eFt(e,t,n){let r=Ps(),a=r!==null,i=0,s,o=Eya({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(Jjt(r.address)?i=1:(s=await qX(r.address,r),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(gr.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(gr.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ga(),os_version:RX.type+"_"+RX.release,node_version:process.version,cli_version:t};await n.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(kp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(kp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(kp.bold(" 2. Email Address: "))).trim();!await Yjt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(kp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(kp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(kp.bold(" 4. Job Position: "))).trim();!Xh(u.eulaAnswer);)u.eulaAnswer=(await o.question(kp.bold(` 5. Accept EULA? [Y|N] (${gr.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(gr.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!Xh(u.confirmRegistration);)console.log(`
|
|
521
|
+
`;var Q1a=300*1e3;function Cwe(e=process.env){let t=Q1a;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let n=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(n)||n<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=n}return{awsNitroRootCaPem:EBt,maxAttestationAgeMs:t}}function wBt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as Djt,verify as sya,X509Certificate as oya}from"crypto";import{Buffer as $jt}from"buffer";var qwe;try{qwe=new TextDecoder}catch{}var rt,Em,de=0;var kwe=[],eha=105,tha=57342,nha=57343,SBt=57337;var TBt=6,K8={},jS=11281e4,qp=1681e4;var Gh=kwe,US=0,an={},fa,VS,HS=0,Kh=0,Ka,L0,Ya=[],Rwe=[],Oo,Us,FS,ABt={useRecords:!1,mapsAsObjects:!0},zS=!1,CBt=2;try{new Function("")}catch{CBt=1/0}var xd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[n,r]of Object.entries(t.keyMap))this.mapKey.set(r,n)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let n=new Map;for(let[r,a]of Object.entries(t))n.set(this._keyMap.hasOwnProperty(r)?this._keyMap[r]:r,a);return n}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[r,a]of Object.entries(this._keyMap))this._mapKey.set(a,r)}let n={};return t.forEach((r,a)=>n[B0(this._mapKey.has(a)?this._mapKey.get(a):a)]=r),n}mapDecode(t,n){let r=this.decode(t);return this._keyMap&&r.constructor.name==="Array"?r.map(a=>this.decodeKeys(a)):r}decode(t,n){if(rt)return DBt(()=>(yX(),this?this.decode(t,n):e.prototype.decode.call(ABt,t,n)));Em=n>-1?n:t.length,de=0,US=0,Kh=0,VS=null,Gh=kwe,Ka=null,rt=t;try{Us=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(r){throw rt=null,t instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(an=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return fa=this.structures,mX();(!fa||fa.length>0)&&(fa=[])}else an=ABt,(!fa||fa.length>0)&&(fa=[]),Oo=null;return mX()}decodeMultiple(t,n){let r,a=0;try{let i=t.length;zS=!0;let s=this?this.decode(t,i):Dwe.decode(t,i);if(n){if(n(s)===!1)return;for(;de<i;)if(a=de,n(mX())===!1)return}else{for(r=[s];de<i;)a=de,r.push(mX());return r}}catch(i){throw i.lastPosition=a,i.values=r,i}finally{zS=!1,yX()}}};function mX(){try{let e=fn();if(Ka){if(de>=Ka.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ka.postBundlePosition,Ka=null}if(de==Em)fa=null,rt=null,L0&&(L0=null);else if(de>Em){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!zS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw yX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function fn(){let e=rt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=rt[de++];break;case 25:if(t==7)return fha();e=Us.getUint16(de),de+=2;break;case 26:if(t==7){let n=Us.getFloat32(de);if(an.useFloat32>2){let r=bX[(rt[de]&127)<<1|rt[de+1]>>7];return de+=4,(r*n+(n>0?.5:-.5)>>0)/r}return de+=4,n}if(e=Us.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let n=Us.getFloat64(de);return de+=8,n}if(t>1){if(Us.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=Us.getUint32(de+4)}else an.int64AsNumber?(e=Us.getUint32(de)*4294967296,e+=Us.getUint32(de+4)):e=Us.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let n=[],r,a=0;for(;(r=fn())!=K8;){if(a>=jS)throw new Error(`Array length exceeds ${jS}`);n[a++]=r}return t==4?n:t==3?n.join(""):Buffer.concat(n);case 5:let i;if(an.mapsAsObjects){let s={},o=0;if(an.keyMap)for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[B0(an.decodeKey(i))]=fn()}else for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[B0(i)]=fn()}return s}else{FS&&(an.mapsAsObjects=!0,FS=!1);let s=new Map;if(an.keyMap){let o=0;for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(an.decodeKey(i),fn())}}else{let o=0;for(;(i=fn())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(i,fn())}}return s}case 7:return K8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return oha(e);case 3:if(Kh>=de)return VS.slice(de-HS,(de+=e)-HS);if(Kh==0&&Em<140&&e<32){let a=e<16?MBt(e):sha(e);if(a!=null)return a}return qBt(e);case 4:if(e>=jS)throw new Error(`Array length exceeds ${jS}`);let n=new Array(e);for(let a=0;a<e;a++)n[a]=fn();return n;case 5:if(e>=qp)throw new Error(`Map size exceeds ${jS}`);if(an.mapsAsObjects){let a={};if(an.keyMap)for(let i=0;i<e;i++)a[B0(an.decodeKey(fn()))]=fn();else for(let i=0;i<e;i++)a[B0(fn())]=fn();return a}else{FS&&(an.mapsAsObjects=!0,FS=!1);let a=new Map;if(an.keyMap)for(let i=0;i<e;i++)a.set(an.decodeKey(fn()),fn());else for(let i=0;i<e;i++)a.set(fn(),fn());return a}case 6:if(e>=SBt){let a=fa[e&8191];if(a)return a.read||(a.read=Pwe(a)),a.read();if(e<65536){if(e==nha){let i=J8(),s=fn(),o=fn();Mwe(s,o);let l={};if(an.keyMap)for(let u=2;u<i;u++){let d=an.decodeKey(o[u-2]);l[B0(d)]=fn()}else for(let u=2;u<i;u++){let d=o[u-2];l[B0(d)]=fn()}return l}else if(e==tha){let i=J8(),s=fn();for(let o=2;o<i;o++)Mwe(s++,fn());return fn()}else if(e==SBt)return mha();if(an.getShared&&(Nwe(),a=fa[e&8191],a))return a.read||(a.read=Pwe(a)),a.read()}}let r=Ya[e];if(r)return r.handlesRead?r(fn):r(fn());{let a=fn();for(let i=0;i<Rwe.length;i++){let s=Rwe[i](e,a);if(s!==void 0)return s}return new Co(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Wh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var IBt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Pwe(e){if(!e)throw new Error("Structure is required in record definition");function t(){let n=rt[de++];if(n=n&31,n>23)switch(n){case 24:n=rt[de++];break;case 25:n=Us.getUint16(de),de+=2;break;case 26:n=Us.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+rt[de-1])}let r=this.compiledReader;for(;r;){if(r.propertyCount===n)return r(fn);r=r.next}if(this.slowReads++>=CBt){let i=this.length==n?this:this.slice(0,n);return r=an.keyMap?new Function("r","return {"+i.map(s=>an.decodeKey(s)).map(s=>IBt.test(s)?B0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>IBt.test(s)?B0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(r.next=this.compiledReader),r.propertyCount=n,this.compiledReader=r,r(fn)}let a={};if(an.keyMap)for(let i=0;i<n;i++)a[B0(an.decodeKey(this[i]))]=fn();else for(let i=0;i<n;i++)a[B0(this[i])]=fn();return a}return e.slowReads=0,t}function B0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var qBt=Yh,rha=Yh,aha=Yh,iha=Yh,RBt=!1;function PBt(e){RBt=!0,qBt=t(1),rha=t(2),aha=t(3),iha=t(5);function t(n){return function(a){let i=Gh[US++];if(i==null){if(Ka)return Yh(a);let o=e(de,Em,a,rt);if(typeof o=="string")i=o,Gh=kwe;else if(Gh=o,US=1,Kh=1,i=Gh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(VS=i,HS=de,Kh=de+s,de+=a,i.slice(0,a))}}}function Yh(e){let t;if(e<16&&(t=MBt(e)))return t;if(e>64&&qwe)return qwe.decode(rt.subarray(de,de+=e));let n=de+e,r=[];for(t="";de<n;){let a=rt[de++];if((a&128)===0)r.push(a);else if((a&224)===192){let i=rt[de++]&63,s=(a&31)<<6|i;s<128?r.push(65533):r.push(s)}else if((a&240)===224){let i=rt[de++]&63,s=rt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?r.push(65533):r.push(o)}else if((a&248)===240){let i=rt[de++]&63,s=rt[de++]&63,o=rt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?r.push(65533):(l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|l&1023),r.push(l))}else r.push(65533);r.length>=4096&&(t+=Ei.apply(String,r),r.length=0)}return r.length>0&&(t+=Ei.apply(String,r)),t}var Ei=String.fromCharCode;function sha(e){let t=de,n=new Array(e);for(let r=0;r<e;r++){let a=rt[de++];if((a&128)>0){de=t;return}n[r]=a}return Ei.apply(String,n)}function MBt(e){if(e<4)if(e<2){if(e===0)return"";{let t=rt[de++];if((t&128)>1){de-=1;return}return Ei(t)}}else{let t=rt[de++],n=rt[de++];if((t&128)>0||(n&128)>0){de-=2;return}if(e<3)return Ei(t,n);let r=rt[de++];if((r&128)>0){de-=3;return}return Ei(t,n,r)}else{let t=rt[de++],n=rt[de++],r=rt[de++],a=rt[de++];if((t&128)>0||(n&128)>0||(r&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return Ei(t,n,r,a);{let i=rt[de++];if((i&128)>0){de-=5;return}return Ei(t,n,r,a,i)}}else if(e<8){let i=rt[de++],s=rt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return Ei(t,n,r,a,i,s);let o=rt[de++];if((o&128)>0){de-=7;return}return Ei(t,n,r,a,i,s,o)}else{let i=rt[de++],s=rt[de++],o=rt[de++],l=rt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return Ei(t,n,r,a,i,s,o,l);{let u=rt[de++];if((u&128)>0){de-=9;return}return Ei(t,n,r,a,i,s,o,l,u)}}else if(e<12){let u=rt[de++],d=rt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return Ei(t,n,r,a,i,s,o,l,u,d);let c=rt[de++];if((c&128)>0){de-=11;return}return Ei(t,n,r,a,i,s,o,l,u,d,c)}else{let u=rt[de++],d=rt[de++],c=rt[de++],g=rt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(g&128)>0){de-=12;return}if(e<14){if(e===12)return Ei(t,n,r,a,i,s,o,l,u,d,c,g);{let m=rt[de++];if((m&128)>0){de-=13;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m)}}else{let m=rt[de++],p=rt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p);let y=rt[de++];if((y&128)>0){de-=15;return}return Ei(t,n,r,a,i,s,o,l,u,d,c,g,m,p,y)}}}}}function oha(e){return an.copyBuffers?Uint8Array.prototype.slice.call(rt,de,de+=e):rt.subarray(de,de+=e)}var kBt=new Float32Array(1),hX=new Uint8Array(kBt.buffer,0,4);function fha(){let e=rt[de++],t=rt[de++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let r=((e&3)<<8|t)/16777216;return e&128?-r:r}return hX[3]=e&128|(n>>1)+56,hX[2]=(e&7)<<5|t>>3,hX[1]=t<<5,hX[0]=0,kBt[0]}var hSi=new Array(4096);var Co=class{constructor(t,n){this.value=t,this.tag=n}};Ya[0]=e=>new Date(e);Ya[1]=e=>new Date(Math.round(e*1e3));Ya[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t};Ya[3]=e=>BigInt(-1)-Ya[2](e);Ya[4]=e=>+(e[1]+"e"+e[0]);Ya[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var Mwe=(e,t)=>{e=e-57344;let n=fa[e];n&&n.isShared&&((fa.restoreStructures||(fa.restoreStructures=[]))[e]=n),fa[e]=t,t.read=Pwe(t)};Ya[eha]=e=>{let t=e.length,n=e[1];Mwe(e[0],n);let r={};for(let a=2;a<t;a++){let i=n[a-2];r[B0(i)]=e[a]}return r};Ya[14]=e=>Ka?Ka[0].slice(Ka.position0,Ka.position0+=e):new Co(e,14);Ya[15]=e=>Ka?Ka[1].slice(Ka.position1,Ka.position1+=e):new Co(e,15);var lha={Error,RegExp};Ya[27]=e=>(lha[e[0]]||Error)(e[1],e[2]);var NBt=e=>{if(rt[de++]!=132){let n=new Error("Packed values structure must be followed by a 4 element array");throw rt.length<de&&(n.incomplete=!0),n}let t=e();if(!t||!t.length){let n=new Error("Packed values structure must be followed by a 4 element array");throw n.incomplete=!0,n}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};NBt.handlesRead=!0;Ya[51]=NBt;Ya[TBt]=e=>{if(!Oo)if(an.getShared)Nwe();else return new Co(e,TBt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ya[28]=e=>{L0||(L0=new Map,L0.id=0);let t=L0.id++,n=de,r=rt[de],a;r>>5==4?a=[]:a={};let i={target:a};L0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=n,a=s,L0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ya[28].handlesRead=!0;Ya[29]=e=>{let t=L0.get(e);return t.used=!0,t.target};Ya[258]=e=>new Set(e);(Ya[259]=e=>(an.mapsAsObjects&&(an.mapsAsObjects=!1,FS=!0),e())).handlesRead=!0;function Y8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Wh(){if(!Oo)if(an.getShared)Nwe();else throw new Error("No packed values available");return Oo}var uha=1399353956;Rwe.push((e,t)=>{if(e>=225&&e<=255)return Y8(Wh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Y8(Wh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Y8(Wh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Y8(t,Wh().suffixes[e-216]);if(e>=27647&&e<=28671)return Y8(t,Wh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Y8(t,Wh().suffixes[e-1811939328]);if(e==uha)return{packedValues:Oo,structures:fa.slice(0),version:t};if(e==55799)return t});var dha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,OBt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],cha=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<OBt.length;e++)pha(OBt[e],cha[e]);function pha(e,t){let n="get"+e.name.slice(0,-5),r;typeof e=="function"?r=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&r==1)continue;let i=r==2?1:r==4?2:r==8?3:0;Ya[a?t:t-4]=r==1||a==dha?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!an.copyBuffers&&(r===1||r===2&&!(s.byteOffset&1)||r===4&&!(s.byteOffset&3)||r===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[n];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function mha(){let e=J8(),t=de+fn();for(let r=2;r<e;r++){let a=J8();de+=a}let n=de;return de=t,Ka=[Yh(J8()),Yh(J8())],Ka.position0=0,Ka.position1=0,Ka.postBundlePosition=de,de=n,fn()}function J8(){let e=rt[de++]&31;if(e>23)switch(e){case 24:e=rt[de++];break;case 25:e=Us.getUint16(de),de+=2;break;case 26:e=Us.getUint32(de),de+=4;break}return e}function Nwe(){if(an.getShared){let e=DBt(()=>(rt=null,an.getShared()))||{},t=e.structures||[];an.sharedVersion=e.version,Oo=an.sharedValues=e.packedValues,fa===!0?an.structures=fa=t:fa.splice.apply(fa,[0,t.length].concat(t))}}function DBt(e){let t=Em,n=de,r=US,a=HS,i=Kh,s=VS,o=Gh,l=L0,u=Ka,d=new Uint8Array(rt.slice(0,Em)),c=fa,g=an,m=zS,p=e();return Em=t,de=n,US=r,HS=a,Kh=i,VS=s,Gh=o,L0=l,Ka=u,rt=d,zS=m,fa=c,an=g,Us=new DataView(rt.buffer,rt.byteOffset,rt.byteLength),p}function yX(){rt=null,L0=null,fa=null}var bX=new Array(147);for(let e=0;e<256;e++)bX[e]=+("1e"+Math.floor(45.15-e*.30103));var Dwe=new xd({useRecords:!1}),hha=Dwe.decode,yha=Dwe.decodeMultiple,gX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var vX;try{vX=new TextEncoder}catch{}var Fwe,UBt,EX=typeof globalThis=="object"&&globalThis.Buffer,WS=typeof EX<"u",$we=WS?EX.allocUnsafeSlow:Uint8Array,$Bt=WS?EX:Uint8Array,LBt=256,BBt=WS?4294967296:2144337920;var Lwe,ie,wr,te=0,wm,ci=null,bha=61440,gha=/[\u0080-\uFFFF]/,n0=Symbol("record-id"),Sm=class extends xd{constructor(t){super(t),this.offset=0;let n,r,a,i,s,o;t=t||{};let l=$Bt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:vX&&vX.encodeInto?function(P,U){return vX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let g=t.sequential;g&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let v=[],E=0,x=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(q=>this.encodeKeys(q))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new $we(8192),wr=new DataView(ie.buffer,0,8192),te=0),wm=ie.length-10,wm-te<2048?(ie=new $we(ie.length),wr=new DataView(ie.buffer,0,ie.length),wm=ie.length-10,te=0):U===Vwe&&(te=te+7&2147483640),r=te,u.useSelfDescribedHeader&&(wr.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ci=[],ci.size=1/0):ci=null,a=u.structures,a){if(a.uninitialized){let D=u.getShared()||{};u.structures=a=D.structures||[],u.sharedVersion=D.version;let I=u.sharedValues=D.packedValues;if(I){b={};for(let T=0,R=I.length;T<R;T++)b[I[T]]=T}}let q=a.length;if(q>c&&!g&&(q=c),!a.transitions){a.transitions=Object.create(null);for(let D=0;D<q;D++){let I=a[D];if(!I)continue;let T,R=a.transitions;for(let L=0,$=I.length;L<$;L++){R[n0]===void 0&&(R[n0]=D);let H=I[L];T=R[H],T||(T=R[H]=Object.create(null)),R=T}R[n0]=D|1048576}}g||(a.nextId=q)}if(i&&(i=!1),s=a||[],p=b,t.pack){let q=new Map;if(q.values=[],q.encoder=u,q.maxValues=t.maxPrivatePackedValues||(b?16:1/0),q.objectMap=b||!1,q.samplingPackedValues=m,_X(P,q),q.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let D=q.values;w(D),wd(0),wd(0),p=Object.create(b||null);for(let I=0,T=D.length;I<T;I++)p[D[I]]=I}}Lwe=U&jwe;try{if(Lwe)return;if(w(P),ci&&FBt(r,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>wm&&z(te),u.offset=te;let q=xha(ie.subarray(r,te),o.idsToInsert);return o=null,q}return U&Vwe?(ie.start=r,ie.end=te,ie):ie.subarray(r,te)}finally{if(a){if(x<10&&x++,a.length>c&&(a.length=c),E>1e4)a.transitions=null,x=0,E=0,v.length>0&&(v=[]);else if(v.length>0&&!g){for(let q=0,D=v.length;q<D;q++)v[q][n0]=void 0;v=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let q=ie.subarray(r,te);return u.updateSharedData()===!1?u.encode(P):q}U&Cha&&(te=r)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,q=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[D,I]of m)I.count>U&&(b[D]=q++,y.push(D),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>wm&&(ie=z(te));var U=typeof P,q;if(U==="string"){if(p){let R=p[P];if(R>=0){R<16?ie[te++]=R+224:(ie[te++]=198,R&1?w(15-R>>1):w(R-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let D=P.length;if(ci&&D>=4&&D<1024){if((ci.size+=D)>bha){let L,$=(ci[0]?ci[0].length*3+ci[1].length:0)+10;te+$>wm&&(ie=z(te+$)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ci.position?132:130,ie[te++]=26,L=te-r,te+=4,ci.position&&FBt(r,w),ci=["",""],ci.size=0,ci.position=L}let R=gha.test(P);ci[R?0:1]+=P,ie[te++]=R?206:207,w(D);return}let I;D<32?I=1:D<256?I=2:D<65536?I=3:I=5;let T=D*3;if(te+T>wm&&(ie=z(te+T)),D<64||!l){let R,L,$,H=te+I;for(R=0;R<D;R++)L=P.charCodeAt(R),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&(($=P.charCodeAt(R+1))&64512)===56320?(L=65536+((L&1023)<<10)+($&1023),R++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);q=H-te-I}else q=l(P,te+I,T);q<24?ie[te++]=96|q:q<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+q),ie[te++]=120,ie[te++]=q):q<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+q),ie[te++]=121,ie[te++]=q>>8,ie[te++]=q&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+q),ie[te++]=122,wr.setUint32(te,q),te+=4),te+=q}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,wr.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,wr.setUint16(te,~P),te+=2):(ie[te++]=58,wr.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,wr.setUint32(te,-1-P),te+=4;else{let D;if((D=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,wr.setFloat32(te,P);let I;if(D<4||(I=P*bX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,wr.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-r),te+=2;return}else o.set(P,{offset:te-r})}let D=P.constructor;if(D===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if(D===Array){q=P.length,q<24?ie[te++]=128|q:wd(q);for(let I=0;I<q;I++)w(P[I])}else if(D===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),q=P.size,q<24?ie[te++]=160|q:q<256?(ie[te++]=184,ie[te++]=q):q<65536?(ie[te++]=185,ie[te++]=q>>8,ie[te++]=q&255):(ie[te++]=186,wr.setUint32(te,q),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=Fwe.length;I<T;I++){let R=UBt[I];if(P instanceof R){let L=Fwe[I],$=L.tag;$==null&&($=L.getTag&&L.getTag.call(this,P)),$<24?ie[te++]=192|$:$<256?(ie[te++]=216,ie[te++]=$):$<65536?(ie[te++]=217,ie[te++]=$>>8,ie[te++]=$&255):$>-1&&(ie[te++]=218,wr.setUint32(te,$),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Lwe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||Bwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,wr.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,wr.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,wr.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let D=[];for(;P;)D.push(Number(P&BigInt(255))),P>>=BigInt(8);Uwe(new Uint8Array(D.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),q=Object.values(P),D=U.length;D<24?ie[te++]=160|D:D<256?(ie[te++]=184,ie[te++]=D):D<65536?(ie[te++]=185,ie[te++]=D>>8,ie[te++]=D&255):(ie[te++]=186,wr.setUint32(te,D),te+=4);let I;if(u.keyMap)for(let T=0;T<D;T++)w(u.encodeKey(U[T])),w(q[T]);else for(let T=0;T<D;T++)w(U[T]),w(q[T])}:P=>{ie[te++]=185;let U=te-r;te+=2;let q=0;if(u.keyMap)for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(u.encodeKey(D)),w(P[D]),q++);else for(let D in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(D))&&(w(D),w(P[D]),q++);ie[U+++r]=q>>8,ie[U+r]=q&255}:(P,U)=>{let q,D=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,R,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];q=D[ae],q||(q=D[ae]=Object.create(null),I++),D=q}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(q=D[H],q||(D[n0]&1048576&&(R=D[n0]&65535),q=D[H]=Object.create(null),I++),D=q,T++);let $=D[n0];if($!==void 0)$&=65535,ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255;else if(L||(L=D.__keys__||(D.__keys__=Object.keys(P))),R===void 0?($=s.nextId++,$||($=0,s.nextId=1),$>=LBt&&(s.nextId=($=c)+1)):$=R,s[$]=L,$<c){ie[te++]=217,ie[te++]=$>>8|224,ie[te++]=$&255,D=s.transitions;for(let H=0;H<T;H++)(D[n0]===void 0||D[n0]&1048576)&&(D[n0]=$),D=D[L[H]];D[n0]=$|1048576,i=!0}else{if(D[n0]=$,wr.setUint32(te,3655335680),te+=3,I&&(E+=x*I),v.length>=LBt-c&&(v.shift()[n0]=void 0),v.push(D),wd(T+2),w(57344+$),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:wd(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-r>BBt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(BBt,Math.round(Math.max((P-r)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-r<<2,ie.length-1)>>12)+1<<12;let q=new $we(U);return wr=new DataView(q.buffer,0,U),ie.copy?ie.copy(q,0,r,P):q.set(ie.slice(r,P)),te-=r,r=0,wm=q.length-10,ie=q},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,q){let D=P.constructor;if(D===Object){let I=u.useRecords!==!1;I?B(P,!0):jBt(Object.keys(P).length,160);for(let T in P){let R=P[T];I||w(T),R&&typeof R=="object"?U[T]?yield*F(R,U[T]):yield*ne(R,U,T):w(R)}}else if(D===Array){let I=P.length;wd(I);for(let T=0;T<I;T++){let R=P[T];R&&(typeof R=="object"||te-r>j)?U.element?yield*F(R,U.element):yield*ne(R,U,"element"):w(R)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-r>j)?U.element?yield*F(I,U.element):yield*ne(I,U,"element"):w(I);ie[te++]=255}else Bwe(P)?(jBt(P.size,64),yield ie.subarray(r,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(r,te),yield P,Y(),ie[te++]=255):w(P);q&&te>r?yield ie.subarray(r,te):te-r>j&&(yield ie.subarray(r,te),Y())}function*ne(P,U,q){let D=te-r;try{w(P),te-r>j&&(yield ie.subarray(r,te),Y())}catch(I){if(I.iteratorNotHandled)U[q]={},te=r+D,yield*F.call(this,P,U[q]);else throw I}}function Y(){j=V,u.encode(null,jwe)}function M(P,U,q){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,jwe),q(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let q of F(P,U,!0)){let D=q.constructor;if(D===$Bt||D===Uint8Array)yield q;else if(Bwe(q)){let I=q.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(q[Symbol.asyncIterator])for await(let I of q)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield q}}}useBuffer(t){ie=t,wr=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let n=this.structures.slice(0),r=new xX(n,this.sharedValues,this.sharedVersion),a=this.saveShared(r,i=>(i&&i.version||0)==t);return a===!1?(r=this.getShared()||{},this.structures=r.structures||[],this.sharedValues=r.packedValues,this.sharedVersion=r.version,this.structures.nextId=this.structures.length):n.forEach((i,s)=>this.structures[s]=i),a}};function jBt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,wr.setUint32(te,e),te+=4)}var xX=class{constructor(t,n,r){this.structures=t,this.packedValues=n,this.version=r}};function wd(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,wr.setUint32(te,e),te+=4)}var vha=typeof Blob>"u"?function(){}:Blob;function Bwe(e){if(e instanceof vha)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function _X(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let r=t.get(e);if(r)++r.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let r=0,a=e.length;r<a;r++)_X(e[r],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&_X(n,t),_X(e[n],t))}break;case"function":console.log(e)}}var _ha=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;UBt=[Date,Set,Error,RegExp,Co,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,xX];Fwe=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(ie[te++]=26,wr.setUint32(te,n),te+=4):(ie[te++]=251,wr.setFloat64(te,n),te+=8)}},{tag:258,encode(e,t){let n=Array.from(e);t(n)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Uwe(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||WS&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Uwe(e,n)}},Ed(68,1),Ed(69,2),Ed(70,4),Ed(71,8),Ed(72,1),Ed(77,2),Ed(78,4),Ed(79,8),Ed(85,4),Ed(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let a=n.values;t(a),wd(0),wd(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(r){wr.setUint32(te,3655335424),te+=3;let a=r.slice(0);a.unshift(57344),a.push(new Co(e.version,1399353956)),t(a)}else t(new Co(e.version,1399353956))}}];function Ed(e,t){return!_ha&&t>1&&(e-=4),{tag:e,encode:function(r,a){let i=r.byteLength,s=r.byteOffset||0,o=r.buffer||r;a(WS?EX.from(o,s,i):new Uint8Array(o,s,i))}}}function Uwe(e,t){let n=e.byteLength;n<24?ie[te++]=64+n:n<256?(ie[te++]=88,ie[te++]=n):n<65536?(ie[te++]=89,ie[te++]=n>>8,ie[te++]=n&255):(ie[te++]=90,wr.setUint32(te,n),te+=4),te+n>=ie.length&&t(te+n),ie.set(e.buffer?e:new Uint8Array(e),te),te+=n}function xha(e,t){let n,r=t.length*2,a=e.length-r;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;n=t.pop();){let i=n.offset;e.copyWithin(i+r,i,a),r-=2;let s=i+r;e[s++]=216,e[s++]=28,a=i}return e}function FBt(e,t){wr.setUint32(ci.position+e,te-ci.position-e+1);let n=ci;ci=null,t(n[0]),t(n[1])}var Hwe=new Sm({useRecords:!1}),Eha=Hwe.encode,wha=Hwe.encodeAsIterable,Sha=Hwe.encodeAsAsyncIterable,{NEVER:Tha,ALWAYS:Aha,DECIMAL_ROUND:Iha,DECIMAL_FIT:Oha}=gX,Vwe=512,Cha=1024,jwe=2048;import{createRequire as eya}from"module";var tya=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!tya){let e;try{typeof Se=="function"?e=Ojt():e=eya(import.meta.url)("cbor-extract"),e&&PBt(e.extractStrings)}catch{}}import{Buffer as GS}from"buffer";var Cjt=18,qjt=new xd({mapsAsObjects:!1,useRecords:!1}),nya=new Sm({mapsAsObjects:!1,useRecords:!1});function Zh(e,t){if(e instanceof Uint8Array)return GS.from(e.buffer,e.byteOffset,e.byteLength);if(GS.isBuffer(e))return e;throw new Ga(`Expected byte string for ${t}`)}function Xwe(e,t){return e==null?null:Zh(e,t)}function Pp(e,t){return e instanceof Map?e.get(t):e[t]}function Rjt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Ga(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof Co&&e.tag===1)return Rjt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Ga(`Missing or invalid timestamp (${t})`)}function rya(e){let t;try{t=qjt.decode(e)}catch(c){throw new Ga(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Ga("Attestation payload is not a map");let n=t,r=Pp(n,"module_id"),a=Pp(n,"digest"),i=Rjt(Pp(n,"timestamp")),s=Pp(n,"pcrs"),o=Pp(n,"certificate"),l=Pp(n,"cabundle");if(typeof r!="string")throw new Ga("Missing or invalid module_id");if(typeof a!="string")throw new Ga("Missing or invalid digest");if(!(s instanceof Map))throw new Ga("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Ga("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,g]of s.entries()){if(typeof c!="number")throw new Ga("Non-integer PCR index");u.set(c,Zh(g,`pcrs[${c}]`))}let d=l.map((c,g)=>Zh(c,`cabundle[${g}]`));return{moduleId:r,digest:a,timestamp:i,pcrs:u,certificateDer:Zh(o,"certificate"),cabundleDer:d,publicKey:Xwe(Pp(n,"public_key"),"public_key"),userData:Xwe(Pp(n,"user_data"),"user_data"),nonce:Xwe(Pp(n,"nonce"),"nonce")}}function Pjt(e){let t;try{t=GS.from(e,"base64")}catch(o){throw new Ga(`attestation_document is not valid base64: ${o.message}`)}let n;try{n=qjt.decode(t)}catch(o){throw new Ga(`COSE document is not valid CBOR: ${o.message}`)}let r;if(n instanceof Co){if(n.tag!==Cjt)throw new Ga(`Unexpected COSE tag ${n.tag}, expected ${Cjt}`);r=n.value}else r=n;if(!Array.isArray(r)||r.length!==4)throw new Ga("COSE_Sign1 envelope must be a 4-element array");let a=Zh(r[0],"protected header"),i=Zh(r[2],"payload"),s=Zh(r[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:rya(i)}}function Mjt(e,t){let n=nya.encode(["Signature1",e,GS.alloc(0),t]);return GS.from(n.buffer,n.byteOffset,n.byteLength)}import{X509Certificate as aya}from"crypto";function kjt(e,t){try{return new aya(e)}catch(n){throw new _d(`Failed to parse ${t}: ${n.message}`)}}function iya(e,t,n){let r=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(r)||Number.isNaN(a))throw new _d(`Cannot parse validity window of ${n}`);if(t<r)throw new _d(`${n} not yet valid at attestation time`);if(t>a)throw new _d(`${n} expired before attestation time`)}function Njt(e){let t=kjt(e.leafDer,"leaf certificate"),n=e.cabundleDer.map((l,u)=>kjt(l,`cabundle[${u}]`)),r=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...n,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new _d(`No issuer found for certificate with subject ${i.subject}`);r.push(d),a.add(d.fingerprint256),i=d}if(r[r.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new _d("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<r.length;l++)iya(r[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:r}}function fya(e){try{return new oya(e)}catch(t){throw new $0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function lya(e,t){if(!t||t.length===0)throw new xm("Attestation payload does not include a public key");let n;try{n=Djt({key:e,format:"pem"})}catch(a){throw new xm(`Response public_key is not a valid PEM key: ${a.message}`)}let r;try{let a=n.export({type:"spki",format:"der"});r=$jt.isBuffer(a)?a:$jt.from(a)}catch(a){throw new xm(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!r.equals(t))throw new xm("Response public_key does not match the public key endorsed by the attestation");return Djt({key:t,format:"der",type:"spki"})}function Qwe(e,t,n=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Ga("Response missing attestation_document or public_key");let r=Pjt(e.attestation_document),a=fya(t.awsNitroRootCaPem),{leaf:i}=Njt({leafDer:r.payload.certificateDer,cabundleDer:r.payload.cabundleDer,trustedRoot:a,refTimeMs:r.payload.timestamp}),s=Mjt(r.protectedHeaderBytes,r.payloadBytes),o=!1;try{o=sya("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},r.signature)}catch(c){throw new G8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new G8("COSE signature did not verify against the leaf certificate");let l=lya(e.public_key,r.payload.publicKey),u=Math.abs(n-r.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new BS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,g]of r.payload.pcrs.entries())d[c]=wBt(g);return{publicKey:l,pcrs:d,timestamp:r.payload.timestamp,moduleId:r.payload.moduleId}}function Ljt(e){if(uya.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(KS.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function dya(e,t){try{let n=v0({namespace:t});return(await e.post("getkey",n)).data}catch(n){return Ljt(n),console.error(KS.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function cya(e){let t=typeof e.publicKey=="string"?tu.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,n=tu.randomBytes(32),r=tu.randomBytes(12),a=tu.createCipheriv("aes-256-gcm",n,r),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=tu.publicEncrypt({key:t,padding:tu.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},n);return n.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:r.toString("base64")}}async function Bjt(e,t,n,r=Cwe()){try{let a=await dya(e,n);if(!a)return null;let i;try{i=Qwe(a,r).publicKey}catch(o){if(o instanceof $0)return console.error(KS.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(KS.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...cya({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return Ljt(a),console.error(KS.red("Failed to encrypt credentials. Please try again.")),null}}async function jjt(e,t,n){let r=await Bjt(e,n,t.namespace);if(!r)return null;let a=v0({...t,public_key:r.public_key,encrypted_authString:r.encrypted_authString,encrypted_key:r.encrypted_key,iv:r.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return pya.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(g0(i),null)}}async function Fjt(e,t,n,r,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!nBt(i))throw"Invalid private key provided";if(!mya.isAddress(s))throw"Invalid address provided";if(One(r,a),!W8(e))throw"Invalid taskId";let o=await iYe(),l={taskId:e,namespace:t,taskName:n,method:r};console.log("Encrypting credentials...");let u=await jjt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(eSe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await jjt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+eSe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(eSe.red(l));return}}import Mp from"colors";Rs();var hya=3e4,OX=null;async function Ujt(){if(OX&&OX.expiresAt>Date.now())return OX.chains;let n=(await(await F5()).get("chains")).data??[];return OX={chains:n,expiresAt:Date.now()+hya},n}async function Vjt(){let e;try{e=await Ujt()}catch(a){console.error(Mp.red(`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`)),process.exit(1)}if(e.length===0){console.log(Mp.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),n={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},r=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Mp.cyan(r("chainId",n.chainId)+" "+r("name",n.name)+" "+r("symbol",n.symbol)+" network")),console.log(Mp.gray("-".repeat(n.chainId)+" "+"-".repeat(n.name)+" "+"-".repeat(n.symbol)+" "+"-".repeat(n.network)));for(let a of t)console.log(Mp.yellow(r(a.chainId,n.chainId))+" "+Mp.white(r(a.name,n.name))+" "+Mp.gray(r(a.symbol,n.symbol))+" "+(a.network==="mainnet"?Mp.green(a.network):Mp.gray(a.network)))}import{inspect as aba}from"util";import gs from"ora";import{v4 as iba}from"uuid";import{ethers as UX}from"ethers";var Hjt={name:"@truebit/cli",version:"1.129.1",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.17.0","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"15.0.0",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.8",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.8"},engines:{node:">=22.13.0"}};ki();Rs();l0();ki();import{createInterface as Eya}from"node:readline/promises";import kp from"chalk";Rs();import YS from"axios";import{ethers as Q8}from"ethers";import{randomBytes as bya}from"crypto";import{v4 as gya}from"uuid";ki();import{ethers as CX}from"ethers";async function zjt(e){Hh(e);let t=Qi(),n=or(t,Ot.AVAX),r=CX.keccak256(CX.toUtf8Bytes(e));return await n.authorization.registerAuthorization(r),r}async function tSe(e,t,n=en("address")){Hh(e);let r=Qi(),a=or(r,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(n),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=CX.keccak256(CX.toUtf8Bytes(e)),d={user:n,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await aBt(n,u,o,c,t)).status==201?u:null}ki();l0();import{isTooManyTries as Wjt,retryAsync as Gjt}from"ts-retry";var Kjt="0x0000000000000000000000000000000000000000";async function Yjt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await vya(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function Xh(e){return e==="Y"||e==="N"}function Jjt(e){return!Q8.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function Zjt(){let e=Qi(),t=or(e,Ot.AVAX),n=en("address"),r=await xya(),a=await _ya();Hh(a);let i=Q8.keccak256(Q8.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(n)),g=await t.authorization.nonces(n),m={user:Q8.getAddress(n),namespace:r,nonce:c,deadline:s},p={user:n,apiKeyHash:i,nonce:Number(g),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),v={user:n,namespace:r,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let E=await iBt(v);if(E.status!==201)throw new Error("Registration failed with unexpected status");if(!E.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!E.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:r,apiKey:a,hashedApiKey:i}}catch(E){let x=E.message;throw new Error(`Combined registration failed: ${x}`)}}async function vya(e){let t=await qs();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(n){if(YS.isAxiosError(n)&&n.response?.status===404&&typeof n.response?.data?.message=="string"&&n.response.data.message.includes("User not found"))return!1;throw n}}async function qX(e,t){try{let n={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let r=t.privateKey,a=t.address,i=Ma.createSignedBody(n,r,a);return(await(await qs()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(n){if(YS.isAxiosError(n)&&n.response?.status===401&&n.response?.data.message.includes("Entitlement Validation Error")||YS.isAxiosError(n)&&n.response?.status==404&&n.response?.data.message&&n.response?.data.message.includes("User not found"))return null;throw YS.isAxiosError(n)?n.response?Error(`The server responding with an error -> ${n.response.data.message||n.response.status+" - "+n.response.statusText}`):n.request?Error(`The server is not responding -> ${n.message}`):Error(`There was an error in the communication with the server -> ${n.message}`):Error(typeof n=="string"?`There was an error in the communication with the server -> ${n}`:"There was an error in the communication with the server.")}}async function Xjt(e){try{return await(await qs()).post("user/register",e)}catch(t){throw YS.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function _ya(){let e=Qi(),t=or(e,Ot.AVAX),n="";try{await Gjt(async()=>{n=gya();let r=Q8.keccak256(Q8.toUtf8Bytes(n));return await t.authorization.getPayerAddress(r)===Kjt},{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Wjt(r)?Error("Attempts to generate unique Api Key for the user exhausted."):r}return n}async function xya(){let e=Qi(),t=or(e,Ot.AVAX),n="";try{await Gjt(async()=>(n=bya(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(n)===Kjt),{delay:500,maxTry:5,until:r=>r===!0})}catch(r){throw Wjt(r)?Error("Attempts to generate unique namespace for the user exhausted."):r}return n}function Qjt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}l0();y6();import wya from"ora";import*as RX from"os";async function eFt(e,t,n){let r=Ps(),a=r!==null,i=0,s,o=Eya({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(Jjt(r.address)?i=1:(s=await qX(r.address,r),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(gr.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(gr.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ga(),os_version:RX.type+"_"+RX.release,node_version:process.version,cli_version:t};await n.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(kp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(kp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(kp.bold(" 2. Email Address: "))).trim();!await Yjt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(kp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(kp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(kp.bold(" 4. Job Position: "))).trim();!Xh(u.eulaAnswer);)u.eulaAnswer=(await o.question(kp.bold(` 5. Accept EULA? [Y|N] (${gr.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(gr.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!Xh(u.confirmRegistration);)console.log(`
|
|
522
522
|
Is the information provided above correct?`),u.confirmRegistration=(await o.question(kp.bold("Press [Y] to confirm or [N] to edit: "))).toUpperCase();u.confirmRegistration=="N"&&(console.log(`
|
|
523
523
|
Please provide the following information:`),Qjt(u))}}catch(g){if(g.name==="AbortError"||g.message.includes("Ctrl+C")){let m=g.message,p=l;p.error_details=m,p.date_time=ga();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await n.sendEventToMixpanel("user_registration_failed",p),process.exit(0)}}if(u.eulaAnswer=="N")break;let d=l;console.log(),console.log("By completing registration, you'll be automatically subscribed to our newsletter."),console.log("To opt-out, please follow the steps described in our documentation portal."),console.log();let c=wya({text:kp.bold("... registering your account."),stream:process.stdout}).start();try{let{namespace:g,apiKey:m}=await Zjt(),p={name:u.fullNameAnswer,email:u.emailAddressAnswer,walletAddress:r?.address,company:u.companyNameAnswer,jobDescription:u.jobPositionAnswer,EULA:Ma.createSignedBody({ip:await NC(),date:new Date().toISOString()},r.privateKey),defaultNamespace:g,defaultApiKey:m};await Xjt(p),c.stop(),console.log(gr.SETUP_STEP2_SCENARIO3_P2(u,r.address,g,m)),d.distinct_id=p.walletAddress,d.date_time=ga(),d.fullname=p.name,d.email=p.email,d.company=p.company,d.role=p.jobDescription,d.namespace=p.defaultNamespace,d.api_key=m,d.wallet_address=p.walletAddress,await n.sendEventToMixpanel("user_registration_success",d),await n.registerUserMixpanel(d.wallet_address,Sya(d))}catch(g){c.stop();let m=g.message,p=l;p.error_details=m,p.date_time=ga();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await n.sendEventToMixpanel("user_registration_failed",p);let b=m?m.match(/CreateUserValidation - (.*?.*)/)?.[1]:null;if(b)throw Error(b);if(m.includes("Sender doesn't have enough funds to send tx"))throw Error("We are currently experiencing technical difficulties. Please try again later.");console.error(gr.SETUP_STEP2_UNHANDLED_ERROR),process.exit(1)}finally{c.clear()}break}default:throw Error("An unexpected error occurred.")}o.close()}function Sya(e){return{apiKey:e.api_key,name:e.fullname,email:e.email,ip:e.user_ip,company:e.company,role:e.role,namespace:e.namespace,walletAddress:e.wallet_address}}import{setDefaultAutoSelectFamily as sba}from"node:net";import Tya from"chalk";ki();y6();import{createInterface as Aya}from"node:readline/promises";import*as PX from"os";async function tFt(e,t,n){let r=Ps(),a=r!==null,i;switch(a?a&&!r.eula?i=2:i=3:i=1,i){case 1:case 2:{let s=Aya({input:process.stdin,output:process.stdout,terminal:!0}),o="",l={user_ip:e,date_time:ga(),os_version:PX.type+"_"+PX.release,node_version:process.version,cli_version:t};for(console.log(gr.EULA_INSTALLATION);!Xh(o);)o=(await s.question(Tya.bold(`
|
|
524
524
|
Have you read, and do you accept the Terms of Use? [Y|N]: `))).toUpperCase(),await n.sendEventToMixpanel("TOS_shown",l);if(o=="N")throw l.date_time=ga(),await n.sendEventToMixpanel("TOS_rejected",l),gr.EULA_INSTALLATION_NO_ACCEPTED;l.date_time=ga(),await n.sendEventToMixpanel("TOS_accepted",l);let u=Math.round(new Date().getTime()).toString();if(i===1){let d={...ofe(),eula:u};lYe(d)}else i===2&&ux({eula:u});s.close()}break;default:break}}ki();y6();async function bs(e=!1){let t=Ps(),n=t!==null,r=null,a;switch(n?n&&(!t.privateKey||!t.address)?a=2:(r=await qX(t.address,t),r?a=4:a=3):a=1,a){case 1:case 2:case 3:console.log(gr.USER_NO_REGISTERED),process.exit(1);break;case 4:e&&console.log(`You are logged in as: ${r?.name} - ${r?.email}`);break}}import{createInterface as Iya}from"node:readline/promises";y6();ki();import Oya from"chalk";async function nFt(){console.log(Oya.bold(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truebit/cli",
|
|
3
|
-
"version": "1.129.
|
|
3
|
+
"version": "1.129.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",
|
|
6
6
|
"author": {
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"engines": {
|
|
57
57
|
"node": ">=22.13.0"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "d1460d752f49250f56ae3e901a28f2f7f7b8dd3e"
|
|
60
60
|
}
|