@imtbl/wallet 2.12.5 → 2.12.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,19 @@
1
- import { TypedEventEmitter, AuthEvents, isUserZkEvm, Auth, decodeJwtPayload } from '@imtbl/auth';
2
- export { AuthEvents, TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
3
- import * as w6 from '@imtbl/generated-clients';
1
+ import { isUserZkEvm, TypedEventEmitter, Auth, decodeJwtPayload } from '@imtbl/auth';
2
+ export { TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
3
+ import * as y6 from '@imtbl/generated-clients';
4
4
  import { createConfig, MultiRollupApiClients, mr as mr$1, MagicTeeApiClients } from '@imtbl/generated-clients';
5
5
  import { utils, trackError, trackFlow, identify, trackDuration } from '@imtbl/metrics';
6
6
  import { parseAbiParameters, zeroAddress, encodeAbiParameters, keccak256, getContract, encodePacked, toBytes, encodeFunctionData, hashTypedData, hashMessage, createPublicClient, http, toHex, getAddress, concat, parseAbi } from 'viem';
7
- import * as $9 from 'viem/chains';
7
+ import * as F9 from 'viem/chains';
8
8
  import { privateKeyToAccount } from 'viem/accounts';
9
9
 
10
- var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDescriptor;var qP=Object.getOwnPropertyNames;var FP=Object.getPrototypeOf,KP=Object.prototype.hasOwnProperty;var $0=(s,e)=>()=>(s&&(e=s(s=0)),e);var GP=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Te=(s,e)=>{for(var t in e)db(s,t,{get:e[t],enumerable:!0});},WP=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qP(e))!KP.call(s,n)&&n!==t&&db(s,n,{get:()=>e[n],enumerable:!(r=$P(e,n))||r.enumerable});return s};var mb=(s,e,t)=>(t=s!=null?MP(FP(s)):{},WP(!s||!s.__esModule?db(t,"default",{value:s,enumerable:!0}):t,s));function wb(s){throw new Error("Node.js process "+s+" is not supported by JSPM core outside of Node.js")}function JP(){!Bc||!ga||(Bc=!1,ga.length?jr=ga.concat(jr):q0=-1,jr.length&&MI());}function MI(){if(!Bc){var s=setTimeout(JP,0);Bc=!0;for(var e=jr.length;e;){for(ga=jr,jr=[];++q0<e;)ga&&ga[q0].run();q0=-1,e=jr.length;}ga=null,Bc=!1,clearTimeout(s);}}function zP(s){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];jr.push(new $I(s,e)),jr.length===1&&!Bc&&setTimeout(MI,0);}function $I(s,e){this.fun=s,this.array=e;}function rs(){}function f4(s){wb("_linkedBinding");}function g4(s){wb("dlopen");}function y4(){return []}function w4(){return []}function N4(s,e){if(!s)throw new Error(e||"assertion error")}function B4(){return !1}function J4(){return Mn.now()/1e3}function yb(s){var e=Math.floor((Date.now()-Mn.now())*.001),t=Mn.now()*.001,r=Math.floor(t)+e,n=Math.floor(t%1*1e9);return s&&(r=r-s[0],n=n-s[1],n<0&&(r--,n+=gb)),[r,n]}function $n(){return x}function aT(s){return []}var jr,Bc,ga,q0,YP,ZP,XP,QP,e4,t4,s4,r4,n4,i4,a4,o4,c4,u4,l4,h4,d4,m4,p4,b4,S4,bb,v4,E4,x4,A4,I4,C4,k4,P4,T4,O4,R4,V4,D4,U4,L4,j4,H4,_4,M4,$4,q4,F4,K4,G4,W4,Mn,pb,gb,z4,Y4,Z4,X4,Q4,eT,tT,sT,rT,nT,iT,x,qI=$0(()=>{d();f();jr=[],Bc=!1,q0=-1;$I.prototype.run=function(){this.fun.apply(null,this.array);};YP="browser",ZP="x64",XP="browser",QP={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},e4=["/usr/bin/node"],t4=[],s4="v16.8.0",r4={},n4=function(s,e){console.warn((e?e+": ":"")+s);},i4=function(s){wb("binding");},a4=function(s){return 0},o4=function(){return "/"},c4=function(s){},u4={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};l4=rs,h4=[];d4={},m4=!1,p4={};b4=rs,S4=rs,bb=function(){return {}},v4=bb,E4=bb,x4=rs,A4=rs,I4=rs,C4={};k4={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},P4=rs,T4=rs;O4=rs,R4=rs,V4=rs,D4=rs,U4=rs,L4=void 0,j4=void 0,H4=void 0,_4=rs,M4=2,$4=1,q4="/bin/usr/node",F4=9229,K4="node",G4=[],W4=rs,Mn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Mn.now===void 0&&(pb=Date.now(),Mn.timing&&Mn.timing.navigationStart&&(pb=Mn.timing.navigationStart),Mn.now=()=>Date.now()-pb);gb=1e9;yb.bigint=function(s){var e=yb(s);return typeof BigInt>"u"?e[0]*gb+e[1]:BigInt(e[0]*gb)+BigInt(e[1])};z4=10,Y4={},Z4=0;X4=$n,Q4=$n,eT=$n,tT=$n,sT=$n,rT=rs,nT=$n,iT=$n;x={version:s4,versions:r4,arch:ZP,platform:XP,release:u4,_rawDebug:l4,moduleLoadList:h4,binding:i4,_linkedBinding:f4,_events:Y4,_eventsCount:Z4,_maxListeners:z4,on:$n,addListener:X4,once:Q4,off:eT,removeListener:tT,removeAllListeners:sT,emit:rT,prependListener:nT,prependOnceListener:iT,listeners:aT,domain:d4,_exiting:m4,config:p4,dlopen:g4,uptime:J4,_getActiveRequests:y4,_getActiveHandles:w4,reallyExit:b4,_kill:S4,cpuUsage:bb,resourceUsage:v4,memoryUsage:E4,kill:x4,exit:A4,openStdin:I4,allowedNodeEnvironmentFlags:C4,assert:N4,features:k4,_fatalExceptions:P4,setUncaughtExceptionCaptureCallback:T4,hasUncaughtExceptionCaptureCallback:B4,emitWarning:n4,nextTick:zP,_tickCallback:O4,_debugProcess:R4,_debugEnd:V4,_startProfilerIdleNotifier:D4,_stopProfilerIdleNotifier:U4,stdout:L4,stdin:H4,stderr:j4,abort:_4,umask:a4,chdir:c4,cwd:o4,env:QP,title:YP,argv:e4,execArgv:t4,pid:M4,ppid:$4,execPath:q4,debugPort:F4,hrtime:yb,argv0:K4,_preload_modules:G4,setSourceMapsEnabled:W4};});var f=$0(()=>{qI();});function oT(){if(FI)return yh;FI=!0,yh.byteLength=o,yh.toByteArray=u,yh.fromByteArray=w;for(var s=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)s[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var v=E.length;if(v%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var A=E.indexOf("=");A===-1&&(A=v);var C=A===v?0:4-A%4;return [A,C]}function o(E){var v=a(E),A=v[0],C=v[1];return (A+C)*3/4-C}function c(E,v,A){return (v+A)*3/4-A}function u(E){var v,A=a(E),C=A[0],D=A[1],U=new t(c(E,C,D)),T=0,P=D>0?C-4:C,B;for(B=0;B<P;B+=4)v=e[E.charCodeAt(B)]<<18|e[E.charCodeAt(B+1)]<<12|e[E.charCodeAt(B+2)]<<6|e[E.charCodeAt(B+3)],U[T++]=v>>16&255,U[T++]=v>>8&255,U[T++]=v&255;return D===2&&(v=e[E.charCodeAt(B)]<<2|e[E.charCodeAt(B+1)]>>4,U[T++]=v&255),D===1&&(v=e[E.charCodeAt(B)]<<10|e[E.charCodeAt(B+1)]<<4|e[E.charCodeAt(B+2)]>>2,U[T++]=v>>8&255,U[T++]=v&255),U}function l(E){return s[E>>18&63]+s[E>>12&63]+s[E>>6&63]+s[E&63]}function m(E,v,A){for(var C,D=[],U=v;U<A;U+=3)C=(E[U]<<16&16711680)+(E[U+1]<<8&65280)+(E[U+2]&255),D.push(l(C));return D.join("")}function w(E){for(var v,A=E.length,C=A%3,D=[],U=16383,T=0,P=A-C;T<P;T+=U)D.push(m(E,T,T+U>P?P:T+U));return C===1?(v=E[A-1],D.push(s[v>>2]+s[v<<4&63]+"==")):C===2&&(v=(E[A-2]<<8)+E[A-1],D.push(s[v>>10]+s[v>>4&63]+s[v<<2&63]+"=")),D.join("")}return yh}function cT(){if(KI)return F0;KI=!0;return F0.read=function(s,e,t,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,m=t?n-1:0,w=t?-1:1,E=s[e+m];for(m+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+s[e+m],m+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+s[e+m],m+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},F0.write=function(s,e,t,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,m=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,v=r?1:-1,A=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+m>=1?e+=w/c:e+=w*Math.pow(2,1-m),e*c>=2&&(a++,c/=2),a+m>=l?(o=0,a=l):a+m>=1?(o=(e*c-1)*Math.pow(2,n),a=a+m):(o=e*Math.pow(2,m-1)*Math.pow(2,n),a=0));n>=8;s[t+E]=o&255,E+=v,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;s[t+E]=a&255,E+=v,a/=256,u-=8);s[t+E-v]|=A*128;},F0}function uT(){if(GI)return ya;GI=!0;let s=oT(),e=cT(),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ya.Buffer=a,ya.SlowBuffer=D,ya.INSPECT_MAX_BYTES=50;let r=2147483647;ya.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let S=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(S,h),S.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(S){if(S>r)throw new RangeError('The value "'+S+'" is invalid for option "size"');let h=new Uint8Array(S);return Object.setPrototypeOf(h,a.prototype),h}function a(S,h,g){if(typeof S=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(S)}return o(S,h,g)}a.poolSize=8192;function o(S,h,g){if(typeof S=="string")return m(S,h);if(ArrayBuffer.isView(S))return E(S);if(S==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S);if(Sr(S,ArrayBuffer)||S&&Sr(S.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Sr(S,SharedArrayBuffer)||S&&Sr(S.buffer,SharedArrayBuffer)))return v(S,h,g);if(typeof S=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=S.valueOf&&S.valueOf();if(N!=null&&N!==S)return a.from(N,h,g);let O=A(S);if(O)return O;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof S[Symbol.toPrimitive]=="function")return a.from(S[Symbol.toPrimitive]("string"),h,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S)}a.from=function(S,h,g){return o(S,h,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(S){if(typeof S!="number")throw new TypeError('"size" argument must be of type number');if(S<0)throw new RangeError('The value "'+S+'" is invalid for option "size"')}function u(S,h,g){return c(S),S<=0?i(S):h!==void 0?typeof g=="string"?i(S).fill(h,g):i(S).fill(h):i(S)}a.alloc=function(S,h,g){return u(S,h,g)};function l(S){return c(S),i(S<0?0:C(S)|0)}a.allocUnsafe=function(S){return l(S)},a.allocUnsafeSlow=function(S){return l(S)};function m(S,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);let g=U(S,h)|0,N=i(g),O=N.write(S,h);return O!==g&&(N=N.slice(0,O)),N}function w(S){let h=S.length<0?0:C(S.length)|0,g=i(h);for(let N=0;N<h;N+=1)g[N]=S[N]&255;return g}function E(S){if(Sr(S,Uint8Array)){let h=new Uint8Array(S);return v(h.buffer,h.byteOffset,h.byteLength)}return w(S)}function v(S,h,g){if(h<0||S.byteLength<h)throw new RangeError('"offset" is outside of buffer bounds');if(S.byteLength<h+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return h===void 0&&g===void 0?N=new Uint8Array(S):g===void 0?N=new Uint8Array(S,h):N=new Uint8Array(S,h,g),Object.setPrototypeOf(N,a.prototype),N}function A(S){if(a.isBuffer(S)){let h=C(S.length)|0,g=i(h);return g.length===0||S.copy(g,0,0,h),g}if(S.length!==void 0)return typeof S.length!="number"||fb(S.length)?i(0):w(S);if(S.type==="Buffer"&&Array.isArray(S.data))return w(S.data)}function C(S){if(S>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return S|0}function D(S){return +S!=S&&(S=0),a.alloc(+S)}a.isBuffer=function(h){return h!=null&&h._isBuffer===!0&&h!==a.prototype},a.compare=function(h,g){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),Sr(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(h)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(h===g)return 0;let N=h.length,O=g.length;for(let H=0,F=Math.min(N,O);H<F;++H)if(h[H]!==g[H]){N=h[H],O=g[H];break}return N<O?-1:O<N?1:0},a.isEncoding=function(h){switch(String(h).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(h,g){if(!Array.isArray(h))throw new TypeError('"list" argument must be an Array of Buffers');if(h.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<h.length;++N)g+=h[N].length;let O=a.allocUnsafe(g),H=0;for(N=0;N<h.length;++N){let F=h[N];if(Sr(F,Uint8Array))H+F.length>O.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(O,H)):Uint8Array.prototype.set.call(O,F,H);else if(a.isBuffer(F))F.copy(O,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=F.length;}return O};function U(S,h){if(a.isBuffer(S))return S.length;if(ArrayBuffer.isView(S)||Sr(S,ArrayBuffer))return S.byteLength;if(typeof S!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof S);let g=S.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let O=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Tc(S).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return _I(S).length;default:if(O)return N?-1:Tc(S).length;h=(""+h).toLowerCase(),O=!0;}}a.byteLength=U;function T(S,h,g){let N=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,h>>>=0,g<=h))return "";for(S||(S="utf8");;)switch(S){case"hex":return Ee(this,h,g);case"utf8":case"utf-8":return me(this,h,g);case"ascii":return Z(this,h,g);case"latin1":case"binary":return ce(this,h,g);case"base64":return oe(this,h,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return le(this,h,g);default:if(N)throw new TypeError("Unknown encoding: "+S);S=(S+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function P(S,h,g){let N=S[h];S[h]=S[g],S[g]=N;}a.prototype.swap16=function(){let h=this.length;if(h%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<h;g+=2)P(this,g,g+1);return this},a.prototype.swap32=function(){let h=this.length;if(h%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<h;g+=4)P(this,g,g+3),P(this,g+1,g+2);return this},a.prototype.swap64=function(){let h=this.length;if(h%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<h;g+=8)P(this,g,g+7),P(this,g+1,g+6),P(this,g+2,g+5),P(this,g+3,g+4);return this},a.prototype.toString=function(){let h=this.length;return h===0?"":arguments.length===0?me(this,0,h):T.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(h){if(!a.isBuffer(h))throw new TypeError("Argument must be a Buffer");return this===h?!0:a.compare(this,h)===0},a.prototype.inspect=function(){let h="",g=ya.INSPECT_MAX_BYTES;return h=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(h+=" ... "),"<Buffer "+h+">"},t&&(a.prototype[t]=a.prototype.inspect),a.prototype.compare=function(h,g,N,O,H){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(g===void 0&&(g=0),N===void 0&&(N=h?h.length:0),O===void 0&&(O=0),H===void 0&&(H=this.length),g<0||N>h.length||O<0||H>this.length)throw new RangeError("out of range index");if(O>=H&&g>=N)return 0;if(O>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,O>>>=0,H>>>=0,this===h)return 0;let F=H-O,$e=N-g,St=Math.min(F,$e),pt=this.slice(O,H),vt=h.slice(g,N);for(let ot=0;ot<St;++ot)if(pt[ot]!==vt[ot]){F=pt[ot],$e=vt[ot];break}return F<$e?-1:$e<F?1:0};function B(S,h,g,N,O){if(S.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,fb(g)&&(g=O?0:S.length-1),g<0&&(g=S.length+g),g>=S.length){if(O)return -1;g=S.length-1;}else if(g<0)if(O)g=0;else return -1;if(typeof h=="string"&&(h=a.from(h,N)),a.isBuffer(h))return h.length===0?-1:G(S,h,g,N,O);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?O?Uint8Array.prototype.indexOf.call(S,h,g):Uint8Array.prototype.lastIndexOf.call(S,h,g):G(S,[h],g,N,O);throw new TypeError("val must be string, number or Buffer")}function G(S,h,g,N,O){let H=1,F=S.length,$e=h.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(S.length<2||h.length<2)return -1;H=2,F/=2,$e/=2,g/=2;}function St(vt,ot){return H===1?vt[ot]:vt.readUInt16BE(ot*H)}let pt;if(O){let vt=-1;for(pt=g;pt<F;pt++)if(St(S,pt)===St(h,vt===-1?0:pt-vt)){if(vt===-1&&(vt=pt),pt-vt+1===$e)return vt*H}else vt!==-1&&(pt-=pt-vt),vt=-1;}else for(g+$e>F&&(g=F-$e),pt=g;pt>=0;pt--){let vt=!0;for(let ot=0;ot<$e;ot++)if(St(S,pt+ot)!==St(h,ot)){vt=!1;break}if(vt)return pt}return -1}a.prototype.includes=function(h,g,N){return this.indexOf(h,g,N)!==-1},a.prototype.indexOf=function(h,g,N){return B(this,h,g,N,!0)},a.prototype.lastIndexOf=function(h,g,N){return B(this,h,g,N,!1)};function se(S,h,g,N){g=Number(g)||0;let O=S.length-g;N?(N=Number(N),N>O&&(N=O)):N=O;let H=h.length;N>H/2&&(N=H/2);let F;for(F=0;F<N;++F){let $e=parseInt(h.substr(F*2,2),16);if(fb($e))return F;S[g+F]=$e;}return F}function X(S,h,g,N){return M0(Tc(h,S.length-g),S,g,N)}function ae(S,h,g,N){return M0(LP(h),S,g,N)}function fe(S,h,g,N){return M0(_I(h),S,g,N)}function te(S,h,g,N){return M0(jP(h,S.length-g),S,g,N)}a.prototype.write=function(h,g,N,O){if(g===void 0)O="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")O=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,O===void 0&&(O="utf8")):(O=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),h.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let F=!1;for(;;)switch(O){case"hex":return se(this,h,g,N);case"utf8":case"utf-8":return X(this,h,g,N);case"ascii":case"latin1":case"binary":return ae(this,h,g,N);case"base64":return fe(this,h,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,h,g,N);default:if(F)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),F=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function oe(S,h,g){return h===0&&g===S.length?s.fromByteArray(S):s.fromByteArray(S.slice(h,g))}function me(S,h,g){g=Math.min(S.length,g);let N=[],O=h;for(;O<g;){let H=S[O],F=null,$e=H>239?4:H>223?3:H>191?2:1;if(O+$e<=g){let St,pt,vt,ot;switch($e){case 1:H<128&&(F=H);break;case 2:St=S[O+1],(St&192)===128&&(ot=(H&31)<<6|St&63,ot>127&&(F=ot));break;case 3:St=S[O+1],pt=S[O+2],(St&192)===128&&(pt&192)===128&&(ot=(H&15)<<12|(St&63)<<6|pt&63,ot>2047&&(ot<55296||ot>57343)&&(F=ot));break;case 4:St=S[O+1],pt=S[O+2],vt=S[O+3],(St&192)===128&&(pt&192)===128&&(vt&192)===128&&(ot=(H&15)<<18|(St&63)<<12|(pt&63)<<6|vt&63,ot>65535&&ot<1114112&&(F=ot));}}F===null?(F=65533,$e=1):F>65535&&(F-=65536,N.push(F>>>10&1023|55296),F=56320|F&1023),N.push(F),O+=$e;}return J(N)}let _e=4096;function J(S){let h=S.length;if(h<=_e)return String.fromCharCode.apply(String,S);let g="",N=0;for(;N<h;)g+=String.fromCharCode.apply(String,S.slice(N,N+=_e));return g}function Z(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]&127);return N}function ce(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]);return N}function Ee(S,h,g){let N=S.length;(!h||h<0)&&(h=0),(!g||g<0||g>N)&&(g=N);let O="";for(let H=h;H<g;++H)O+=HP[S[H]];return O}function le(S,h,g){let N=S.slice(h,g),O="";for(let H=0;H<N.length-1;H+=2)O+=String.fromCharCode(N[H]+N[H+1]*256);return O}a.prototype.slice=function(h,g){let N=this.length;h=~~h,g=g===void 0?N:~~g,h<0?(h+=N,h<0&&(h=0)):h>N&&(h=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<h&&(g=h);let O=this.subarray(h,g);return Object.setPrototypeOf(O,a.prototype),O};function $(S,h,g){if(S%1!==0||S<0)throw new RangeError("offset is not uint");if(S+h>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return O},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h+--g],H=1;for(;g>0&&(H*=256);)O+=this[h+--g]*H;return O},a.prototype.readUint8=a.prototype.readUInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+this[h+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,H=this[++h]+this[++h]*2**8+this[++h]*2**16+N*2**24;return BigInt(O)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],H=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N;return (BigInt(O)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return H*=128,O>=H&&(O-=Math.pow(2,8*g)),O},a.prototype.readIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=g,H=1,F=this[h+--O];for(;O>0&&(H*=256);)F+=this[h+--O]*H;return H*=128,F>=H&&(F-=Math.pow(2,8*g)),F},a.prototype.readInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h]|this[h+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h+1]|this[h]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},a.prototype.readInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(N<<24);return (BigInt(O)<<BigInt(32))+BigInt(g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=(g<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return (BigInt(O)<<BigInt(32))+BigInt(this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N)}),a.prototype.readFloatLE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!1,52,8)};function ee(S,h,g,N,O,H){if(!a.isBuffer(S))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>O||h<H)throw new RangeError('"value" argument is out of bounds');if(g+N>S.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=1,F=0;for(this[g]=h&255;++F<N&&(H*=256);)this[g+F]=h/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=N-1,F=1;for(this[g+H]=h&255;--H>=0&&(F*=256);)this[g+H]=h/F&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,255,0),this[g]=h&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g+3]=h>>>24,this[g+2]=h>>>16,this[g+1]=h>>>8,this[g]=h&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4};function ne(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,g}function xe(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g+7]=H,H=H>>8,S[g+6]=H,H=H>>8,S[g+5]=H,H=H>>8,S[g+4]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g+3]=F,F=F>>8,S[g+2]=F,F=F>>8,S[g+1]=F,F=F>>8,S[g]=F,g+8}a.prototype.writeBigUInt64LE=_n(function(h,g=0){return ne(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=_n(function(h,g=0){return xe(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=0,F=1,$e=0;for(this[g]=h&255;++H<N&&(F*=256);)h<0&&$e===0&&this[g+H-1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=N-1,F=1,$e=0;for(this[g+H]=h&255;--H>=0&&(F*=256);)h<0&&$e===0&&this[g+H+1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,127,-128),h<0&&(h=255+h+1),this[g]=h&255,g+1},a.prototype.writeInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),this[g]=h&255,this[g+1]=h>>>8,this[g+2]=h>>>16,this[g+3]=h>>>24,g+4},a.prototype.writeInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4},a.prototype.writeBigInt64LE=_n(function(h,g=0){return ne(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=_n(function(h,g=0){return xe(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ke(S,h,g,N,O,H){if(g+N>S.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function Fe(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,4),e.write(S,h,g,N,23,4),g+4}a.prototype.writeFloatLE=function(h,g,N){return Fe(this,h,g,!0,N)},a.prototype.writeFloatBE=function(h,g,N){return Fe(this,h,g,!1,N)};function Rt(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,8),e.write(S,h,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(h,g,N){return Rt(this,h,g,!0,N)},a.prototype.writeDoubleBE=function(h,g,N){return Rt(this,h,g,!1,N)},a.prototype.copy=function(h,g,N,O){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(N||(N=0),!O&&O!==0&&(O=this.length),g>=h.length&&(g=h.length),g||(g=0),O>0&&O<N&&(O=N),O===N||h.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-g<O-N&&(O=h.length-g+N);let H=O-N;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,O):Uint8Array.prototype.set.call(h,this.subarray(N,O),g),H},a.prototype.fill=function(h,g,N,O){if(typeof h=="string"){if(typeof g=="string"?(O=g,g=0,N=this.length):typeof N=="string"&&(O=N,N=this.length),O!==void 0&&typeof O!="string")throw new TypeError("encoding must be a string");if(typeof O=="string"&&!a.isEncoding(O))throw new TypeError("Unknown encoding: "+O);if(h.length===1){let F=h.charCodeAt(0);(O==="utf8"&&F<128||O==="latin1")&&(h=F);}}else typeof h=="number"?h=h&255:typeof h=="boolean"&&(h=Number(h));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,h||(h=0);let H;if(typeof h=="number")for(H=g;H<N;++H)this[H]=h;else {let F=a.isBuffer(h)?h:a.from(h,O),$e=F.length;if($e===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=F[H%$e];}return this};let Me={};function De(S,h,g){Me[S]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:h.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${S}]`,this.stack,delete this.name;}get code(){return S}set code(O){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:O,writable:!0});}toString(){return `${this.name} [${S}]: ${this.message}`}};}De("ERR_BUFFER_OUT_OF_BOUNDS",function(S){return S?`${S} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),De("ERR_INVALID_ARG_TYPE",function(S,h){return `The "${S}" argument must be of type number. Received type ${typeof h}`},TypeError),De("ERR_OUT_OF_RANGE",function(S,h,g){let N=`The value of "${S}" is out of range.`,O=g;return Number.isInteger(g)&&Math.abs(g)>2**32?O=he(String(g)):typeof g=="bigint"&&(O=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(O=he(O)),O+="n"),N+=` It must be ${h}. Received ${O}`,N},RangeError);function he(S){let h="",g=S.length,N=S[0]==="-"?1:0;for(;g>=N+4;g-=3)h=`_${S.slice(g-3,g)}${h}`;return `${S.slice(0,g)}${h}`}function ss(S,h,g){Ct(h,"offset"),(S[h]===void 0||S[h+g]===void 0)&&He(h,S.length-(g+1));}function ds(S,h,g,N,O,H){if(S>g||S<h){let F=typeof h=="bigint"?"n":"",$e;throw h===0||h===BigInt(0)?$e=`>= 0${F} and < 2${F} ** ${(H+1)*8}${F}`:$e=`>= -(2${F} ** ${(H+1)*8-1}${F}) and < 2 ** ${(H+1)*8-1}${F}`,new Me.ERR_OUT_OF_RANGE("value",$e,S)}ss(N,O,H);}function Ct(S,h){if(typeof S!="number")throw new Me.ERR_INVALID_ARG_TYPE(h,"number",S)}function He(S,h,g){throw Math.floor(S)!==S?(Ct(S,g),new Me.ERR_OUT_OF_RANGE("offset","an integer",S)):h<0?new Me.ERR_BUFFER_OUT_OF_BOUNDS:new Me.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${h}`,S)}let pa=/[^+/0-9A-Za-z-_]/g;function Hn(S){if(S=S.split("=")[0],S=S.trim().replace(pa,""),S.length<2)return "";for(;S.length%4!==0;)S=S+"=";return S}function Tc(S,h){h=h||1/0;let g,N=S.length,O=null,H=[];for(let F=0;F<N;++F){if(g=S.charCodeAt(F),g>55295&&g<57344){if(!O){if(g>56319){(h-=3)>-1&&H.push(239,191,189);continue}else if(F+1===N){(h-=3)>-1&&H.push(239,191,189);continue}O=g;continue}if(g<56320){(h-=3)>-1&&H.push(239,191,189),O=g;continue}g=(O-55296<<10|g-56320)+65536;}else O&&(h-=3)>-1&&H.push(239,191,189);if(O=null,g<128){if((h-=1)<0)break;H.push(g);}else if(g<2048){if((h-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((h-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((h-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function LP(S){let h=[];for(let g=0;g<S.length;++g)h.push(S.charCodeAt(g)&255);return h}function jP(S,h){let g,N,O,H=[];for(let F=0;F<S.length&&!((h-=2)<0);++F)g=S.charCodeAt(F),N=g>>8,O=g%256,H.push(O),H.push(N);return H}function _I(S){return s.toByteArray(Hn(S))}function M0(S,h,g,N){let O;for(O=0;O<N&&!(O+g>=h.length||O>=S.length);++O)h[O+g]=S[O];return O}function Sr(S,h){return S instanceof h||S!=null&&S.constructor!=null&&S.constructor.name!=null&&S.constructor.name===h.name}function fb(S){return S!==S}let HP=function(){let S="0123456789abcdef",h=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let O=0;O<16;++O)h[N+O]=S[g]+S[O];}return h}();function _n(S){return typeof BigInt>"u"?_P:S}function _P(){throw new Error("BigInt not supported")}return ya}var yh,FI,F0,KI,ya,GI,wa,I,WI=$0(()=>{d();f();yh={},FI=!1;F0={},KI=!1;ya={},GI=!1;wa=uT();wa.Buffer;wa.SlowBuffer;wa.INSPECT_MAX_BYTES;wa.kMaxLength;I=wa.Buffer,wa.INSPECT_MAX_BYTES,wa.kMaxLength;});var d=$0(()=>{WI();});var Q1=GP(gu=>{d();f();var mD="[object ArrayBuffer]",cn=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===mD}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let r=0;for(let a of t)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of t){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},L2="string",pD=/^[0-9a-f\s]+$/i,gD=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,yD=/^[a-zA-Z0-9-_]+$/,Z1=class{static fromString(e){let t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r.buffer}static toString(e){let t=cn.toUint8Array(e),r="";for(let i=0;i<t.length;i++)r+=String.fromCharCode(t[i]);return decodeURIComponent(escape(r))}},Ks=class{static toString(e,t=!1){let r=cn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,t);i+=String.fromCharCode(o);}return i}static fromString(e,t=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),t);return r}},X1=class s{static isHex(e){return typeof e===L2&&pD.test(e)}static isBase64(e){return typeof e===L2&&gD.test(e)}static isBase64Url(e){return typeof e===L2&&yD.test(e)}static ToString(e,t="utf8"){let r=cn.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return Ks.toString(r,!0);case"utf16":case"utf16be":return Ks.toString(r);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return Ks.fromString(e,!0);case"utf16":case"utf16be":return Ks.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=cn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(t,"binary");return btoa(r)}else return I.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(I.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return Z1.fromString(e);case"utf16":case"utf16be":return Ks.fromString(e);case"utf16le":case"usc2":return Ks.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return Z1.toString(e);case"utf16":case"utf16be":return Ks.toString(e);case"utf16le":case"usc2":return Ks.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let t=cn.toUint8Array(e),r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r}static ToHex(e){let t=cn.toUint8Array(e),r="",n=t.length;for(let i=0;i<n;i++){let a=t[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n=n+2){let i=t.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,t=!1){return Ks.toString(e,t)}static FromUtf16String(e,t=!1){return Ks.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let r=0;r<t;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};X1.DEFAULT_UTF8_ENCODING="utf8";function wD(s,...e){let t=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)t[i]=n[i];}return t}function bD(...s){let e=s.map(n=>n.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i;}),t.buffer}function SD(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<s.byteLength;n++)if(t[n]!==r[n])return !1;return !0}gu.BufferSourceConverter=cn;gu.Convert=X1;gu.assign=wD;gu.combine=bD;gu.isEqual=SD;});d();f();d();f();d();f();d();f();d();f();var K0=(t=>(t.ZKEVM="zkevm",t.ARBITRUM_ONE="arbitrum_one",t))(K0||{}),JI=(e=>(e.ACCOUNTS_REQUESTED="accountsRequested",e))(JI||{}),zI=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(zI||{}),lT=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(lT||{});d();f();var a6={};Te(a6,{coerceNonceSpace:()=>n6,digestOfTransactionsAndNonce:()=>r6,encodeMessageSubDigest:()=>z0,encodeNonce:()=>i6,encodedTransactions:()=>Ib,getEip155ChainId:()=>ms,getNonce:()=>bh,getNormalisedTransactions:()=>J0,packSignatures:()=>Z0,signAndPackTypedData:()=>Cb,signERC191Message:()=>Nb,signMetaTransactions:()=>Y0});d();f();d();f();var Eb={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var XI=s=>{let e=toBytes(s),t=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:t,signers:r}},xb=s=>{let{signers:e,threshold:t}=s,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[t,...r])};var e6=1,wT=1,bT=2,t6="02",ST="",s6=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),J0=s=>s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),r6=(s,e)=>{let t=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...s6],[s,t]);return keccak256(r)},Ib=s=>{let e=s.map(t=>({delegateCall:t.delegateCall,revertOnError:t.revertOnError,gasLimit:t.gasLimit,target:t.target,value:t.value,data:t.data}));return encodeAbiParameters(s6,[e])},n6=s=>s||0n,i6=(s,e)=>{let t=BigInt(s)*2n**96n;return BigInt(e)+t},bh=async(s,e,t)=>{try{let r=getContract({address:e,abi:Eb.mainModule.abi,client:s}),n=n6(t),i=await r.read.readNonce([n]);if(typeof i=="bigint")return i6(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},z0=(s,e,t)=>encodePacked(["string","uint256","address","bytes32"],[ST,s,e,t]),Y0=async(s,e,t,r,n)=>{let i=J0(s),a=r6(e,i),o=z0(t,r,a),c=keccak256(o),u=toBytes(c),m=`${await n.signMessage(u)}${t6}`,w=xb({version:1,threshold:wT,signers:[{isDynamic:!1,unrecovered:!0,weight:e6,signature:m}]}),E=i.map(v=>({delegateCall:v.delegateCall,revertOnError:v.revertOnError,gasLimit:v.gasLimit,target:v.target,value:v.value,data:v.data}));return encodeFunctionData({abi:Eb.mainModule.abi,functionName:"execute",args:[E,e,w]})},vT=s=>{let e=`0x0000${s}`;return XI(e)},Z0=(s,e,t)=>{let r=`${s}${t6}`,{signers:n}=vT(t),a=[...n,{isDynamic:!1,unrecovered:!0,weight:e6,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return xb({version:1,threshold:bT,signers:a})},Cb=async(s,e,t,r,n)=>{let i={...s.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:s.domain,types:o,primaryType:s.primaryType,message:s.message}),u=z0(t,r,c),l=keccak256(u),m=toBytes(l),w=await n.signMessage(m),E=await n.getAddress();return Z0(w,E,e)},Nb=async(s,e,t,r)=>{let n=hashMessage(e),i=z0(s,r,n),a=keccak256(i),o=toBytes(a);return t.signMessage(o)},ms=s=>`eip155:${s}`;var Sh=class s{config;rpcProvider;auth;constructor({config:e,rpcProvider:t,auth:r}){this.config=e,this.rpcProvider=t,this.auth=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async postToRelayer(e){let t={id:1,jsonrpc:"2.0",...e},r=await this.auth.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.text();if(!n.ok){let o=s.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=s.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,t){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let t={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(t);return r}async imGetFeeOptions(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();f();var vh=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(vh||{}),zs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(zs||{}),pe=class extends Error{message;code;constructor(e,t){super(t),this.message=t,this.code=e;}};d();f();d();f();d();f();function ET(s){return s.startsWith("0x")?s:`0x${s}`}function xT(s){return s.startsWith("0x")?s.slice(2):s}function kb(s,e){return s.padStart(e,"0")}function AT(s){let e=kb(s.r.toString(16),64),t=kb(s.s.toString(16),64),r=kb(s.recoveryParam?.toString(16)||"",2);return ET(e+t+r)}function IT(s){if(!s.trim())return;let e=parseInt(s,16);return e>=27?e-27:e}function CT(s,e=64){let t=xT(s);return {r:BigInt(`0x${t.substring(0,e)}`),s:BigInt(`0x${t.substring(e,e*2)}`),recoveryParam:IT(t.substring(e*2,e*2+2))}}async function o6(s,e){let t=await e.signMessage(s),r=CT(t);return AT(r)}var NT="Only sign this message from Immutable Passport";async function c6({auth:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=o6(NT,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new pe(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw new pe(-32603,`Failed to create counterfactual address: ${C}`)}}d();f();d();f();d();f();d();f();d();f();var Eh="imx_passport_confirmation";d();f();var X0=({url:s,title:e,width:t,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-t)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(s,e,`
10
+ var MP=Object.create;var fb=Object.defineProperty;var $P=Object.getOwnPropertyDescriptor;var qP=Object.getOwnPropertyNames;var FP=Object.getPrototypeOf,KP=Object.prototype.hasOwnProperty;var $0=(s,e)=>()=>(s&&(e=s(s=0)),e);var GP=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Te=(s,e)=>{for(var t in e)fb(s,t,{get:e[t],enumerable:!0});},WP=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qP(e))!KP.call(s,n)&&n!==t&&fb(s,n,{get:()=>e[n],enumerable:!(r=$P(e,n))||r.enumerable});return s};var db=(s,e,t)=>(t=s!=null?MP(FP(s)):{},WP(!s||!s.__esModule?fb(t,"default",{value:s,enumerable:!0}):t,s));function yb(s){throw new Error("Node.js process "+s+" is not supported by JSPM core outside of Node.js")}function JP(){!Bc||!ga||(Bc=!1,ga.length?jr=ga.concat(jr):q0=-1,jr.length&&_I());}function _I(){if(!Bc){var s=setTimeout(JP,0);Bc=!0;for(var e=jr.length;e;){for(ga=jr,jr=[];++q0<e;)ga&&ga[q0].run();q0=-1,e=jr.length;}ga=null,Bc=!1,clearTimeout(s);}}function zP(s){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];jr.push(new MI(s,e)),jr.length===1&&!Bc&&setTimeout(_I,0);}function MI(s,e){this.fun=s,this.array=e;}function rs(){}function f4(s){yb("_linkedBinding");}function g4(s){yb("dlopen");}function y4(){return []}function w4(){return []}function N4(s,e){if(!s)throw new Error(e||"assertion error")}function B4(){return !1}function J4(){return Mn.now()/1e3}function gb(s){var e=Math.floor((Date.now()-Mn.now())*.001),t=Mn.now()*.001,r=Math.floor(t)+e,n=Math.floor(t%1*1e9);return s&&(r=r-s[0],n=n-s[1],n<0&&(r--,n+=pb)),[r,n]}function $n(){return x}function aT(s){return []}var jr,Bc,ga,q0,YP,ZP,XP,QP,e4,t4,s4,r4,n4,i4,a4,o4,c4,u4,l4,h4,d4,m4,p4,b4,S4,wb,v4,E4,x4,A4,I4,C4,k4,P4,T4,O4,R4,V4,D4,U4,L4,j4,H4,_4,M4,$4,q4,F4,K4,G4,W4,Mn,mb,pb,z4,Y4,Z4,X4,Q4,eT,tT,sT,rT,nT,iT,x,$I=$0(()=>{d();f();jr=[],Bc=!1,q0=-1;MI.prototype.run=function(){this.fun.apply(null,this.array);};YP="browser",ZP="x64",XP="browser",QP={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},e4=["/usr/bin/node"],t4=[],s4="v16.8.0",r4={},n4=function(s,e){console.warn((e?e+": ":"")+s);},i4=function(s){yb("binding");},a4=function(s){return 0},o4=function(){return "/"},c4=function(s){},u4={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};l4=rs,h4=[];d4={},m4=!1,p4={};b4=rs,S4=rs,wb=function(){return {}},v4=wb,E4=wb,x4=rs,A4=rs,I4=rs,C4={};k4={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},P4=rs,T4=rs;O4=rs,R4=rs,V4=rs,D4=rs,U4=rs,L4=void 0,j4=void 0,H4=void 0,_4=rs,M4=2,$4=1,q4="/bin/usr/node",F4=9229,K4="node",G4=[],W4=rs,Mn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Mn.now===void 0&&(mb=Date.now(),Mn.timing&&Mn.timing.navigationStart&&(mb=Mn.timing.navigationStart),Mn.now=()=>Date.now()-mb);pb=1e9;gb.bigint=function(s){var e=gb(s);return typeof BigInt>"u"?e[0]*pb+e[1]:BigInt(e[0]*pb)+BigInt(e[1])};z4=10,Y4={},Z4=0;X4=$n,Q4=$n,eT=$n,tT=$n,sT=$n,rT=rs,nT=$n,iT=$n;x={version:s4,versions:r4,arch:ZP,platform:XP,release:u4,_rawDebug:l4,moduleLoadList:h4,binding:i4,_linkedBinding:f4,_events:Y4,_eventsCount:Z4,_maxListeners:z4,on:$n,addListener:X4,once:Q4,off:eT,removeListener:tT,removeAllListeners:sT,emit:rT,prependListener:nT,prependOnceListener:iT,listeners:aT,domain:d4,_exiting:m4,config:p4,dlopen:g4,uptime:J4,_getActiveRequests:y4,_getActiveHandles:w4,reallyExit:b4,_kill:S4,cpuUsage:wb,resourceUsage:v4,memoryUsage:E4,kill:x4,exit:A4,openStdin:I4,allowedNodeEnvironmentFlags:C4,assert:N4,features:k4,_fatalExceptions:P4,setUncaughtExceptionCaptureCallback:T4,hasUncaughtExceptionCaptureCallback:B4,emitWarning:n4,nextTick:zP,_tickCallback:O4,_debugProcess:R4,_debugEnd:V4,_startProfilerIdleNotifier:D4,_stopProfilerIdleNotifier:U4,stdout:L4,stdin:H4,stderr:j4,abort:_4,umask:a4,chdir:c4,cwd:o4,env:QP,title:YP,argv:e4,execArgv:t4,pid:M4,ppid:$4,execPath:q4,debugPort:F4,hrtime:gb,argv0:K4,_preload_modules:G4,setSourceMapsEnabled:W4};});var f=$0(()=>{$I();});function oT(){if(qI)return yh;qI=!0,yh.byteLength=o,yh.toByteArray=u,yh.fromByteArray=w;for(var s=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)s[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var v=E.length;if(v%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var A=E.indexOf("=");A===-1&&(A=v);var C=A===v?0:4-A%4;return [A,C]}function o(E){var v=a(E),A=v[0],C=v[1];return (A+C)*3/4-C}function c(E,v,A){return (v+A)*3/4-A}function u(E){var v,A=a(E),C=A[0],D=A[1],U=new t(c(E,C,D)),T=0,P=D>0?C-4:C,B;for(B=0;B<P;B+=4)v=e[E.charCodeAt(B)]<<18|e[E.charCodeAt(B+1)]<<12|e[E.charCodeAt(B+2)]<<6|e[E.charCodeAt(B+3)],U[T++]=v>>16&255,U[T++]=v>>8&255,U[T++]=v&255;return D===2&&(v=e[E.charCodeAt(B)]<<2|e[E.charCodeAt(B+1)]>>4,U[T++]=v&255),D===1&&(v=e[E.charCodeAt(B)]<<10|e[E.charCodeAt(B+1)]<<4|e[E.charCodeAt(B+2)]>>2,U[T++]=v>>8&255,U[T++]=v&255),U}function l(E){return s[E>>18&63]+s[E>>12&63]+s[E>>6&63]+s[E&63]}function m(E,v,A){for(var C,D=[],U=v;U<A;U+=3)C=(E[U]<<16&16711680)+(E[U+1]<<8&65280)+(E[U+2]&255),D.push(l(C));return D.join("")}function w(E){for(var v,A=E.length,C=A%3,D=[],U=16383,T=0,P=A-C;T<P;T+=U)D.push(m(E,T,T+U>P?P:T+U));return C===1?(v=E[A-1],D.push(s[v>>2]+s[v<<4&63]+"==")):C===2&&(v=(E[A-2]<<8)+E[A-1],D.push(s[v>>10]+s[v>>4&63]+s[v<<2&63]+"=")),D.join("")}return yh}function cT(){if(FI)return F0;FI=!0;return F0.read=function(s,e,t,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,m=t?n-1:0,w=t?-1:1,E=s[e+m];for(m+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+s[e+m],m+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+s[e+m],m+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},F0.write=function(s,e,t,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,m=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,v=r?1:-1,A=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+m>=1?e+=w/c:e+=w*Math.pow(2,1-m),e*c>=2&&(a++,c/=2),a+m>=l?(o=0,a=l):a+m>=1?(o=(e*c-1)*Math.pow(2,n),a=a+m):(o=e*Math.pow(2,m-1)*Math.pow(2,n),a=0));n>=8;s[t+E]=o&255,E+=v,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;s[t+E]=a&255,E+=v,a/=256,u-=8);s[t+E-v]|=A*128;},F0}function uT(){if(KI)return ya;KI=!0;let s=oT(),e=cT(),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ya.Buffer=a,ya.SlowBuffer=D,ya.INSPECT_MAX_BYTES=50;let r=2147483647;ya.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let S=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(S,h),S.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(S){if(S>r)throw new RangeError('The value "'+S+'" is invalid for option "size"');let h=new Uint8Array(S);return Object.setPrototypeOf(h,a.prototype),h}function a(S,h,g){if(typeof S=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(S)}return o(S,h,g)}a.poolSize=8192;function o(S,h,g){if(typeof S=="string")return m(S,h);if(ArrayBuffer.isView(S))return E(S);if(S==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S);if(Sr(S,ArrayBuffer)||S&&Sr(S.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Sr(S,SharedArrayBuffer)||S&&Sr(S.buffer,SharedArrayBuffer)))return v(S,h,g);if(typeof S=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=S.valueOf&&S.valueOf();if(N!=null&&N!==S)return a.from(N,h,g);let O=A(S);if(O)return O;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof S[Symbol.toPrimitive]=="function")return a.from(S[Symbol.toPrimitive]("string"),h,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S)}a.from=function(S,h,g){return o(S,h,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(S){if(typeof S!="number")throw new TypeError('"size" argument must be of type number');if(S<0)throw new RangeError('The value "'+S+'" is invalid for option "size"')}function u(S,h,g){return c(S),S<=0?i(S):h!==void 0?typeof g=="string"?i(S).fill(h,g):i(S).fill(h):i(S)}a.alloc=function(S,h,g){return u(S,h,g)};function l(S){return c(S),i(S<0?0:C(S)|0)}a.allocUnsafe=function(S){return l(S)},a.allocUnsafeSlow=function(S){return l(S)};function m(S,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);let g=U(S,h)|0,N=i(g),O=N.write(S,h);return O!==g&&(N=N.slice(0,O)),N}function w(S){let h=S.length<0?0:C(S.length)|0,g=i(h);for(let N=0;N<h;N+=1)g[N]=S[N]&255;return g}function E(S){if(Sr(S,Uint8Array)){let h=new Uint8Array(S);return v(h.buffer,h.byteOffset,h.byteLength)}return w(S)}function v(S,h,g){if(h<0||S.byteLength<h)throw new RangeError('"offset" is outside of buffer bounds');if(S.byteLength<h+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return h===void 0&&g===void 0?N=new Uint8Array(S):g===void 0?N=new Uint8Array(S,h):N=new Uint8Array(S,h,g),Object.setPrototypeOf(N,a.prototype),N}function A(S){if(a.isBuffer(S)){let h=C(S.length)|0,g=i(h);return g.length===0||S.copy(g,0,0,h),g}if(S.length!==void 0)return typeof S.length!="number"||hb(S.length)?i(0):w(S);if(S.type==="Buffer"&&Array.isArray(S.data))return w(S.data)}function C(S){if(S>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return S|0}function D(S){return +S!=S&&(S=0),a.alloc(+S)}a.isBuffer=function(h){return h!=null&&h._isBuffer===!0&&h!==a.prototype},a.compare=function(h,g){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),Sr(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(h)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(h===g)return 0;let N=h.length,O=g.length;for(let H=0,F=Math.min(N,O);H<F;++H)if(h[H]!==g[H]){N=h[H],O=g[H];break}return N<O?-1:O<N?1:0},a.isEncoding=function(h){switch(String(h).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(h,g){if(!Array.isArray(h))throw new TypeError('"list" argument must be an Array of Buffers');if(h.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<h.length;++N)g+=h[N].length;let O=a.allocUnsafe(g),H=0;for(N=0;N<h.length;++N){let F=h[N];if(Sr(F,Uint8Array))H+F.length>O.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(O,H)):Uint8Array.prototype.set.call(O,F,H);else if(a.isBuffer(F))F.copy(O,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=F.length;}return O};function U(S,h){if(a.isBuffer(S))return S.length;if(ArrayBuffer.isView(S)||Sr(S,ArrayBuffer))return S.byteLength;if(typeof S!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof S);let g=S.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let O=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Tc(S).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return HI(S).length;default:if(O)return N?-1:Tc(S).length;h=(""+h).toLowerCase(),O=!0;}}a.byteLength=U;function T(S,h,g){let N=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,h>>>=0,g<=h))return "";for(S||(S="utf8");;)switch(S){case"hex":return Ee(this,h,g);case"utf8":case"utf-8":return pe(this,h,g);case"ascii":return Z(this,h,g);case"latin1":case"binary":return ce(this,h,g);case"base64":return oe(this,h,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return le(this,h,g);default:if(N)throw new TypeError("Unknown encoding: "+S);S=(S+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function P(S,h,g){let N=S[h];S[h]=S[g],S[g]=N;}a.prototype.swap16=function(){let h=this.length;if(h%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<h;g+=2)P(this,g,g+1);return this},a.prototype.swap32=function(){let h=this.length;if(h%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<h;g+=4)P(this,g,g+3),P(this,g+1,g+2);return this},a.prototype.swap64=function(){let h=this.length;if(h%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<h;g+=8)P(this,g,g+7),P(this,g+1,g+6),P(this,g+2,g+5),P(this,g+3,g+4);return this},a.prototype.toString=function(){let h=this.length;return h===0?"":arguments.length===0?pe(this,0,h):T.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(h){if(!a.isBuffer(h))throw new TypeError("Argument must be a Buffer");return this===h?!0:a.compare(this,h)===0},a.prototype.inspect=function(){let h="",g=ya.INSPECT_MAX_BYTES;return h=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(h+=" ... "),"<Buffer "+h+">"},t&&(a.prototype[t]=a.prototype.inspect),a.prototype.compare=function(h,g,N,O,H){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(g===void 0&&(g=0),N===void 0&&(N=h?h.length:0),O===void 0&&(O=0),H===void 0&&(H=this.length),g<0||N>h.length||O<0||H>this.length)throw new RangeError("out of range index");if(O>=H&&g>=N)return 0;if(O>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,O>>>=0,H>>>=0,this===h)return 0;let F=H-O,$e=N-g,St=Math.min(F,$e),pt=this.slice(O,H),vt=h.slice(g,N);for(let ot=0;ot<St;++ot)if(pt[ot]!==vt[ot]){F=pt[ot],$e=vt[ot];break}return F<$e?-1:$e<F?1:0};function B(S,h,g,N,O){if(S.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,hb(g)&&(g=O?0:S.length-1),g<0&&(g=S.length+g),g>=S.length){if(O)return -1;g=S.length-1;}else if(g<0)if(O)g=0;else return -1;if(typeof h=="string"&&(h=a.from(h,N)),a.isBuffer(h))return h.length===0?-1:G(S,h,g,N,O);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?O?Uint8Array.prototype.indexOf.call(S,h,g):Uint8Array.prototype.lastIndexOf.call(S,h,g):G(S,[h],g,N,O);throw new TypeError("val must be string, number or Buffer")}function G(S,h,g,N,O){let H=1,F=S.length,$e=h.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(S.length<2||h.length<2)return -1;H=2,F/=2,$e/=2,g/=2;}function St(vt,ot){return H===1?vt[ot]:vt.readUInt16BE(ot*H)}let pt;if(O){let vt=-1;for(pt=g;pt<F;pt++)if(St(S,pt)===St(h,vt===-1?0:pt-vt)){if(vt===-1&&(vt=pt),pt-vt+1===$e)return vt*H}else vt!==-1&&(pt-=pt-vt),vt=-1;}else for(g+$e>F&&(g=F-$e),pt=g;pt>=0;pt--){let vt=!0;for(let ot=0;ot<$e;ot++)if(St(S,pt+ot)!==St(h,ot)){vt=!1;break}if(vt)return pt}return -1}a.prototype.includes=function(h,g,N){return this.indexOf(h,g,N)!==-1},a.prototype.indexOf=function(h,g,N){return B(this,h,g,N,!0)},a.prototype.lastIndexOf=function(h,g,N){return B(this,h,g,N,!1)};function se(S,h,g,N){g=Number(g)||0;let O=S.length-g;N?(N=Number(N),N>O&&(N=O)):N=O;let H=h.length;N>H/2&&(N=H/2);let F;for(F=0;F<N;++F){let $e=parseInt(h.substr(F*2,2),16);if(hb($e))return F;S[g+F]=$e;}return F}function X(S,h,g,N){return M0(Tc(h,S.length-g),S,g,N)}function ae(S,h,g,N){return M0(LP(h),S,g,N)}function fe(S,h,g,N){return M0(HI(h),S,g,N)}function te(S,h,g,N){return M0(jP(h,S.length-g),S,g,N)}a.prototype.write=function(h,g,N,O){if(g===void 0)O="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")O=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,O===void 0&&(O="utf8")):(O=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),h.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let F=!1;for(;;)switch(O){case"hex":return se(this,h,g,N);case"utf8":case"utf-8":return X(this,h,g,N);case"ascii":case"latin1":case"binary":return ae(this,h,g,N);case"base64":return fe(this,h,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,h,g,N);default:if(F)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),F=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function oe(S,h,g){return h===0&&g===S.length?s.fromByteArray(S):s.fromByteArray(S.slice(h,g))}function pe(S,h,g){g=Math.min(S.length,g);let N=[],O=h;for(;O<g;){let H=S[O],F=null,$e=H>239?4:H>223?3:H>191?2:1;if(O+$e<=g){let St,pt,vt,ot;switch($e){case 1:H<128&&(F=H);break;case 2:St=S[O+1],(St&192)===128&&(ot=(H&31)<<6|St&63,ot>127&&(F=ot));break;case 3:St=S[O+1],pt=S[O+2],(St&192)===128&&(pt&192)===128&&(ot=(H&15)<<12|(St&63)<<6|pt&63,ot>2047&&(ot<55296||ot>57343)&&(F=ot));break;case 4:St=S[O+1],pt=S[O+2],vt=S[O+3],(St&192)===128&&(pt&192)===128&&(vt&192)===128&&(ot=(H&15)<<18|(St&63)<<12|(pt&63)<<6|vt&63,ot>65535&&ot<1114112&&(F=ot));}}F===null?(F=65533,$e=1):F>65535&&(F-=65536,N.push(F>>>10&1023|55296),F=56320|F&1023),N.push(F),O+=$e;}return J(N)}let _e=4096;function J(S){let h=S.length;if(h<=_e)return String.fromCharCode.apply(String,S);let g="",N=0;for(;N<h;)g+=String.fromCharCode.apply(String,S.slice(N,N+=_e));return g}function Z(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]&127);return N}function ce(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]);return N}function Ee(S,h,g){let N=S.length;(!h||h<0)&&(h=0),(!g||g<0||g>N)&&(g=N);let O="";for(let H=h;H<g;++H)O+=HP[S[H]];return O}function le(S,h,g){let N=S.slice(h,g),O="";for(let H=0;H<N.length-1;H+=2)O+=String.fromCharCode(N[H]+N[H+1]*256);return O}a.prototype.slice=function(h,g){let N=this.length;h=~~h,g=g===void 0?N:~~g,h<0?(h+=N,h<0&&(h=0)):h>N&&(h=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<h&&(g=h);let O=this.subarray(h,g);return Object.setPrototypeOf(O,a.prototype),O};function $(S,h,g){if(S%1!==0||S<0)throw new RangeError("offset is not uint");if(S+h>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return O},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h+--g],H=1;for(;g>0&&(H*=256);)O+=this[h+--g]*H;return O},a.prototype.readUint8=a.prototype.readUInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+this[h+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,H=this[++h]+this[++h]*2**8+this[++h]*2**16+N*2**24;return BigInt(O)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],H=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N;return (BigInt(O)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return H*=128,O>=H&&(O-=Math.pow(2,8*g)),O},a.prototype.readIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=g,H=1,F=this[h+--O];for(;O>0&&(H*=256);)F+=this[h+--O]*H;return H*=128,F>=H&&(F-=Math.pow(2,8*g)),F},a.prototype.readInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h]|this[h+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h+1]|this[h]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},a.prototype.readInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(N<<24);return (BigInt(O)<<BigInt(32))+BigInt(g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=(g<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return (BigInt(O)<<BigInt(32))+BigInt(this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N)}),a.prototype.readFloatLE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!1,52,8)};function ee(S,h,g,N,O,H){if(!a.isBuffer(S))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>O||h<H)throw new RangeError('"value" argument is out of bounds');if(g+N>S.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=1,F=0;for(this[g]=h&255;++F<N&&(H*=256);)this[g+F]=h/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=N-1,F=1;for(this[g+H]=h&255;--H>=0&&(F*=256);)this[g+H]=h/F&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,255,0),this[g]=h&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g+3]=h>>>24,this[g+2]=h>>>16,this[g+1]=h>>>8,this[g]=h&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4};function ne(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,g}function xe(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g+7]=H,H=H>>8,S[g+6]=H,H=H>>8,S[g+5]=H,H=H>>8,S[g+4]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g+3]=F,F=F>>8,S[g+2]=F,F=F>>8,S[g+1]=F,F=F>>8,S[g]=F,g+8}a.prototype.writeBigUInt64LE=_n(function(h,g=0){return ne(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=_n(function(h,g=0){return xe(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=0,F=1,$e=0;for(this[g]=h&255;++H<N&&(F*=256);)h<0&&$e===0&&this[g+H-1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=N-1,F=1,$e=0;for(this[g+H]=h&255;--H>=0&&(F*=256);)h<0&&$e===0&&this[g+H+1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,127,-128),h<0&&(h=255+h+1),this[g]=h&255,g+1},a.prototype.writeInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),this[g]=h&255,this[g+1]=h>>>8,this[g+2]=h>>>16,this[g+3]=h>>>24,g+4},a.prototype.writeInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4},a.prototype.writeBigInt64LE=_n(function(h,g=0){return ne(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=_n(function(h,g=0){return xe(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ke(S,h,g,N,O,H){if(g+N>S.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function Fe(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,4),e.write(S,h,g,N,23,4),g+4}a.prototype.writeFloatLE=function(h,g,N){return Fe(this,h,g,!0,N)},a.prototype.writeFloatBE=function(h,g,N){return Fe(this,h,g,!1,N)};function Rt(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,8),e.write(S,h,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(h,g,N){return Rt(this,h,g,!0,N)},a.prototype.writeDoubleBE=function(h,g,N){return Rt(this,h,g,!1,N)},a.prototype.copy=function(h,g,N,O){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(N||(N=0),!O&&O!==0&&(O=this.length),g>=h.length&&(g=h.length),g||(g=0),O>0&&O<N&&(O=N),O===N||h.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-g<O-N&&(O=h.length-g+N);let H=O-N;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,O):Uint8Array.prototype.set.call(h,this.subarray(N,O),g),H},a.prototype.fill=function(h,g,N,O){if(typeof h=="string"){if(typeof g=="string"?(O=g,g=0,N=this.length):typeof N=="string"&&(O=N,N=this.length),O!==void 0&&typeof O!="string")throw new TypeError("encoding must be a string");if(typeof O=="string"&&!a.isEncoding(O))throw new TypeError("Unknown encoding: "+O);if(h.length===1){let F=h.charCodeAt(0);(O==="utf8"&&F<128||O==="latin1")&&(h=F);}}else typeof h=="number"?h=h&255:typeof h=="boolean"&&(h=Number(h));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,h||(h=0);let H;if(typeof h=="number")for(H=g;H<N;++H)this[H]=h;else {let F=a.isBuffer(h)?h:a.from(h,O),$e=F.length;if($e===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=F[H%$e];}return this};let Me={};function De(S,h,g){Me[S]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:h.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${S}]`,this.stack,delete this.name;}get code(){return S}set code(O){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:O,writable:!0});}toString(){return `${this.name} [${S}]: ${this.message}`}};}De("ERR_BUFFER_OUT_OF_BOUNDS",function(S){return S?`${S} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),De("ERR_INVALID_ARG_TYPE",function(S,h){return `The "${S}" argument must be of type number. Received type ${typeof h}`},TypeError),De("ERR_OUT_OF_RANGE",function(S,h,g){let N=`The value of "${S}" is out of range.`,O=g;return Number.isInteger(g)&&Math.abs(g)>2**32?O=he(String(g)):typeof g=="bigint"&&(O=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(O=he(O)),O+="n"),N+=` It must be ${h}. Received ${O}`,N},RangeError);function he(S){let h="",g=S.length,N=S[0]==="-"?1:0;for(;g>=N+4;g-=3)h=`_${S.slice(g-3,g)}${h}`;return `${S.slice(0,g)}${h}`}function ss(S,h,g){Ct(h,"offset"),(S[h]===void 0||S[h+g]===void 0)&&He(h,S.length-(g+1));}function ds(S,h,g,N,O,H){if(S>g||S<h){let F=typeof h=="bigint"?"n":"",$e;throw h===0||h===BigInt(0)?$e=`>= 0${F} and < 2${F} ** ${(H+1)*8}${F}`:$e=`>= -(2${F} ** ${(H+1)*8-1}${F}) and < 2 ** ${(H+1)*8-1}${F}`,new Me.ERR_OUT_OF_RANGE("value",$e,S)}ss(N,O,H);}function Ct(S,h){if(typeof S!="number")throw new Me.ERR_INVALID_ARG_TYPE(h,"number",S)}function He(S,h,g){throw Math.floor(S)!==S?(Ct(S,g),new Me.ERR_OUT_OF_RANGE("offset","an integer",S)):h<0?new Me.ERR_BUFFER_OUT_OF_BOUNDS:new Me.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${h}`,S)}let pa=/[^+/0-9A-Za-z-_]/g;function Hn(S){if(S=S.split("=")[0],S=S.trim().replace(pa,""),S.length<2)return "";for(;S.length%4!==0;)S=S+"=";return S}function Tc(S,h){h=h||1/0;let g,N=S.length,O=null,H=[];for(let F=0;F<N;++F){if(g=S.charCodeAt(F),g>55295&&g<57344){if(!O){if(g>56319){(h-=3)>-1&&H.push(239,191,189);continue}else if(F+1===N){(h-=3)>-1&&H.push(239,191,189);continue}O=g;continue}if(g<56320){(h-=3)>-1&&H.push(239,191,189),O=g;continue}g=(O-55296<<10|g-56320)+65536;}else O&&(h-=3)>-1&&H.push(239,191,189);if(O=null,g<128){if((h-=1)<0)break;H.push(g);}else if(g<2048){if((h-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((h-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((h-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function LP(S){let h=[];for(let g=0;g<S.length;++g)h.push(S.charCodeAt(g)&255);return h}function jP(S,h){let g,N,O,H=[];for(let F=0;F<S.length&&!((h-=2)<0);++F)g=S.charCodeAt(F),N=g>>8,O=g%256,H.push(O),H.push(N);return H}function HI(S){return s.toByteArray(Hn(S))}function M0(S,h,g,N){let O;for(O=0;O<N&&!(O+g>=h.length||O>=S.length);++O)h[O+g]=S[O];return O}function Sr(S,h){return S instanceof h||S!=null&&S.constructor!=null&&S.constructor.name!=null&&S.constructor.name===h.name}function hb(S){return S!==S}let HP=function(){let S="0123456789abcdef",h=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let O=0;O<16;++O)h[N+O]=S[g]+S[O];}return h}();function _n(S){return typeof BigInt>"u"?_P:S}function _P(){throw new Error("BigInt not supported")}return ya}var yh,qI,F0,FI,ya,KI,wa,I,GI=$0(()=>{d();f();yh={},qI=!1;F0={},FI=!1;ya={},KI=!1;wa=uT();wa.Buffer;wa.SlowBuffer;wa.INSPECT_MAX_BYTES;wa.kMaxLength;I=wa.Buffer,wa.INSPECT_MAX_BYTES,wa.kMaxLength;});var d=$0(()=>{GI();});var X1=GP(gu=>{d();f();var gD="[object ArrayBuffer]",cn=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===gD}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let r=0;for(let a of t)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of t){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},U2="string",yD=/^[0-9a-f\s]+$/i,wD=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bD=/^[a-zA-Z0-9-_]+$/,Y1=class{static fromString(e){let t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r.buffer}static toString(e){let t=cn.toUint8Array(e),r="";for(let i=0;i<t.length;i++)r+=String.fromCharCode(t[i]);return decodeURIComponent(escape(r))}},Ks=class{static toString(e,t=!1){let r=cn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,t);i+=String.fromCharCode(o);}return i}static fromString(e,t=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),t);return r}},Z1=class s{static isHex(e){return typeof e===U2&&yD.test(e)}static isBase64(e){return typeof e===U2&&wD.test(e)}static isBase64Url(e){return typeof e===U2&&bD.test(e)}static ToString(e,t="utf8"){let r=cn.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return Ks.toString(r,!0);case"utf16":case"utf16be":return Ks.toString(r);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return Ks.fromString(e,!0);case"utf16":case"utf16be":return Ks.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=cn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(t,"binary");return btoa(r)}else return I.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(I.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return Y1.fromString(e);case"utf16":case"utf16be":return Ks.fromString(e);case"utf16le":case"usc2":return Ks.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return Y1.toString(e);case"utf16":case"utf16be":return Ks.toString(e);case"utf16le":case"usc2":return Ks.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let t=cn.toUint8Array(e),r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r}static ToHex(e){let t=cn.toUint8Array(e),r="",n=t.length;for(let i=0;i<n;i++){let a=t[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n=n+2){let i=t.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,t=!1){return Ks.toString(e,t)}static FromUtf16String(e,t=!1){return Ks.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let r=0;r<t;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};Z1.DEFAULT_UTF8_ENCODING="utf8";function SD(s,...e){let t=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)t[i]=n[i];}return t}function vD(...s){let e=s.map(n=>n.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i;}),t.buffer}function ED(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<s.byteLength;n++)if(t[n]!==r[n])return !1;return !0}gu.BufferSourceConverter=cn;gu.Convert=Z1;gu.assign=SD;gu.combine=vD;gu.isEqual=ED;});d();f();d();f();d();f();d();f();d();f();var K0=(t=>(t.ZKEVM="zkevm",t.ARBITRUM_ONE="arbitrum_one",t))(K0||{}),WI=(t=>(t.ACCOUNTS_REQUESTED="accountsRequested",t.LOGGED_OUT="loggedOut",t))(WI||{}),JI=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(JI||{}),lT=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(lT||{});d();f();var i6={};Te(i6,{coerceNonceSpace:()=>r6,digestOfTransactionsAndNonce:()=>s6,encodeMessageSubDigest:()=>z0,encodeNonce:()=>n6,encodedTransactions:()=>xb,getEip155ChainId:()=>ms,getNonce:()=>bh,getNormalisedTransactions:()=>J0,packSignatures:()=>Z0,signAndPackTypedData:()=>Ab,signERC191Message:()=>Ib,signMetaTransactions:()=>Y0});d();f();d();f();var Sb={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var ZI=s=>{let e=toBytes(s),t=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:t,signers:r}},vb=s=>{let{signers:e,threshold:t}=s,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[t,...r])};var QI=1,wT=1,bT=2,e6="02",ST="",t6=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),J0=s=>s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),s6=(s,e)=>{let t=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...t6],[s,t]);return keccak256(r)},xb=s=>{let e=s.map(t=>({delegateCall:t.delegateCall,revertOnError:t.revertOnError,gasLimit:t.gasLimit,target:t.target,value:t.value,data:t.data}));return encodeAbiParameters(t6,[e])},r6=s=>s||0n,n6=(s,e)=>{let t=BigInt(s)*2n**96n;return BigInt(e)+t},bh=async(s,e,t)=>{try{let r=getContract({address:e,abi:Sb.mainModule.abi,client:s}),n=r6(t),i=await r.read.readNonce([n]);if(typeof i=="bigint")return n6(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},z0=(s,e,t)=>encodePacked(["string","uint256","address","bytes32"],[ST,s,e,t]),Y0=async(s,e,t,r,n)=>{let i=J0(s),a=s6(e,i),o=z0(t,r,a),c=keccak256(o),u=toBytes(c),m=`${await n.signMessage(u)}${e6}`,w=vb({version:1,threshold:wT,signers:[{isDynamic:!1,unrecovered:!0,weight:QI,signature:m}]}),E=i.map(v=>({delegateCall:v.delegateCall,revertOnError:v.revertOnError,gasLimit:v.gasLimit,target:v.target,value:v.value,data:v.data}));return encodeFunctionData({abi:Sb.mainModule.abi,functionName:"execute",args:[E,e,w]})},vT=s=>{let e=`0x0000${s}`;return ZI(e)},Z0=(s,e,t)=>{let r=`${s}${e6}`,{signers:n}=vT(t),a=[...n,{isDynamic:!1,unrecovered:!0,weight:QI,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return vb({version:1,threshold:bT,signers:a})},Ab=async(s,e,t,r,n)=>{let i={...s.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:s.domain,types:o,primaryType:s.primaryType,message:s.message}),u=z0(t,r,c),l=keccak256(u),m=toBytes(l),w=await n.signMessage(m),E=await n.getAddress();return Z0(w,E,e)},Ib=async(s,e,t,r)=>{let n=hashMessage(e),i=z0(s,r,n),a=keccak256(i),o=toBytes(a);return t.signMessage(o)},ms=s=>`eip155:${s}`;var Sh=class s{config;rpcProvider;getUser;constructor({config:e,rpcProvider:t,getUser:r}){this.config=e,this.rpcProvider=t,this.getUser=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async getUserZkEvm(){let e=await this.getUser();if(!e||!isUserZkEvm(e))throw new Error("User not authenticated or missing zkEvm data");return e}async postToRelayer(e){let t={id:1,jsonrpc:"2.0",...e},r=await this.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.text();if(!n.ok){let o=s.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=s.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,t){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let t={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(t);return r}async imGetFeeOptions(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();f();var vh=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(vh||{}),zs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(zs||{}),de=class extends Error{message;code;constructor(e,t){super(t),this.message=t,this.code=e;}};d();f();d();f();d();f();function xT(s){return s.startsWith("0x")?s:`0x${s}`}function AT(s){return s.startsWith("0x")?s.slice(2):s}function Cb(s,e){return s.padStart(e,"0")}function IT(s){let e=Cb(s.r.toString(16),64),t=Cb(s.s.toString(16),64),r=Cb(s.recoveryParam?.toString(16)||"",2);return xT(e+t+r)}function CT(s){if(!s.trim())return;let e=parseInt(s,16);return e>=27?e-27:e}function NT(s,e=64){let t=AT(s);return {r:BigInt(`0x${t.substring(0,e)}`),s:BigInt(`0x${t.substring(e,e*2)}`),recoveryParam:CT(t.substring(e*2,e*2+2))}}async function a6(s,e){let t=await e.signMessage(s),r=NT(t);return IT(r)}var kT="Only sign this message from Immutable Passport";async function o6({getUser:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=a6(kT,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new de(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s&&s().catch(()=>{}),C.data.counterfactual_address}catch(C){throw new de(-32603,`Failed to create counterfactual address: ${C}`)}}d();f();d();f();d();f();d();f();d();f();var Eh="imx_passport_confirmation";d();f();var X0=({url:s,title:e,width:t,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-t)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(s,e,`
11
11
  scrollbars=yes,
12
12
  width=${t},
13
13
  height=${r},
14
14
  top=${i},
15
15
  left=${n}
16
- `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();f();d();f();var xh="passport-overlay",u6="passport-overlay-contents",Q0=`${xh}-close`,ep=`${xh}-try-again`,l6=`
16
+ `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();f();d();f();var xh="passport-overlay",c6="passport-overlay-contents",Q0=`${xh}-close`,ep=`${xh}-try-again`,u6=`
17
17
  <svg
18
18
  viewBox="0 0 20 20"
19
19
  fill="none"
@@ -25,7 +25,7 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
25
25
  fill="#F3F3F3"
26
26
  />
27
27
  </svg>
28
- `,h6=`
28
+ `,l6=`
29
29
  <svg
30
30
  viewBox="0 0 17 16"
31
31
  fill="none"
@@ -39,7 +39,7 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
39
39
  fill="#E01A3D"
40
40
  />
41
41
  </svg>
42
- `,Pb=`
42
+ `,Nb=`
43
43
  <svg
44
44
  style="
45
45
  max-width: 123px !important;
@@ -222,7 +222,7 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
222
222
  </clipPath>
223
223
  </defs>
224
224
  </svg>
225
- `;d();f();var kT=()=>`
225
+ `;d();f();var PT=()=>`
226
226
  <button
227
227
  id="${Q0}"
228
228
  style="
@@ -240,9 +240,9 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
240
240
  justify-content: center !important;
241
241
  "
242
242
  >
243
- ${l6}
243
+ ${u6}
244
244
  </button>
245
- `,f6=()=>`
245
+ `,h6=()=>`
246
246
  <button
247
247
  id="${ep}"
248
248
  style="
@@ -259,8 +259,8 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
259
259
  >
260
260
  Try again
261
261
  </button>
262
- `,PT=()=>`
263
- ${Pb}
262
+ `,TT=()=>`
263
+ ${Nb}
264
264
  <div
265
265
  style="
266
266
  color: #e01a3d !important;
@@ -270,7 +270,7 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
270
270
  margin-bottom: 10px !important;
271
271
  "
272
272
  >
273
- ${h6}
273
+ ${l6}
274
274
  Pop-up blocked
275
275
  </div>
276
276
  <p style="
@@ -283,9 +283,9 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
283
283
  If the problem continues, adjust your<br />
284
284
  browser settings.
285
285
  </p>
286
- ${f6()}
287
- `,TT=()=>`
288
- ${Pb}
286
+ ${h6()}
287
+ `,BT=()=>`
288
+ ${Nb}
289
289
  <p style="
290
290
  color: #b6b6b6 !important;
291
291
  text-align: center !important;
@@ -294,8 +294,8 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
294
294
  >
295
295
  Secure pop-up not showing?<br />We'll help you re-launch
296
296
  </p>
297
- ${f6()}
298
- `,d6=s=>`
297
+ ${h6()}
298
+ `,f6=s=>`
299
299
  <div
300
300
  id="${xh}"
301
301
  style="
@@ -320,9 +320,9 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
320
320
  z-index: 2147483647 !important;
321
321
  "
322
322
  >
323
- ${kT()}
323
+ ${PT()}
324
324
  <div
325
- id="${u6}"
325
+ id="${c6}"
326
326
  style="
327
327
  display: flex !important;
328
328
  flex-direction: column !important;
@@ -333,45 +333,45 @@ var MP=Object.create;var db=Object.defineProperty;var $P=Object.getOwnPropertyDe
333
333
  ${s??""}
334
334
  </div>
335
335
  </div>
336
- `;function tp({id:s,href:e,rel:t,crossOrigin:r}){let n=`${xh}-${s}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,t&&(i.rel=t),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var m6=()=>d6(PT()),p6=()=>d6(TT());var Oc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,t=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=t;}append(e,t){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(t));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){tp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),tp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),tp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let t=document.createElement("div");t.innerHTML=this.isBlockedOverlay?m6():p6(),document.body.insertAdjacentElement("beforeend",t),this.overlay=t;}}updateTryAgainButton(e){let t=document.getElementById(ep);t&&(this.tryAgainListener&&t.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,t.addEventListener("click",e));}updateCloseButton(e){let t=document.getElementById(Q0);t&&(this.onCloseListener&&t.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,t.addEventListener("click",e));}};d();f();d();f();var Rc=(s=>(s.PRODUCTION="production",s.SANDBOX="sandbox",s))(Rc||{}),BT=(s=>(s.API_KEY="x-immutable-api-key",s.PUBLISHABLE_KEY="x-immutable-publishable-key",s.RATE_LIMITING_KEY="x-api-key",s))(BT||{});d();f();d();f();var Ah=13371,ba=13473,Tb=42161,Bb=421614,qn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Ih={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:qn[13371].magicPublishableApiKey,magicProviderId:qn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Ch={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:qn[13473].magicPublishableApiKey,magicProviderId:qn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},sp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},rp={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},np=[Ch,Ih],OT={chains:[Ih]},RT={chains:[Ch]},VT={chains:np},DT={chains:[sp]},UT={chains:[rp]};d();f();var g6={zkevm:{[Rc.PRODUCTION]:Ih,[Rc.SANDBOX]:Ch},arbitrum_one:{[Rc.PRODUCTION]:sp,[Rc.SANDBOX]:rp}};function jT(){let s={};for(let[e,t]of Object.entries(g6))for(let r of Object.values(t))s[r.chainId]=e;return s[15003]="zkevm",s}var HT=jT();function _T(s,e){let t=g6[s];if(!t)throw new Error(`Chain ${s} is not supported`);let r=t[e];if(!r)throw new Error(`Chain ${s} is not configured for environment ${e}`);return r}function Vc(s){let e=typeof s=="string"?parseInt(s.includes(":")?s.split(":")[1]:s,10):s;return HT[e]??"zkevm"}var Ob="Confirm this transaction",Rb=720,Vb=480,y6=1e3;var Dc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(i=>`${i}=${t[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==Eh))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===w6.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r});else {let l=(n?Vc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:t,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:m,origin:w})=>{if(!(w!==this.config.passportDomain||m.eventType!==Eh))switch(m.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Vc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:t,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=X0({url:this.getHref("loading"),title:Ob,width:e?.width||Vb,height:e?.height||Rb}),this.overlay=new Oc(this.config.popupOverlayOptions||{});}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Oc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=X0({url:this.getHref("loading"),title:Ob,width:this.popupOptions?.width||Vb,height:this.popupOptions?.height||Rb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,y6),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=X0({url:e,title:Ob,width:this.popupOptions?.width||Vb,height:this.popupOptions?.height||Rb}),this.timer=setInterval(t,y6);}catch{}}};d();f();var Sa=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Sa||{}),ct=class extends Error{type;constructor(e,t){super(e),this.name="WalletError",this.type=t;}};d();f();var va=s=>typeof s=="object"&&s!==null&&"isAxiosError"in s;var Db="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",ip=s=>BigInt(s).toString(),qT=s=>{try{return s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?ip(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?ip(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let t=e instanceof Error?e.message:String(e);throw new pe(-32602,`Transaction failed to parsing: ${t}`)}},Uc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;auth;constructor({config:e,auth:t,guardianApi:r,authConfig:n}){this.confirmationScreen=new Dc(n),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.auth=t;}withConfirmationScreen(e){return t=>this.withConfirmationScreenTask(e)(t)()}withConfirmationScreenTask(e){return t=>async()=>{this.confirmationScreen.loading(e);try{return await t()}catch(r){throw r instanceof ct&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}){let n=await this.auth.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=qT(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:t,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(va(o)&&o.response?.status===403)throw new ct("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new pe(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:t,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new pe(-32003,Db);if(a&&o){let c=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,w6.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new pe(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:t}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new pe(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new pe(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new pe(-32003,Db);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new pe(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:t}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new pe(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ms(Number(e)),payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new pe(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new pe(-32003,Db);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new pe(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();f();var FT=s=>new Promise(e=>{setTimeout(()=>e(),s);}),ap=async(s,e)=>{let{retries:t=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await s()}catch{return t<=0?Promise.reject(n):(await FT(r),ap(s,{retries:t-1,finalErr:n,finallyFn:i}))}finally{t<=0&&i();}};var KT=30,GT=1e3,WT=async(s,e,t)=>{let r=J0([s]),n=Ib(r),i=await t.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=t.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},JT=async(s,e,t,r,n)=>{if(!s.to)throw new pe(-32602,'eth_sendTransaction requires a "to" field');let i={to:s.to.toString(),data:s.data,nonce:BigInt(0),value:s.value,revertOnError:!0},[a,o]=await Promise.all([bh(e,r,n),WT(i,r,t)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},op=async(s,e,t)=>{let n=await ap(async()=>{let i=await s.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:KT,interval:GT,finalErr:new pe(-32e3,"transaction hash not generated in time")});if(t.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new pe(-32e3,i)}return n},cp=async({transactionRequest:s,ethSigner:e,rpcProvider:t,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await t.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let m=await JT(s,t,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=m[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ms(Number(u)),nonce:ip(w),metaTransactions:m,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},v=async()=>{let D=await Y0(m,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,A]=await Promise.all([E(),v()]),C=await n.ethSendTransaction(i,A);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:A,relayerId:C,nonce:w}},zT=async s=>{if(!s.to)throw new pe(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof s.nonce>"u")throw new pe(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!s.chainId)throw new pe(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:s.to.toString(),data:s.data,nonce:s.nonce??void 0,value:s.value,revertOnError:!0}]},S6=async({transactionRequest:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{let n=await zT(s);r.addEvent("endBuildMetaTransactions");let i=await Y0(n,s.nonce,BigInt(s.chainId??0),t,e);return r.addEvent("endGetSignedMetaTransactions"),{to:t,data:i,chainId:ms(Number(s.chainId??0))}};var Ub=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=s[0],{relayerId:l}=await cp({transactionRequest:u,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:m}=await op(r,l,a);return m};d();f();var v6=["types","domain","primaryType","message"],YT=s=>v6.every(e=>e in s),ZT=(s,e)=>{let t;if(typeof s=="string")try{t=JSON.parse(s);}catch(n){throw new pe(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof s=="object")t=s;else throw new pe(-32602,`Invalid typed data argument: ${s}`);if(!YT(t))throw new pe(-32602,`Invalid typed data argument. The following properties are required: ${v6.join(", ")}`);let r=t.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),t.domain.chainId=n,BigInt(n)!==e)throw new pe(-32602,`Invalid chainId, expected ${e}`)}return t},E6=async({params:s,method:e,ethSigner:t,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=s[0],c=s[1];if(!o||!c)throw new pe(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=ZT(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let m=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await Cb(l,m,BigInt(u),o,t);return a.addEvent("getSignedTypedData"),w};d();f();d();f();var QT=s=>{let e=0;for(;e<s.length&&s[e]===0;)e++;return s.slice(e)},eB=s=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(s);let e="";for(let t=0;t<s.length;t++)e+=String.fromCharCode(s[t]);return decodeURIComponent(escape(e))},x6=s=>{if(!s)return s;try{let e=toBytes(s),t=QT(e);return eB(t)}catch{return s}};var up=async({params:s,ethSigner:e,zkEvmAddress:t,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=s[0],c=s[1];if(!c||!o)throw new pe(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==t.toLowerCase())throw new pe(-32602,"personal_sign requires the signer to be the from address");let u=x6(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let m=BigInt(l),w=Nb(m,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:m,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,v]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let A=await e.getAddress();return a.addEvent("endGetEOAAddress"),Z0(E,A,v)};d();f();d();f();var tB="/v1/sdk/session-activity/check",lp,A6=s=>{lp||(lp=s);},sB=s=>{let e=new URL(tB,lp);return Object.entries(s).forEach(([t,r])=>{r!=null&&e.searchParams.append(t,String(r));}),e.toString()};async function I6(s){if(!lp)throw new Error("Client not initialised");let e=await fetch(sB(s));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();f();function N6(s,e){return (...t)=>{try{let r=s(...t);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:k6,setItem:Lb}=utils.localStorage,jb="sessionActivitySendCount",P6="sessionActivityDate",Hb={},Fn={},hp={},T6=()=>{Fn=k6(jb)||{};let s=k6(P6),e=new Date,t=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${t}-${r}-${n}`;(!s||s!==i)&&(Fn={}),Lb(P6,i),Lb(jb,Fn);};T6();var cB=s=>{T6(),Fn[s]||(Fn[s]=0),Fn[s]++,Lb(jb,Fn),Hb[s]=0;},uB=async s=>new Promise(e=>{setTimeout(e,s*1e3);}),lB=async s=>{let e=s.flow||trackFlow("passport","sendSessionActivity"),t=s.passportClient;if(!t)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(hp[t])return;hp[t]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=s;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");A6(n);let i=s.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await I6({clientId:t,wallet:i,checkCount:Hb[t]||0,sendCount:Fn[t]||0}),Hb[t]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await s.sendTransaction([{to:u,from:i,data:c}],e);cB(t),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let m=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",m,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await uB(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),hp[t]=!1,B6({...s,flow:e});},0));},B6=s=>N6(lB)(s).then(()=>{hp[s.passportClient]=!1;}),O6=B6;d();f();var R6=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await cp({transactionRequest:o,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await up({params:s,ethSigner:e,zkEvmAddress:i,rpcProvider:t,guardianClient:n,relayerClient:r,flow:a});return await op(r,c,a),u})};d();f();var V6=async({params:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{if(!s||s.length!==1)throw new pe(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=s[0];return await S6({transactionRequest:n,ethSigner:e,zkEvmAddress:t,flow:r})};var fp=s=>"zkEvm"in s,Ph=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;isPassport=!0;constructor({auth:e,config:t,multiRollupApiClients:r,passportEventEmitter:n,guardianClient:i,ethSigner:a,user:o,sessionActivityApiUrl:c}){this.#e=e,this.#s=t,this.#i=i,this.#a=n,this.#r=c,this.#o=a,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Sh({config:this.#s,rpcProvider:this.#n,auth:this.#e}),this.#u=r,this.#t=new TypedEventEmitter,o&&fp(o)&&this.#h(o.zkEvm.ethAddress),n.on(AuthEvents.LOGGED_IN,u=>{fp(u)&&this.#h(u.zkEvm.ethAddress);}),n.on(AuthEvents.LOGGED_OUT,this.#f),n.on("accountsRequested",O6);}#f=()=>{this.#t.emit("accountsChanged",[]);};async#h(e,t){if(!this.#r)return;let r=BigInt(1),n=async(i,a)=>await Ub({params:i,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:a,nonceSpace:r,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:n,walletAddress:e,passportClient:t||await this.#e.getClientId()});}async#l(){try{let e=await this.#e.getUser();return e&&fp(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#d(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#l();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;return fp(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await c6({ethSigner:this.#o,auth:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#h(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await Ub({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:t,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#l();return t?[t]:[]}case"personal_sign":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await bh(this.#n,t)>BigInt(0))?await R6({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await up({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await E6({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let t=await this.#n.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await V6({params:e.params||[],ethSigner:this.#o,zkEvmAddress:t,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let[t]=e.params||[],r=await this.#l();return r&&this.#h(r,t),null}default:throw new pe(4200,"Method not supported")}}async request(e){try{return this.#d(e)}catch(t){throw t instanceof pe?t:t instanceof Error?new pe(-32603,t.message):new pe(-32603,"Internal error")}}on(e,t){this.#t.on(e,t);}removeListener(e,t){this.#t.removeListener(e,t);}};d();f();d();f();d();f();var gB="Only sign this message from Immutable Passport";function yB(s){let e=s.startsWith("0x")?s.slice(2):s,t=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${t}${r}${o}`}async function _b({auth:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(gB).then(yB);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new pe(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new pe(-32603,`Failed to create counterfactual address: ${C}`)}}function D6(s,e){return e in s&&!!s[e]?.ethAddress}function U6(s,e){return s[e]?.ethAddress}var Th=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({auth:e,chainConfig:t,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Vc(t.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=t,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e.getUser();if(e&&D6(e,this.#u))return U6(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#c();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;if(D6(n,this.#u)?i=U6(n,this.#u):(r.addEvent("startUserRegistration"),i=await _b({auth:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new pe(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#c();return t?[t]:[]}case"eth_sendTransaction":throw new pe(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new pe(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new pe(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let t=await this.#t.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new pe(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(t){throw t instanceof pe?t:t instanceof Error?new pe(-32603,t.message):new pe(-32603,"Internal error")}}on(e,t){this.#a.on(e,t);}removeListener(e,t){this.#a.removeListener(e,t);}};d();f();var Bh=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();f();d();f();var Mb=async(s,e,t=!0,r=!0)=>{let n=trackFlow("passport",e,t);try{return await s(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var j6="ETH",CB=s=>s.reduce((e,t)=>`${e}${t.toString(16).padStart(2,"0")}`,""),NB=s=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(s);let e=unescape(encodeURIComponent(s)),t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},kB=s=>{let e=NB(s),t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,m=c>>6&63,w=c&63;r+=t[u]+t[l],r+=Number.isFinite(a)?t[m]:"=",r+=Number.isFinite(o)?t[w]:"=";}return r},Lc=class s{auth;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,t){this.auth=e,this.magicTeeApiClient=t;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let t=await this.getUserOrThrow();if(t.profile.sub!==e.userIdentifier&&(e=await this.createWallet(t)),isUserZkEvm(t)&&t.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ct(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${t.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(t,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=s.getHeaders(n);await Mb(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:j6},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},t(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return va(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.auth.getUser();if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let t=e instanceof Uint8Array?`0x${CB(e)}`:e,r=await this.getUserOrThrow(),n=s.getHeaders(r);return Mb(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:kB(t)},xMagicChain:j6},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw va(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();f();var $b={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function qb(s){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(s)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",t);}d();f();d();f();d();f();var za={};Te(za,{IdentitySigner:()=>l1,toIdentityAuthKey:()=>QE});d();f();d();f();var Et={};Te(Et,{format:()=>qB,from:()=>FB});d();f();d();f();d();f();d();f();var H6="1.1.0";var Nt=class s extends Error{constructor(e,t={}){let r=t.cause instanceof s?t.cause.details:t.cause?.message?t.cause.message:t.details,n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${H6}`].join(`
337
- `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),t.cause&&(this.cause=t.cause),this.details=r,this.docsPath=n,this.metaMessages=t.metaMessages,this.shortMessage=e;}};d();f();d();f();d();f();d();f();d();f();function Os(s,e){return s.exec(e)?.groups}var Fb=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Kb=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,dp=/^\(.+?\).*?$/;var _6=/^tuple(?<array>(\[(\d*)\])*)$/;function mp(s){let e=s.type;if(_6.test(s.type)&&"components"in s){e="(";let t=s.components.length;for(let n=0;n<t;n++){let i=s.components[n];e+=mp(i),n<t-1&&(e+=", ");}let r=Os(_6,s.type);return e+=`)${r?.array??""}`,mp({...s,type:e})}return "indexed"in s&&s.indexed&&(e=`${e} indexed`),s.name?`${e} ${s.name}`:e}function vr(s){let e="",t=s.length;for(let r=0;r<t;r++){let n=s[r];e+=mp(n),r!==t-1&&(e+=", ");}return e}function Hr(s){return s.type==="function"?`function ${s.name}(${vr(s.inputs)})${s.stateMutability&&s.stateMutability!=="nonpayable"?` ${s.stateMutability}`:""}${s.outputs?.length?` returns (${vr(s.outputs)})`:""}`:s.type==="event"?`event ${s.name}(${vr(s.inputs)})`:s.type==="error"?`error ${s.name}(${vr(s.inputs)})`:s.type==="constructor"?`constructor(${vr(s.inputs)})${s.stateMutability==="payable"?" payable":""}`:s.type==="fallback"?`fallback() external${s.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Gb(s){let e=[],t=s.length;for(let r=0;r<t;r++){let n=s[r],i=Hr(n);e.push(i);}return e}d();f();d();f();var M6=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function $6(s){return M6.test(s)}function q6(s){return Os(M6,s)}var F6=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function K6(s){return F6.test(s)}function G6(s){return Os(F6,s)}var W6=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function J6(s){return W6.test(s)}function z6(s){return Os(W6,s)}var Y6=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Kn(s){return Y6.test(s)}function Z6(s){return Os(Y6,s)}var X6=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function Q6(s){return X6.test(s)}function e3(s){return Os(X6,s)}var t3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function s3(s){return t3.test(s)}function r3(s){return Os(t3,s)}var PB=/^receive\(\) external payable$/;function n3(s){return PB.test(s)}var Wb=new Set(["memory","indexed","storage","calldata"]),i3=new Set(["indexed"]),pp=new Set(["calldata","memory","storage"]);d();f();d();f();var gp=class extends Nt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},yp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},wp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();f();var bp=class extends Nt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},Sp=class extends Nt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},vp=class extends Nt{constructor({param:e,name:t}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${t}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},Ep=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},xp=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},Ap=class extends Nt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();f();var Er=class extends Nt{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Ip=class extends Nt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Cp=class extends Nt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();f();var Np=class extends Nt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();f();d();f();var kp=class extends Nt{constructor({current:e,depth:t}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${t>0?"opening":"closing"} parentheses.`],details:`Depth "${t}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();f();function a3(s,e,t){let r="";if(t)for(let n of Object.entries(t)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${s}${r}`:s}var Pp=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oh(s,e={}){if(J6(s))return TB(s,e);if(K6(s))return BB(s,e);if($6(s))return OB(s,e);if(Q6(s))return RB(s,e);if(s3(s))return VB(s);if(n3(s))return {type:"receive",stateMutability:"payable"};throw new Ip({signature:s})}function TB(s,e={}){let t=z6(s);if(!t)throw new Er({signature:s,type:"function"});let r=As(t.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(Ys(r[o],{modifiers:pp,structs:e,type:"function"}));let a=[];if(t.returns){let o=As(t.returns),c=o.length;for(let u=0;u<c;u++)a.push(Ys(o[u],{modifiers:pp,structs:e,type:"function"}));}return {name:t.name,type:"function",stateMutability:t.stateMutability??"nonpayable",inputs:n,outputs:a}}function BB(s,e={}){let t=G6(s);if(!t)throw new Er({signature:s,type:"event"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{modifiers:i3,structs:e,type:"event"}));return {name:t.name,type:"event",inputs:n}}function OB(s,e={}){let t=q6(s);if(!t)throw new Er({signature:s,type:"error"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"error"}));return {name:t.name,type:"error",inputs:n}}function RB(s,e={}){let t=e3(s);if(!t)throw new Er({signature:s,type:"constructor"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:t.stateMutability??"nonpayable",inputs:n}}function VB(s){let e=r3(s);if(!e)throw new Er({signature:s,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var DB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,UB=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,LB=/^u?int$/;function Ys(s,e){let t=a3(s,e?.type,e?.structs);if(Pp.has(t))return Pp.get(t);let r=dp.test(s),n=Os(r?UB:DB,s);if(!n)throw new Sp({param:s});if(n.name&&HB(n.name))throw new vp({param:s,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let m=As(n.type),w=[],E=m.length;for(let v=0;v<E;v++)w.push(Ys(m[v],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(LB.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!Jb(c))throw new wp({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new Ep({param:s,type:e?.type,modifier:n.modifier});if(pp.has(n.modifier)&&!_B(c,!!n.array))throw new xp({param:s,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return Pp.set(t,l),l}function As(s,e=[],t="",r=0){let n=s.trim().length;for(let i=0;i<n;i++){let a=s[i],o=s.slice(i+1);switch(a){case",":return r===0?As(o,[...e,t.trim()]):As(o,e,`${t}${a}`,r);case"(":return As(o,e,`${t}${a}`,r+1);case")":return As(o,e,`${t}${a}`,r-1);default:return As(o,e,`${t}${a}`,r)}}if(t==="")return e;if(r!==0)throw new kp({current:t,depth:r});return e.push(t.trim()),e}function Jb(s){return s==="address"||s==="bool"||s==="function"||s==="string"||Fb.test(s)||Kb.test(s)}var jB=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function HB(s){return s==="address"||s==="bool"||s==="function"||s==="string"||s==="tuple"||Fb.test(s)||Kb.test(s)||jB.test(s)}function _B(s,e){return e||s==="bytes"||s==="string"||s==="tuple"}function jc(s){let e={},t=s.length;for(let a=0;a<t;a++){let o=s[a];if(!Kn(o))continue;let c=Z6(o);if(!c)throw new Er({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],m=u.length;for(let w=0;w<m;w++){let v=u[w].trim();if(!v)continue;let A=Ys(v,{type:"struct"});l.push(A);}if(!l.length)throw new Cp({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=o3(c,e);}return r}var MB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function o3(s,e,t=new Set){let r=[],n=s.length;for(let i=0;i<n;i++){let a=s[i];if(dp.test(a.type))r.push(a);else {let c=Os(MB,a.type);if(!c?.type)throw new Ap({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(t.has(l))throw new Np({type:l});r.push({...a,type:`tuple${u??""}`,components:o3(e[l]??[],e,new Set([...t,l]))});}else if(Jb(l))r.push(a);else throw new yp({type:l})}}return r}function zb(s){let e=jc(s),t=[],r=s.length;for(let n=0;n<r;n++){let i=s[n];Kn(i)||t.push(Oh(i,e));}return t}d();f();function Tp(s){let e;if(typeof s=="string")e=Oh(s);else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(!Kn(i)){e=Oh(i,t);break}}}if(!e)throw new gp({signature:s});return e}d();f();function Bp(s){let e=[];if(typeof s=="string"){let t=As(s),r=t.length;for(let n=0;n<r;n++)e.push(Ys(t[n],{modifiers:Wb}));}else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(Kn(i))continue;let a=As(i),o=a.length;for(let c=0;c<o;c++)e.push(Ys(a[c],{modifiers:Wb,structs:t}));}}if(e.length===0)throw new bp({params:s});return e}d();f();function c3(s){for(let e of s)if(typeof e!="string")return !1;return !0}function qB(s){return Gb(s)}function FB(s){return c3(s)?zb(s):s}d();f();d();f();d();f();d();f();var u3="0.1.1";function l3(){return u3}var re=class s extends Error{static setStaticOptions(e){s.prototype.docsOrigin=e.docsOrigin,s.prototype.showVersion=e.showVersion,s.prototype.version=e.version;}constructor(e,t={}){let r=(()=>{if(t.cause instanceof s){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&"details"in t.cause&&typeof t.cause.details=="string"?t.cause.details:t.cause?.message?t.cause.message:t.details})(),n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=t.docsOrigin??s.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(t.version??s.prototype.showVersion),c=t.version??s.prototype.version,u=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
- `);super(u,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=t.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return h3(this,e)}};Object.defineProperty(re,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${l3()}`}});re.setStaticOptions(re.defaultStaticOptions);function h3(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause?h3(s.cause,e):e?null:s}var ye={};Te(ye,{keccak256:()=>Tt,ripemd160:()=>VO,sha256:()=>Jh,validate:()=>xS});d();f();d();f();d();f();d();f();d();f();d();f();var Ea=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function KB(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function xa(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function xr(s,...e){if(!KB(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function f3(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");xa(s.outputLen),xa(s.blockLen);}function _r(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Rp(s,e){xr(s);let t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function d3(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function ps(...s){for(let e=0;e<s.length;e++)s[e].fill(0);}function Vp(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Zs(s,e){return s<<32-e|s>>>e}function Rh(s,e){return s<<e|s>>>32-e>>>0}var GB=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function WB(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function JB(s){for(let e=0;e<s.length;e++)s[e]=WB(s[e]);return s}var Yb=GB?s=>s:JB;function zB(s){if(typeof s!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(s))}function Aa(s){return typeof s=="string"&&(s=zB(s)),xr(s),s}function m3(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];xr(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}var Gn=class{};function Wn(s){let e=r=>s().update(Aa(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function p3(s=32){if(Ea&&typeof Ea.getRandomValues=="function")return Ea.getRandomValues(new Uint8Array(s));if(Ea&&typeof Ea.randomBytes=="function")return Uint8Array.from(Ea.randomBytes(s));throw new Error("crypto.getRandomValues must be defined")}function YB(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}function Zb(s,e,t){return s&e^~s&t}function Xb(s,e,t){return s&e^s&t^e&t}var Ia=class extends Gn{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Vp(this.buffer);}update(e){_r(this),e=Aa(e),xr(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Vp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){_r(this),Rp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,ps(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;YB(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Vp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Jt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),zt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ZB=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),y3=Uint8Array.from(new Array(16).fill(0).map((s,e)=>e)),XB=y3.map(s=>(9*s+5)%16),w3=(()=>{let t=[[y3],[XB]];for(let r=0;r<4;r++)for(let n of t)n.push(n[r].map(i=>ZB[i]));return t})(),b3=w3[0],S3=w3[1],v3=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(s=>Uint8Array.from(s)),QB=b3.map((s,e)=>s.map(t=>v3[e][t])),eO=S3.map((s,e)=>s.map(t=>v3[e][t])),tO=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),sO=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function g3(s,e,t,r){return s===0?e^t^r:s===1?e&t|~e&r:s===2?(e|~t)^r:s===3?e&r|t&~r:e^(t|~r)}var Dp=new Uint32Array(16),Up=class extends Ia{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776;}get(){let{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.h0=e|0,this.h1=t|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,t){for(let E=0;E<16;E++,t+=4)Dp[E]=e.getUint32(t,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,m=this.h4|0,w=m;for(let E=0;E<5;E++){let v=4-E,A=tO[E],C=sO[E],D=b3[E],U=S3[E],T=QB[E],P=eO[E];for(let B=0;B<16;B++){let G=Rh(r+g3(E,i,o,u)+Dp[D[B]]+A,T[B])+m|0;r=m,m=u,u=Rh(o,10)|0,o=i,i=G;}for(let B=0;B<16;B++){let G=Rh(n+g3(v,a,c,l)+Dp[U[B]]+C,P[B])+w|0;n=w,w=l,l=Rh(c,10)|0,c=a,a=G;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+m+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){ps(Dp);}destroy(){this.destroyed=!0,ps(this.buffer),this.set(0,0,0,0,0);}},E3=Wn(()=>new Up);var x3=E3;d();f();d();f();var Lp=BigInt(4294967295),A3=BigInt(32);function rO(s,e=!1){return e?{h:Number(s&Lp),l:Number(s>>A3&Lp)}:{h:Number(s>>A3&Lp)|0,l:Number(s&Lp)|0}}function jp(s,e=!1){let t=s.length,r=new Uint32Array(t),n=new Uint32Array(t);for(let i=0;i<t;i++){let{h:a,l:o}=rO(s[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var Qb=(s,e,t)=>s>>>t,eS=(s,e,t)=>s<<32-t|e>>>t,Ca=(s,e,t)=>s>>>t|e<<32-t,Na=(s,e,t)=>s<<32-t|e>>>t,Vh=(s,e,t)=>s<<64-t|e>>>t-32,Dh=(s,e,t)=>s>>>t-32|e<<64-t;var I3=(s,e,t)=>s<<t|e>>>32-t,C3=(s,e,t)=>e<<t|s>>>32-t,N3=(s,e,t)=>e<<t-32|s>>>64-t,k3=(s,e,t)=>s<<t-32|e>>>64-t;function Ar(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var P3=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),T3=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,B3=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),O3=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,R3=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),V3=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var iO=BigInt(0),Uh=BigInt(1),aO=BigInt(2),oO=BigInt(7),cO=BigInt(256),uO=BigInt(113),L3=[],j3=[],H3=[];for(let s=0,e=Uh,t=1,r=0;s<24;s++){[t,r]=[r,(2*t+3*r)%5],L3.push(2*(5*r+t)),j3.push((s+1)*(s+2)/2%64);let n=iO;for(let i=0;i<7;i++)e=(e<<Uh^(e>>oO)*uO)%cO,e&aO&&(n^=Uh<<(Uh<<BigInt(i))-Uh);H3.push(n);}var _3=jp(H3,!0),lO=_3[0],hO=_3[1],D3=(s,e,t)=>t>32?N3(s,e,t):I3(s,e,t),U3=(s,e,t)=>t>32?k3(s,e,t):C3(s,e,t);function fO(s,e=24){let t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)t[a]=s[a]^s[a+10]^s[a+20]^s[a+30]^s[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=t[c],l=t[c+1],m=D3(u,l,1)^t[o],w=U3(u,l,1)^t[o+1];for(let E=0;E<50;E+=10)s[a+E]^=m,s[a+E+1]^=w;}let n=s[2],i=s[3];for(let a=0;a<24;a++){let o=j3[a],c=D3(n,i,o),u=U3(n,i,o),l=L3[a];n=s[l],i=s[l+1],s[l]=c,s[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)t[o]=s[a+o];for(let o=0;o<10;o++)s[a+o]^=~t[(o+2)%10]&t[(o+4)%10];}s[0]^=lO[r],s[1]^=hO[r];}ps(t);}var tS=class s extends Gn{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,xa(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=d3(this.state);}clone(){return this._cloneInto()}keccak(){Yb(this.state32),fO(this.state32,this.rounds),Yb(this.state32),this.posOut=0,this.pos=0;}update(e){_r(this),e=Aa(e),xr(e);let{blockLen:t,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(t-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,t&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){_r(this,!1),xr(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return xa(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Rp(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,ps(this.state);}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new s(t,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},dO=(s,e,t)=>Wn(()=>new tS(e,s,t));var M3=dO(1,136,256/8);d();f();d();f();var mO=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Jn=new Uint32Array(64),Hp=class extends Ia{constructor(e=32){super(64,e,8,!1),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)Jn[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=Jn[m-15],E=Jn[m-2],v=Zs(w,7)^Zs(w,18)^w>>>3,A=Zs(E,17)^Zs(E,19)^E>>>10;Jn[m]=A+Jn[m-7]+v+Jn[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=Zs(o,6)^Zs(o,11)^Zs(o,25),E=l+w+Zb(o,c,u)+mO[m]+Jn[m]|0,A=(Zs(r,2)^Zs(r,13)^Zs(r,22))+Xb(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){ps(Jn);}destroy(){this.set(0,0,0,0,0,0,0,0),ps(this.buffer);}};var $3=jp(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),pO=$3[0],gO=$3[1],zn=new Uint32Array(80),Yn=new Uint32Array(80),_p=class extends Ia{constructor(e=64){super(128,e,16,!1),this.Ah=zt[0]|0,this.Al=zt[1]|0,this.Bh=zt[2]|0,this.Bl=zt[3]|0,this.Ch=zt[4]|0,this.Cl=zt[5]|0,this.Dh=zt[6]|0,this.Dl=zt[7]|0,this.Eh=zt[8]|0,this.El=zt[9]|0,this.Fh=zt[10]|0,this.Fl=zt[11]|0,this.Gh=zt[12]|0,this.Gl=zt[13]|0,this.Hh=zt[14]|0,this.Hl=zt[15]|0;}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)zn[T]=e.getUint32(t),Yn[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=zn[T-15]|0,B=Yn[T-15]|0,G=Ca(P,B,1)^Ca(P,B,8)^Qb(P,B,7),se=Na(P,B,1)^Na(P,B,8)^eS(P,B,7),X=zn[T-2]|0,ae=Yn[T-2]|0,fe=Ca(X,ae,19)^Vh(X,ae,61)^Qb(X,ae,6),te=Na(X,ae,19)^Dh(X,ae,61)^eS(X,ae,6),oe=B3(se,te,Yn[T-7],Yn[T-16]),me=O3(oe,G,fe,zn[T-7],zn[T-16]);zn[T]=me|0,Yn[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Ca(m,w,14)^Ca(m,w,18)^Vh(m,w,41),B=Na(m,w,14)^Na(m,w,18)^Dh(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=R3(U,B,se,gO[T],Yn[T]),ae=V3(X,D,P,G,pO[T],zn[T]),fe=X|0,te=Ca(r,n,28)^Vh(r,n,34)^Vh(r,n,39),oe=Na(r,n,28)^Dh(r,n,34)^Dh(r,n,39),me=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Ar(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=P3(fe,oe,_e);r=T3(J,ae,te,me),n=J|0;}(({h:r,l:n}=Ar(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Ar(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Ar(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Ar(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Ar(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Ar(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Ar(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Ar(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){ps(zn,Yn);}destroy(){ps(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},sS=class extends _p{constructor(){super(48),this.Ah=Jt[0]|0,this.Al=Jt[1]|0,this.Bh=Jt[2]|0,this.Bl=Jt[3]|0,this.Ch=Jt[4]|0,this.Cl=Jt[5]|0,this.Dh=Jt[6]|0,this.Dl=Jt[7]|0,this.Eh=Jt[8]|0,this.El=Jt[9]|0,this.Fh=Jt[10]|0,this.Fl=Jt[11]|0,this.Gh=Jt[12]|0,this.Gl=Jt[13]|0,this.Hh=Jt[14]|0,this.Hl=Jt[15]|0;}};var Hc=Wn(()=>new Hp);var q3=Wn(()=>new _p),F3=Wn(()=>new sS);var K3=Hc;var p={};Te(p,{InvalidBytesBooleanError:()=>Gp,InvalidBytesTypeError:()=>Va,SizeExceedsPaddingSizeError:()=>Mh,SizeOverflowError:()=>_h,SliceOffsetOutOfBoundsError:()=>qc,assert:()=>iC,concat:()=>wS,from:()=>Gr,fromArray:()=>aC,fromBoolean:()=>TO,fromHex:()=>ut,fromNumber:()=>BO,fromString:()=>Wr,isEqual:()=>OO,padLeft:()=>oC,padRight:()=>cC,random:()=>yS,size:()=>Rs,slice:()=>bS,toBigInt:()=>SS,toBoolean:()=>vS,toHex:()=>RO,toNumber:()=>er,toString:()=>Wp,trimLeft:()=>Jp,trimRight:()=>Kp,validate:()=>ES});d();f();d();f();var aS=BigInt(0),iS=BigInt(1);function _c(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function oS(s){if(!_c(s))throw new Error("Uint8Array expected")}function Mc(s,e){if(typeof e!="boolean")throw new Error(s+" boolean expected, got "+e)}function Lh(s){let e=s.toString(16);return e.length&1?"0"+e:e}function J3(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return s===""?aS:BigInt("0x"+s)}var z3=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",yO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function $c(s){if(oS(s),z3)return s.toHex();let e="";for(let t=0;t<s.length;t++)e+=yO[s[t]];return e}var $r={_0:48,_9:57,A:65,F:70,a:97,f:102};function G3(s){if(s>=$r._0&&s<=$r._9)return s-$r._0;if(s>=$r.A&&s<=$r.F)return s-($r.A-10);if(s>=$r.a&&s<=$r.f)return s-($r.a-10)}function jh(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);if(z3)return Uint8Array.fromHex(s);let e=s.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;n<t;n++,i+=2){let a=G3(s.charCodeAt(i)),o=G3(s.charCodeAt(i+1));if(a===void 0||o===void 0){let c=s[i]+s[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function qr(s){return J3($c(s))}function cS(s){return oS(s),J3($c(Uint8Array.from(s).reverse()))}function ka(s,e){return jh(s.toString(16).padStart(e*2,"0"))}function uS(s,e){return ka(s,e).reverse()}function Is(s,e,t){let r;if(typeof e=="string")try{r=jh(e);}catch(i){throw new Error(s+" must be hex string or Uint8Array, cause: "+i)}else if(_c(e))r=Uint8Array.from(e);else throw new Error(s+" must be hex string or Uint8Array");let n=r.length;if(typeof t=="number"&&n!==t)throw new Error(s+" of length "+t+" expected, got "+n);return r}function Hh(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];oS(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function Mp(s,e){if(s.length!==e.length)return !1;let t=0;for(let r=0;r<s.length;r++)t|=s[r]^e[r];return t===0}var rS=s=>typeof s=="bigint"&&aS<=s;function $p(s,e,t){return rS(s)&&rS(e)&&rS(t)&&e<=s&&s<t}function Pa(s,e,t,r){if(!$p(e,t,r))throw new Error("expected valid "+s+": "+t+" <= n < "+r+", got "+e)}function Y3(s){let e;for(e=0;s>aS;s>>=iS,e+=1);return e}var Ta=s=>(iS<<BigInt(s))-iS,nS=s=>new Uint8Array(s),W3=s=>Uint8Array.from(s);function Z3(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=nS(s),n=nS(s),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...m)=>t(n,r,...m),c=(m=nS(0))=>{n=o(W3([0]),m),r=o(),m.length!==0&&(n=o(W3([1]),m),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let m=0,w=[];for(;m<e;){r=o();let E=r.slice();w.push(E),m+=r.length;}return Hh(...w)};return (m,w)=>{a(),c(m);let E;for(;!(E=w(u()));)c();return a(),E}}var wO={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||_c(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Ba(s,e,t={}){let r=(n,i,a)=>{let o=wO[i];if(typeof o!="function")throw new Error("invalid validator function");let c=s[n];if(!(a&&c===void 0)&&!o(c,s))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}function lS(s){let e=new WeakMap;return (t,...r)=>{let n=e.get(t);if(n!==void 0)return n;let i=s(t,...r);return e.set(t,i),i}}var R={};Te(R,{IntegerOutOfRangeError:()=>Gc,InvalidHexBooleanError:()=>qp,InvalidHexTypeError:()=>Fh,InvalidHexValueError:()=>Kh,InvalidLengthError:()=>Gh,SizeExceedsPaddingSizeError:()=>qh,SizeOverflowError:()=>$h,SliceOffsetOutOfBoundsError:()=>Fc,assert:()=>nC,concat:()=>st,from:()=>gs,fromBoolean:()=>Wh,fromBytes:()=>Re,fromNumber:()=>ve,fromString:()=>Cs,isEqual:()=>EO,padLeft:()=>Ir,padRight:()=>Qs,random:()=>xO,size:()=>We,slice:()=>wt,toBigInt:()=>Fp,toBoolean:()=>IO,toBytes:()=>CO,toNumber:()=>gS,toString:()=>NO,trimLeft:()=>Ra,trimRight:()=>AO,validate:()=>ys});d();f();d();f();function Kr(s,e){if(Rs(s)>e)throw new _h({givenSize:Rs(s),maxSize:e})}function X3(s,e){if(typeof e=="number"&&e>0&&e>Rs(s)-1)throw new qc({offset:e,position:"start",size:Rs(s)})}function Q3(s,e,t){if(typeof e=="number"&&typeof t=="number"&&Rs(s)!==t-e)throw new qc({offset:t,position:"end",size:Rs(s)})}var Fr={zero:48,nine:57,A:65,F:70,a:97,f:102};function hS(s){if(s>=Fr.zero&&s<=Fr.nine)return s-Fr.zero;if(s>=Fr.A&&s<=Fr.F)return s-(Fr.A-10);if(s>=Fr.a&&s<=Fr.f)return s-(Fr.a-10)}function fS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;if(s.length>r)throw new Mh({size:s.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=t==="right";n[a?i:r-i-1]=s[a?i:s.length-i-1];}return n}function dS(s,e={}){let{dir:t="left"}=e,r=s,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r}d();f();function Oa(s,e){if(We(s)>e)throw new $h({givenSize:We(s),maxSize:e})}function tC(s,e){if(typeof e=="number"&&e>0&&e>We(s)-1)throw new Fc({offset:e,position:"start",size:We(s)})}function sC(s,e,t){if(typeof e=="number"&&typeof t=="number"&&We(s)!==t-e)throw new Fc({offset:t,position:"end",size:We(s)})}function mS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;let n=s.replace("0x","");if(n.length>r*2)throw new qh({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function pS(s,e={}){let{dir:t="left"}=e,r=s.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":t==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();f();var bO="#__bigint";function Xs(s,e,t){return JSON.stringify(s,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+bO:n,t)}var SO=new TextEncoder,vO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function nC(s,e={}){let{strict:t=!1}=e;if(!s)throw new Fh(s);if(typeof s!="string")throw new Fh(s);if(t&&!/^0x[0-9a-fA-F]*$/.test(s))throw new Kh(s);if(!s.startsWith("0x"))throw new Kh(s)}function st(...s){return `0x${s.reduce((e,t)=>e+t.replace("0x",""),"")}`}function gs(s){return s instanceof Uint8Array?Re(s):Array.isArray(s)?Re(new Uint8Array(s)):s}function Wh(s,e={}){let t=`0x${Number(s)}`;return typeof e.size=="number"?(Oa(t,e.size),Ir(t,e.size)):t}function Re(s,e={}){let t="";for(let n=0;n<s.length;n++)t+=vO[s[n]];let r=`0x${t}`;return typeof e.size=="number"?(Oa(r,e.size),Qs(r,e.size)):r}function ve(s,e={}){let{signed:t,size:r}=e,n=BigInt(s),i;r?t?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof s=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&t?-i-1n:0;if(i&&n>i||n<a){let u=typeof s=="bigint"?"n":"";throw new Gc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:t,size:r,value:`${s}${u}`})}let c=`0x${(t&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?Ir(c,r):c}function Cs(s,e={}){return Re(SO.encode(s),e)}function EO(s,e){return Mp(ut(s),ut(e))}function Ir(s,e){return mS(s,{dir:"left",size:e})}function Qs(s,e){return mS(s,{dir:"right",size:e})}function xO(s){return Re(yS(s))}function wt(s,e,t,r={}){let{strict:n}=r;tC(s,e);let i=`0x${s.replace("0x","").slice((e??0)*2,(t??s.length)*2)}`;return n&&sC(i,e,t),i}function We(s){return Math.ceil((s.length-2)/2)}function Ra(s){return pS(s,{dir:"left"})}function AO(s){return pS(s,{dir:"right"})}function Fp(s,e={}){let{signed:t}=e;e.size&&Oa(s,e.size);let r=BigInt(s);if(!t)return r;let n=(s.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function IO(s,e={}){e.size&&Oa(s,e.size);let t=Ra(s);if(t==="0x")return !1;if(t==="0x1")return !0;throw new qp(s)}function CO(s,e={}){return ut(s,e)}function gS(s,e={}){let{signed:t,size:r}=e;return Number(!t&&!r?s:Fp(s,e))}function NO(s,e={}){let{size:t}=e,r=ut(s);return t&&(Kr(r,t),r=Kp(r)),new TextDecoder().decode(r)}function ys(s,e={}){let{strict:t=!1}=e;try{return nC(s,{strict:t}),!0}catch{return !1}}var Gc=class extends re{constructor({max:e,min:t,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},qp=class extends re{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Fh=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Kh=class extends re{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Gh=class extends re{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},$h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},Fc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},qh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var kO=new TextDecoder,PO=new TextEncoder;function iC(s){if(!(s instanceof Uint8Array)){if(!s)throw new Va(s);if(typeof s!="object")throw new Va(s);if(!("BYTES_PER_ELEMENT"in s))throw new Va(s);if(s.BYTES_PER_ELEMENT!==1||s.constructor.name!=="Uint8Array")throw new Va(s)}}function wS(...s){let e=0;for(let r of s)e+=r.length;let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function Gr(s){return s instanceof Uint8Array?s:typeof s=="string"?ut(s):aC(s)}function aC(s){return s instanceof Uint8Array?s:new Uint8Array(s)}function TO(s,e={}){let{size:t}=e,r=new Uint8Array(1);return r[0]=Number(s),typeof t=="number"?(Kr(r,t),oC(r,t)):r}function ut(s,e={}){let{size:t}=e,r=s;t&&(Oa(s,t),r=Qs(s,t));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=hS(n.charCodeAt(c++)),l=hS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new re(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function BO(s,e){let t=ve(s,e);return ut(t)}function Wr(s,e={}){let{size:t}=e,r=PO.encode(s);return typeof t=="number"?(Kr(r,t),cC(r,t)):r}function OO(s,e){return Mp(s,e)}function oC(s,e){return fS(s,{dir:"left",size:e})}function cC(s,e){return fS(s,{dir:"right",size:e})}function yS(s){return crypto.getRandomValues(new Uint8Array(s))}function Rs(s){return s.length}function bS(s,e,t,r={}){let{strict:n}=r;X3(s,e);let i=s.slice(e,t);return n&&Q3(i,e,t),i}function SS(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return Fp(r,e)}function vS(s,e={}){let{size:t}=e,r=s;if(typeof t<"u"&&(Kr(r,t),r=Jp(r)),r.length>1||r[0]>1)throw new Gp(r);return !!r[0]}function RO(s,e={}){return Re(s,e)}function er(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return gS(r,e)}function Wp(s,e={}){let{size:t}=e,r=s;return typeof t<"u"&&(Kr(r,t),r=Kp(r)),kO.decode(r)}function Jp(s){return dS(s,{dir:"left"})}function Kp(s){return dS(s,{dir:"right"})}function ES(s){try{return iC(s),!0}catch{return !1}}var Gp=class extends re{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},Va=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},_h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},qc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Mh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Tt(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=M3(Gr(s));return t==="Bytes"?r:Re(r)}function VO(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=x3(Gr(s));return t==="Bytes"?r:Re(r)}function Jh(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=K3(Gr(s));return t==="Bytes"?r:Re(r)}function xS(s){return ys(s)&&We(s)===32}d();f();var M={};Te(M,{InvalidAddressError:()=>Da,InvalidChecksumError:()=>Xp,InvalidInputError:()=>Wc,assert:()=>ws,checksum:()=>Yh,from:()=>dC,fromPublicKey:()=>kS,isEqual:()=>PS,validate:()=>Ua});d();f();d();f();d();f();var zp=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var DO={checksum:new zp(8192)},Yp=DO.checksum;d();f();function lC(s,e={}){let{compressed:t}=e,{prefix:r,x:n,y:i}=s;if(t===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new Zp({prefix:r,cause:new CS});return}if(t===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new Zp({prefix:r,cause:new IS});return}throw new AS({publicKey:s})}function Jr(s){let e=(()=>{if(ys(s))return hC(s);if(ES(s))return UO(s);let{prefix:t,x:r,y:n}=s;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:t??4,x:r,y:n}:{prefix:t,x:r}})();return lC(e),e}function UO(s){return hC(Re(s))}function hC(s){if(s.length!==132&&s.length!==130&&s.length!==68)throw new NS({publicKey:s});if(s.length===130){let r=BigInt(wt(s,0,32)),n=BigInt(wt(s,32,64));return {prefix:4,x:r,y:n}}if(s.length===132){let r=Number(wt(s,0,1)),n=BigInt(wt(s,1,33)),i=BigInt(wt(s,33,65));return {prefix:r,x:n,y:i}}let e=Number(wt(s,0,1)),t=BigInt(wt(s,1,33));return {prefix:e,x:t}}function fC(s,e={}){return ut(Zn(s,e))}function Zn(s,e={}){lC(s);let{prefix:t,x:r,y:n}=s,{includePrefix:i=!0}=e;return st(i?ve(t,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var AS=class extends re{constructor({publicKey:e}){super(`Value \`${Xs(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},Zp=class extends re{constructor({prefix:e,cause:t}){super(`Prefix "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},IS=class extends re{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},CS=class extends re{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},NS=class extends re{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var LO=/^0x[a-fA-F0-9]{40}$/;function ws(s,e={}){let{strict:t=!0}=e;if(!LO.test(s))throw new Da({address:s,cause:new Wc});if(t){if(s.toLowerCase()===s)return;if(Yh(s)!==s)throw new Da({address:s,cause:new Xp})}}function Yh(s){if(Yp.has(s))return Yp.get(s);ws(s,{strict:!1});let e=s.substring(2).toLowerCase(),t=Tt(Wr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)t[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(t[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return Yp.set(s,n),n}function dC(s,e={}){let{checksum:t=!1}=e;return ws(s),t?Yh(s):s}function kS(s,e={}){let t=Tt(`0x${Zn(s).slice(4)}`).substring(26);return dC(`0x${t}`,e)}function PS(s,e){return ws(s,{strict:!1}),ws(e,{strict:!1}),s.toLowerCase()===e.toLowerCase()}function Ua(s,e={}){let{strict:t=!0}=e??{};try{return ws(s,{strict:t}),!0}catch{return !1}}var Da=class extends re{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Wc=class extends re{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},Xp=class extends re{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function eg(s){let e=!0,t="",r=0,n="",i=!1;for(let a=0;a<s.length;a++){let o=s[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){s[a-1]!==","&&t!==","&&t!==",("&&(t="",e=!1);continue}n+=o,t+=o;}}if(!i)throw new re("Unable to normalize signature.");return n}function Qp(s,e){let t=typeof s,r=e.type;switch(r){case"address":return Ua(s,{strict:!1});case"bool":return t==="boolean";case"function":return t==="string";case"string":return t==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>Qp(Object.values(s)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?t==="number"||t==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?t==="string"||s instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(s)&&s.every(n=>Qp(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function TS(s,e,t){for(let r in s){let n=s[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return TS(n.components,i.components,t[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?Ua(t[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?Ua(t[r],{strict:!1}):!1)return a}}function mC(s,e={}){let{prepare:t=!0}=e,r=Array.isArray(s)?Tp(s):typeof s=="string"?Tp(s):s;return {...r,...t?{hash:Jc(r)}:{}}}function Zh(s,e,t){let{args:r=[],prepare:n=!0}=t??{},i=ys(e,{strict:!1}),a=s.filter(u=>i?u.type==="function"||u.type==="error"?OS(u)===wt(e,0,4):u.type==="event"?Jc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new zc({name:e});if(a.length===1)return {...a[0],...n?{hash:Jc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Jc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((m,w)=>{let E="inputs"in u&&u.inputs[w];return E?Qp(m,E):!1})){if(o&&"inputs"in o&&o.inputs){let m=TS(u.inputs,o.inputs,r);if(m)throw new BS({abiItem:u,type:m[0]},{abiItem:o,type:m[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new zc({name:e});return {...c,...n?{hash:Jc(c)}:{}}}function OS(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return wt(Jc(e),0,4)}function HO(...s){let e=(()=>{if(Array.isArray(s[0])){let[r,n]=s;return Zh(r,n)}return s[0]})(),t=typeof e=="string"?e:Hr(e);return eg(t)}function Jc(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Tt(Cs(HO(e)))}var BS=class extends re{constructor(e,t){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${eg(Hr(e.abiItem))}\`, and`,`\`${t.type}\` in \`${eg(Hr(t.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},zc=class extends re{constructor({name:e,data:t,type:r="item"}){let n=e?` with name "${e}"`:t?` with data "${t}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},tg=class extends re{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${We(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var xt={};Te(xt,{ArrayLengthMismatchError:()=>Qh,BytesSizeMismatchError:()=>Zc,DataSizeTooSmallError:()=>og,InvalidArrayError:()=>ef,InvalidTypeError:()=>ja,LengthMismatchError:()=>sf,ZeroDataError:()=>cg,decode:()=>Xc,encode:()=>zr,encodePacked:()=>ag,format:()=>sR,from:()=>ug});d();f();d();f();d();f();var gC=/^(.*)\[([0-9]*)\]$/,sg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yc=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,RS=2n**256n-1n;function La(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=US(e.type);if(i){let[a,o]=i;return MO(s,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return KO(s,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return _O(s,{checksum:r});if(e.type==="bool")return $O(s);if(e.type.startsWith("bytes"))return qO(s,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return FO(s,e);if(e.type==="string")return GO(s,{staticPosition:n});throw new ja(e.type)}var yC=32,VS=32;function _O(s,e={}){let{checksum:t=!1}=e,r=s.readBytes(32);return [(i=>t?Yh(i):i)(Re(bS(r,-20))),32]}function MO(s,e,t){let{checksumAddress:r,length:n,staticPosition:i}=t;if(!n){let c=er(s.readBytes(VS)),u=i+c,l=u+yC;s.setPosition(u);let m=er(s.readBytes(yC)),w=Xh(e),E=0,v=[];for(let A=0;A<m;++A){s.setPosition(l+(w?A*32:E));let[C,D]=La(s,e,{checksumAddress:r,staticPosition:l});E+=D,v.push(C);}return s.setPosition(i+32),[v,32]}if(Xh(e)){let c=er(s.readBytes(VS)),u=i+c,l=[];for(let m=0;m<n;++m){s.setPosition(u+m*32);let[w]=La(s,e,{checksumAddress:r,staticPosition:u});l.push(w);}return s.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=La(s,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function $O(s){return [vS(s.readBytes(32),{size:32}),32]}function qO(s,e,{staticPosition:t}){let[r,n]=e.type.split("bytes");if(!n){let a=er(s.readBytes(32));s.setPosition(t+a);let o=er(s.readBytes(32));if(o===0)return s.setPosition(t+32),["0x",32];let c=s.readBytes(o);return s.setPosition(t+32),[Re(c),32]}return [Re(s.readBytes(Number.parseInt(n,10),32)),32]}function FO(s,e){let t=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=s.readBytes(32);return [r>48?SS(n,{signed:t}):er(n,{signed:t}),32]}function KO(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(Xh(e)){let c=er(s.readBytes(VS)),u=n+c;for(let l=0;l<e.components.length;++l){let m=e.components[l];s.setPosition(u+o);let[w,E]=La(s,m,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:m?.name]=w;}return s.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,m]=La(s,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=m;}return [a,o]}function GO(s,{staticPosition:e}){let t=er(s.readBytes(32)),r=e+t;s.setPosition(r);let n=er(s.readBytes(32));if(n===0)return s.setPosition(e+32),["",32];let i=s.readBytes(n,32),a=Wp(Jp(i));return s.setPosition(e+32),[a,32]}function wC({checksumAddress:s,parameters:e,values:t}){let r=[];for(let n=0;n<e.length;n++)r.push(DS({checksumAddress:s,parameter:e[n],value:t[n]}));return r}function DS({checksumAddress:s=!1,parameter:e,value:t}){let r=e,n=US(r.type);if(n){let[i,a]=n;return JO(t,{checksumAddress:s,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return QO(t,{checksumAddress:s,parameter:r});if(r.type==="address")return WO(t,{checksum:s});if(r.type==="bool")return YO(t);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=Yc.exec(r.type)??[];return ZO(t,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return zO(t,{type:r.type});if(r.type==="string")return XO(t);throw new ja(r.type)}function ng(s){let e=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?e+=32:e+=We(o);}let t=[],r=[],n=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?(t.push(ve(e+n,{size:32})),r.push(o),n+=We(o)):t.push(o);}return st(...t,...r)}function WO(s,e){let{checksum:t=!1}=e;return ws(s,{strict:t}),{dynamic:!1,encoded:Ir(s.toLowerCase())}}function JO(s,e){let{checksumAddress:t,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(s))throw new ef(s);if(!i&&s.length!==r)throw new Qh({expectedLength:r,givenLength:s.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<s.length;c++){let u=DS({checksumAddress:t,parameter:n,value:s[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=ng(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?st(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:st(...o.map(({encoded:c})=>c))}}function zO(s,{type:e}){let[,t]=e.split("bytes"),r=We(s);if(!t){let n=s;return r%32!==0&&(n=Qs(n,Math.ceil((s.length-2)/2/32)*32)),{dynamic:!0,encoded:st(Ir(ve(r,{size:32})),n)}}if(r!==Number.parseInt(t,10))throw new Zc({expectedSize:Number.parseInt(t,10),value:s});return {dynamic:!1,encoded:Qs(s)}}function YO(s){if(typeof s!="boolean")throw new re(`Invalid boolean value: "${s}" (type: ${typeof s}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:Ir(Wh(s))}}function ZO(s,{signed:e,size:t}){if(typeof t=="number"){let r=2n**(BigInt(t)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(s>r||s<n)throw new Gc({max:r.toString(),min:n.toString(),signed:e,size:t/8,value:s.toString()})}return {dynamic:!1,encoded:ve(s,{size:32,signed:e})}}function XO(s){let e=Cs(s),t=Math.ceil(We(e)/32),r=[];for(let n=0;n<t;n++)r.push(Qs(wt(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:st(Qs(ve(We(e),{size:32})),...r)}}function QO(s,e){let{checksumAddress:t,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(s)?a:o.name,u=DS({checksumAddress:t,parameter:o,value:s[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?ng(i):st(...i.map(({encoded:a})=>a))}}function US(s){let e=s.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function Xh(s){let{type:e}=s;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return s.components?.some(Xh);let t=US(s.type);return !!(t&&Xh({...s,type:t[1]}))}d();f();var tR={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new jS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(s){if(s<0||s>this.bytes.length-1)throw new LS({length:this.bytes.length,position:s})},decrementPosition(s){if(s<0)throw new ig({offset:s});let e=this.position-s;this.assertPosition(e),this.position=e;},getReadCount(s){return this.positionReadCount.get(s||this.position)||0},incrementPosition(s){if(s<0)throw new ig({offset:s});let e=this.position+s;this.assertPosition(e),this.position=e;},inspectByte(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(s,e){let t=e??this.position;return this.assertPosition(t+s-1),this.bytes.subarray(t,t+s)},inspectUint8(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(s){let e=s??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(s){let e=s??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(s){let e=s??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushBytes(s){this.assertPosition(this.position+s.length-1),this.bytes.set(s,this.position),this.position+=s.length;},pushUint8(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushUint16(s){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,s),this.position+=2;},pushUint24(s){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,s>>8),this.dataView.setUint8(this.position+2,s&255),this.position+=3;},pushUint32(s){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,s),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let s=this.inspectByte();return this.position++,s},readBytes(s,e){this.assertReadLimit(),this._touch();let t=this.inspectBytes(s);return this.position+=e??s,t},readUint8(){this.assertReadLimit(),this._touch();let s=this.inspectUint8();return this.position+=1,s},readUint16(){this.assertReadLimit(),this._touch();let s=this.inspectUint16();return this.position+=2,s},readUint24(){this.assertReadLimit(),this._touch();let s=this.inspectUint24();return this.position+=3,s},readUint32(){this.assertReadLimit(),this._touch();let s=this.inspectUint32();return this.position+=4,s},get remaining(){return this.bytes.length-this.position},setPosition(s){let e=this.position;return this.assertPosition(s),this.position=s,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let s=this.getReadCount();this.positionReadCount.set(this.position,s+1),s>0&&this.recursiveReadCount++;}};function tf(s,{recursiveReadLimit:e=8192}={}){let t=Object.create(tR);return t.bytes=s,t.dataView=new DataView(s.buffer,s.byteOffset,s.byteLength),t.positionReadCount=new Map,t.recursiveReadLimit=e,t}var ig=class extends re{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},LS=class extends re{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},jS=class extends re{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function Xc(s,e,t={}){let{as:r="Array",checksumAddress:n=!1}=t,i=typeof e=="string"?ut(e):e,a=tf(i);if(Rs(i)===0&&s.length>0)throw new cg;if(Rs(i)&&Rs(i)<32)throw new og({data:typeof e=="string"?e:Re(e),parameters:s,size:Rs(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<s.length;++u){let l=s[u];a.setPosition(o);let[m,w]=La(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(m):c[l.name??u]=m;}return c}function zr(s,e,t){let{checksumAddress:r=!1}=t??{};if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let n=wC({checksumAddress:r,parameters:s,values:e}),i=ng(n);return i.length===0?"0x":i}function ag(s,e){if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let t=[];for(let r=0;r<s.length;r++){let n=s[r],i=e[r];t.push(ag.encode(n,i));}return st(...t)}(function(s){function e(t,r,n=!1){if(t==="address"){let c=r;return ws(c),Ir(c.toLowerCase(),n?32:0)}if(t==="string")return Cs(r);if(t==="bytes")return r;if(t==="bool")return Ir(Wh(r),n?32:1);let i=t.match(Yc);if(i){let[c,u,l="256"]=i,m=Number.parseInt(l,10)/8;return ve(r,{size:n?32:m,signed:u==="int"})}let a=t.match(sg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new Zc({expectedSize:Number.parseInt(u,10),value:r});return Qs(r,n?32:0)}let o=t.match(gC);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let m=0;m<r.length;m++)l.push(e(u,r[m],!0));return l.length===0?"0x":st(...l)}throw new ja(t)}s.encode=e;})(ag||(ag={}));function sR(s){return vr(s)}function ug(s){return Array.isArray(s)&&typeof s[0]=="string"?Bp(s):typeof s=="string"?Bp(s):s}var og=class extends re{constructor({data:e,parameters:t,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${vr(t)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},cg=class extends re{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},Qh=class extends re{constructor({expectedLength:e,givenLength:t,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},Zc=class extends re{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${We(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},sf=class extends re{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`
339
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},ef=class extends re{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},ja=class extends re{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var de={};Te(de,{decodeData:()=>rR,decodeResult:()=>nR,encodeData:()=>iR,encodeResult:()=>aR,format:()=>oR,from:()=>cR,fromAbi:()=>Ha,getSelector:()=>SC});d();f();function rR(...s){let[e,t]=(()=>{if(Array.isArray(s[0])){let[i,a,o]=s;return [Ha(i,a),o]}return s})(),{overloads:r}=e;if(We(t)<4)throw new tg({data:t});if(e.inputs?.length===0)return;let n=r?Ha([e,...r],t):e;if(!(We(t)<=4))return Xc(n.inputs,wt(t,4))}function nR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[i,a,o,c]=s;return [Ha(i,a),o,c]}return s})(),n=Xc(e.outputs,t,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function iR(...s){let[e,t=[]]=(()=>{if(Array.isArray(s[0])){let[u,l,m]=s;return [Ha(u,l,{args:m}),m]}let[o,c]=s;return [o,c]})(),{overloads:r}=e,n=r?Ha([e,...r],e.name,{args:t}):e,i=SC(n),a=t.length>0?zr(n.inputs,t):void 0;return a?st(i,a):i}function aR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[a,o,c,u]=s;return [Ha(a,o),c,u]}return s})(),{as:n="Array"}=r,i=e.outputs.length===1?[t]:Array.isArray(t)?t:n==="Object"?Object.values(t):[t];return zr(e.outputs,i)}function oR(s){return Hr(s)}function cR(s,e={}){return mC(s,e)}function Ha(s,e,t){let r=Zh(s,e,t);if(r.type!=="function")throw new zc({name:e,type:"function"});return r}function SC(s){return OS(s)}d();f();function vC(s){let e=[];for(let t=0;t<s.length;t++){let[r,n]=s[t];r&&ws(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>xS(i)?i:Ra(i))});}return e}function EC(s){if(!s||s.length===0)return [];let e=[];for(let{address:t,storageKeys:r}of s){for(let n=0;n<r.length;n++)if(We(r[n])!==32)throw new HS({storageKey:r[n]});t&&ws(t,{strict:!1}),e.push([t,r]);}return e}var HS=class extends re{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${We(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();f();function IC(s){return uR(s,"Hex")}function uR(s,e){let t=e,r=(()=>{if(typeof s=="string"){if(s.length>3&&s.length%2!==0)throw new Gh(s);return ut(s)}return s})(),n=tf(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return CC(n,t)}function CC(s,e="Hex"){if(s.bytes.length===0)return e==="Hex"?Re(s.bytes):s.bytes;let t=s.readByte();if(t<128&&s.decrementPosition(1),t<192){let n=AC(s,t,128),i=s.readBytes(n);return e==="Hex"?Re(i):i}let r=AC(s,t,192);return lR(s,r,e)}function AC(s,e,t){if(t===128&&e<128)return 1;if(e<=t+55)return e-t;if(e===t+55+1)return s.readUint8();if(e===t+55+2)return s.readUint16();if(e===t+55+3)return s.readUint24();if(e===t+55+4)return s.readUint32();throw new re("Invalid RLP prefix")}function lR(s,e,t){let r=s.position,n=[];for(;s.position-r<e;)n.push(CC(s,t));return n}function hR(s,e){let{as:t}=e,r=kC(s),n=tf(new Uint8Array(r.length));return r.encode(n),t==="Hex"?Re(n.bytes):n.bytes}function NC(s,e={}){let{as:t="Hex"}=e;return hR(s,{as:t})}function kC(s){return Array.isArray(s)?fR(s.map(e=>kC(e))):dR(s)}function fR(s){let e=s.reduce((n,i)=>n+i.length,0),t=PC(e);return {length:e<=55?1+e:1+t+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+t),t===1?n.pushUint8(e):t===2?n.pushUint16(e):t===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of s)i(n);}}}function dR(s){let e=typeof s=="string"?ut(s):s,t=PC(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+t+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+t),t===1?n.pushUint8(e.length):t===2?n.pushUint16(e.length):t===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function PC(s){if(s<=255)return 1;if(s<=65535)return 2;if(s<=16777215)return 3;if(s<=4294967295)return 4;throw new re("Length is too large.")}var $t={};Te($t,{InvalidRError:()=>dg,InvalidSError:()=>mg,InvalidSerializedSizeError:()=>fg,InvalidVError:()=>pg,InvalidYParityError:()=>Ma,MissingPropertiesError:()=>eu,assert:()=>gg,extract:()=>yg,from:()=>rf,fromBytes:()=>zC,fromDerBytes:()=>TR,fromDerHex:()=>YC,fromHex:()=>sv,fromLegacy:()=>ZC,fromRpc:()=>XC,fromTuple:()=>rv,toBytes:()=>BR,toDerBytes:()=>OR,toDerHex:()=>RR,toHex:()=>QC,toLegacy:()=>VR,toRpc:()=>nv,toTuple:()=>iv,vToYParity:()=>wg,validate:()=>DR,yParityToV:()=>av});d();f();d();f();d();f();d();f();var lg=class extends Gn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,f3(e);let r=Aa(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),ps(i);}update(e){return _r(this),this.iHash.update(e),this}digestInto(e){_r(this),xr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy();}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},_S=(s,e,t)=>new lg(s,e).update(t).digest();_S.create=(s,e)=>new lg(s,e);d();f();d();f();d();f();var bs=BigInt(0),is=BigInt(1),_a=BigInt(2),mR=BigInt(3),OC=BigInt(4),RC=BigInt(5),VC=BigInt(8);function ns(s,e){let t=s%e;return t>=bs?t:e+t}function Vs(s,e,t){let r=s;for(;e-- >bs;)r*=r,r%=t;return r}function hg(s,e){if(s===bs)throw new Error("invert: expected non-zero number");if(e<=bs)throw new Error("invert: expected positive modulus, got "+e);let t=ns(s,e),r=e,n=bs,a=is;for(;t!==bs;){let u=r/t,l=r%t,m=n-a*u;r=t,t=l,n=a,a=m;}if(r!==is)throw new Error("invert: does not exist");return ns(n,e)}function DC(s,e){let t=(s.ORDER+is)/OC,r=s.pow(e,t);if(!s.eql(s.sqr(r),e))throw new Error("Cannot find square root");return r}function pR(s,e){let t=(s.ORDER-RC)/VC,r=s.mul(e,_a),n=s.pow(r,t),i=s.mul(e,n),a=s.mul(s.mul(i,_a),n),o=s.mul(i,s.sub(a,s.ONE));if(!s.eql(s.sqr(o),e))throw new Error("Cannot find square root");return o}function gR(s){if(s<BigInt(3))throw new Error("sqrt is not defined for small field");let e=s-is,t=0;for(;e%_a===bs;)e/=_a,t++;let r=_a,n=Yr(s);for(;BC(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return DC;let i=n.pow(r,e),a=(e+is)/_a;return function(c,u){if(c.is0(u))return u;if(BC(c,u)!==1)throw new Error("Cannot find square root");let l=t,m=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let v=1,A=c.sqr(w);for(;!c.eql(A,c.ONE);)if(v++,A=c.sqr(A),v===l)throw new Error("Cannot find square root");let C=is<<BigInt(l-v-1),D=c.pow(m,C);l=v,m=c.sqr(D),w=c.mul(w,m),E=c.mul(E,D);}return E}}function yR(s){return s%OC===mR?DC:s%VC===RC?pR:gR(s)}var wR=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function MS(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=wR.reduce((r,n)=>(r[n]="function",r),e);return Ba(s,t)}function bR(s,e,t){if(t<bs)throw new Error("invalid exponent, negatives unsupported");if(t===bs)return s.ONE;if(t===is)return e;let r=s.ONE,n=e;for(;t>bs;)t&is&&(r=s.mul(r,n)),n=s.sqr(n),t>>=is;return r}function $S(s,e,t=!1){let r=new Array(e.length).fill(t?s.ZERO:void 0),n=e.reduce((a,o,c)=>s.is0(o)?a:(r[c]=a,s.mul(a,o)),s.ONE),i=s.inv(n);return e.reduceRight((a,o,c)=>s.is0(o)?a:(r[c]=s.mul(a,r[c]),s.mul(a,o)),i),r}function BC(s,e){let t=(s.ORDER-is)/_a,r=s.pow(e,t),n=s.eql(r,s.ONE),i=s.eql(r,s.ZERO),a=s.eql(r,s.neg(s.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function qS(s,e){e!==void 0&&xa(e);let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return {nBitLength:t,nByteLength:r}}function Yr(s,e,t=!1,r={}){if(s<=bs)throw new Error("invalid field: expected ORDER > 0, got "+s);let{nBitLength:n,nByteLength:i}=qS(s,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:s,isLE:t,BITS:n,BYTES:i,MASK:Ta(n),ZERO:bs,ONE:is,create:c=>ns(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return bs<=c&&c<s},is0:c=>c===bs,isOdd:c=>(c&is)===is,neg:c=>ns(-c,s),eql:(c,u)=>c===u,sqr:c=>ns(c*c,s),add:(c,u)=>ns(c+u,s),sub:(c,u)=>ns(c-u,s),mul:(c,u)=>ns(c*u,s),pow:(c,u)=>bR(o,c,u),div:(c,u)=>ns(c*hg(u,s),s),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>hg(c,s),sqrt:r.sqrt||(c=>(a||(a=yR(s)),a(o,c))),toBytes:c=>t?uS(c,i):ka(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return t?cS(c):qr(c)},invertBatch:c=>$S(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function UC(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function FS(s){let e=UC(s);return e+Math.ceil(e/2)}function LC(s,e,t=!1){let r=s.length,n=UC(e),i=FS(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=t?cS(s):qr(s),o=ns(a,e-is)+is;return t?uS(o,n):ka(o,n)}var jC=BigInt(0),zS=BigInt(1);function KS(s,e){let t=e.negate();return s?t:e}function _C(s,e){if(!Number.isSafeInteger(s)||s<=0||s>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+s)}function GS(s,e){_C(s,e);let t=Math.ceil(e/s)+1,r=2**(s-1),n=2**s,i=Ta(s),a=BigInt(s);return {windows:t,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function HC(s,e,t){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=t,o=Number(s&n),c=s>>a;o>r&&(o-=i,c+=zS);let u=e*r,l=u+Math.abs(o)-1,m=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:u}}function SR(s,e){if(!Array.isArray(s))throw new Error("array expected");s.forEach((t,r)=>{if(!(t instanceof e))throw new Error("invalid point at index "+r)});}function vR(s,e){if(!Array.isArray(s))throw new Error("array of scalars expected");s.forEach((t,r)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+r)});}var WS=new WeakMap,MC=new WeakMap;function JS(s){return MC.get(s)||1}function $C(s,e){return {constTimeNegate:KS,hasPrecomputes(t){return JS(t)!==1},unsafeLadder(t,r,n=s.ZERO){let i=t;for(;r>jC;)r&zS&&(n=n.add(i)),i=i.double(),r>>=zS;return n},precomputeWindow(t,r){let{windows:n,windowSize:i}=GS(r,e),a=[],o=t,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(t,r,n){let i=s.ZERO,a=s.BASE,o=GS(t,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:v}=HC(n,c,o);n=u,m?a=a.add(KS(E,r[v])):i=i.add(KS(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(t,r,n,i=s.ZERO){let a=GS(t,e);for(let o=0;o<a.windows&&n!==jC;o++){let{nextN:c,offset:u,isZero:l,isNeg:m}=HC(n,o,a);if(n=c,!l){let w=r[u];i=i.add(m?w.negate():w);}}return i},getPrecomputes(t,r,n){let i=WS.get(r);return i||(i=this.precomputeWindow(r,t),t!==1&&WS.set(r,n(i))),i},wNAFCached(t,r,n){let i=JS(t);return this.wNAF(i,this.getPrecomputes(i,t,n),r)},wNAFCachedUnsafe(t,r,n,i){let a=JS(t);return a===1?this.unsafeLadder(t,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,t,n),r,i)},setWindowSize(t,r){_C(r,e),MC.set(t,r),WS.delete(t);}}}function qC(s,e,t,r){SR(t,s),vR(r,e);let n=t.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=s.ZERO,o=Y3(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Ta(c),l=new Array(Number(u)+1).fill(a),m=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=m;E>=0;E-=c){l.fill(a);for(let A=0;A<i;A++){let C=r[A],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(t[A]);}let v=a;for(let A=l.length-1,C=a;A>0;A--)C=C.add(l[A]),v=v.add(C);if(w=w.add(v),E!==0)for(let A=0;A<c;A++)w=w.double();}return w}function YS(s){return MS(s.Fp),Ba(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...qS(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}function FC(s){s.lowS!==void 0&&Mc("lowS",s.lowS),s.prehash!==void 0&&Mc("prehash",s.prehash);}function ER(s){let e=YS(s);Ba(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var QS=class extends Error{constructor(e=""){super(e);}},Zr={Err:QS,_tlv:{encode:(s,e)=>{let{Err:t}=Zr;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");let r=e.length/2,n=Lh(r);if(n.length/2&128)throw new t("tlv.encode: long form length too big");let i=r>127?Lh(n.length/2|128):"";return Lh(s)+i+n+e},decode(s,e){let{Err:t}=Zr,r=0;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[r++]!==s)throw new t("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new t("tlv.decode: length bytes not complete");if(u[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new t("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new t("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(s){let{Err:e}=Zr;if(s<Xr)throw new e("integer: negative integers are not allowed");let t=Lh(s);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(s){let{Err:e}=Zr;if(s[0]&128)throw new e("invalid signature integer: negative");if(s[0]===0&&!(s[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return qr(s)}},toSig(s){let{Err:e,_int:t,_tlv:r}=Zr,n=Is("signature",s),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:t.decode(o),s:t.decode(u)}},hexFromSig(s){let{_tlv:e,_int:t}=Zr,r=e.encode(2,t.encode(s.r)),n=e.encode(2,t.encode(s.s)),i=r+n;return e.encode(48,i)}};function ZS(s,e){return $c(ka(s,e))}var Xr=BigInt(0),Mt=BigInt(1);BigInt(2);var XS=BigInt(3),xR=BigInt(4);function AR(s){let e=ER(s),{Fp:t}=e,r=Yr(e.n,e.nBitLength),n=e.toBytes||((T,P,B)=>{let G=P.toAffine();return Hh(Uint8Array.from([4]),t.toBytes(G.x),t.toBytes(G.y))}),i=e.fromBytes||(T=>{let P=T.subarray(1),B=t.fromBytes(P.subarray(0,t.BYTES)),G=t.fromBytes(P.subarray(t.BYTES,2*t.BYTES));return {x:B,y:G}});function a(T){let{a:P,b:B}=e,G=t.sqr(T),se=t.mul(G,T);return t.add(t.add(se,t.mul(T,P)),B)}function o(T,P){let B=t.sqr(P),G=a(T);return t.eql(B,G)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=t.mul(t.pow(e.a,XS),xR),u=t.mul(t.sqr(e.b),BigInt(27));if(t.is0(t.add(c,u)))throw new Error("bad curve params: a or b");function l(T){return $p(T,Mt,e.n)}function m(T){let{allowedPrivateKeyLengths:P,nByteLength:B,wrapPrivateKey:G,n:se}=e;if(P&&typeof T!="bigint"){if(_c(T)&&(T=$c(T)),typeof T!="string"||!P.includes(T.length))throw new Error("invalid private key");T=T.padStart(B*2,"0");}let X;try{X=typeof T=="bigint"?T:qr(Is("private key",T,B));}catch{throw new Error("invalid private key, expected hex or "+B+" bytes, got "+typeof T)}return G&&(X=ns(X,se)),Pa("private key",X,Mt,se),X}function w(T){if(!(T instanceof A))throw new Error("ProjectivePoint expected")}let E=lS((T,P)=>{let{px:B,py:G,pz:se}=T;if(t.eql(se,t.ONE))return {x:B,y:G};let X=T.is0();P==null&&(P=X?t.ONE:t.inv(se));let ae=t.mul(B,P),fe=t.mul(G,P),te=t.mul(se,P);if(X)return {x:t.ZERO,y:t.ZERO};if(!t.eql(te,t.ONE))throw new Error("invZ was invalid");return {x:ae,y:fe}}),v=lS(T=>{if(T.is0()){if(e.allowInfinityPoint&&!t.is0(T.py))return;throw new Error("bad point: ZERO")}let{x:P,y:B}=T.toAffine();if(!t.isValid(P)||!t.isValid(B))throw new Error("bad point: x or y not FE");if(!o(P,B))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class A{constructor(P,B,G){if(P==null||!t.isValid(P))throw new Error("x required");if(B==null||!t.isValid(B)||t.is0(B))throw new Error("y required");if(G==null||!t.isValid(G))throw new Error("z required");this.px=P,this.py=B,this.pz=G,Object.freeze(this);}static fromAffine(P){let{x:B,y:G}=P||{};if(!P||!t.isValid(B)||!t.isValid(G))throw new Error("invalid affine point");if(P instanceof A)throw new Error("projective point not allowed");let se=X=>t.eql(X,t.ZERO);return se(B)&&se(G)?A.ZERO:new A(B,G,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(P){let B=$S(t,P.map(G=>G.pz));return P.map((G,se)=>G.toAffine(B[se])).map(A.fromAffine)}static fromHex(P){let B=A.fromAffine(i(Is("pointHex",P)));return B.assertValidity(),B}static fromPrivateKey(P){return A.BASE.multiply(m(P))}static msm(P,B){return qC(A,r,P,B)}_setWindowSize(P){U.setWindowSize(this,P);}assertValidity(){v(this);}hasEvenY(){let{y:P}=this.toAffine();if(t.isOdd)return !t.isOdd(P);throw new Error("Field doesn't support isOdd")}equals(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.eql(t.mul(B,fe),t.mul(X,se)),oe=t.eql(t.mul(G,fe),t.mul(ae,se));return te&&oe}negate(){return new A(this.px,t.neg(this.py),this.pz)}double(){let{a:P,b:B}=e,G=t.mul(B,XS),{px:se,py:X,pz:ae}=this,fe=t.ZERO,te=t.ZERO,oe=t.ZERO,me=t.mul(se,se),_e=t.mul(X,X),J=t.mul(ae,ae),Z=t.mul(se,X);return Z=t.add(Z,Z),oe=t.mul(se,ae),oe=t.add(oe,oe),fe=t.mul(P,oe),te=t.mul(G,J),te=t.add(fe,te),fe=t.sub(_e,te),te=t.add(_e,te),te=t.mul(fe,te),fe=t.mul(Z,fe),oe=t.mul(G,oe),J=t.mul(P,J),Z=t.sub(me,J),Z=t.mul(P,Z),Z=t.add(Z,oe),oe=t.add(me,me),me=t.add(oe,me),me=t.add(me,J),me=t.mul(me,Z),te=t.add(te,me),J=t.mul(X,ae),J=t.add(J,J),me=t.mul(J,Z),fe=t.sub(fe,me),oe=t.mul(J,_e),oe=t.add(oe,oe),oe=t.add(oe,oe),new A(fe,te,oe)}add(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.ZERO,oe=t.ZERO,me=t.ZERO,_e=e.a,J=t.mul(e.b,XS),Z=t.mul(B,X),ce=t.mul(G,ae),Ee=t.mul(se,fe),le=t.add(B,G),$=t.add(X,ae);le=t.mul(le,$),$=t.add(Z,ce),le=t.sub(le,$),$=t.add(B,se);let ee=t.add(X,fe);return $=t.mul($,ee),ee=t.add(Z,Ee),$=t.sub($,ee),ee=t.add(G,se),te=t.add(ae,fe),ee=t.mul(ee,te),te=t.add(ce,Ee),ee=t.sub(ee,te),me=t.mul(_e,$),te=t.mul(J,Ee),me=t.add(te,me),te=t.sub(ce,me),me=t.add(ce,me),oe=t.mul(te,me),ce=t.add(Z,Z),ce=t.add(ce,Z),Ee=t.mul(_e,Ee),$=t.mul(J,$),ce=t.add(ce,Ee),Ee=t.sub(Z,Ee),Ee=t.mul(_e,Ee),$=t.add($,Ee),Z=t.mul(ce,$),oe=t.add(oe,Z),Z=t.mul(ee,$),te=t.mul(le,te),te=t.sub(te,Z),Z=t.mul(le,ce),me=t.mul(ee,me),me=t.add(me,Z),new A(te,oe,me)}subtract(P){return this.add(P.negate())}is0(){return this.equals(A.ZERO)}wNAF(P){return U.wNAFCached(this,P,A.normalizeZ)}multiplyUnsafe(P){let{endo:B,n:G}=e;Pa("scalar",P,Xr,G);let se=A.ZERO;if(P===Xr)return se;if(this.is0()||P===Mt)return this;if(!B||U.hasPrecomputes(this))return U.wNAFCachedUnsafe(this,P,A.normalizeZ);let{k1neg:X,k1:ae,k2neg:fe,k2:te}=B.splitScalar(P),oe=se,me=se,_e=this;for(;ae>Xr||te>Xr;)ae&Mt&&(oe=oe.add(_e)),te&Mt&&(me=me.add(_e)),_e=_e.double(),ae>>=Mt,te>>=Mt;return X&&(oe=oe.negate()),fe&&(me=me.negate()),me=new A(t.mul(me.px,B.beta),me.py,me.pz),oe.add(me)}multiply(P){let{endo:B,n:G}=e;Pa("scalar",P,Mt,G);let se,X;if(B){let{k1neg:ae,k1:fe,k2neg:te,k2:oe}=B.splitScalar(P),{p:me,f:_e}=this.wNAF(fe),{p:J,f:Z}=this.wNAF(oe);me=U.constTimeNegate(ae,me),J=U.constTimeNegate(te,J),J=new A(t.mul(J.px,B.beta),J.py,J.pz),se=me.add(J),X=_e.add(Z);}else {let{p:ae,f:fe}=this.wNAF(P);se=ae,X=fe;}return A.normalizeZ([se,X])[0]}multiplyAndAddUnsafe(P,B,G){let se=A.BASE,X=(fe,te)=>te===Xr||te===Mt||!fe.equals(se)?fe.multiplyUnsafe(te):fe.multiply(te),ae=X(this,B).add(X(P,G));return ae.is0()?void 0:ae}toAffine(P){return E(this,P)}isTorsionFree(){let{h:P,isTorsionFree:B}=e;if(P===Mt)return !0;if(B)return B(A,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:P,clearCofactor:B}=e;return P===Mt?this:B?B(A,this):this.multiplyUnsafe(e.h)}toRawBytes(P=!0){return Mc("isCompressed",P),this.assertValidity(),n(A,this,P)}toHex(P=!0){return Mc("isCompressed",P),$c(this.toRawBytes(P))}}A.BASE=new A(e.Gx,e.Gy,t.ONE),A.ZERO=new A(t.ZERO,t.ONE,t.ZERO);let{endo:C,nBitLength:D}=e,U=$C(A,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:A,normPrivateKeyToScalar:m,weierstrassEquation:a,isWithinCurveOrder:l}}function IR(s){let e=YS(s);return Ba(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function KC(s){let e=IR(s),{Fp:t,n:r,nByteLength:n,nBitLength:i}=e,a=t.BYTES+1,o=2*t.BYTES+1;function c(J){return ns(J,r)}function u(J){return hg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:m,weierstrassEquation:w,isWithinCurveOrder:E}=AR({...e,toBytes(J,Z,ce){let Ee=Z.toAffine(),le=t.toBytes(Ee.x),$=Hh;return Mc("isCompressed",ce),ce?$(Uint8Array.from([Z.hasEvenY()?2:3]),le):$(Uint8Array.from([4]),le,t.toBytes(Ee.y))},fromBytes(J){let Z=J.length,ce=J[0],Ee=J.subarray(1);if(Z===a&&(ce===2||ce===3)){let le=qr(Ee);if(!$p(le,Mt,t.ORDER))throw new Error("Point is not on curve");let $=w(le),ee;try{ee=t.sqrt($);}catch(ke){let Fe=ke instanceof Error?": "+ke.message:"";throw new Error("Point is not on curve"+Fe)}let ne=(ee&Mt)===Mt;return (ce&1)===1!==ne&&(ee=t.neg(ee)),{x:le,y:ee}}else if(Z===o&&ce===4){let le=t.fromBytes(Ee.subarray(0,t.BYTES)),$=t.fromBytes(Ee.subarray(t.BYTES,2*t.BYTES));return {x:le,y:$}}else {let le=a,$=o;throw new Error("invalid Point, expected length of "+le+", or uncompressed "+$+", got "+Z)}}});function v(J){let Z=r>>Mt;return J>Z}function A(J){return v(J)?c(-J):J}let C=(J,Z,ce)=>qr(J.slice(Z,ce));class D{constructor(Z,ce,Ee){Pa("r",Z,Mt,r),Pa("s",ce,Mt,r),this.r=Z,this.s=ce,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(Z){let ce=n;return Z=Is("compactSignature",Z,ce*2),new D(C(Z,0,ce),C(Z,ce,2*ce))}static fromDER(Z){let{r:ce,s:Ee}=Zr.toSig(Is("DER",Z));return new D(ce,Ee)}assertValidity(){}addRecoveryBit(Z){return new D(this.r,this.s,Z)}recoverPublicKey(Z){let{r:ce,s:Ee,recovery:le}=this,$=se(Is("msgHash",Z));if(le==null||![0,1,2,3].includes(le))throw new Error("recovery id invalid");let ee=le===2||le===3?ce+e.n:ce;if(ee>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let ne=le&1?"03":"02",xe=l.fromHex(ne+ZS(ee,t.BYTES)),ke=u(ee),Fe=c(-$*ke),Rt=c(Ee*ke),Me=l.BASE.multiplyAndAddUnsafe(xe,Fe,Rt);if(!Me)throw new Error("point at infinify");return Me.assertValidity(),Me}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return jh(this.toDERHex())}toDERHex(){return Zr.hexFromSig(this)}toCompactRawBytes(){return jh(this.toCompactHex())}toCompactHex(){let Z=n;return ZS(this.r,Z)+ZS(this.s,Z)}}let U={isValidPrivateKey(J){try{return m(J),!0}catch{return !1}},normPrivateKeyToScalar:m,randomPrivateKey:()=>{let J=FS(e.n);return LC(e.randomBytes(J),e.n)},precompute(J=8,Z=l.BASE){return Z._setWindowSize(J),Z.multiply(BigInt(3)),Z}};function T(J,Z=!0){return l.fromPrivateKey(J).toRawBytes(Z)}function P(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ce=Is("key",J).length,Ee=t.BYTES,le=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===le))return ce===le||ce===$}function B(J,Z,ce=!0){if(P(J)===!0)throw new Error("first arg must be private key");if(P(Z)===!1)throw new Error("second arg must be public key");return l.fromHex(Z).multiply(m(J)).toRawBytes(ce)}let G=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let Z=qr(J),ce=J.length*8-i;return ce>0?Z>>BigInt(ce):Z},se=e.bits2int_modN||function(J){return c(G(J))},X=Ta(i);function ae(J){return Pa("num < 2^"+i,J,Xr,X),ka(J,n)}function fe(J,Z,ce=te){if(["recovered","canonical"].some(he=>he in ce))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:le}=e,{lowS:$,prehash:ee,extraEntropy:ne}=ce;$==null&&($=!0),J=Is("msgHash",J),FC(ce),ee&&(J=Is("prehashed msgHash",Ee(J)));let xe=se(J),ke=m(Z),Fe=[ae(ke),ae(xe)];if(ne!=null&&ne!==!1){let he=ne===!0?le(t.BYTES):ne;Fe.push(Is("extraEntropy",he));}let Rt=Hh(...Fe),Me=xe;function De(he){let ss=G(he);if(!E(ss))return;let ds=u(ss),Ct=l.BASE.multiply(ss).toAffine(),He=c(Ct.x);if(He===Xr)return;let pa=c(ds*c(Me+He*ke));if(pa===Xr)return;let Hn=(Ct.x===He?0:2)|Number(Ct.y&Mt),Tc=pa;return $&&v(pa)&&(Tc=A(pa),Hn^=1),new D(He,Tc,Hn)}return {seed:Rt,k2sig:De}}let te={lowS:e.lowS,prehash:!1},oe={lowS:e.lowS,prehash:!1};function me(J,Z,ce=te){let{seed:Ee,k2sig:le}=fe(J,Z,ce),$=e;return Z3($.hash.outputLen,$.nByteLength,$.hmac)(Ee,le)}l.BASE._setWindowSize(8);function _e(J,Z,ce,Ee=oe){let le=J;Z=Is("msgHash",Z),ce=Is("publicKey",ce);let{lowS:$,prehash:ee,format:ne}=Ee;if(FC(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ne!==void 0&&ne!=="compact"&&ne!=="der")throw new Error("format must be compact or der");let xe=typeof le=="string"||_c(le),ke=!xe&&!ne&&typeof le=="object"&&le!==null&&typeof le.r=="bigint"&&typeof le.s=="bigint";if(!xe&&!ke)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Fe,Rt;try{if(ke&&(Fe=new D(le.r,le.s)),xe){try{ne!=="compact"&&(Fe=D.fromDER(le));}catch(Hn){if(!(Hn instanceof Zr.Err))throw Hn}!Fe&&ne!=="der"&&(Fe=D.fromCompact(le));}Rt=l.fromHex(ce);}catch{return !1}if(!Fe||$&&Fe.hasHighS())return !1;ee&&(Z=e.hash(Z));let{r:Me,s:De}=Fe,he=se(Z),ss=u(De),ds=c(he*ss),Ct=c(Me*ss),He=l.BASE.multiplyAndAddUnsafe(Rt,ds,Ct)?.toAffine();return He?c(He.x)===Me:!1}return {CURVE:e,getPublicKey:T,getSharedSecret:B,sign:me,verify:_e,ProjectivePoint:l,Signature:D,utils:U}}function CR(s){return {hash:s,hmac:(e,...t)=>_S(s,e,m3(...t)),randomBytes:p3}}function Qc(s,e){let t=r=>KC({...s,...CR(r)});return {...t(e),create:t}}var JC=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),GC=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),NR=BigInt(0),kR=BigInt(1),ev=BigInt(2),WC=(s,e)=>(s+e/ev)/e;function PR(s){let e=JC,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=s*s*s%e,l=u*u*s%e,m=Vs(l,t,e)*l%e,w=Vs(m,t,e)*l%e,E=Vs(w,ev,e)*u%e,v=Vs(E,n,e)*E%e,A=Vs(v,i,e)*v%e,C=Vs(A,o,e)*A%e,D=Vs(C,c,e)*C%e,U=Vs(D,o,e)*A%e,T=Vs(U,t,e)*l%e,P=Vs(T,a,e)*v%e,B=Vs(P,r,e)*u%e,G=Vs(B,ev,e);if(!tv.eql(tv.sqr(G),s))throw new Error("Cannot find square root");return G}var tv=Yr(JC,void 0,void 0,{sqrt:PR}),Ds=Qc({a:NR,b:BigInt(7),Fp:tv,n:GC,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=GC,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-kR*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,a=BigInt("0x100000000000000000000000000000000"),o=WC(i*s,e),c=WC(-r*s,e),u=ns(s-o*t-c*n,e),l=ns(-o*r-c*i,e),m=u>a,w=l>a;if(m&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+s);return {k1neg:m,k1:u,k2neg:w,k2:l}}}},Hc);function gg(s,e={}){let{recovered:t}=e;if(typeof s.r>"u")throw new eu({signature:s});if(typeof s.s>"u")throw new eu({signature:s});if(t&&typeof s.yParity>"u")throw new eu({signature:s});if(s.r<0n||s.r>RS)throw new dg({value:s.r});if(s.s<0n||s.s>RS)throw new mg({value:s.s});if(typeof s.yParity=="number"&&s.yParity!==0&&s.yParity!==1)throw new Ma({value:s.yParity})}function zC(s){return sv(Re(s))}function sv(s){if(s.length!==130&&s.length!==132)throw new fg({signature:s});let e=BigInt(wt(s,0,32)),t=BigInt(wt(s,32,64)),r=(()=>{let n=+`0x${s.slice(130)}`;if(!Number.isNaN(n))try{return wg(n)}catch{throw new Ma({value:n})}})();return typeof r>"u"?{r:e,s:t}:{r:e,s:t,yParity:r}}function yg(s){if(!(typeof s.r>"u")&&!(typeof s.s>"u"))return rf(s)}function rf(s){let e=typeof s=="string"?sv(s):s instanceof Uint8Array?zC(s):typeof s.r=="string"?XC(s):s.v?ZC(s):{r:s.r,s:s.s,...typeof s.yParity<"u"?{yParity:s.yParity}:{}};return gg(e),e}function TR(s){return YC(Re(s))}function YC(s){let{r:e,s:t}=Ds.Signature.fromDER(gs(s).slice(2));return {r:e,s:t}}function ZC(s){return {r:s.r,s:s.s,yParity:wg(s.v)}}function XC(s){let e=(()=>{let t=s.v?Number(s.v):void 0,r=s.yParity?Number(s.yParity):void 0;if(typeof t=="number"&&typeof r!="number"&&(r=wg(t)),typeof r!="number")throw new Ma({value:s.yParity});return r})();return {r:BigInt(s.r),s:BigInt(s.s),yParity:e}}function rv(s){let[e,t,r]=s;return rf({r:t==="0x"?0n:BigInt(t),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function BR(s){return ut(QC(s))}function QC(s){gg(s);let e=s.r,t=s.s;return st(ve(e,{size:32}),ve(t,{size:32}),typeof s.yParity=="number"?ve(av(s.yParity),{size:1}):"0x")}function OR(s){return new Ds.Signature(s.r,s.s).toDERRawBytes()}function RR(s){return `0x${new Ds.Signature(s.r,s.s).toDERHex()}`}function VR(s){return {r:s.r,s:s.s,v:av(s.yParity)}}function nv(s){let{r:e,s:t,yParity:r}=s;return {r:ve(e,{size:32}),s:ve(t,{size:32}),yParity:r===0?"0x0":"0x1"}}function iv(s){let{r:e,s:t,yParity:r}=s;return [r?"0x01":"0x",e===0n?"0x":Ra(ve(e)),t===0n?"0x":Ra(ve(t))]}function DR(s,e={}){try{return gg(s,e),!0}catch{return !1}}function wg(s){if(s===0||s===27)return 0;if(s===1||s===28)return 1;if(s>=35)return s%2===0?1:0;throw new pg({value:s})}function av(s){if(s===0)return 27;if(s===1)return 28;throw new Ma({value:s})}var fg=class extends re{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},eu=class extends re{constructor({signature:e}){super(`Signature \`${Xs(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},dg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},mg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Ma=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},pg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();f();var UR=new TextEncoder,LR=new TextDecoder,bg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[e,s.charCodeAt(0)])),Sg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[s.charCodeAt(0),e])),61:0,45:62,95:63};function jR(s,e={}){let{pad:t=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(s.length/3)*4);for(let c=0,u=0;u<s.length;c+=4,u+=3){let l=(s[u]<<16)+(s[u+1]<<8)+(s[u+2]|0);n[c]=bg[l>>18],n[c+1]=bg[l>>12&63],n[c+2]=bg[l>>6&63],n[c+3]=bg[l&63];}let i=s.length%3,a=Math.floor(s.length/3)*4+(i&&i+1),o=LR.decode(new Uint8Array(n.buffer,0,a));return t&&i===1&&(o+="=="),t&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function e5(s,e={}){return jR(ut(s),e)}function nf(s){let e=s.replace(/=+$/,""),t=e.length,r=new Uint8Array(t+3);UR.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(Sg[r[i]]<<18)+(Sg[r[i+1]]<<12)+(Sg[r[i+2]]<<6)+Sg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(t>>2)*3+(t%4&&t%4-1);return new Uint8Array(r.buffer,0,n)}var Yt={};Te(Yt,{createKeyPair:()=>_R,getPublicKey:()=>r5,getSharedSecret:()=>MR,noble:()=>HR,randomPrivateKey:()=>n5,recoverAddress:()=>i5,recoverPublicKey:()=>a5,sign:()=>$R,verify:()=>qR});d();f();d();f();var vg=!1;var HR=Ds;function _R(s={}){let{as:e="Hex"}=s,t=n5({as:e}),r=r5({privateKey:t});return {privateKey:t,publicKey:r}}function r5(s){let{privateKey:e}=s,t=Ds.ProjectivePoint.fromPrivateKey(gs(e).slice(2));return Jr(t)}function MR(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,a=Ds.ProjectivePoint.fromHex(Zn(r).slice(2)).multiply(Ds.utils.normPrivateKeyToScalar(gs(t).slice(2))).toRawBytes(!0);return e==="Hex"?Re(a):a}function n5(s={}){let{as:e="Hex"}=s,t=Ds.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function i5(s){return kS(a5(s))}function a5(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,o=new Ds.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(gs(e).substring(2));return Jr(o)}function $R(s){let{extraEntropy:e=vg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Ds.sign(Gr(r),Gr(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function qR(s){let{address:e,hash:t,payload:r,publicKey:n,signature:i}=s;return e?PS(e,i5({payload:r,signature:i})):Ds.verify(i,Gr(r),fC(n),...t?[{prehash:!0,lowS:!0}]:[])}d();f();function o5(s,e={}){return {...s,blockNumber:s.blockNumber?BigInt(s.blockNumber):null,logIndex:s.logIndex?Number(s.logIndex):null,transactionIndex:s.transactionIndex?Number(s.transactionIndex):null}}function c5(s,e={}){return {address:s.address,blockHash:s.blockHash,blockNumber:typeof s.blockNumber=="bigint"?ve(s.blockNumber):null,data:s.data,logIndex:typeof s.logIndex=="number"?ve(s.logIndex):null,topics:s.topics,transactionHash:s.transactionHash,transactionIndex:typeof s.transactionIndex=="number"?ve(s.transactionIndex):null,removed:s.removed}}var tu={};Te(tu,{createKeyPair:()=>ZR,getPublicKey:()=>d5,getSharedSecret:()=>XR,noble:()=>YR,randomPrivateKey:()=>m5,recoverPublicKey:()=>QR,sign:()=>e7,verify:()=>uv});d();f();d();f();d();f();var l5=Yr(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),FR=l5.create(BigInt("-3")),KR=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),ov=Qc({a:FR,b:KR,Fp:l5,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Hc);var h5=Yr(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),GR=h5.create(BigInt("-3")),WR=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");Qc({a:GR,b:WR,Fp:h5,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},F3);var f5=Yr(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),JR=f5.create(BigInt("-3")),zR=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");Qc({a:JR,b:zR,Fp:f5,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},q3);var cv=ov,Qr=ov;var YR=Qr;function ZR(s={}){let{as:e="Hex"}=s,t=m5({as:e}),r=d5({privateKey:t});return {privateKey:t,publicKey:r}}function d5(s){let{privateKey:e}=s,t=Qr.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Re(e).slice(2));return Jr(t)}function XR(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,n=Qr.ProjectivePoint.fromHex(Zn(r).slice(2)),i=typeof t=="string"?t.slice(2):Re(t).slice(2),o=n.multiply(Qr.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Re(o):o}function m5(s={}){let{as:e="Hex"}=s,t=Qr.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function QR(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,a=new Qr.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Re(e):e,c=a.recoverPublicKey(o.substring(2));return Jr(c)}function e7(s){let{extraEntropy:e=vg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Qr.sign(r instanceof Uint8Array?r:ut(r),n instanceof Uint8Array?n:ut(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function uv(s){let{hash:e,payload:t,publicKey:r,signature:n}=s;return Qr.verify(n,t instanceof Uint8Array?t:ut(t),Zn(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var Eg={};Te(Eg,{encode:()=>p5,getSignPayload:()=>t7});d();f();function p5(s){let e=gs(s);return st("0x19",Cs(`Ethereum Signed Message:
340
- `+We(e)),e)}function t7(s){return Tt(p5(s))}d();f();d();f();var g5={wei:0,gwei:9,szabo:12,finney:15,ether:18};function s7(s,e=0){let t=s.toString(),r=t.startsWith("-");r&&(t=t.slice(1)),t=t.padStart(e,"0");let[n,i]=[t.slice(0,t.length-e),t.slice(t.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function xg(s,e="wei"){return s7(s,g5.gwei-g5[e])}var Ag=class extends re{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${xg(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Ig=class extends re{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Cg=class extends re{constructor({attributes:e,serialized:t,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${t}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Ng=class extends re{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${xg(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${xg(t)} gwei`:""}).`].join(`
341
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var $a={};Te($a,{assert:()=>af,deserialize:()=>S5,from:()=>r7,getSignPayload:()=>n7,hash:()=>v5,serialize:()=>E5,serializedType:()=>b5,toRpc:()=>i7,type:()=>lv,validate:()=>a7});d();f();var b5="0x02",lv="eip1559";function af(s){let{chainId:e,maxPriorityFeePerGas:t,maxFeePerGas:r,to:n}=s;if(e<=0)throw new Ig({chainId:e});if(n&&ws(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new Ag({feeCap:r});if(t&&r&&t>r)throw new Ng({maxFeePerGas:r,maxPriorityFeePerGas:t})}function S5(s){let e=IC(wt(s,1)),[t,r,n,i,a,o,c,u,l,m,w,E]=e;if(!(e.length===9||e.length===12))throw new Cg({attributes:{chainId:t,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:m,r:w,s:E}:{}},serialized:s,type:lv});let v={chainId:Number(t),type:lv};ys(o)&&o!=="0x"&&(v.to=o),ys(a)&&a!=="0x"&&(v.gas=BigInt(a)),ys(u)&&u!=="0x"&&(v.data=u),ys(r)&&(v.nonce=r==="0x"?0n:BigInt(r)),ys(c)&&c!=="0x"&&(v.value=BigInt(c)),ys(i)&&i!=="0x"&&(v.maxFeePerGas=BigInt(i)),ys(n)&&n!=="0x"&&(v.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(v.accessList=vC(l));let A=w&&E&&m?rv([m,w,E]):void 0;return A&&(v={...v,...A}),af(v),v}function r7(s,e={}){let{signature:t}=e,r=typeof s=="string"?S5(s):s;return af(r),{...r,...t?rf(t):{},type:"eip1559"}}function n7(s){return v5(s,{presign:!0})}function v5(s,e={}){let{presign:t}=e;return Tt(E5({...s,...t?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function E5(s,e={}){let{chainId:t,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:m}=s;af(s);let w=EC(u),E=yg(e.signature||s),v=[ve(t),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??m??"0x",w,...E?iv(E):[]];return st(b5,NC(v))}function i7(s){let e=yg(s);return {...s,chainId:ve(s.chainId),data:s.data??s.input,type:"0x2",...typeof s.gas=="bigint"?{gas:ve(s.gas)}:{},...typeof s.nonce=="bigint"?{nonce:ve(s.nonce)}:{},...typeof s.value=="bigint"?{value:ve(s.value)}:{},...typeof s.maxFeePerGas=="bigint"?{maxFeePerGas:ve(s.maxFeePerGas)}:{},...typeof s.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(s.maxPriorityFeePerGas)}:{},...e?nv(e):{}}}function a7(s){try{return af(s),!0}catch{return !1}}var su={};Te(su,{fromRpc:()=>o7,fromRpcStatus:()=>x5,fromRpcType:()=>I5,toRpc:()=>c7,toRpcStatus:()=>A5,toRpcType:()=>C5});d();f();var x5={"0x0":"reverted","0x1":"success"},A5={reverted:"0x0",success:"0x1"},I5={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},C5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function o7(s){return s?{...s,blobGasPrice:s.blobGasPrice?BigInt(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?BigInt(s.blobGasUsed):void 0,blockNumber:BigInt(s.blockNumber??0n),cumulativeGasUsed:BigInt(s.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(s.effectiveGasPrice??0n),gasUsed:BigInt(s.gasUsed??0n),logs:s.logs.map(e=>o5(e,{pending:!1})),status:x5[s.status],transactionIndex:Number(s.transactionIndex??0),type:I5[s.type]||s.type}:null}function c7(s){return {blobGasPrice:s.blobGasPrice?ve(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?ve(s.blobGasUsed):void 0,blockHash:s.blockHash,blockNumber:ve(s.blockNumber),contractAddress:s.contractAddress,cumulativeGasUsed:ve(s.cumulativeGasUsed),effectiveGasPrice:ve(s.effectiveGasPrice),from:s.from,gasUsed:ve(s.gasUsed),logs:s.logs.map(c5),logsBloom:s.logsBloom,root:s.root,status:A5[s.status],to:s.to,transactionHash:s.transactionHash,transactionIndex:ve(s.transactionIndex),type:C5[s.type]??s.type}}var of={};Te(of,{BytesSizeMismatchError:()=>kg,InvalidDomainError:()=>Pg,InvalidPrimaryTypeError:()=>Tg,InvalidStructTypeError:()=>Bg,assert:()=>hv,domainSeparator:()=>u7,encode:()=>N5,encodeData:()=>pv,encodeField:()=>gv,encodeType:()=>k5,extractEip712DomainTypes:()=>Og,findTypeDependencies:()=>yv,getSignPayload:()=>fv,hashDomain:()=>dv,hashStruct:()=>mv,hashType:()=>P5,serialize:()=>l7,validate:()=>h7});d();f();function hv(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,m=o[u],w=l.match(Yc);if(w&&(typeof m=="number"||typeof m=="bigint")){let[,A,C]=w;ve(m,{signed:A==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof m=="string"&&!Ua(m))throw new Da({address:m,cause:new Wc});let E=l.match(sg);if(E){let[,A]=E;if(A&&We(m)!==Number.parseInt(A,10))throw new kg({expectedSize:Number.parseInt(A,10),givenSize:We(m)})}let v=n[l];v&&(f7(l),i(v,m));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new Pg({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],t);else throw new Tg({primaryType:r,types:n})}function u7(s){return dv({domain:s})}function N5(s){let{domain:e={},message:t,primaryType:r}=s,n={EIP712Domain:Og(e),...s.types};hv({domain:e,message:t,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(dv({domain:e,types:n})),r!=="EIP712Domain"&&i.push(mv({data:t,primaryType:r,types:n})),st(...i)}function k5(s){let{primaryType:e,types:t}=s,r="",n=yv({primaryType:e,types:t});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(t[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function Og(s){return [typeof s?.name=="string"&&{name:"name",type:"string"},s?.version&&{name:"version",type:"string"},(typeof s?.chainId=="number"||typeof s?.chainId=="bigint")&&{name:"chainId",type:"uint256"},s?.verifyingContract&&{name:"verifyingContract",type:"address"},s?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function fv(s){return Tt(N5(s))}function dv(s){let{domain:e,types:t}=s;return mv({data:e,primaryType:"EIP712Domain",types:{...t,EIP712Domain:t?.EIP712Domain||Og(e)}})}function mv(s){let{data:e,primaryType:t,types:r}=s,n=pv({data:e,primaryType:t,types:r});return Tt(n)}function l7(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(c,u)=>{let l={...u};for(let m of c){let{name:w,type:E}=m;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??Og(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],t):{}})();return Xs({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function h7(s){try{return hv(s),!0}catch{return !1}}var kg=class extends re{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},Pg=class extends re{constructor({domain:e}){super(`Invalid domain "${Xs(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},Tg=class extends re{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},Bg=class extends re{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function pv(s){let{data:e,primaryType:t,types:r}=s,n=[{type:"bytes32"}],i=[P5({primaryType:t,types:r})];for(let a of r[t]??[]){let[o,c]=gv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return zr(n,i)}function P5(s){let{primaryType:e,types:t}=s,r=Cs(k5({primaryType:e,types:t}));return Tt(r)}function gv(s){let{types:e,name:t,type:r,value:n}=s;if(e[r]!==void 0)return [{type:"bytes32"},Tt(pv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Tt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Tt(Wr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>gv({name:t,type:i,types:e,value:o}));return [{type:"bytes32"},Tt(zr(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function yv(s,e=new Set){let{primaryType:t,types:r}=s,i=t.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])yv({primaryType:a.type,types:r},e);return e}function f7(s){if(s==="address"||s==="bool"||s==="string"||s.startsWith("bytes")||s.startsWith("uint")||s.startsWith("int"))throw new Bg({type:s})}var Qn={};Te(Qn,{CredentialCreationFailedError:()=>Xn,CredentialRequestFailedError:()=>cf,createChallenge:()=>O5,createCredential:()=>m7,getAuthenticatorData:()=>R5,getClientDataJSON:()=>V5,getCredentialCreationOptions:()=>D5,getCredentialRequestOptions:()=>U5,getSignPayload:()=>p7,sign:()=>g7,verify:()=>y7});d();f();d();f();function T5(s){let e=s[4]===0?5:4,t=e+32,r=s[t+2]===0?t+3:t+2,n=BigInt(Re(s.slice(e,t))),i=BigInt(Re(s.slice(r)));return {r:n,s:i>cv.CURVE.n/2n?cv.CURVE.n-i:i}}async function B5(s){try{let e=s.getPublicKey();if(!e)throw new Xn;let t=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(t),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Jr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let t=new Uint8Array(s.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<t.length-u.length;l++)if(u.every((m,w)=>t[l+w]===m))return l+u.length;throw new Xn},a=i(33),o=i(34);return Jr(new Uint8Array([4,...t.slice(a,a+r),...t.slice(o,o+r)]))}}var O5=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function m7(s){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...t}=s,r=D5(t);try{let n=await e(r);if(!n)throw new Xn;let i=n.response,a=await B5(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new Xn({cause:n})}}function R5(s={}){let{flag:e=5,rpId:t=window.location.hostname,signCount:r=0}=s,n=Jh(Cs(t)),i=ve(e,{size:1}),a=ve(r,{size:4});return st(n,i,a)}function V5(s){let{challenge:e,crossOrigin:t=!1,extraClientData:r,origin:n=window.location.origin}=s;return JSON.stringify({type:"webauthn.get",challenge:e5(e,{url:!0,pad:!1}),origin:n,crossOrigin:t,...r})}function D5(s){let{attestation:e="none",authenticatorSelection:t={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=O5,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=s,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:t,challenge:typeof r=="string"?ut(r):r,...n?{excludeCredentials:n?.map(l=>({id:nf(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Tt(Wr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function U5(s){let{credentialId:e,challenge:t,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=s;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:nf(a),type:"public-key"})):[{id:nf(e),type:"public-key"}]}:{},challenge:ut(t),...r&&{extensions:r},rpId:n,userVerification:i}}}function p7(s){let{challenge:e,crossOrigin:t,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=s,u=R5({flag:n,rpId:a,signCount:o}),l=V5({challenge:e,crossOrigin:t,extraClientData:r,origin:i}),m=Jh(Cs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),v={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},A=st(u,m);return {metadata:v,payload:A}}async function g7(s){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...t}=s,r=U5(t);try{let n=await e(r);if(!n)throw new cf;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=T5(new Uint8Array(i.signature));return {metadata:{authenticatorData:Re(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new cf({cause:n})}}function y7(s){let{challenge:e,hash:t=!0,metadata:r,publicKey:n,signature:i}=s,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,m=ut(a);if(m.length<37)return !1;let w=m[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let U='"type":"webauthn.get"';if(U!==c.slice(Number(u),U.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[v,A]=E;if(Re(nf(A))!==e)return !1;let C=Jh(Wr(c),{as:"Bytes"}),D=wS(m,C);return uv({hash:t,payload:D,publicKey:n,signature:i})}var Xn=class extends re{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},cf=class extends re{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();f();var cu={};Te(cu,{from:()=>uV});d();f();var Ke={};Te(Ke,{configFromJson:()=>iV,configToJson:()=>nV,evaluateConfigurationSafety:()=>oV,findSignerLeaf:()=>df,flatLeavesToTopology:()=>Xv,getSigners:()=>rV,getWeight:()=>mf,hasInvalidValues:()=>au,hashConfiguration:()=>cs,isAnyAddressSubdigestLeaf:()=>sr,isConfig:()=>ou,isLeaf:()=>e8,isNestedLeaf:()=>Ss,isNode:()=>Bt,isNodeLeaf:()=>Ft,isSapientSignerLeaf:()=>os,isSignerLeaf:()=>as,isSubdigestLeaf:()=>tr,isTopology:()=>iu,maximumDepth:()=>pf,mergeTopology:()=>Jg,normalizeSignerSignature:()=>aV,replaceAddress:()=>Wg,topologyToFlatLeaves:()=>Fg});d();f();var Zt={};Te(Zt,{FLAG_ADDRESS:()=>qv,FLAG_BRANCH:()=>Kv,FLAG_NESTED:()=>Wv,FLAG_NODE:()=>Lg,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>zv,FLAG_SIGNATURE_ERC1271:()=>Fv,FLAG_SIGNATURE_ETH_SIGN:()=>Jv,FLAG_SIGNATURE_HASH:()=>$v,FLAG_SIGNATURE_SAPIENT:()=>jg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>Yv,FLAG_SUBDIGEST:()=>Gv,decodeSignature:()=>z5,encodeChainedSignature:()=>Y5,encodeSignature:()=>Z5,encodeTopology:()=>lf,fillLeaves:()=>Vg,isRawConfig:()=>$g,isRawLeaf:()=>J5,isRawNestedLeaf:()=>ff,isRawNode:()=>Hg,isRawSignature:()=>W5,isRawSignerLeaf:()=>hf,isRawTopology:()=>_g,isSignatureOfSapientSignerLeaf:()=>Z7,isSignedSapientSignerLeaf:()=>Zv,isSignedSignerLeaf:()=>qg,parseBranch:()=>Mg,rawSignatureFromJson:()=>eV,rawSignatureToJson:()=>X7,recover:()=>_v});d();f();var Xe={};Te(Xe,{DEPLOY:()=>L5,DefaultGuestAddress:()=>S7,EXECUTE:()=>A7,EXECUTE_USER_OP:()=>Sv,GET_IMPLEMENTATION:()=>v7,GET_LIMIT_USAGE:()=>P7,IMAGE_HASH:()=>E7,INCREMENT_USAGE_LIMIT:()=>k7,IS_VALID_SIGNATURE:()=>uf,PlaceholderAddress:()=>b7,READ_ENTRYPOINT:()=>N7,READ_NONCE:()=>x7,READ_NONCE_4337:()=>C7,RECOVER_SAPIENT_SIGNATURE:()=>wv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>bv,UPDATE_IMAGE_HASH:()=>I7,ZeroAddress:()=>w7});d();f();var w7="0x0000000000000000000000000000000000000000",b7="0xffff0000ffff0000ffff0000ffff0000ffff0000",S7="0x0000000000006Ac72ed1d192fa28f0058D3F8806",uf=Et.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],L5=Et.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],v7=Et.from(["function getImplementation() external view returns (address)"])[0],E7=Et.from(["function imageHash() external view returns (bytes32)"])[0],x7=Et.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],A7=Et.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],I7=Et.from(["function updateImageHash(bytes32 _imageHash) external"])[0],wv=Et.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],bv=Et.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Sv=Et.from(["function executeUserOp(bytes calldata _userOp) external"])[0],C7=Et.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],N7=Et.from(["function entrypoint() public view returns (address)"])[0],k7=Et.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],P7=Et.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();f();d();f();var en={};Te(en,{InvalidWrappedSignatureError:()=>Rg,assert:()=>Ev,from:()=>O7,magicBytes:()=>vv,universalSignatureValidatorAbi:()=>B7,universalSignatureValidatorBytecode:()=>T7,unwrap:()=>j5,validate:()=>V7,wrap:()=>R7});d();f();var vv="0x6492649264926492649264926492649264926492649264926492649264926492",T7="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",B7=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Ev(s){if(wt(s,-32)!==vv)throw new Rg(s)}function O7(s){return typeof s=="string"?j5(s):s}function j5(s){Ev(s);let[e,t,r]=Xc(ug("address, bytes, bytes"),s);return {data:t,signature:r,to:e}}function R7(s){let{data:e,signature:t,to:r}=s;return st(zr(ug("address, bytes, bytes"),[r,e,t]),vv)}function V7(s){try{return Ev(s),!0}catch{return !1}}var Rg=class extends re{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function xv(s,{to:e,data:t}){let r=R.concat(xt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,R.from(t),R.from(s)]),en.magicBytes);switch(typeof s){case"object":return R.toBytes(r);case"string":return r}}function H5(s){switch(typeof s){case"object":if(p.toHex(s.subarray(-en.magicBytes.slice(2).length/2))===en.magicBytes){let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.subarray(0,-en.magicBytes.slice(2).length/2));return {signature:R.toBytes(r),erc6492:{to:e,data:R.toBytes(t)}}}else return {signature:s};case"string":if(s.endsWith(en.magicBytes.slice(2)))try{let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.slice(0,-en.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:t}}}catch{return {signature:s}}else return {signature:s}}}var we={};Te(we,{BEHAVIOR_ABORT_ON_ERROR:()=>Ov,BEHAVIOR_IGNORE_ERROR:()=>Tv,BEHAVIOR_REVERT_ON_ERROR:()=>Bv,KIND_CONFIG_UPDATE:()=>kv,KIND_DIGEST:()=>Pv,KIND_MESSAGE:()=>Nv,KIND_TRANSACTIONS:()=>Cv,decode:()=>J7,decodeBehaviorOnError:()=>G5,encode:()=>$5,encode4337Nonce:()=>q5,encodeBehaviorOnError:()=>nu,encodeSapient:()=>K7,fromAbiFormat:()=>Y7,fromCall:()=>H7,fromConfigUpdate:()=>Rv,fromDigest:()=>j7,fromMessage:()=>L7,hash:()=>ru,hashCall:()=>W7,isCalls:()=>_7,isCalls4337_07:()=>q7,isConfigUpdate:()=>$7,isDigest:()=>M5,isMessage:()=>M7,isParented:()=>F7,isRecovery:()=>Vv,isSessionImplicitAuthorize:()=>Uv,to4337Message:()=>K5,to4337UserOperation:()=>F5,toAbiFormat:()=>jv,toRecovery:()=>Dv,toTyped:()=>Lv});d();f();var Fa={};Te(Fa,{createJSONReplacer:()=>Av,createJSONReviver:()=>Iv,fromJSON:()=>U7,minBytesFor:()=>Us,packRSY:()=>tn,toJSON:()=>D7,unpackRSY:()=>qa});d();f();function Us(s){return Math.ceil(s.toString(16).length/2)}function tn({r:s,s:e,yParity:t}){let r=p.padLeft(p.fromNumber(s),32),n=p.padLeft(p.fromNumber(e),32);return t%2===1&&(n[0]|=128),p.concat(r,n)}function qa(s){let e=p.toBigInt(s.slice(0,32)),t=s.slice(32,64),r=t[0]&128?1:0,n=new Uint8Array(t);n[0]=n[0]&127;let i=p.toBigInt(n);return {r:e,s:i,yParity:r}}function Av(s){return (e,t)=>typeof t=="bigint"?{__bigint:"0x"+t.toString(16)}:t instanceof Uint8Array?{__uint8array:Array.from(t)}:s?s(e,t):t}function Iv(s){return (e,t)=>{if(t&&typeof t=="object"&&"__bigint"in t&&Object.keys(t).length===1){let r=t.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(t&&typeof t=="object"&&"__uint8array"in t&&Object.keys(t).length===1){let r=t.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return s?s(e,t):t}}function D7(s,e,t){let r=e instanceof Function?Av(e):Av();return JSON.stringify(s,r,t)}function U7(s,e){let t=e?Iv(e):Iv();return JSON.parse(s,t)}var Cv=0,Nv=1,kv=2,Pv=3,Tv=0,Bv=1,Ov=2;function L7(s){return {type:"message",message:s}}function Rv(s){return {type:"config-update",imageHash:s}}function j7(s){return {type:"digest",digest:s}}function H7(s,e,t){return {type:"call",nonce:s,space:e,calls:t}}function _7(s){return s.type==="call"}function M7(s){return s.type==="message"}function $7(s){return s.type==="config-update"}function M5(s){return s.type==="digest"}function Vv(s){return Uv(s)?!1:s.recovery===!0}function q7(s){return s.type==="call_4337_07"}function F7(s){return "parentWallets"in s}function Dv(s){return Vv(s)?s:{...s,recovery:!0}}function Uv(s){return s.type==="session-implicit-authorize"}function $5(s,e){let t=s.calls.length,r=Us(s.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;s.space===0n&&(n|=1),n|=r<<1,t===1&&(n|=16);let i=0;if(t!==1)if(t<256)i=1;else if(t<65536)i=2,n|=32;else throw new Error("Too many calls");let a=p.fromNumber(n,{size:1});if(s.space!==0n){let o=p.padLeft(p.fromNumber(s.space),20);a=p.concat(a,o);}if(r>0){let o=p.padLeft(p.fromNumber(s.nonce),r);a=p.concat(a,o);}t!==1&&(i===1?a=p.concat(a,p.fromNumber(t,{size:1})):a=p.concat(a,p.fromNumber(t,{size:2})));for(let o of s.calls){let c=0;if(e&&M.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=nu(o.behaviorOnError)<<6,a=p.concat(a,p.fromNumber(c,{size:1})),!(c&1)){let u=p.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=p.concat(a,u);}if(c&2){let u=p.padLeft(p.fromNumber(o.value),32);a=p.concat(a,u);}if(c&4){let u=p.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=p.fromNumber(u,{size:3});a=p.concat(a,l,p.fromHex(o.data));}if(c&8){let u=p.padLeft(p.fromNumber(o.gasLimit),32);a=p.concat(a,u);}}return a}function K7(s,e){let t={kind:0,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":t.kind=0,t.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(nu(r.behaviorOnError))})),t.space=e.space,t.nonce=e.nonce;break;case"message":t.kind=1,t.message=e.message;break;case"config-update":t.kind=2,t.imageHash=e.imageHash;break;case"digest":t.kind=3,t.digest=e.digest;break}return t}function ru(s,e,t){if(M5(t))return p.fromHex(t.digest);if(Uv(t))return qt.hash(t.attestation);let r=Lv(s,e,t);return p.fromHex(fv(r))}function G7(s,e,t){return Vv(s)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(t),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(t),verifyingContract:e}}function q5(s,e){if(s>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return s<<64n|e}function Lv(s,e,t){let r=G7(t,s,e);switch(t.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:t.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(nu(a.behaviorOnError)).toString()})),space:t.space.toString(),nonce:t.nonce.toString(),wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:t.message,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:t.imageHash,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:K5(t,s,e)};return Lv(s,e,n)}}}function F5(s,e,t){let r={type:"call",space:0n,nonce:0n,calls:s.calls},n=R.fromBytes($5(r));return {sender:e,nonce:q5(s.space,s.nonce),callData:de.encodeData(Sv,[n]),callGasLimit:s.callGasLimit,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,preVerificationGas:s.preVerificationGas,verificationGasLimit:s.verificationGasLimit,factory:s.factory,factoryData:s.factoryData,paymaster:s.paymaster,paymasterData:s.paymasterData,paymasterPostOpGasLimit:s.paymasterPostOpGasLimit,paymasterVerificationGasLimit:s.paymasterVerificationGasLimit,signature:t}}function K5(s,e,t){let r=F5(s,e),n=R.concat(R.padLeft(R.fromNumber(r.verificationGasLimit),16),R.padLeft(R.fromNumber(r.callGasLimit),16)),i=R.concat(R.padLeft(R.fromNumber(r.maxPriorityFeePerGas),16),R.padLeft(R.fromNumber(r.maxFeePerGas),16)),a=ye.keccak256(r.factory&&r.factoryData?R.concat(r.factory,r.factoryData):"0x"),o=ye.keccak256(r.paymaster?R.concat(r.paymaster,R.padLeft(R.fromNumber(r.paymasterVerificationGasLimit||0),16),R.padLeft(R.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=xt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,ye.keccak256(r.callData),n,r.preVerificationGas,i,o]);return xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[ye.keccak256(c),s.entrypoint,BigInt(t)])}function nu(s){switch(s){case"ignore":return Tv;case"revert":return Bv;case"abort":return Ov}}function W7(s){let e=ye.keccak256(p.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return ye.keccak256(xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[R.from(e),R.from(s.to),s.value,R.from(ye.keccak256(s.data)),s.gasLimit,s.delegateCall,s.onlyFallback,BigInt(nu(s.behaviorOnError))]))}function J7(s,e){let t=0;if(s.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=p.toNumber(s.slice(t,t+1));t+=1;let n=(r&1)===1,i=0n;if(!n){if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for space");i=p.toBigInt(s.slice(t,t+20)),t+=20;}let a=r>>1&7,o=0n;if(a>0){if(t+a>s.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=p.toBigInt(s.slice(t,t+a)),t+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(t+w>s.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=p.toNumber(s.slice(t,t+w)),t+=w;}let l=[];for(let m=0;m<c;m++){if(t+1>s.length)throw new Error("Invalid packed data: missing call flags");let w=p.toNumber(s.slice(t,t+1));t+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for address");E=p.toHex(s.slice(t,t+20)),t+=20;}let v=0n;if((w&2)===2){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for value");v=p.toBigInt(s.slice(t,t+32)),t+=32;}let A=p.fromHex("0x");if((w&4)===4){if(t+3>s.length)throw new Error("Invalid packed data: not enough bytes for data length");let B=p.toNumber(s.slice(t,t+3));if(t+=3,t+B>s.length)throw new Error("Invalid packed data: not enough bytes for call data");A=s.slice(t,t+B),t+=B;}let C=0n;if((w&8)===8){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=p.toBigInt(s.slice(t,t+32)),t+=32;}let D=(w&16)===16,U=(w&32)===32,T=(w&192)>>6,P=G5(T);l.push({to:E,value:v,data:p.toHex(A),gasLimit:C,delegateCall:D,onlyFallback:U,behaviorOnError:P});}return {type:"call",space:i,nonce:o,calls:l}}function G5(s){switch(s){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${s}`)}}function z7(s){switch(s){case Tv:return "ignore";case Bv:return "revert";case Ov:return "abort";default:throw new Error(`Unknown behavior: ${s}`)}}function Y7(s){if(s.kind===Cv)return {type:"call",nonce:s.nonce,space:s.space,calls:s.calls.map(e=>({to:M.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:z7(Number(e.behaviorOnError))})),parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Nv)return {type:"message",message:s.message,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===kv)return {type:"config-update",imageHash:s.imageHash,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Pv)return {type:"digest",digest:s.digest,parentWallets:s.parentWallets.map(e=>M.from(e))};throw new Error("Not implemented")}function jv(s){if(s.type==="call")return {kind:Cv,noChainId:!1,calls:s.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(nu(e.behaviorOnError))})),space:s.space,nonce:s.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="message")return {kind:Nv,noChainId:!1,calls:[],space:0n,nonce:0n,message:s.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="config-update")return {kind:kv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:s.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="digest")return {kind:Pv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:s.digest,parentWallets:s.parentWallets??[]};throw new Error("Invalid payload type")}var $v=0,qv=1,Fv=2,Lg=3,Kv=4,Gv=5,Wv=6,Jv=7,zv=8,jg=9,Yv=10;function Z7(s){return "type"in s&&(s.type==="sapient_compact"||s.type==="sapient")&&typeof s=="object"&&"address"in s&&"data"in s}function W5(s){return typeof s=="object"&&s&&typeof s.noChainId=="boolean"&&(s.checkpointerData===void 0||p.validate(s.checkpointerData))&&$g(s.configuration)&&(s.suffix===void 0||Array.isArray(s.suffix)&&s.suffix.every(e=>W5(e)&&e.checkpointerData===void 0))}function $g(s){return s&&typeof s=="object"&&typeof s.threshold=="bigint"&&typeof s.checkpoint=="bigint"&&_g(s.topology)&&(s.checkpointer===void 0||M.validate(s.checkpointer))}function hf(s){return typeof s=="object"&&"weight"in s&&"signature"in s}function qg(s){return as(s)&&"signature"in s}function Zv(s){return os(s)&&"signature"in s}function Hg(s){return Array.isArray(s)&&s.length===2&&(_g(s[0])||iu(s[0]))&&(_g(s[1])||iu(s[1]))}function _g(s){return Hg(s)||J5(s)}function J5(s){return typeof s=="object"&&"weight"in s&&!("tree"in s)}function ff(s){return typeof s=="object"&&"tree"in s&&"weight"in s&&"threshold"in s}function z5(s){let{signature:e,erc6492:t}=H5(s);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=p.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let A=p.toNumber(e.slice(n,n+3));if(n+=3,n+A>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+A),n+=A;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=p.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let m=p.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let A=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=p.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=z5(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");A.push({...D,checkpointerData:void 0});}if(A.length===0)throw new Error("Chained signature has no subsignatures");return {...A[0],suffix:A.slice(1),erc6492:t}}let{nodes:w,leftover:E}=Mg(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let v=Hv(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:m,checkpoint:u,topology:v,checkpointer:a},erc6492:t}}function Mg(s){let e=[],t=0;for(;t<s.length;){let r=s[t];t++;let n=(r&240)>>4;if(n===$v){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===qv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for address weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for address leaf");let a=p.toHex(s.slice(t,t+20));t+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===Fv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for ERC1271 weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for ERC1271 data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:p.toHex(u)}});continue}if(n===Lg){if(t+32>s.length)throw new Error("Not enough bytes for node leaf");let i=s.slice(t,t+32);t+=32,e.push(p.toHex(i));continue}if(n===Kv){let i=r&15;if(t+i>s.length)throw new Error("Not enough bytes for branch sizeSize");let a=p.toNumber(s.slice(t,t+i));if(t+=i,t+a>s.length)throw new Error("Not enough bytes in sub-branch");let o=s.slice(t,t+a);t+=a;let{nodes:c,leftover:u}=Mg(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=Hv(c);e.push(l);continue}if(n===Gv){if(t+32>s.length)throw new Error("Not enough bytes for subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"subdigest",digest:p.toHex(i)});continue}if(n===Wv){let i=(r&12)>>2;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for nested weight");i=s[t],t++;}let a=r&3;if(a===0){if(t+2>s.length)throw new Error("Not enough bytes for nested threshold");a=p.toNumber(s.slice(t,t+2)),t+=2;}if(t+3>s.length)throw new Error("Not enough bytes for nested sub-tree size");let o=p.toNumber(s.slice(t,t+3));if(t+=3,t+o>s.length)throw new Error("Not enough bytes for nested sub-tree");let c=s.slice(t,t+o);t+=o;let{nodes:u,leftover:l}=Mg(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let m=Hv(u);e.push({type:"nested",tree:m,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===Jv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for eth_sign signature");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===zv){if(t+32>s.length)throw new Error("Not enough bytes for any address subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"any-address-subdigest",digest:p.toHex(i)});continue}if(n===jg||n===Yv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for sapient weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for sapient signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for sapient signature size");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for sapient signature data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:p.toHex(u),type:n===jg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:s.slice(t)}}function Vg(s,e){if(Bt(s))return [Vg(s[0],e),Vg(s[1],e)];if(as(s)){let t=e(s);return t?{...s,signature:t}:s}if(os(s)){let t=e(s);return t?{...s,signature:t}:s}if(tr(s)||sr(s))return s;if(Ss(s))return {...s,tree:Vg(s.tree,e)};if(Ft(s))return s;throw new Error("Invalid topology")}function Y5(s){let e=1,t=s[s.length-1];t?.configuration.checkpointer&&(e|=64);let r=p.fromNumber(e);if(t?.configuration.checkpointer){r=p.concat(r,p.padLeft(p.fromHex(t.configuration.checkpointer),20));let n=t.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=p.padLeft(p.fromNumber(n),3);r=p.concat(r,i,t.checkpointerData??p.fromArray([]));}for(let n=0;n<s.length;n++){let i=s[n],a=Z5(i,!0,n===s.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=p.padLeft(p.fromNumber(a.length),3);r=p.concat(r,o,a);}return r}function Z5(s,e,t){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=s;if(a?.length){let A=Y5([{...s,suffix:void 0,erc6492:void 0},...a]);return o?xv(A,o):A}let c=0;r&&(c|=2);let u=Us(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=Us(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!t&&(c|=64);let m=p.fromNumber(c);if(i.checkpointer&&!t&&(m=p.concat(m,p.padLeft(p.fromHex(i.checkpointer),20)),!e)){let A=n?.length??0;if(A>16777215)throw new Error("Checkpointer data too large");let C=p.padLeft(p.fromNumber(A),3);m=p.concat(m,C,n??p.fromArray([]));}let w=p.padLeft(p.fromNumber(i.checkpoint),u);m=p.concat(m,w);let E=p.padLeft(p.fromNumber(i.threshold),l);m=p.concat(m,E);let v=lf(i.topology,s);return m=p.concat(m,v),o?xv(m,o):m}function lf(s,e={}){if(Bt(s)||Hg(s)){let t=lf(s[0],e),r=lf(s[1],e);if(Bt(s[1])||Hg(s[1])){let i=Us(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=Kv<<4|i;return p.concat(t,p.fromNumber(a),p.padLeft(p.fromNumber(r.length),i),r)}else return p.concat(t,r)}if(Ss(s)||ff(s)){let t=lf(s.tree,e),r=Wv<<4,n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)r|=Number(s.weight)<<2;else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let i=p.fromArray([]);if(s.threshold<=3n&&s.threshold>0n)r|=Number(s.threshold);else if(s.threshold<=65535n)i=p.padLeft(p.fromNumber(Number(s.threshold)),2);else throw new Error("Threshold too large");if(t.length>16777215)throw new Error("Nested tree too large");return p.concat(p.fromNumber(r),n,i,p.padLeft(p.fromNumber(t.length),3),t)}if(Ft(s))return p.concat(p.fromNumber(Lg<<4),p.fromHex(s));if(qg(s)||hf(s))if(s.signature.type==="hash"||s.signature.type==="eth_sign"){let t=(s.signature.type==="hash"?$v:Jv)<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let n=tn(s.signature);return p.concat(p.fromNumber(t),r,n)}else if(s.signature.type==="erc1271"){let t=Fv<<4,r=Us(BigInt(s.signature.data.length));if(r>3)throw new Error("Signature too large");t|=r<<2;let n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),n,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(p.fromHex(s.signature.data).length),r),p.fromHex(s.signature.data))}else if(s.signature.type==="sapient"||s.signature.type==="sapient_compact"){let t=(s.signature.type==="sapient"?jg:Yv)<<4,r=p.fromHex(s.signature.data),n=Us(BigInt(r.length));if(n>3)throw new Error("Signature too large");t|=n<<2;let i=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)i=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),i,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${s.signature.type}`);if(as(s)){let t=qv<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),r,p.padLeft(p.fromHex(s.address),20))}if(os(s)){let t=cs(s);return p.concat(p.fromNumber(Lg<<4),t)}if(tr(s))return p.concat(p.fromNumber(Gv<<4),p.fromHex(s.digest));if(sr(s))return p.concat(p.fromNumber(zv<<4),p.fromHex(s.digest));throw new Error("Invalid topology")}function Hv(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function X7(s){return JSON.stringify(X5(s))}function X5(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.toHex(s.checkpointerData):void 0,configuration:{threshold:s.configuration.threshold.toString(),checkpoint:s.configuration.checkpoint.toString(),topology:Dg(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>X5(e)):void 0}}function Dg(s){if(Array.isArray(s))return [Dg(s[0]),Dg(s[1])];if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:s.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Dg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:s.weight.toString(),signature:Q7(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function Q7(s){if(s.type==="eth_sign"||s.type==="hash")return {type:s.type,r:R.fromNumber(s.r,{size:32}),s:R.fromNumber(s.s,{size:32}),yParity:s.yParity};if(s.type==="erc1271")return {type:s.type,address:s.address,data:s.data};if(s.type==="sapient"||s.type==="sapient_compact")return {type:s.type,address:s.address,data:s.data};throw new Error("Unknown signature type in raw signature")}function eV(s){let e=JSON.parse(s);return Q5(e)}function Q5(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.fromHex(s.checkpointerData):void 0,configuration:{threshold:BigInt(s.configuration.threshold),checkpoint:BigInt(s.configuration.checkpoint),topology:Ug(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>Q5(e)):void 0}}function Ug(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid raw topology node");return [Ug(s[0]),Ug(s[1])]}if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Ug(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(s.weight),signature:tV(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function tV(s){switch(s.type){case"eth_sign":case"hash":return {type:s.type,r:R.toBigInt(s.r),s:R.toBigInt(s.s),yParity:s.yParity};case"erc1271":return {type:"erc1271",address:s.address,data:s.data};case"sapient":case"sapient_compact":return {type:s.type,address:s.address,data:s.data};default:throw new Error("Invalid signature type in raw signature")}}async function _v(s,e,t,r,n){if(s.suffix?.length){let o=!1,{configuration:c,weight:u}=await _v({...s,suffix:void 0},e,t,r,n);o||=u<c.threshold;for(let l of s.suffix){let m=await _v(l,e,l.noChainId?0:t,Rv(p.toHex(cs(c))),n);o||=m.weight<m.configuration.threshold,o||=m.configuration.checkpoint>=c.checkpoint,c=m.configuration,u=m.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await Mv(s.configuration.topology,e,t,r,n);return {configuration:{...s.configuration,topology:i},weight:a}}async function Mv(s,e,t,r,n){let i=ru(e,t,r);if(hf(s))switch(s.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:Yt.recoverAddress({payload:s.signature.type==="eth_sign"?ye.keccak256(xt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
- 32`,p.toHex(i)])):i,signature:s.signature}),weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:de.encodeData(uf,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]}),l=de.decodeResult(uf,u);if(R.isEqual(l,de.getSelector(uf)))return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${s.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:s.signature.type==="sapient"?de.encodeData(wv,[sV(t,r),s.signature.data]):de.encodeData(bv,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]});return {topology:{type:"sapient-signer",address:s.signature.address,weight:s.weight,imageHash:u,signed:!0,signature:s.signature},weight:s.weight}}}else if(ff(s)){let{topology:a,weight:o}=await Mv(s.tree,e,t,r,n);return {topology:{...s,tree:a},weight:o>=s.threshold?s.weight:0n}}else {if(as(s))return {topology:s,weight:0n};if(os(s))return {topology:s,weight:0n};if(tr(s))return {topology:s,weight:p.isEqual(p.fromHex(s.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(sr(s)){let a=ru(Xe.ZeroAddress,t,r);return {topology:s,weight:p.isEqual(p.fromHex(s.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Ft(s))return {topology:s,weight:0n};{let[a,o]=await Promise.all(s.map(c=>Mv(c,e,t,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function sV(s,e){switch(e.type){case"call":return {kind:0,noChainId:!s,calls:e.calls.map(t=>({...t,data:t.data,behaviorOnError:t.behaviorOnError==="ignore"?0n:t.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!s,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function as(s){return typeof s=="object"&&s!==null&&s.type==="signer"}function os(s){return typeof s=="object"&&s!==null&&s.type==="sapient-signer"}function tr(s){return typeof s=="object"&&s!==null&&s.type==="subdigest"}function sr(s){return typeof s=="object"&&s!==null&&s.type==="any-address-subdigest"}function Ft(s){return R.validate(s)&&s.length===66}function Ss(s){return typeof s=="object"&&s!==null&&s.type==="nested"}function Bt(s){return Array.isArray(s)&&s.length===2&&iu(s[0])&&iu(s[1])}function ou(s){return typeof s=="object"&&"threshold"in s&&"checkpoint"in s&&"topology"in s}function e8(s){return as(s)||os(s)||tr(s)||sr(s)||Ft(s)||Ss(s)}function iu(s){return Bt(s)||e8(s)}function rV(s){let e=new Set,t=new Set,r=!0,n=i=>{Bt(i)?(n(i[0]),n(i[1])):as(i)?i.weight&&e.add(i.address):os(i)?t.add({address:i.address,imageHash:i.imageHash}):Ft(i)?r=!1:Ss(i)&&i.weight&&n(i.tree);};return n(ou(s)?s.topology:s),{signers:Array.from(e),sapientSigners:Array.from(t),isComplete:r}}function df(s,e){if(ou(s))return df(s.topology,e);if(Bt(s))return df(s[0],e)||df(s[1],e);if(as(s)){if(M.isEqual(s.address,e))return s}else if(os(s)){if(M.isEqual(s.address,e))return s}else if(Ss(s))return df(s.tree,e)}function mf(s,e){if(s=$g(s)||ou(s)?s.topology:s,qg(s))return {weight:s.weight,maxWeight:s.weight};if(as(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(hf(s))return {weight:s.weight,maxWeight:s.weight};if(Zv(s))return {weight:s.weight,maxWeight:s.weight};if(os(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(tr(s))return {weight:0n,maxWeight:0n};if(sr(s))return {weight:0n,maxWeight:0n};if(ff(s)){let{weight:t,maxWeight:r}=mf(s.tree,e);return {weight:t>=s.threshold?s.weight:0n,maxWeight:r>=s.threshold?s.weight:0n}}else {if(Ft(s))return {weight:0n,maxWeight:0n};{let[t,r]=[mf(s[0],e),mf(s[1],e)];return {weight:t.weight+r.weight,maxWeight:t.maxWeight+r.maxWeight}}}}function cs(s){if(ou(s)){let e=cs(s.topology);return e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.threshold),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.checkpoint),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromHex(s.checkpointer??Xe.ZeroAddress),32))),e}if(as(s))return ye.keccak256(p.concat(p.fromString(`Sequence signer:
336
+ `;function tp({id:s,href:e,rel:t,crossOrigin:r}){let n=`${xh}-${s}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,t&&(i.rel=t),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var d6=()=>f6(TT()),m6=()=>f6(BT());var Oc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,t=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=t;}append(e,t){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(t));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){tp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),tp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),tp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let t=document.createElement("div");t.innerHTML=this.isBlockedOverlay?d6():m6(),document.body.insertAdjacentElement("beforeend",t),this.overlay=t;}}updateTryAgainButton(e){let t=document.getElementById(ep);t&&(this.tryAgainListener&&t.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,t.addEventListener("click",e));}updateCloseButton(e){let t=document.getElementById(Q0);t&&(this.onCloseListener&&t.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,t.addEventListener("click",e));}};d();f();d();f();var Rc=(s=>(s.PRODUCTION="production",s.SANDBOX="sandbox",s))(Rc||{}),OT=(s=>(s.API_KEY="x-immutable-api-key",s.PUBLISHABLE_KEY="x-immutable-publishable-key",s.RATE_LIMITING_KEY="x-api-key",s))(OT||{});d();f();d();f();var Ah=13371,ba=13473,kb=42161,Pb=421614,qn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Ih={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:qn[13371].magicPublishableApiKey,magicProviderId:qn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Ch={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:qn[13473].magicPublishableApiKey,magicProviderId:qn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},sp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},rp={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},np=[Ch,Ih],RT={chains:[Ih]},VT={chains:[Ch]},DT={chains:np},UT={chains:[sp]},LT={chains:[rp]};d();f();var p6={zkevm:{[Rc.PRODUCTION]:Ih,[Rc.SANDBOX]:Ch},arbitrum_one:{[Rc.PRODUCTION]:sp,[Rc.SANDBOX]:rp}};function HT(){let s={};for(let[e,t]of Object.entries(p6))for(let r of Object.values(t))s[r.chainId]=e;return s[15003]="zkevm",s}var _T=HT();function MT(s,e){let t=p6[s];if(!t)throw new Error(`Chain ${s} is not supported`);let r=t[e];if(!r)throw new Error(`Chain ${s} is not configured for environment ${e}`);return r}function Vc(s){let e=typeof s=="string"?parseInt(s.includes(":")?s.split(":")[1]:s,10):s;return _T[e]??"zkevm"}var Tb="Confirm this transaction",Bb=720,Ob=480,g6=1e3;var Dc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(i=>`${i}=${t[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==Eh))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===y6.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r});else {let l=(n?Vc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:t,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:m,origin:w})=>{if(!(w!==this.config.passportDomain||m.eventType!==Eh))switch(m.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Vc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:t,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=X0({url:this.getHref("loading"),title:Tb,width:e?.width||Ob,height:e?.height||Bb}),this.overlay=new Oc(this.config.popupOverlayOptions||{});}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Oc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=X0({url:this.getHref("loading"),title:Tb,width:this.popupOptions?.width||Ob,height:this.popupOptions?.height||Bb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,g6),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=X0({url:e,title:Tb,width:this.popupOptions?.width||Ob,height:this.popupOptions?.height||Bb}),this.timer=setInterval(t,g6);}catch{}}};d();f();var Sa=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Sa||{}),ct=class extends Error{type;constructor(e,t){super(e),this.name="WalletError",this.type=t;}};d();f();var va=s=>typeof s=="object"&&s!==null&&"isAxiosError"in s;var Rb="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",ip=s=>BigInt(s).toString(),KT=s=>{try{return s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?ip(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?ip(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let t=e instanceof Error?e.message:String(e);throw new de(-32602,`Transaction failed to parsing: ${t}`)}},Uc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;getUser;constructor({config:e,getUser:t,guardianApi:r,passportDomain:n,clientId:i}){this.confirmationScreen=new Dc({authenticationDomain:"https://auth.immutable.com",passportDomain:n,oidcConfiguration:{clientId:i,redirectUri:"https://auth.immutable.com/im-logged-in"},crossSdkBridgeEnabled:e.crossSdkBridgeEnabled}),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.getUser=t;}async getUserZkEvm(){let e=await this.getUser();if(!e||!isUserZkEvm(e))throw new de(4100,"User not authenticated or missing zkEvm data");return e}withConfirmationScreen(e){return t=>this.withConfirmationScreenTask(e)(t)()}withConfirmationScreenTask(e){return t=>async()=>{this.confirmationScreen.loading(e);try{return await t()}catch(r){throw r instanceof ct&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}){let n=await this.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=KT(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:t,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(va(o)&&o.response?.status===403)throw new ct("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new de(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:t,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new de(-32003,Rb);if(a&&o){let c=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,y6.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new de(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:t}){try{let r=await this.getUserZkEvm();return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new de(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new de(-32003,Rb);if(n&&r){let i=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new de(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:t}){try{let r=await this.getUserZkEvm();return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ms(Number(e)),payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new de(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new de(-32003,Rb);if(n&&r){let i=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new de(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();f();var GT=s=>new Promise(e=>{setTimeout(()=>e(),s);}),ap=async(s,e)=>{let{retries:t=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await s()}catch{return t<=0?Promise.reject(n):(await GT(r),ap(s,{retries:t-1,finalErr:n,finallyFn:i}))}finally{t<=0&&i();}};var WT=30,JT=1e3,zT=async(s,e,t)=>{let r=J0([s]),n=xb(r),i=await t.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=t.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},YT=async(s,e,t,r,n)=>{if(!s.to)throw new de(-32602,'eth_sendTransaction requires a "to" field');let i={to:s.to.toString(),data:s.data,nonce:BigInt(0),value:s.value,revertOnError:!0},[a,o]=await Promise.all([bh(e,r,n),zT(i,r,t)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},op=async(s,e,t)=>{let n=await ap(async()=>{let i=await s.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:WT,interval:JT,finalErr:new de(-32e3,"transaction hash not generated in time")});if(t.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new de(-32e3,i)}return n},cp=async({transactionRequest:s,ethSigner:e,rpcProvider:t,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await t.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let m=await YT(s,t,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=m[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ms(Number(u)),nonce:ip(w),metaTransactions:m,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},v=async()=>{let D=await Y0(m,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,A]=await Promise.all([E(),v()]),C=await n.ethSendTransaction(i,A);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:A,relayerId:C,nonce:w}},ZT=async s=>{if(!s.to)throw new de(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof s.nonce>"u")throw new de(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!s.chainId)throw new de(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:s.to.toString(),data:s.data,nonce:s.nonce??void 0,value:s.value,revertOnError:!0}]},b6=async({transactionRequest:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{let n=await ZT(s);r.addEvent("endBuildMetaTransactions");let i=await Y0(n,s.nonce,BigInt(s.chainId??0),t,e);return r.addEvent("endGetSignedMetaTransactions"),{to:t,data:i,chainId:ms(Number(s.chainId??0))}};var Vb=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=s[0],{relayerId:l}=await cp({transactionRequest:u,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:m}=await op(r,l,a);return m};d();f();var S6=["types","domain","primaryType","message"],XT=s=>S6.every(e=>e in s),QT=(s,e)=>{let t;if(typeof s=="string")try{t=JSON.parse(s);}catch(n){throw new de(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof s=="object")t=s;else throw new de(-32602,`Invalid typed data argument: ${s}`);if(!XT(t))throw new de(-32602,`Invalid typed data argument. The following properties are required: ${S6.join(", ")}`);let r=t.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),t.domain.chainId=n,BigInt(n)!==e)throw new de(-32602,`Invalid chainId, expected ${e}`)}return t},v6=async({params:s,method:e,ethSigner:t,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=s[0],c=s[1];if(!o||!c)throw new de(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=QT(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let m=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await Ab(l,m,BigInt(u),o,t);return a.addEvent("getSignedTypedData"),w};d();f();d();f();var tB=s=>{let e=0;for(;e<s.length&&s[e]===0;)e++;return s.slice(e)},sB=s=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(s);let e="";for(let t=0;t<s.length;t++)e+=String.fromCharCode(s[t]);return decodeURIComponent(escape(e))},E6=s=>{if(!s)return s;try{let e=toBytes(s),t=tB(e);return sB(t)}catch{return s}};var up=async({params:s,ethSigner:e,zkEvmAddress:t,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=s[0],c=s[1];if(!c||!o)throw new de(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==t.toLowerCase())throw new de(-32602,"personal_sign requires the signer to be the from address");let u=E6(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let m=BigInt(l),w=Ib(m,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:m,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,v]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let A=await e.getAddress();return a.addEvent("endGetEOAAddress"),Z0(E,A,v)};d();f();d();f();var rB="/v1/sdk/session-activity/check",lp,x6=s=>{lp||(lp=s);},nB=s=>{let e=new URL(rB,lp);return Object.entries(s).forEach(([t,r])=>{r!=null&&e.searchParams.append(t,String(r));}),e.toString()};async function A6(s){if(!lp)throw new Error("Client not initialised");let e=await fetch(nB(s));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();f();function C6(s,e){return (...t)=>{try{let r=s(...t);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:N6,setItem:Db}=utils.localStorage,Ub="sessionActivitySendCount",k6="sessionActivityDate",Lb={},Fn={},hp={},P6=()=>{Fn=N6(Ub)||{};let s=N6(k6),e=new Date,t=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${t}-${r}-${n}`;(!s||s!==i)&&(Fn={}),Db(k6,i),Db(Ub,Fn);};P6();var lB=s=>{P6(),Fn[s]||(Fn[s]=0),Fn[s]++,Db(Ub,Fn),Lb[s]=0;},hB=async s=>new Promise(e=>{setTimeout(e,s*1e3);}),fB=async s=>{let e=s.flow||trackFlow("passport","sendSessionActivity"),t=s.passportClient;if(!t)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(hp[t])return;hp[t]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=s;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");x6(n);let i=s.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await A6({clientId:t,wallet:i,checkCount:Lb[t]||0,sendCount:Fn[t]||0}),Lb[t]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await s.sendTransaction([{to:u,from:i,data:c}],e);lB(t),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let m=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",m,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await hB(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),hp[t]=!1,T6({...s,flow:e});},0));},T6=s=>C6(fB)(s).then(()=>{hp[s.passportClient]=!1;}),B6=T6;d();f();var O6=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await cp({transactionRequest:o,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await up({params:s,ethSigner:e,zkEvmAddress:i,rpcProvider:t,guardianClient:n,relayerClient:r,flow:a});return await op(r,c,a),u})};d();f();var R6=async({params:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{if(!s||s.length!==1)throw new de(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=s[0];return await b6({transactionRequest:n,ethSigner:e,zkEvmAddress:t,flow:r})};var jb=s=>!!s.zkEvm,Ph=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;#f;isPassport=!0;constructor({getUser:e,clientId:t,config:r,multiRollupApiClients:n,walletEventEmitter:i,guardianClient:a,ethSigner:o,user:c,sessionActivityApiUrl:u}){this.#e=e,this.#f=t,this.#s=r,this.#i=a,this.#a=i,this.#r=u,this.#o=o,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Sh({config:this.#s,rpcProvider:this.#n,getUser:this.#e}),this.#u=n,this.#t=new TypedEventEmitter,c&&jb(c)&&this.#h(c.zkEvm.ethAddress),i.on("loggedOut",this.#d),i.on("accountsRequested",B6);}#d=()=>{this.#t.emit("accountsChanged",[]);};async#m(){return this.#e()}async#h(e){if(!this.#r)return;let t=BigInt(1),r=async(n,i)=>await Vb({params:n,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:i,nonceSpace:t,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:r,walletAddress:e,passportClient:this.#f});}async#l(){try{let e=await this.#m();return e&&jb(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#p(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#l();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e();if(!n)throw new de(4100,"User not authenticated. Please log in first.");r.addEvent("endGetUser");let i;return jb(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await o6({ethSigner:this.#o,getUser:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration"),await this.#e(!0),r.addEvent("endForceRefresh")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#h(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let t=await this.#l();if(!t)throw new de(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await Vb({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:t,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#l();return t?[t]:[]}case"personal_sign":{let t=await this.#l();if(!t)throw new de(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await bh(this.#n,t)>BigInt(0))?await O6({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await up({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new de(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await v6({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let t=await this.#n.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let t=await this.#l();if(!t)throw new de(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await R6({params:e.params||[],ethSigner:this.#o,zkEvmAddress:t,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let t=await this.#l();return t&&this.#h(t),null}default:throw new de(4200,"Method not supported")}}async request(e){try{return this.#p(e)}catch(t){throw t instanceof de?t:t instanceof Error?new de(-32603,t.message):new de(-32603,"Internal error")}}on(e,t){this.#t.on(e,t);}removeListener(e,t){this.#t.removeListener(e,t);}};d();f();d();f();d();f();var wB="Only sign this message from Immutable Passport";function bB(s){let e=s.startsWith("0x")?s.slice(2):s,t=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${t}${r}${o}`}async function Hb({getUser:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(wB).then(bB);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new de(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s(!0).catch(()=>{}),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new de(-32603,`Failed to create counterfactual address: ${C}`)}}function V6(s,e){return e in s&&!!s[e]?.ethAddress}function D6(s,e){return s[e]?.ethAddress}var Th=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({getUser:e,chainConfig:t,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Vc(t.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=t,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e();if(e&&V6(e,this.#u))return D6(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#c();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e();if(r.addEvent("endGetUser"),!n)throw new de(-32603,"User not authenticated");let i;if(V6(n,this.#u)?i=D6(n,this.#u):(r.addEvent("startUserRegistration"),i=await Hb({getUser:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new de(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#c();return t?[t]:[]}case"eth_sendTransaction":throw new de(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new de(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new de(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let t=await this.#t.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new de(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(t){throw t instanceof de?t:t instanceof Error?new de(-32603,t.message):new de(-32603,"Internal error")}}on(e,t){this.#a.on(e,t);}removeListener(e,t){this.#a.removeListener(e,t);}};d();f();var Bh=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();f();d();f();var _b=async(s,e,t=!0,r=!0)=>{let n=trackFlow("passport",e,t);try{return await s(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var L6="ETH",kB=s=>s.reduce((e,t)=>`${e}${t.toString(16).padStart(2,"0")}`,""),PB=s=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(s);let e=unescape(encodeURIComponent(s)),t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},TB=s=>{let e=PB(s),t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,m=c>>6&63,w=c&63;r+=t[u]+t[l],r+=Number.isFinite(a)?t[m]:"=",r+=Number.isFinite(o)?t[w]:"=";}return r},Lc=class s{getUser;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,t){this.getUser=e,this.magicTeeApiClient=t;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let t=await this.getUserOrThrow();if(t.profile.sub!==e.userIdentifier&&(e=await this.createWallet(t)),isUserZkEvm(t)&&t.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ct(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${t.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(t,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=s.getHeaders(n);await _b(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:L6},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},t(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return va(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.getUser();if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let t=e instanceof Uint8Array?`0x${kB(e)}`:e,r=await this.getUserOrThrow(),n=s.getHeaders(r);return _b(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:TB(t)},xMagicChain:L6},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw va(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();f();var Mb={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function $b(s){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(s)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",t);}d();f();d();f();d();f();var za={};Te(za,{IdentitySigner:()=>u1,toIdentityAuthKey:()=>XE});d();f();d();f();var Et={};Te(Et,{format:()=>KB,from:()=>GB});d();f();d();f();d();f();d();f();var j6="1.1.0";var Nt=class s extends Error{constructor(e,t={}){let r=t.cause instanceof s?t.cause.details:t.cause?.message?t.cause.message:t.details,n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${j6}`].join(`
337
+ `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),t.cause&&(this.cause=t.cause),this.details=r,this.docsPath=n,this.metaMessages=t.metaMessages,this.shortMessage=e;}};d();f();d();f();d();f();d();f();d();f();function Os(s,e){return s.exec(e)?.groups}var qb=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Fb=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,fp=/^\(.+?\).*?$/;var H6=/^tuple(?<array>(\[(\d*)\])*)$/;function dp(s){let e=s.type;if(H6.test(s.type)&&"components"in s){e="(";let t=s.components.length;for(let n=0;n<t;n++){let i=s.components[n];e+=dp(i),n<t-1&&(e+=", ");}let r=Os(H6,s.type);return e+=`)${r?.array??""}`,dp({...s,type:e})}return "indexed"in s&&s.indexed&&(e=`${e} indexed`),s.name?`${e} ${s.name}`:e}function vr(s){let e="",t=s.length;for(let r=0;r<t;r++){let n=s[r];e+=dp(n),r!==t-1&&(e+=", ");}return e}function Hr(s){return s.type==="function"?`function ${s.name}(${vr(s.inputs)})${s.stateMutability&&s.stateMutability!=="nonpayable"?` ${s.stateMutability}`:""}${s.outputs?.length?` returns (${vr(s.outputs)})`:""}`:s.type==="event"?`event ${s.name}(${vr(s.inputs)})`:s.type==="error"?`error ${s.name}(${vr(s.inputs)})`:s.type==="constructor"?`constructor(${vr(s.inputs)})${s.stateMutability==="payable"?" payable":""}`:s.type==="fallback"?`fallback() external${s.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Kb(s){let e=[],t=s.length;for(let r=0;r<t;r++){let n=s[r],i=Hr(n);e.push(i);}return e}d();f();d();f();var _6=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function M6(s){return _6.test(s)}function $6(s){return Os(_6,s)}var q6=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function F6(s){return q6.test(s)}function K6(s){return Os(q6,s)}var G6=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function W6(s){return G6.test(s)}function J6(s){return Os(G6,s)}var z6=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Kn(s){return z6.test(s)}function Y6(s){return Os(z6,s)}var Z6=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function X6(s){return Z6.test(s)}function Q6(s){return Os(Z6,s)}var e3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function t3(s){return e3.test(s)}function s3(s){return Os(e3,s)}var BB=/^receive\(\) external payable$/;function r3(s){return BB.test(s)}var Gb=new Set(["memory","indexed","storage","calldata"]),n3=new Set(["indexed"]),mp=new Set(["calldata","memory","storage"]);d();f();d();f();var pp=class extends Nt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},gp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},yp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();f();var wp=class extends Nt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},bp=class extends Nt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},Sp=class extends Nt{constructor({param:e,name:t}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${t}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},vp=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},Ep=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},xp=class extends Nt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();f();var Er=class extends Nt{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Ap=class extends Nt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Ip=class extends Nt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();f();var Cp=class extends Nt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();f();d();f();var Np=class extends Nt{constructor({current:e,depth:t}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${t>0?"opening":"closing"} parentheses.`],details:`Depth "${t}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();f();function i3(s,e,t){let r="";if(t)for(let n of Object.entries(t)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${s}${r}`:s}var kp=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oh(s,e={}){if(W6(s))return OB(s,e);if(F6(s))return RB(s,e);if(M6(s))return VB(s,e);if(X6(s))return DB(s,e);if(t3(s))return UB(s);if(r3(s))return {type:"receive",stateMutability:"payable"};throw new Ap({signature:s})}function OB(s,e={}){let t=J6(s);if(!t)throw new Er({signature:s,type:"function"});let r=As(t.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(Ys(r[o],{modifiers:mp,structs:e,type:"function"}));let a=[];if(t.returns){let o=As(t.returns),c=o.length;for(let u=0;u<c;u++)a.push(Ys(o[u],{modifiers:mp,structs:e,type:"function"}));}return {name:t.name,type:"function",stateMutability:t.stateMutability??"nonpayable",inputs:n,outputs:a}}function RB(s,e={}){let t=K6(s);if(!t)throw new Er({signature:s,type:"event"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{modifiers:n3,structs:e,type:"event"}));return {name:t.name,type:"event",inputs:n}}function VB(s,e={}){let t=$6(s);if(!t)throw new Er({signature:s,type:"error"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"error"}));return {name:t.name,type:"error",inputs:n}}function DB(s,e={}){let t=Q6(s);if(!t)throw new Er({signature:s,type:"constructor"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:t.stateMutability??"nonpayable",inputs:n}}function UB(s){let e=s3(s);if(!e)throw new Er({signature:s,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var LB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,jB=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,HB=/^u?int$/;function Ys(s,e){let t=i3(s,e?.type,e?.structs);if(kp.has(t))return kp.get(t);let r=fp.test(s),n=Os(r?jB:LB,s);if(!n)throw new bp({param:s});if(n.name&&MB(n.name))throw new Sp({param:s,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let m=As(n.type),w=[],E=m.length;for(let v=0;v<E;v++)w.push(Ys(m[v],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(HB.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!Wb(c))throw new yp({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new vp({param:s,type:e?.type,modifier:n.modifier});if(mp.has(n.modifier)&&!$B(c,!!n.array))throw new Ep({param:s,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return kp.set(t,l),l}function As(s,e=[],t="",r=0){let n=s.trim().length;for(let i=0;i<n;i++){let a=s[i],o=s.slice(i+1);switch(a){case",":return r===0?As(o,[...e,t.trim()]):As(o,e,`${t}${a}`,r);case"(":return As(o,e,`${t}${a}`,r+1);case")":return As(o,e,`${t}${a}`,r-1);default:return As(o,e,`${t}${a}`,r)}}if(t==="")return e;if(r!==0)throw new Np({current:t,depth:r});return e.push(t.trim()),e}function Wb(s){return s==="address"||s==="bool"||s==="function"||s==="string"||qb.test(s)||Fb.test(s)}var _B=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function MB(s){return s==="address"||s==="bool"||s==="function"||s==="string"||s==="tuple"||qb.test(s)||Fb.test(s)||_B.test(s)}function $B(s,e){return e||s==="bytes"||s==="string"||s==="tuple"}function jc(s){let e={},t=s.length;for(let a=0;a<t;a++){let o=s[a];if(!Kn(o))continue;let c=Y6(o);if(!c)throw new Er({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],m=u.length;for(let w=0;w<m;w++){let v=u[w].trim();if(!v)continue;let A=Ys(v,{type:"struct"});l.push(A);}if(!l.length)throw new Ip({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=a3(c,e);}return r}var qB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function a3(s,e,t=new Set){let r=[],n=s.length;for(let i=0;i<n;i++){let a=s[i];if(fp.test(a.type))r.push(a);else {let c=Os(qB,a.type);if(!c?.type)throw new xp({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(t.has(l))throw new Cp({type:l});r.push({...a,type:`tuple${u??""}`,components:a3(e[l]??[],e,new Set([...t,l]))});}else if(Wb(l))r.push(a);else throw new gp({type:l})}}return r}function Jb(s){let e=jc(s),t=[],r=s.length;for(let n=0;n<r;n++){let i=s[n];Kn(i)||t.push(Oh(i,e));}return t}d();f();function Pp(s){let e;if(typeof s=="string")e=Oh(s);else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(!Kn(i)){e=Oh(i,t);break}}}if(!e)throw new pp({signature:s});return e}d();f();function Tp(s){let e=[];if(typeof s=="string"){let t=As(s),r=t.length;for(let n=0;n<r;n++)e.push(Ys(t[n],{modifiers:Gb}));}else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(Kn(i))continue;let a=As(i),o=a.length;for(let c=0;c<o;c++)e.push(Ys(a[c],{modifiers:Gb,structs:t}));}}if(e.length===0)throw new wp({params:s});return e}d();f();function o3(s){for(let e of s)if(typeof e!="string")return !1;return !0}function KB(s){return Kb(s)}function GB(s){return o3(s)?Jb(s):s}d();f();d();f();d();f();d();f();var c3="0.1.1";function u3(){return c3}var re=class s extends Error{static setStaticOptions(e){s.prototype.docsOrigin=e.docsOrigin,s.prototype.showVersion=e.showVersion,s.prototype.version=e.version;}constructor(e,t={}){let r=(()=>{if(t.cause instanceof s){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&"details"in t.cause&&typeof t.cause.details=="string"?t.cause.details:t.cause?.message?t.cause.message:t.details})(),n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=t.docsOrigin??s.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(t.version??s.prototype.showVersion),c=t.version??s.prototype.version,u=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
+ `);super(u,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=t.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return l3(this,e)}};Object.defineProperty(re,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${u3()}`}});re.setStaticOptions(re.defaultStaticOptions);function l3(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause?l3(s.cause,e):e?null:s}var ye={};Te(ye,{keccak256:()=>Tt,ripemd160:()=>UO,sha256:()=>Jh,validate:()=>ES});d();f();d();f();d();f();d();f();d();f();d();f();var Ea=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function WB(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function xa(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function xr(s,...e){if(!WB(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function h3(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");xa(s.outputLen),xa(s.blockLen);}function _r(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Op(s,e){xr(s);let t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function f3(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function ps(...s){for(let e=0;e<s.length;e++)s[e].fill(0);}function Rp(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Zs(s,e){return s<<32-e|s>>>e}function Rh(s,e){return s<<e|s>>>32-e>>>0}var JB=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function zB(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function YB(s){for(let e=0;e<s.length;e++)s[e]=zB(s[e]);return s}var zb=JB?s=>s:YB;function ZB(s){if(typeof s!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(s))}function Aa(s){return typeof s=="string"&&(s=ZB(s)),xr(s),s}function d3(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];xr(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}var Gn=class{};function Wn(s){let e=r=>s().update(Aa(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function m3(s=32){if(Ea&&typeof Ea.getRandomValues=="function")return Ea.getRandomValues(new Uint8Array(s));if(Ea&&typeof Ea.randomBytes=="function")return Uint8Array.from(Ea.randomBytes(s));throw new Error("crypto.getRandomValues must be defined")}function XB(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}function Yb(s,e,t){return s&e^~s&t}function Zb(s,e,t){return s&e^s&t^e&t}var Ia=class extends Gn{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Rp(this.buffer);}update(e){_r(this),e=Aa(e),xr(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Rp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){_r(this),Op(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,ps(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;XB(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Rp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Jt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),zt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var QB=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),g3=Uint8Array.from(new Array(16).fill(0).map((s,e)=>e)),eO=g3.map(s=>(9*s+5)%16),y3=(()=>{let t=[[g3],[eO]];for(let r=0;r<4;r++)for(let n of t)n.push(n[r].map(i=>QB[i]));return t})(),w3=y3[0],b3=y3[1],S3=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(s=>Uint8Array.from(s)),tO=w3.map((s,e)=>s.map(t=>S3[e][t])),sO=b3.map((s,e)=>s.map(t=>S3[e][t])),rO=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),nO=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function p3(s,e,t,r){return s===0?e^t^r:s===1?e&t|~e&r:s===2?(e|~t)^r:s===3?e&r|t&~r:e^(t|~r)}var Vp=new Uint32Array(16),Dp=class extends Ia{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776;}get(){let{h0:e,h1:t,h2:r,h3:n,h4:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.h0=e|0,this.h1=t|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,t){for(let E=0;E<16;E++,t+=4)Vp[E]=e.getUint32(t,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,m=this.h4|0,w=m;for(let E=0;E<5;E++){let v=4-E,A=rO[E],C=nO[E],D=w3[E],U=b3[E],T=tO[E],P=sO[E];for(let B=0;B<16;B++){let G=Rh(r+p3(E,i,o,u)+Vp[D[B]]+A,T[B])+m|0;r=m,m=u,u=Rh(o,10)|0,o=i,i=G;}for(let B=0;B<16;B++){let G=Rh(n+p3(v,a,c,l)+Vp[U[B]]+C,P[B])+w|0;n=w,w=l,l=Rh(c,10)|0,c=a,a=G;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+m+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){ps(Vp);}destroy(){this.destroyed=!0,ps(this.buffer),this.set(0,0,0,0,0);}},v3=Wn(()=>new Dp);var E3=v3;d();f();d();f();var Up=BigInt(4294967295),x3=BigInt(32);function iO(s,e=!1){return e?{h:Number(s&Up),l:Number(s>>x3&Up)}:{h:Number(s>>x3&Up)|0,l:Number(s&Up)|0}}function Lp(s,e=!1){let t=s.length,r=new Uint32Array(t),n=new Uint32Array(t);for(let i=0;i<t;i++){let{h:a,l:o}=iO(s[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var Xb=(s,e,t)=>s>>>t,Qb=(s,e,t)=>s<<32-t|e>>>t,Ca=(s,e,t)=>s>>>t|e<<32-t,Na=(s,e,t)=>s<<32-t|e>>>t,Vh=(s,e,t)=>s<<64-t|e>>>t-32,Dh=(s,e,t)=>s>>>t-32|e<<64-t;var A3=(s,e,t)=>s<<t|e>>>32-t,I3=(s,e,t)=>e<<t|s>>>32-t,C3=(s,e,t)=>e<<t-32|s>>>64-t,N3=(s,e,t)=>s<<t-32|e>>>64-t;function Ar(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var k3=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),P3=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,T3=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),B3=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,O3=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),R3=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var oO=BigInt(0),Uh=BigInt(1),cO=BigInt(2),uO=BigInt(7),lO=BigInt(256),hO=BigInt(113),U3=[],L3=[],j3=[];for(let s=0,e=Uh,t=1,r=0;s<24;s++){[t,r]=[r,(2*t+3*r)%5],U3.push(2*(5*r+t)),L3.push((s+1)*(s+2)/2%64);let n=oO;for(let i=0;i<7;i++)e=(e<<Uh^(e>>uO)*hO)%lO,e&cO&&(n^=Uh<<(Uh<<BigInt(i))-Uh);j3.push(n);}var H3=Lp(j3,!0),fO=H3[0],dO=H3[1],V3=(s,e,t)=>t>32?C3(s,e,t):A3(s,e,t),D3=(s,e,t)=>t>32?N3(s,e,t):I3(s,e,t);function mO(s,e=24){let t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)t[a]=s[a]^s[a+10]^s[a+20]^s[a+30]^s[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=t[c],l=t[c+1],m=V3(u,l,1)^t[o],w=D3(u,l,1)^t[o+1];for(let E=0;E<50;E+=10)s[a+E]^=m,s[a+E+1]^=w;}let n=s[2],i=s[3];for(let a=0;a<24;a++){let o=L3[a],c=V3(n,i,o),u=D3(n,i,o),l=U3[a];n=s[l],i=s[l+1],s[l]=c,s[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)t[o]=s[a+o];for(let o=0;o<10;o++)s[a+o]^=~t[(o+2)%10]&t[(o+4)%10];}s[0]^=fO[r],s[1]^=dO[r];}ps(t);}var eS=class s extends Gn{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,xa(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=f3(this.state);}clone(){return this._cloneInto()}keccak(){zb(this.state32),mO(this.state32,this.rounds),zb(this.state32),this.posOut=0,this.pos=0;}update(e){_r(this),e=Aa(e),xr(e);let{blockLen:t,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(t-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,t&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){_r(this,!1),xr(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return xa(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Op(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,ps(this.state);}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new s(t,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},pO=(s,e,t)=>Wn(()=>new eS(e,s,t));var _3=pO(1,136,256/8);d();f();d();f();var gO=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Jn=new Uint32Array(64),jp=class extends Ia{constructor(e=32){super(64,e,8,!1),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)Jn[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=Jn[m-15],E=Jn[m-2],v=Zs(w,7)^Zs(w,18)^w>>>3,A=Zs(E,17)^Zs(E,19)^E>>>10;Jn[m]=A+Jn[m-7]+v+Jn[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=Zs(o,6)^Zs(o,11)^Zs(o,25),E=l+w+Yb(o,c,u)+gO[m]+Jn[m]|0,A=(Zs(r,2)^Zs(r,13)^Zs(r,22))+Zb(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){ps(Jn);}destroy(){this.set(0,0,0,0,0,0,0,0),ps(this.buffer);}};var M3=Lp(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),yO=M3[0],wO=M3[1],zn=new Uint32Array(80),Yn=new Uint32Array(80),Hp=class extends Ia{constructor(e=64){super(128,e,16,!1),this.Ah=zt[0]|0,this.Al=zt[1]|0,this.Bh=zt[2]|0,this.Bl=zt[3]|0,this.Ch=zt[4]|0,this.Cl=zt[5]|0,this.Dh=zt[6]|0,this.Dl=zt[7]|0,this.Eh=zt[8]|0,this.El=zt[9]|0,this.Fh=zt[10]|0,this.Fl=zt[11]|0,this.Gh=zt[12]|0,this.Gl=zt[13]|0,this.Hh=zt[14]|0,this.Hl=zt[15]|0;}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)zn[T]=e.getUint32(t),Yn[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=zn[T-15]|0,B=Yn[T-15]|0,G=Ca(P,B,1)^Ca(P,B,8)^Xb(P,B,7),se=Na(P,B,1)^Na(P,B,8)^Qb(P,B,7),X=zn[T-2]|0,ae=Yn[T-2]|0,fe=Ca(X,ae,19)^Vh(X,ae,61)^Xb(X,ae,6),te=Na(X,ae,19)^Dh(X,ae,61)^Qb(X,ae,6),oe=T3(se,te,Yn[T-7],Yn[T-16]),pe=B3(oe,G,fe,zn[T-7],zn[T-16]);zn[T]=pe|0,Yn[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Ca(m,w,14)^Ca(m,w,18)^Vh(m,w,41),B=Na(m,w,14)^Na(m,w,18)^Dh(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=O3(U,B,se,wO[T],Yn[T]),ae=R3(X,D,P,G,yO[T],zn[T]),fe=X|0,te=Ca(r,n,28)^Vh(r,n,34)^Vh(r,n,39),oe=Na(r,n,28)^Dh(r,n,34)^Dh(r,n,39),pe=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Ar(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=k3(fe,oe,_e);r=P3(J,ae,te,pe),n=J|0;}(({h:r,l:n}=Ar(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Ar(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Ar(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Ar(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Ar(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Ar(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Ar(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Ar(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){ps(zn,Yn);}destroy(){ps(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},tS=class extends Hp{constructor(){super(48),this.Ah=Jt[0]|0,this.Al=Jt[1]|0,this.Bh=Jt[2]|0,this.Bl=Jt[3]|0,this.Ch=Jt[4]|0,this.Cl=Jt[5]|0,this.Dh=Jt[6]|0,this.Dl=Jt[7]|0,this.Eh=Jt[8]|0,this.El=Jt[9]|0,this.Fh=Jt[10]|0,this.Fl=Jt[11]|0,this.Gh=Jt[12]|0,this.Gl=Jt[13]|0,this.Hh=Jt[14]|0,this.Hl=Jt[15]|0;}};var Hc=Wn(()=>new jp);var $3=Wn(()=>new Hp),q3=Wn(()=>new tS);var F3=Hc;var p={};Te(p,{InvalidBytesBooleanError:()=>Kp,InvalidBytesTypeError:()=>Va,SizeExceedsPaddingSizeError:()=>Mh,SizeOverflowError:()=>_h,SliceOffsetOutOfBoundsError:()=>qc,assert:()=>n5,concat:()=>yS,from:()=>Gr,fromArray:()=>i5,fromBoolean:()=>OO,fromHex:()=>ut,fromNumber:()=>RO,fromString:()=>Wr,isEqual:()=>VO,padLeft:()=>a5,padRight:()=>o5,random:()=>gS,size:()=>Rs,slice:()=>wS,toBigInt:()=>bS,toBoolean:()=>SS,toHex:()=>DO,toNumber:()=>er,toString:()=>Gp,trimLeft:()=>Wp,trimRight:()=>Fp,validate:()=>vS});d();f();d();f();var iS=BigInt(0),nS=BigInt(1);function _c(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function aS(s){if(!_c(s))throw new Error("Uint8Array expected")}function Mc(s,e){if(typeof e!="boolean")throw new Error(s+" boolean expected, got "+e)}function Lh(s){let e=s.toString(16);return e.length&1?"0"+e:e}function W3(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return s===""?iS:BigInt("0x"+s)}var J3=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",bO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function $c(s){if(aS(s),J3)return s.toHex();let e="";for(let t=0;t<s.length;t++)e+=bO[s[t]];return e}var $r={_0:48,_9:57,A:65,F:70,a:97,f:102};function K3(s){if(s>=$r._0&&s<=$r._9)return s-$r._0;if(s>=$r.A&&s<=$r.F)return s-($r.A-10);if(s>=$r.a&&s<=$r.f)return s-($r.a-10)}function jh(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);if(J3)return Uint8Array.fromHex(s);let e=s.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;n<t;n++,i+=2){let a=K3(s.charCodeAt(i)),o=K3(s.charCodeAt(i+1));if(a===void 0||o===void 0){let c=s[i]+s[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function qr(s){return W3($c(s))}function oS(s){return aS(s),W3($c(Uint8Array.from(s).reverse()))}function ka(s,e){return jh(s.toString(16).padStart(e*2,"0"))}function cS(s,e){return ka(s,e).reverse()}function Is(s,e,t){let r;if(typeof e=="string")try{r=jh(e);}catch(i){throw new Error(s+" must be hex string or Uint8Array, cause: "+i)}else if(_c(e))r=Uint8Array.from(e);else throw new Error(s+" must be hex string or Uint8Array");let n=r.length;if(typeof t=="number"&&n!==t)throw new Error(s+" of length "+t+" expected, got "+n);return r}function Hh(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];aS(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function _p(s,e){if(s.length!==e.length)return !1;let t=0;for(let r=0;r<s.length;r++)t|=s[r]^e[r];return t===0}var sS=s=>typeof s=="bigint"&&iS<=s;function Mp(s,e,t){return sS(s)&&sS(e)&&sS(t)&&e<=s&&s<t}function Pa(s,e,t,r){if(!Mp(e,t,r))throw new Error("expected valid "+s+": "+t+" <= n < "+r+", got "+e)}function z3(s){let e;for(e=0;s>iS;s>>=nS,e+=1);return e}var Ta=s=>(nS<<BigInt(s))-nS,rS=s=>new Uint8Array(s),G3=s=>Uint8Array.from(s);function Y3(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=rS(s),n=rS(s),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...m)=>t(n,r,...m),c=(m=rS(0))=>{n=o(G3([0]),m),r=o(),m.length!==0&&(n=o(G3([1]),m),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let m=0,w=[];for(;m<e;){r=o();let E=r.slice();w.push(E),m+=r.length;}return Hh(...w)};return (m,w)=>{a(),c(m);let E;for(;!(E=w(u()));)c();return a(),E}}var SO={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||_c(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Ba(s,e,t={}){let r=(n,i,a)=>{let o=SO[i];if(typeof o!="function")throw new Error("invalid validator function");let c=s[n];if(!(a&&c===void 0)&&!o(c,s))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}function uS(s){let e=new WeakMap;return (t,...r)=>{let n=e.get(t);if(n!==void 0)return n;let i=s(t,...r);return e.set(t,i),i}}var R={};Te(R,{IntegerOutOfRangeError:()=>Gc,InvalidHexBooleanError:()=>$p,InvalidHexTypeError:()=>Fh,InvalidHexValueError:()=>Kh,InvalidLengthError:()=>Gh,SizeExceedsPaddingSizeError:()=>qh,SizeOverflowError:()=>$h,SliceOffsetOutOfBoundsError:()=>Fc,assert:()=>r5,concat:()=>st,from:()=>gs,fromBoolean:()=>Wh,fromBytes:()=>Re,fromNumber:()=>ve,fromString:()=>Cs,isEqual:()=>AO,padLeft:()=>Ir,padRight:()=>Qs,random:()=>IO,size:()=>We,slice:()=>wt,toBigInt:()=>qp,toBoolean:()=>NO,toBytes:()=>kO,toNumber:()=>pS,toString:()=>PO,trimLeft:()=>Ra,trimRight:()=>CO,validate:()=>ys});d();f();d();f();function Kr(s,e){if(Rs(s)>e)throw new _h({givenSize:Rs(s),maxSize:e})}function Z3(s,e){if(typeof e=="number"&&e>0&&e>Rs(s)-1)throw new qc({offset:e,position:"start",size:Rs(s)})}function X3(s,e,t){if(typeof e=="number"&&typeof t=="number"&&Rs(s)!==t-e)throw new qc({offset:t,position:"end",size:Rs(s)})}var Fr={zero:48,nine:57,A:65,F:70,a:97,f:102};function lS(s){if(s>=Fr.zero&&s<=Fr.nine)return s-Fr.zero;if(s>=Fr.A&&s<=Fr.F)return s-(Fr.A-10);if(s>=Fr.a&&s<=Fr.f)return s-(Fr.a-10)}function hS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;if(s.length>r)throw new Mh({size:s.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=t==="right";n[a?i:r-i-1]=s[a?i:s.length-i-1];}return n}function fS(s,e={}){let{dir:t="left"}=e,r=s,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r}d();f();function Oa(s,e){if(We(s)>e)throw new $h({givenSize:We(s),maxSize:e})}function e5(s,e){if(typeof e=="number"&&e>0&&e>We(s)-1)throw new Fc({offset:e,position:"start",size:We(s)})}function t5(s,e,t){if(typeof e=="number"&&typeof t=="number"&&We(s)!==t-e)throw new Fc({offset:t,position:"end",size:We(s)})}function dS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;let n=s.replace("0x","");if(n.length>r*2)throw new qh({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function mS(s,e={}){let{dir:t="left"}=e,r=s.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":t==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();f();var vO="#__bigint";function Xs(s,e,t){return JSON.stringify(s,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+vO:n,t)}var EO=new TextEncoder,xO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function r5(s,e={}){let{strict:t=!1}=e;if(!s)throw new Fh(s);if(typeof s!="string")throw new Fh(s);if(t&&!/^0x[0-9a-fA-F]*$/.test(s))throw new Kh(s);if(!s.startsWith("0x"))throw new Kh(s)}function st(...s){return `0x${s.reduce((e,t)=>e+t.replace("0x",""),"")}`}function gs(s){return s instanceof Uint8Array?Re(s):Array.isArray(s)?Re(new Uint8Array(s)):s}function Wh(s,e={}){let t=`0x${Number(s)}`;return typeof e.size=="number"?(Oa(t,e.size),Ir(t,e.size)):t}function Re(s,e={}){let t="";for(let n=0;n<s.length;n++)t+=xO[s[n]];let r=`0x${t}`;return typeof e.size=="number"?(Oa(r,e.size),Qs(r,e.size)):r}function ve(s,e={}){let{signed:t,size:r}=e,n=BigInt(s),i;r?t?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof s=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&t?-i-1n:0;if(i&&n>i||n<a){let u=typeof s=="bigint"?"n":"";throw new Gc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:t,size:r,value:`${s}${u}`})}let c=`0x${(t&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?Ir(c,r):c}function Cs(s,e={}){return Re(EO.encode(s),e)}function AO(s,e){return _p(ut(s),ut(e))}function Ir(s,e){return dS(s,{dir:"left",size:e})}function Qs(s,e){return dS(s,{dir:"right",size:e})}function IO(s){return Re(gS(s))}function wt(s,e,t,r={}){let{strict:n}=r;e5(s,e);let i=`0x${s.replace("0x","").slice((e??0)*2,(t??s.length)*2)}`;return n&&t5(i,e,t),i}function We(s){return Math.ceil((s.length-2)/2)}function Ra(s){return mS(s,{dir:"left"})}function CO(s){return mS(s,{dir:"right"})}function qp(s,e={}){let{signed:t}=e;e.size&&Oa(s,e.size);let r=BigInt(s);if(!t)return r;let n=(s.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function NO(s,e={}){e.size&&Oa(s,e.size);let t=Ra(s);if(t==="0x")return !1;if(t==="0x1")return !0;throw new $p(s)}function kO(s,e={}){return ut(s,e)}function pS(s,e={}){let{signed:t,size:r}=e;return Number(!t&&!r?s:qp(s,e))}function PO(s,e={}){let{size:t}=e,r=ut(s);return t&&(Kr(r,t),r=Fp(r)),new TextDecoder().decode(r)}function ys(s,e={}){let{strict:t=!1}=e;try{return r5(s,{strict:t}),!0}catch{return !1}}var Gc=class extends re{constructor({max:e,min:t,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},$p=class extends re{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Fh=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Kh=class extends re{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Gh=class extends re{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},$h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},Fc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},qh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var TO=new TextDecoder,BO=new TextEncoder;function n5(s){if(!(s instanceof Uint8Array)){if(!s)throw new Va(s);if(typeof s!="object")throw new Va(s);if(!("BYTES_PER_ELEMENT"in s))throw new Va(s);if(s.BYTES_PER_ELEMENT!==1||s.constructor.name!=="Uint8Array")throw new Va(s)}}function yS(...s){let e=0;for(let r of s)e+=r.length;let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function Gr(s){return s instanceof Uint8Array?s:typeof s=="string"?ut(s):i5(s)}function i5(s){return s instanceof Uint8Array?s:new Uint8Array(s)}function OO(s,e={}){let{size:t}=e,r=new Uint8Array(1);return r[0]=Number(s),typeof t=="number"?(Kr(r,t),a5(r,t)):r}function ut(s,e={}){let{size:t}=e,r=s;t&&(Oa(s,t),r=Qs(s,t));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=lS(n.charCodeAt(c++)),l=lS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new re(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function RO(s,e){let t=ve(s,e);return ut(t)}function Wr(s,e={}){let{size:t}=e,r=BO.encode(s);return typeof t=="number"?(Kr(r,t),o5(r,t)):r}function VO(s,e){return _p(s,e)}function a5(s,e){return hS(s,{dir:"left",size:e})}function o5(s,e){return hS(s,{dir:"right",size:e})}function gS(s){return crypto.getRandomValues(new Uint8Array(s))}function Rs(s){return s.length}function wS(s,e,t,r={}){let{strict:n}=r;Z3(s,e);let i=s.slice(e,t);return n&&X3(i,e,t),i}function bS(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return qp(r,e)}function SS(s,e={}){let{size:t}=e,r=s;if(typeof t<"u"&&(Kr(r,t),r=Wp(r)),r.length>1||r[0]>1)throw new Kp(r);return !!r[0]}function DO(s,e={}){return Re(s,e)}function er(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return pS(r,e)}function Gp(s,e={}){let{size:t}=e,r=s;return typeof t<"u"&&(Kr(r,t),r=Fp(r)),TO.decode(r)}function Wp(s){return fS(s,{dir:"left"})}function Fp(s){return fS(s,{dir:"right"})}function vS(s){try{return n5(s),!0}catch{return !1}}var Kp=class extends re{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},Va=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},_h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},qc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Mh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Tt(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=_3(Gr(s));return t==="Bytes"?r:Re(r)}function UO(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=E3(Gr(s));return t==="Bytes"?r:Re(r)}function Jh(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=F3(Gr(s));return t==="Bytes"?r:Re(r)}function ES(s){return ys(s)&&We(s)===32}d();f();var M={};Te(M,{InvalidAddressError:()=>Da,InvalidChecksumError:()=>Zp,InvalidInputError:()=>Wc,assert:()=>ws,checksum:()=>Yh,from:()=>f5,fromPublicKey:()=>NS,isEqual:()=>kS,validate:()=>Ua});d();f();d();f();d();f();var Jp=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var LO={checksum:new Jp(8192)},zp=LO.checksum;d();f();function u5(s,e={}){let{compressed:t}=e,{prefix:r,x:n,y:i}=s;if(t===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new Yp({prefix:r,cause:new IS});return}if(t===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new Yp({prefix:r,cause:new AS});return}throw new xS({publicKey:s})}function Jr(s){let e=(()=>{if(ys(s))return l5(s);if(vS(s))return jO(s);let{prefix:t,x:r,y:n}=s;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:t??4,x:r,y:n}:{prefix:t,x:r}})();return u5(e),e}function jO(s){return l5(Re(s))}function l5(s){if(s.length!==132&&s.length!==130&&s.length!==68)throw new CS({publicKey:s});if(s.length===130){let r=BigInt(wt(s,0,32)),n=BigInt(wt(s,32,64));return {prefix:4,x:r,y:n}}if(s.length===132){let r=Number(wt(s,0,1)),n=BigInt(wt(s,1,33)),i=BigInt(wt(s,33,65));return {prefix:r,x:n,y:i}}let e=Number(wt(s,0,1)),t=BigInt(wt(s,1,33));return {prefix:e,x:t}}function h5(s,e={}){return ut(Zn(s,e))}function Zn(s,e={}){u5(s);let{prefix:t,x:r,y:n}=s,{includePrefix:i=!0}=e;return st(i?ve(t,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var xS=class extends re{constructor({publicKey:e}){super(`Value \`${Xs(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},Yp=class extends re{constructor({prefix:e,cause:t}){super(`Prefix "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},AS=class extends re{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},IS=class extends re{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},CS=class extends re{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var HO=/^0x[a-fA-F0-9]{40}$/;function ws(s,e={}){let{strict:t=!0}=e;if(!HO.test(s))throw new Da({address:s,cause:new Wc});if(t){if(s.toLowerCase()===s)return;if(Yh(s)!==s)throw new Da({address:s,cause:new Zp})}}function Yh(s){if(zp.has(s))return zp.get(s);ws(s,{strict:!1});let e=s.substring(2).toLowerCase(),t=Tt(Wr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)t[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(t[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return zp.set(s,n),n}function f5(s,e={}){let{checksum:t=!1}=e;return ws(s),t?Yh(s):s}function NS(s,e={}){let t=Tt(`0x${Zn(s).slice(4)}`).substring(26);return f5(`0x${t}`,e)}function kS(s,e){return ws(s,{strict:!1}),ws(e,{strict:!1}),s.toLowerCase()===e.toLowerCase()}function Ua(s,e={}){let{strict:t=!0}=e??{};try{return ws(s,{strict:t}),!0}catch{return !1}}var Da=class extends re{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Wc=class extends re{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},Zp=class extends re{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function Qp(s){let e=!0,t="",r=0,n="",i=!1;for(let a=0;a<s.length;a++){let o=s[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){s[a-1]!==","&&t!==","&&t!==",("&&(t="",e=!1);continue}n+=o,t+=o;}}if(!i)throw new re("Unable to normalize signature.");return n}function Xp(s,e){let t=typeof s,r=e.type;switch(r){case"address":return Ua(s,{strict:!1});case"bool":return t==="boolean";case"function":return t==="string";case"string":return t==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>Xp(Object.values(s)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?t==="number"||t==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?t==="string"||s instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(s)&&s.every(n=>Xp(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function PS(s,e,t){for(let r in s){let n=s[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return PS(n.components,i.components,t[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?Ua(t[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?Ua(t[r],{strict:!1}):!1)return a}}function d5(s,e={}){let{prepare:t=!0}=e,r=Array.isArray(s)?Pp(s):typeof s=="string"?Pp(s):s;return {...r,...t?{hash:Jc(r)}:{}}}function Zh(s,e,t){let{args:r=[],prepare:n=!0}=t??{},i=ys(e,{strict:!1}),a=s.filter(u=>i?u.type==="function"||u.type==="error"?BS(u)===wt(e,0,4):u.type==="event"?Jc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new zc({name:e});if(a.length===1)return {...a[0],...n?{hash:Jc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Jc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((m,w)=>{let E="inputs"in u&&u.inputs[w];return E?Xp(m,E):!1})){if(o&&"inputs"in o&&o.inputs){let m=PS(u.inputs,o.inputs,r);if(m)throw new TS({abiItem:u,type:m[0]},{abiItem:o,type:m[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new zc({name:e});return {...c,...n?{hash:Jc(c)}:{}}}function BS(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return wt(Jc(e),0,4)}function MO(...s){let e=(()=>{if(Array.isArray(s[0])){let[r,n]=s;return Zh(r,n)}return s[0]})(),t=typeof e=="string"?e:Hr(e);return Qp(t)}function Jc(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Tt(Cs(MO(e)))}var TS=class extends re{constructor(e,t){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Qp(Hr(e.abiItem))}\`, and`,`\`${t.type}\` in \`${Qp(Hr(t.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},zc=class extends re{constructor({name:e,data:t,type:r="item"}){let n=e?` with name "${e}"`:t?` with data "${t}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},eg=class extends re{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${We(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var xt={};Te(xt,{ArrayLengthMismatchError:()=>Qh,BytesSizeMismatchError:()=>Zc,DataSizeTooSmallError:()=>ag,InvalidArrayError:()=>ef,InvalidTypeError:()=>ja,LengthMismatchError:()=>sf,ZeroDataError:()=>og,decode:()=>Xc,encode:()=>zr,encodePacked:()=>ig,format:()=>nR,from:()=>cg});d();f();d();f();d();f();var p5=/^(.*)\[([0-9]*)\]$/,tg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yc=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,OS=2n**256n-1n;function La(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=DS(e.type);if(i){let[a,o]=i;return qO(s,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return WO(s,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return $O(s,{checksum:r});if(e.type==="bool")return FO(s);if(e.type.startsWith("bytes"))return KO(s,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return GO(s,e);if(e.type==="string")return JO(s,{staticPosition:n});throw new ja(e.type)}var g5=32,RS=32;function $O(s,e={}){let{checksum:t=!1}=e,r=s.readBytes(32);return [(i=>t?Yh(i):i)(Re(wS(r,-20))),32]}function qO(s,e,t){let{checksumAddress:r,length:n,staticPosition:i}=t;if(!n){let c=er(s.readBytes(RS)),u=i+c,l=u+g5;s.setPosition(u);let m=er(s.readBytes(g5)),w=Xh(e),E=0,v=[];for(let A=0;A<m;++A){s.setPosition(l+(w?A*32:E));let[C,D]=La(s,e,{checksumAddress:r,staticPosition:l});E+=D,v.push(C);}return s.setPosition(i+32),[v,32]}if(Xh(e)){let c=er(s.readBytes(RS)),u=i+c,l=[];for(let m=0;m<n;++m){s.setPosition(u+m*32);let[w]=La(s,e,{checksumAddress:r,staticPosition:u});l.push(w);}return s.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=La(s,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function FO(s){return [SS(s.readBytes(32),{size:32}),32]}function KO(s,e,{staticPosition:t}){let[r,n]=e.type.split("bytes");if(!n){let a=er(s.readBytes(32));s.setPosition(t+a);let o=er(s.readBytes(32));if(o===0)return s.setPosition(t+32),["0x",32];let c=s.readBytes(o);return s.setPosition(t+32),[Re(c),32]}return [Re(s.readBytes(Number.parseInt(n,10),32)),32]}function GO(s,e){let t=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=s.readBytes(32);return [r>48?bS(n,{signed:t}):er(n,{signed:t}),32]}function WO(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(Xh(e)){let c=er(s.readBytes(RS)),u=n+c;for(let l=0;l<e.components.length;++l){let m=e.components[l];s.setPosition(u+o);let[w,E]=La(s,m,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:m?.name]=w;}return s.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,m]=La(s,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=m;}return [a,o]}function JO(s,{staticPosition:e}){let t=er(s.readBytes(32)),r=e+t;s.setPosition(r);let n=er(s.readBytes(32));if(n===0)return s.setPosition(e+32),["",32];let i=s.readBytes(n,32),a=Gp(Wp(i));return s.setPosition(e+32),[a,32]}function y5({checksumAddress:s,parameters:e,values:t}){let r=[];for(let n=0;n<e.length;n++)r.push(VS({checksumAddress:s,parameter:e[n],value:t[n]}));return r}function VS({checksumAddress:s=!1,parameter:e,value:t}){let r=e,n=DS(r.type);if(n){let[i,a]=n;return YO(t,{checksumAddress:s,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return tR(t,{checksumAddress:s,parameter:r});if(r.type==="address")return zO(t,{checksum:s});if(r.type==="bool")return XO(t);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=Yc.exec(r.type)??[];return QO(t,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return ZO(t,{type:r.type});if(r.type==="string")return eR(t);throw new ja(r.type)}function rg(s){let e=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?e+=32:e+=We(o);}let t=[],r=[],n=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?(t.push(ve(e+n,{size:32})),r.push(o),n+=We(o)):t.push(o);}return st(...t,...r)}function zO(s,e){let{checksum:t=!1}=e;return ws(s,{strict:t}),{dynamic:!1,encoded:Ir(s.toLowerCase())}}function YO(s,e){let{checksumAddress:t,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(s))throw new ef(s);if(!i&&s.length!==r)throw new Qh({expectedLength:r,givenLength:s.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<s.length;c++){let u=VS({checksumAddress:t,parameter:n,value:s[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=rg(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?st(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:st(...o.map(({encoded:c})=>c))}}function ZO(s,{type:e}){let[,t]=e.split("bytes"),r=We(s);if(!t){let n=s;return r%32!==0&&(n=Qs(n,Math.ceil((s.length-2)/2/32)*32)),{dynamic:!0,encoded:st(Ir(ve(r,{size:32})),n)}}if(r!==Number.parseInt(t,10))throw new Zc({expectedSize:Number.parseInt(t,10),value:s});return {dynamic:!1,encoded:Qs(s)}}function XO(s){if(typeof s!="boolean")throw new re(`Invalid boolean value: "${s}" (type: ${typeof s}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:Ir(Wh(s))}}function QO(s,{signed:e,size:t}){if(typeof t=="number"){let r=2n**(BigInt(t)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(s>r||s<n)throw new Gc({max:r.toString(),min:n.toString(),signed:e,size:t/8,value:s.toString()})}return {dynamic:!1,encoded:ve(s,{size:32,signed:e})}}function eR(s){let e=Cs(s),t=Math.ceil(We(e)/32),r=[];for(let n=0;n<t;n++)r.push(Qs(wt(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:st(Qs(ve(We(e),{size:32})),...r)}}function tR(s,e){let{checksumAddress:t,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(s)?a:o.name,u=VS({checksumAddress:t,parameter:o,value:s[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?rg(i):st(...i.map(({encoded:a})=>a))}}function DS(s){let e=s.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function Xh(s){let{type:e}=s;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return s.components?.some(Xh);let t=DS(s.type);return !!(t&&Xh({...s,type:t[1]}))}d();f();var rR={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new LS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(s){if(s<0||s>this.bytes.length-1)throw new US({length:this.bytes.length,position:s})},decrementPosition(s){if(s<0)throw new ng({offset:s});let e=this.position-s;this.assertPosition(e),this.position=e;},getReadCount(s){return this.positionReadCount.get(s||this.position)||0},incrementPosition(s){if(s<0)throw new ng({offset:s});let e=this.position+s;this.assertPosition(e),this.position=e;},inspectByte(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(s,e){let t=e??this.position;return this.assertPosition(t+s-1),this.bytes.subarray(t,t+s)},inspectUint8(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(s){let e=s??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(s){let e=s??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(s){let e=s??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushBytes(s){this.assertPosition(this.position+s.length-1),this.bytes.set(s,this.position),this.position+=s.length;},pushUint8(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushUint16(s){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,s),this.position+=2;},pushUint24(s){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,s>>8),this.dataView.setUint8(this.position+2,s&255),this.position+=3;},pushUint32(s){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,s),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let s=this.inspectByte();return this.position++,s},readBytes(s,e){this.assertReadLimit(),this._touch();let t=this.inspectBytes(s);return this.position+=e??s,t},readUint8(){this.assertReadLimit(),this._touch();let s=this.inspectUint8();return this.position+=1,s},readUint16(){this.assertReadLimit(),this._touch();let s=this.inspectUint16();return this.position+=2,s},readUint24(){this.assertReadLimit(),this._touch();let s=this.inspectUint24();return this.position+=3,s},readUint32(){this.assertReadLimit(),this._touch();let s=this.inspectUint32();return this.position+=4,s},get remaining(){return this.bytes.length-this.position},setPosition(s){let e=this.position;return this.assertPosition(s),this.position=s,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let s=this.getReadCount();this.positionReadCount.set(this.position,s+1),s>0&&this.recursiveReadCount++;}};function tf(s,{recursiveReadLimit:e=8192}={}){let t=Object.create(rR);return t.bytes=s,t.dataView=new DataView(s.buffer,s.byteOffset,s.byteLength),t.positionReadCount=new Map,t.recursiveReadLimit=e,t}var ng=class extends re{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},US=class extends re{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},LS=class extends re{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function Xc(s,e,t={}){let{as:r="Array",checksumAddress:n=!1}=t,i=typeof e=="string"?ut(e):e,a=tf(i);if(Rs(i)===0&&s.length>0)throw new og;if(Rs(i)&&Rs(i)<32)throw new ag({data:typeof e=="string"?e:Re(e),parameters:s,size:Rs(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<s.length;++u){let l=s[u];a.setPosition(o);let[m,w]=La(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(m):c[l.name??u]=m;}return c}function zr(s,e,t){let{checksumAddress:r=!1}=t??{};if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let n=y5({checksumAddress:r,parameters:s,values:e}),i=rg(n);return i.length===0?"0x":i}function ig(s,e){if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let t=[];for(let r=0;r<s.length;r++){let n=s[r],i=e[r];t.push(ig.encode(n,i));}return st(...t)}(function(s){function e(t,r,n=!1){if(t==="address"){let c=r;return ws(c),Ir(c.toLowerCase(),n?32:0)}if(t==="string")return Cs(r);if(t==="bytes")return r;if(t==="bool")return Ir(Wh(r),n?32:1);let i=t.match(Yc);if(i){let[c,u,l="256"]=i,m=Number.parseInt(l,10)/8;return ve(r,{size:n?32:m,signed:u==="int"})}let a=t.match(tg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new Zc({expectedSize:Number.parseInt(u,10),value:r});return Qs(r,n?32:0)}let o=t.match(p5);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let m=0;m<r.length;m++)l.push(e(u,r[m],!0));return l.length===0?"0x":st(...l)}throw new ja(t)}s.encode=e;})(ig||(ig={}));function nR(s){return vr(s)}function cg(s){return Array.isArray(s)&&typeof s[0]=="string"?Tp(s):typeof s=="string"?Tp(s):s}var ag=class extends re{constructor({data:e,parameters:t,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${vr(t)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},og=class extends re{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},Qh=class extends re{constructor({expectedLength:e,givenLength:t,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},Zc=class extends re{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${We(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},sf=class extends re{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`
339
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},ef=class extends re{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},ja=class extends re{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var me={};Te(me,{decodeData:()=>iR,decodeResult:()=>aR,encodeData:()=>oR,encodeResult:()=>cR,format:()=>uR,from:()=>lR,fromAbi:()=>Ha,getSelector:()=>b5});d();f();function iR(...s){let[e,t]=(()=>{if(Array.isArray(s[0])){let[i,a,o]=s;return [Ha(i,a),o]}return s})(),{overloads:r}=e;if(We(t)<4)throw new eg({data:t});if(e.inputs?.length===0)return;let n=r?Ha([e,...r],t):e;if(!(We(t)<=4))return Xc(n.inputs,wt(t,4))}function aR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[i,a,o,c]=s;return [Ha(i,a),o,c]}return s})(),n=Xc(e.outputs,t,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function oR(...s){let[e,t=[]]=(()=>{if(Array.isArray(s[0])){let[u,l,m]=s;return [Ha(u,l,{args:m}),m]}let[o,c]=s;return [o,c]})(),{overloads:r}=e,n=r?Ha([e,...r],e.name,{args:t}):e,i=b5(n),a=t.length>0?zr(n.inputs,t):void 0;return a?st(i,a):i}function cR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[a,o,c,u]=s;return [Ha(a,o),c,u]}return s})(),{as:n="Array"}=r,i=e.outputs.length===1?[t]:Array.isArray(t)?t:n==="Object"?Object.values(t):[t];return zr(e.outputs,i)}function uR(s){return Hr(s)}function lR(s,e={}){return d5(s,e)}function Ha(s,e,t){let r=Zh(s,e,t);if(r.type!=="function")throw new zc({name:e,type:"function"});return r}function b5(s){return BS(s)}d();f();function S5(s){let e=[];for(let t=0;t<s.length;t++){let[r,n]=s[t];r&&ws(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>ES(i)?i:Ra(i))});}return e}function v5(s){if(!s||s.length===0)return [];let e=[];for(let{address:t,storageKeys:r}of s){for(let n=0;n<r.length;n++)if(We(r[n])!==32)throw new jS({storageKey:r[n]});t&&ws(t,{strict:!1}),e.push([t,r]);}return e}var jS=class extends re{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${We(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();f();function A5(s){return hR(s,"Hex")}function hR(s,e){let t=e,r=(()=>{if(typeof s=="string"){if(s.length>3&&s.length%2!==0)throw new Gh(s);return ut(s)}return s})(),n=tf(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return I5(n,t)}function I5(s,e="Hex"){if(s.bytes.length===0)return e==="Hex"?Re(s.bytes):s.bytes;let t=s.readByte();if(t<128&&s.decrementPosition(1),t<192){let n=x5(s,t,128),i=s.readBytes(n);return e==="Hex"?Re(i):i}let r=x5(s,t,192);return fR(s,r,e)}function x5(s,e,t){if(t===128&&e<128)return 1;if(e<=t+55)return e-t;if(e===t+55+1)return s.readUint8();if(e===t+55+2)return s.readUint16();if(e===t+55+3)return s.readUint24();if(e===t+55+4)return s.readUint32();throw new re("Invalid RLP prefix")}function fR(s,e,t){let r=s.position,n=[];for(;s.position-r<e;)n.push(I5(s,t));return n}function dR(s,e){let{as:t}=e,r=N5(s),n=tf(new Uint8Array(r.length));return r.encode(n),t==="Hex"?Re(n.bytes):n.bytes}function C5(s,e={}){let{as:t="Hex"}=e;return dR(s,{as:t})}function N5(s){return Array.isArray(s)?mR(s.map(e=>N5(e))):pR(s)}function mR(s){let e=s.reduce((n,i)=>n+i.length,0),t=k5(e);return {length:e<=55?1+e:1+t+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+t),t===1?n.pushUint8(e):t===2?n.pushUint16(e):t===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of s)i(n);}}}function pR(s){let e=typeof s=="string"?ut(s):s,t=k5(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+t+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+t),t===1?n.pushUint8(e.length):t===2?n.pushUint16(e.length):t===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function k5(s){if(s<=255)return 1;if(s<=65535)return 2;if(s<=16777215)return 3;if(s<=4294967295)return 4;throw new re("Length is too large.")}var $t={};Te($t,{InvalidRError:()=>fg,InvalidSError:()=>dg,InvalidSerializedSizeError:()=>hg,InvalidVError:()=>mg,InvalidYParityError:()=>Ma,MissingPropertiesError:()=>eu,assert:()=>pg,extract:()=>gg,from:()=>rf,fromBytes:()=>J5,fromDerBytes:()=>OR,fromDerHex:()=>z5,fromHex:()=>tv,fromLegacy:()=>Y5,fromRpc:()=>Z5,fromTuple:()=>sv,toBytes:()=>RR,toDerBytes:()=>VR,toDerHex:()=>DR,toHex:()=>X5,toLegacy:()=>UR,toRpc:()=>rv,toTuple:()=>nv,vToYParity:()=>yg,validate:()=>LR,yParityToV:()=>iv});d();f();d();f();d();f();d();f();var ug=class extends Gn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,h3(e);let r=Aa(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),ps(i);}update(e){return _r(this),this.iHash.update(e),this}digestInto(e){_r(this),xr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy();}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},HS=(s,e,t)=>new ug(s,e).update(t).digest();HS.create=(s,e)=>new ug(s,e);d();f();d();f();d();f();var bs=BigInt(0),is=BigInt(1),_a=BigInt(2),gR=BigInt(3),B5=BigInt(4),O5=BigInt(5),R5=BigInt(8);function ns(s,e){let t=s%e;return t>=bs?t:e+t}function Vs(s,e,t){let r=s;for(;e-- >bs;)r*=r,r%=t;return r}function lg(s,e){if(s===bs)throw new Error("invert: expected non-zero number");if(e<=bs)throw new Error("invert: expected positive modulus, got "+e);let t=ns(s,e),r=e,n=bs,a=is;for(;t!==bs;){let u=r/t,l=r%t,m=n-a*u;r=t,t=l,n=a,a=m;}if(r!==is)throw new Error("invert: does not exist");return ns(n,e)}function V5(s,e){let t=(s.ORDER+is)/B5,r=s.pow(e,t);if(!s.eql(s.sqr(r),e))throw new Error("Cannot find square root");return r}function yR(s,e){let t=(s.ORDER-O5)/R5,r=s.mul(e,_a),n=s.pow(r,t),i=s.mul(e,n),a=s.mul(s.mul(i,_a),n),o=s.mul(i,s.sub(a,s.ONE));if(!s.eql(s.sqr(o),e))throw new Error("Cannot find square root");return o}function wR(s){if(s<BigInt(3))throw new Error("sqrt is not defined for small field");let e=s-is,t=0;for(;e%_a===bs;)e/=_a,t++;let r=_a,n=Yr(s);for(;T5(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return V5;let i=n.pow(r,e),a=(e+is)/_a;return function(c,u){if(c.is0(u))return u;if(T5(c,u)!==1)throw new Error("Cannot find square root");let l=t,m=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let v=1,A=c.sqr(w);for(;!c.eql(A,c.ONE);)if(v++,A=c.sqr(A),v===l)throw new Error("Cannot find square root");let C=is<<BigInt(l-v-1),D=c.pow(m,C);l=v,m=c.sqr(D),w=c.mul(w,m),E=c.mul(E,D);}return E}}function bR(s){return s%B5===gR?V5:s%R5===O5?yR:wR(s)}var SR=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function _S(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=SR.reduce((r,n)=>(r[n]="function",r),e);return Ba(s,t)}function vR(s,e,t){if(t<bs)throw new Error("invalid exponent, negatives unsupported");if(t===bs)return s.ONE;if(t===is)return e;let r=s.ONE,n=e;for(;t>bs;)t&is&&(r=s.mul(r,n)),n=s.sqr(n),t>>=is;return r}function MS(s,e,t=!1){let r=new Array(e.length).fill(t?s.ZERO:void 0),n=e.reduce((a,o,c)=>s.is0(o)?a:(r[c]=a,s.mul(a,o)),s.ONE),i=s.inv(n);return e.reduceRight((a,o,c)=>s.is0(o)?a:(r[c]=s.mul(a,r[c]),s.mul(a,o)),i),r}function T5(s,e){let t=(s.ORDER-is)/_a,r=s.pow(e,t),n=s.eql(r,s.ONE),i=s.eql(r,s.ZERO),a=s.eql(r,s.neg(s.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function $S(s,e){e!==void 0&&xa(e);let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return {nBitLength:t,nByteLength:r}}function Yr(s,e,t=!1,r={}){if(s<=bs)throw new Error("invalid field: expected ORDER > 0, got "+s);let{nBitLength:n,nByteLength:i}=$S(s,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:s,isLE:t,BITS:n,BYTES:i,MASK:Ta(n),ZERO:bs,ONE:is,create:c=>ns(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return bs<=c&&c<s},is0:c=>c===bs,isOdd:c=>(c&is)===is,neg:c=>ns(-c,s),eql:(c,u)=>c===u,sqr:c=>ns(c*c,s),add:(c,u)=>ns(c+u,s),sub:(c,u)=>ns(c-u,s),mul:(c,u)=>ns(c*u,s),pow:(c,u)=>vR(o,c,u),div:(c,u)=>ns(c*lg(u,s),s),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>lg(c,s),sqrt:r.sqrt||(c=>(a||(a=bR(s)),a(o,c))),toBytes:c=>t?cS(c,i):ka(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return t?oS(c):qr(c)},invertBatch:c=>MS(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function D5(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function qS(s){let e=D5(s);return e+Math.ceil(e/2)}function U5(s,e,t=!1){let r=s.length,n=D5(e),i=qS(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=t?oS(s):qr(s),o=ns(a,e-is)+is;return t?cS(o,n):ka(o,n)}var L5=BigInt(0),JS=BigInt(1);function FS(s,e){let t=e.negate();return s?t:e}function H5(s,e){if(!Number.isSafeInteger(s)||s<=0||s>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+s)}function KS(s,e){H5(s,e);let t=Math.ceil(e/s)+1,r=2**(s-1),n=2**s,i=Ta(s),a=BigInt(s);return {windows:t,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function j5(s,e,t){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=t,o=Number(s&n),c=s>>a;o>r&&(o-=i,c+=JS);let u=e*r,l=u+Math.abs(o)-1,m=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:u}}function ER(s,e){if(!Array.isArray(s))throw new Error("array expected");s.forEach((t,r)=>{if(!(t instanceof e))throw new Error("invalid point at index "+r)});}function xR(s,e){if(!Array.isArray(s))throw new Error("array of scalars expected");s.forEach((t,r)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+r)});}var GS=new WeakMap,_5=new WeakMap;function WS(s){return _5.get(s)||1}function M5(s,e){return {constTimeNegate:FS,hasPrecomputes(t){return WS(t)!==1},unsafeLadder(t,r,n=s.ZERO){let i=t;for(;r>L5;)r&JS&&(n=n.add(i)),i=i.double(),r>>=JS;return n},precomputeWindow(t,r){let{windows:n,windowSize:i}=KS(r,e),a=[],o=t,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(t,r,n){let i=s.ZERO,a=s.BASE,o=KS(t,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:v}=j5(n,c,o);n=u,m?a=a.add(FS(E,r[v])):i=i.add(FS(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(t,r,n,i=s.ZERO){let a=KS(t,e);for(let o=0;o<a.windows&&n!==L5;o++){let{nextN:c,offset:u,isZero:l,isNeg:m}=j5(n,o,a);if(n=c,!l){let w=r[u];i=i.add(m?w.negate():w);}}return i},getPrecomputes(t,r,n){let i=GS.get(r);return i||(i=this.precomputeWindow(r,t),t!==1&&GS.set(r,n(i))),i},wNAFCached(t,r,n){let i=WS(t);return this.wNAF(i,this.getPrecomputes(i,t,n),r)},wNAFCachedUnsafe(t,r,n,i){let a=WS(t);return a===1?this.unsafeLadder(t,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,t,n),r,i)},setWindowSize(t,r){H5(r,e),_5.set(t,r),GS.delete(t);}}}function $5(s,e,t,r){ER(t,s),xR(r,e);let n=t.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=s.ZERO,o=z3(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Ta(c),l=new Array(Number(u)+1).fill(a),m=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=m;E>=0;E-=c){l.fill(a);for(let A=0;A<i;A++){let C=r[A],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(t[A]);}let v=a;for(let A=l.length-1,C=a;A>0;A--)C=C.add(l[A]),v=v.add(C);if(w=w.add(v),E!==0)for(let A=0;A<c;A++)w=w.double();}return w}function zS(s){return _S(s.Fp),Ba(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...$S(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}function q5(s){s.lowS!==void 0&&Mc("lowS",s.lowS),s.prehash!==void 0&&Mc("prehash",s.prehash);}function AR(s){let e=zS(s);Ba(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var XS=class extends Error{constructor(e=""){super(e);}},Zr={Err:XS,_tlv:{encode:(s,e)=>{let{Err:t}=Zr;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");let r=e.length/2,n=Lh(r);if(n.length/2&128)throw new t("tlv.encode: long form length too big");let i=r>127?Lh(n.length/2|128):"";return Lh(s)+i+n+e},decode(s,e){let{Err:t}=Zr,r=0;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[r++]!==s)throw new t("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new t("tlv.decode: length bytes not complete");if(u[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new t("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new t("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(s){let{Err:e}=Zr;if(s<Xr)throw new e("integer: negative integers are not allowed");let t=Lh(s);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(s){let{Err:e}=Zr;if(s[0]&128)throw new e("invalid signature integer: negative");if(s[0]===0&&!(s[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return qr(s)}},toSig(s){let{Err:e,_int:t,_tlv:r}=Zr,n=Is("signature",s),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:t.decode(o),s:t.decode(u)}},hexFromSig(s){let{_tlv:e,_int:t}=Zr,r=e.encode(2,t.encode(s.r)),n=e.encode(2,t.encode(s.s)),i=r+n;return e.encode(48,i)}};function YS(s,e){return $c(ka(s,e))}var Xr=BigInt(0),Mt=BigInt(1);BigInt(2);var ZS=BigInt(3),IR=BigInt(4);function CR(s){let e=AR(s),{Fp:t}=e,r=Yr(e.n,e.nBitLength),n=e.toBytes||((T,P,B)=>{let G=P.toAffine();return Hh(Uint8Array.from([4]),t.toBytes(G.x),t.toBytes(G.y))}),i=e.fromBytes||(T=>{let P=T.subarray(1),B=t.fromBytes(P.subarray(0,t.BYTES)),G=t.fromBytes(P.subarray(t.BYTES,2*t.BYTES));return {x:B,y:G}});function a(T){let{a:P,b:B}=e,G=t.sqr(T),se=t.mul(G,T);return t.add(t.add(se,t.mul(T,P)),B)}function o(T,P){let B=t.sqr(P),G=a(T);return t.eql(B,G)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=t.mul(t.pow(e.a,ZS),IR),u=t.mul(t.sqr(e.b),BigInt(27));if(t.is0(t.add(c,u)))throw new Error("bad curve params: a or b");function l(T){return Mp(T,Mt,e.n)}function m(T){let{allowedPrivateKeyLengths:P,nByteLength:B,wrapPrivateKey:G,n:se}=e;if(P&&typeof T!="bigint"){if(_c(T)&&(T=$c(T)),typeof T!="string"||!P.includes(T.length))throw new Error("invalid private key");T=T.padStart(B*2,"0");}let X;try{X=typeof T=="bigint"?T:qr(Is("private key",T,B));}catch{throw new Error("invalid private key, expected hex or "+B+" bytes, got "+typeof T)}return G&&(X=ns(X,se)),Pa("private key",X,Mt,se),X}function w(T){if(!(T instanceof A))throw new Error("ProjectivePoint expected")}let E=uS((T,P)=>{let{px:B,py:G,pz:se}=T;if(t.eql(se,t.ONE))return {x:B,y:G};let X=T.is0();P==null&&(P=X?t.ONE:t.inv(se));let ae=t.mul(B,P),fe=t.mul(G,P),te=t.mul(se,P);if(X)return {x:t.ZERO,y:t.ZERO};if(!t.eql(te,t.ONE))throw new Error("invZ was invalid");return {x:ae,y:fe}}),v=uS(T=>{if(T.is0()){if(e.allowInfinityPoint&&!t.is0(T.py))return;throw new Error("bad point: ZERO")}let{x:P,y:B}=T.toAffine();if(!t.isValid(P)||!t.isValid(B))throw new Error("bad point: x or y not FE");if(!o(P,B))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class A{constructor(P,B,G){if(P==null||!t.isValid(P))throw new Error("x required");if(B==null||!t.isValid(B)||t.is0(B))throw new Error("y required");if(G==null||!t.isValid(G))throw new Error("z required");this.px=P,this.py=B,this.pz=G,Object.freeze(this);}static fromAffine(P){let{x:B,y:G}=P||{};if(!P||!t.isValid(B)||!t.isValid(G))throw new Error("invalid affine point");if(P instanceof A)throw new Error("projective point not allowed");let se=X=>t.eql(X,t.ZERO);return se(B)&&se(G)?A.ZERO:new A(B,G,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(P){let B=MS(t,P.map(G=>G.pz));return P.map((G,se)=>G.toAffine(B[se])).map(A.fromAffine)}static fromHex(P){let B=A.fromAffine(i(Is("pointHex",P)));return B.assertValidity(),B}static fromPrivateKey(P){return A.BASE.multiply(m(P))}static msm(P,B){return $5(A,r,P,B)}_setWindowSize(P){U.setWindowSize(this,P);}assertValidity(){v(this);}hasEvenY(){let{y:P}=this.toAffine();if(t.isOdd)return !t.isOdd(P);throw new Error("Field doesn't support isOdd")}equals(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.eql(t.mul(B,fe),t.mul(X,se)),oe=t.eql(t.mul(G,fe),t.mul(ae,se));return te&&oe}negate(){return new A(this.px,t.neg(this.py),this.pz)}double(){let{a:P,b:B}=e,G=t.mul(B,ZS),{px:se,py:X,pz:ae}=this,fe=t.ZERO,te=t.ZERO,oe=t.ZERO,pe=t.mul(se,se),_e=t.mul(X,X),J=t.mul(ae,ae),Z=t.mul(se,X);return Z=t.add(Z,Z),oe=t.mul(se,ae),oe=t.add(oe,oe),fe=t.mul(P,oe),te=t.mul(G,J),te=t.add(fe,te),fe=t.sub(_e,te),te=t.add(_e,te),te=t.mul(fe,te),fe=t.mul(Z,fe),oe=t.mul(G,oe),J=t.mul(P,J),Z=t.sub(pe,J),Z=t.mul(P,Z),Z=t.add(Z,oe),oe=t.add(pe,pe),pe=t.add(oe,pe),pe=t.add(pe,J),pe=t.mul(pe,Z),te=t.add(te,pe),J=t.mul(X,ae),J=t.add(J,J),pe=t.mul(J,Z),fe=t.sub(fe,pe),oe=t.mul(J,_e),oe=t.add(oe,oe),oe=t.add(oe,oe),new A(fe,te,oe)}add(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.ZERO,oe=t.ZERO,pe=t.ZERO,_e=e.a,J=t.mul(e.b,ZS),Z=t.mul(B,X),ce=t.mul(G,ae),Ee=t.mul(se,fe),le=t.add(B,G),$=t.add(X,ae);le=t.mul(le,$),$=t.add(Z,ce),le=t.sub(le,$),$=t.add(B,se);let ee=t.add(X,fe);return $=t.mul($,ee),ee=t.add(Z,Ee),$=t.sub($,ee),ee=t.add(G,se),te=t.add(ae,fe),ee=t.mul(ee,te),te=t.add(ce,Ee),ee=t.sub(ee,te),pe=t.mul(_e,$),te=t.mul(J,Ee),pe=t.add(te,pe),te=t.sub(ce,pe),pe=t.add(ce,pe),oe=t.mul(te,pe),ce=t.add(Z,Z),ce=t.add(ce,Z),Ee=t.mul(_e,Ee),$=t.mul(J,$),ce=t.add(ce,Ee),Ee=t.sub(Z,Ee),Ee=t.mul(_e,Ee),$=t.add($,Ee),Z=t.mul(ce,$),oe=t.add(oe,Z),Z=t.mul(ee,$),te=t.mul(le,te),te=t.sub(te,Z),Z=t.mul(le,ce),pe=t.mul(ee,pe),pe=t.add(pe,Z),new A(te,oe,pe)}subtract(P){return this.add(P.negate())}is0(){return this.equals(A.ZERO)}wNAF(P){return U.wNAFCached(this,P,A.normalizeZ)}multiplyUnsafe(P){let{endo:B,n:G}=e;Pa("scalar",P,Xr,G);let se=A.ZERO;if(P===Xr)return se;if(this.is0()||P===Mt)return this;if(!B||U.hasPrecomputes(this))return U.wNAFCachedUnsafe(this,P,A.normalizeZ);let{k1neg:X,k1:ae,k2neg:fe,k2:te}=B.splitScalar(P),oe=se,pe=se,_e=this;for(;ae>Xr||te>Xr;)ae&Mt&&(oe=oe.add(_e)),te&Mt&&(pe=pe.add(_e)),_e=_e.double(),ae>>=Mt,te>>=Mt;return X&&(oe=oe.negate()),fe&&(pe=pe.negate()),pe=new A(t.mul(pe.px,B.beta),pe.py,pe.pz),oe.add(pe)}multiply(P){let{endo:B,n:G}=e;Pa("scalar",P,Mt,G);let se,X;if(B){let{k1neg:ae,k1:fe,k2neg:te,k2:oe}=B.splitScalar(P),{p:pe,f:_e}=this.wNAF(fe),{p:J,f:Z}=this.wNAF(oe);pe=U.constTimeNegate(ae,pe),J=U.constTimeNegate(te,J),J=new A(t.mul(J.px,B.beta),J.py,J.pz),se=pe.add(J),X=_e.add(Z);}else {let{p:ae,f:fe}=this.wNAF(P);se=ae,X=fe;}return A.normalizeZ([se,X])[0]}multiplyAndAddUnsafe(P,B,G){let se=A.BASE,X=(fe,te)=>te===Xr||te===Mt||!fe.equals(se)?fe.multiplyUnsafe(te):fe.multiply(te),ae=X(this,B).add(X(P,G));return ae.is0()?void 0:ae}toAffine(P){return E(this,P)}isTorsionFree(){let{h:P,isTorsionFree:B}=e;if(P===Mt)return !0;if(B)return B(A,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:P,clearCofactor:B}=e;return P===Mt?this:B?B(A,this):this.multiplyUnsafe(e.h)}toRawBytes(P=!0){return Mc("isCompressed",P),this.assertValidity(),n(A,this,P)}toHex(P=!0){return Mc("isCompressed",P),$c(this.toRawBytes(P))}}A.BASE=new A(e.Gx,e.Gy,t.ONE),A.ZERO=new A(t.ZERO,t.ONE,t.ZERO);let{endo:C,nBitLength:D}=e,U=M5(A,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:A,normPrivateKeyToScalar:m,weierstrassEquation:a,isWithinCurveOrder:l}}function NR(s){let e=zS(s);return Ba(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function F5(s){let e=NR(s),{Fp:t,n:r,nByteLength:n,nBitLength:i}=e,a=t.BYTES+1,o=2*t.BYTES+1;function c(J){return ns(J,r)}function u(J){return lg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:m,weierstrassEquation:w,isWithinCurveOrder:E}=CR({...e,toBytes(J,Z,ce){let Ee=Z.toAffine(),le=t.toBytes(Ee.x),$=Hh;return Mc("isCompressed",ce),ce?$(Uint8Array.from([Z.hasEvenY()?2:3]),le):$(Uint8Array.from([4]),le,t.toBytes(Ee.y))},fromBytes(J){let Z=J.length,ce=J[0],Ee=J.subarray(1);if(Z===a&&(ce===2||ce===3)){let le=qr(Ee);if(!Mp(le,Mt,t.ORDER))throw new Error("Point is not on curve");let $=w(le),ee;try{ee=t.sqrt($);}catch(ke){let Fe=ke instanceof Error?": "+ke.message:"";throw new Error("Point is not on curve"+Fe)}let ne=(ee&Mt)===Mt;return (ce&1)===1!==ne&&(ee=t.neg(ee)),{x:le,y:ee}}else if(Z===o&&ce===4){let le=t.fromBytes(Ee.subarray(0,t.BYTES)),$=t.fromBytes(Ee.subarray(t.BYTES,2*t.BYTES));return {x:le,y:$}}else {let le=a,$=o;throw new Error("invalid Point, expected length of "+le+", or uncompressed "+$+", got "+Z)}}});function v(J){let Z=r>>Mt;return J>Z}function A(J){return v(J)?c(-J):J}let C=(J,Z,ce)=>qr(J.slice(Z,ce));class D{constructor(Z,ce,Ee){Pa("r",Z,Mt,r),Pa("s",ce,Mt,r),this.r=Z,this.s=ce,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(Z){let ce=n;return Z=Is("compactSignature",Z,ce*2),new D(C(Z,0,ce),C(Z,ce,2*ce))}static fromDER(Z){let{r:ce,s:Ee}=Zr.toSig(Is("DER",Z));return new D(ce,Ee)}assertValidity(){}addRecoveryBit(Z){return new D(this.r,this.s,Z)}recoverPublicKey(Z){let{r:ce,s:Ee,recovery:le}=this,$=se(Is("msgHash",Z));if(le==null||![0,1,2,3].includes(le))throw new Error("recovery id invalid");let ee=le===2||le===3?ce+e.n:ce;if(ee>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let ne=le&1?"03":"02",xe=l.fromHex(ne+YS(ee,t.BYTES)),ke=u(ee),Fe=c(-$*ke),Rt=c(Ee*ke),Me=l.BASE.multiplyAndAddUnsafe(xe,Fe,Rt);if(!Me)throw new Error("point at infinify");return Me.assertValidity(),Me}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return jh(this.toDERHex())}toDERHex(){return Zr.hexFromSig(this)}toCompactRawBytes(){return jh(this.toCompactHex())}toCompactHex(){let Z=n;return YS(this.r,Z)+YS(this.s,Z)}}let U={isValidPrivateKey(J){try{return m(J),!0}catch{return !1}},normPrivateKeyToScalar:m,randomPrivateKey:()=>{let J=qS(e.n);return U5(e.randomBytes(J),e.n)},precompute(J=8,Z=l.BASE){return Z._setWindowSize(J),Z.multiply(BigInt(3)),Z}};function T(J,Z=!0){return l.fromPrivateKey(J).toRawBytes(Z)}function P(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ce=Is("key",J).length,Ee=t.BYTES,le=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===le))return ce===le||ce===$}function B(J,Z,ce=!0){if(P(J)===!0)throw new Error("first arg must be private key");if(P(Z)===!1)throw new Error("second arg must be public key");return l.fromHex(Z).multiply(m(J)).toRawBytes(ce)}let G=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let Z=qr(J),ce=J.length*8-i;return ce>0?Z>>BigInt(ce):Z},se=e.bits2int_modN||function(J){return c(G(J))},X=Ta(i);function ae(J){return Pa("num < 2^"+i,J,Xr,X),ka(J,n)}function fe(J,Z,ce=te){if(["recovered","canonical"].some(he=>he in ce))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:le}=e,{lowS:$,prehash:ee,extraEntropy:ne}=ce;$==null&&($=!0),J=Is("msgHash",J),q5(ce),ee&&(J=Is("prehashed msgHash",Ee(J)));let xe=se(J),ke=m(Z),Fe=[ae(ke),ae(xe)];if(ne!=null&&ne!==!1){let he=ne===!0?le(t.BYTES):ne;Fe.push(Is("extraEntropy",he));}let Rt=Hh(...Fe),Me=xe;function De(he){let ss=G(he);if(!E(ss))return;let ds=u(ss),Ct=l.BASE.multiply(ss).toAffine(),He=c(Ct.x);if(He===Xr)return;let pa=c(ds*c(Me+He*ke));if(pa===Xr)return;let Hn=(Ct.x===He?0:2)|Number(Ct.y&Mt),Tc=pa;return $&&v(pa)&&(Tc=A(pa),Hn^=1),new D(He,Tc,Hn)}return {seed:Rt,k2sig:De}}let te={lowS:e.lowS,prehash:!1},oe={lowS:e.lowS,prehash:!1};function pe(J,Z,ce=te){let{seed:Ee,k2sig:le}=fe(J,Z,ce),$=e;return Y3($.hash.outputLen,$.nByteLength,$.hmac)(Ee,le)}l.BASE._setWindowSize(8);function _e(J,Z,ce,Ee=oe){let le=J;Z=Is("msgHash",Z),ce=Is("publicKey",ce);let{lowS:$,prehash:ee,format:ne}=Ee;if(q5(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ne!==void 0&&ne!=="compact"&&ne!=="der")throw new Error("format must be compact or der");let xe=typeof le=="string"||_c(le),ke=!xe&&!ne&&typeof le=="object"&&le!==null&&typeof le.r=="bigint"&&typeof le.s=="bigint";if(!xe&&!ke)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Fe,Rt;try{if(ke&&(Fe=new D(le.r,le.s)),xe){try{ne!=="compact"&&(Fe=D.fromDER(le));}catch(Hn){if(!(Hn instanceof Zr.Err))throw Hn}!Fe&&ne!=="der"&&(Fe=D.fromCompact(le));}Rt=l.fromHex(ce);}catch{return !1}if(!Fe||$&&Fe.hasHighS())return !1;ee&&(Z=e.hash(Z));let{r:Me,s:De}=Fe,he=se(Z),ss=u(De),ds=c(he*ss),Ct=c(Me*ss),He=l.BASE.multiplyAndAddUnsafe(Rt,ds,Ct)?.toAffine();return He?c(He.x)===Me:!1}return {CURVE:e,getPublicKey:T,getSharedSecret:B,sign:pe,verify:_e,ProjectivePoint:l,Signature:D,utils:U}}function kR(s){return {hash:s,hmac:(e,...t)=>HS(s,e,d3(...t)),randomBytes:m3}}function Qc(s,e){let t=r=>F5({...s,...kR(r)});return {...t(e),create:t}}var W5=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),K5=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),PR=BigInt(0),TR=BigInt(1),QS=BigInt(2),G5=(s,e)=>(s+e/QS)/e;function BR(s){let e=W5,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=s*s*s%e,l=u*u*s%e,m=Vs(l,t,e)*l%e,w=Vs(m,t,e)*l%e,E=Vs(w,QS,e)*u%e,v=Vs(E,n,e)*E%e,A=Vs(v,i,e)*v%e,C=Vs(A,o,e)*A%e,D=Vs(C,c,e)*C%e,U=Vs(D,o,e)*A%e,T=Vs(U,t,e)*l%e,P=Vs(T,a,e)*v%e,B=Vs(P,r,e)*u%e,G=Vs(B,QS,e);if(!ev.eql(ev.sqr(G),s))throw new Error("Cannot find square root");return G}var ev=Yr(W5,void 0,void 0,{sqrt:BR}),Ds=Qc({a:PR,b:BigInt(7),Fp:ev,n:K5,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=K5,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-TR*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,a=BigInt("0x100000000000000000000000000000000"),o=G5(i*s,e),c=G5(-r*s,e),u=ns(s-o*t-c*n,e),l=ns(-o*r-c*i,e),m=u>a,w=l>a;if(m&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+s);return {k1neg:m,k1:u,k2neg:w,k2:l}}}},Hc);function pg(s,e={}){let{recovered:t}=e;if(typeof s.r>"u")throw new eu({signature:s});if(typeof s.s>"u")throw new eu({signature:s});if(t&&typeof s.yParity>"u")throw new eu({signature:s});if(s.r<0n||s.r>OS)throw new fg({value:s.r});if(s.s<0n||s.s>OS)throw new dg({value:s.s});if(typeof s.yParity=="number"&&s.yParity!==0&&s.yParity!==1)throw new Ma({value:s.yParity})}function J5(s){return tv(Re(s))}function tv(s){if(s.length!==130&&s.length!==132)throw new hg({signature:s});let e=BigInt(wt(s,0,32)),t=BigInt(wt(s,32,64)),r=(()=>{let n=+`0x${s.slice(130)}`;if(!Number.isNaN(n))try{return yg(n)}catch{throw new Ma({value:n})}})();return typeof r>"u"?{r:e,s:t}:{r:e,s:t,yParity:r}}function gg(s){if(!(typeof s.r>"u")&&!(typeof s.s>"u"))return rf(s)}function rf(s){let e=typeof s=="string"?tv(s):s instanceof Uint8Array?J5(s):typeof s.r=="string"?Z5(s):s.v?Y5(s):{r:s.r,s:s.s,...typeof s.yParity<"u"?{yParity:s.yParity}:{}};return pg(e),e}function OR(s){return z5(Re(s))}function z5(s){let{r:e,s:t}=Ds.Signature.fromDER(gs(s).slice(2));return {r:e,s:t}}function Y5(s){return {r:s.r,s:s.s,yParity:yg(s.v)}}function Z5(s){let e=(()=>{let t=s.v?Number(s.v):void 0,r=s.yParity?Number(s.yParity):void 0;if(typeof t=="number"&&typeof r!="number"&&(r=yg(t)),typeof r!="number")throw new Ma({value:s.yParity});return r})();return {r:BigInt(s.r),s:BigInt(s.s),yParity:e}}function sv(s){let[e,t,r]=s;return rf({r:t==="0x"?0n:BigInt(t),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function RR(s){return ut(X5(s))}function X5(s){pg(s);let e=s.r,t=s.s;return st(ve(e,{size:32}),ve(t,{size:32}),typeof s.yParity=="number"?ve(iv(s.yParity),{size:1}):"0x")}function VR(s){return new Ds.Signature(s.r,s.s).toDERRawBytes()}function DR(s){return `0x${new Ds.Signature(s.r,s.s).toDERHex()}`}function UR(s){return {r:s.r,s:s.s,v:iv(s.yParity)}}function rv(s){let{r:e,s:t,yParity:r}=s;return {r:ve(e,{size:32}),s:ve(t,{size:32}),yParity:r===0?"0x0":"0x1"}}function nv(s){let{r:e,s:t,yParity:r}=s;return [r?"0x01":"0x",e===0n?"0x":Ra(ve(e)),t===0n?"0x":Ra(ve(t))]}function LR(s,e={}){try{return pg(s,e),!0}catch{return !1}}function yg(s){if(s===0||s===27)return 0;if(s===1||s===28)return 1;if(s>=35)return s%2===0?1:0;throw new mg({value:s})}function iv(s){if(s===0)return 27;if(s===1)return 28;throw new Ma({value:s})}var hg=class extends re{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},eu=class extends re{constructor({signature:e}){super(`Signature \`${Xs(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},fg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},dg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Ma=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},mg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();f();var jR=new TextEncoder,HR=new TextDecoder,wg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[e,s.charCodeAt(0)])),bg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[s.charCodeAt(0),e])),61:0,45:62,95:63};function _R(s,e={}){let{pad:t=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(s.length/3)*4);for(let c=0,u=0;u<s.length;c+=4,u+=3){let l=(s[u]<<16)+(s[u+1]<<8)+(s[u+2]|0);n[c]=wg[l>>18],n[c+1]=wg[l>>12&63],n[c+2]=wg[l>>6&63],n[c+3]=wg[l&63];}let i=s.length%3,a=Math.floor(s.length/3)*4+(i&&i+1),o=HR.decode(new Uint8Array(n.buffer,0,a));return t&&i===1&&(o+="=="),t&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function Q5(s,e={}){return _R(ut(s),e)}function nf(s){let e=s.replace(/=+$/,""),t=e.length,r=new Uint8Array(t+3);jR.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(bg[r[i]]<<18)+(bg[r[i+1]]<<12)+(bg[r[i+2]]<<6)+bg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(t>>2)*3+(t%4&&t%4-1);return new Uint8Array(r.buffer,0,n)}var Yt={};Te(Yt,{createKeyPair:()=>$R,getPublicKey:()=>sC,getSharedSecret:()=>qR,noble:()=>MR,randomPrivateKey:()=>rC,recoverAddress:()=>nC,recoverPublicKey:()=>iC,sign:()=>FR,verify:()=>KR});d();f();d();f();var Sg=!1;var MR=Ds;function $R(s={}){let{as:e="Hex"}=s,t=rC({as:e}),r=sC({privateKey:t});return {privateKey:t,publicKey:r}}function sC(s){let{privateKey:e}=s,t=Ds.ProjectivePoint.fromPrivateKey(gs(e).slice(2));return Jr(t)}function qR(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,a=Ds.ProjectivePoint.fromHex(Zn(r).slice(2)).multiply(Ds.utils.normPrivateKeyToScalar(gs(t).slice(2))).toRawBytes(!0);return e==="Hex"?Re(a):a}function rC(s={}){let{as:e="Hex"}=s,t=Ds.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function nC(s){return NS(iC(s))}function iC(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,o=new Ds.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(gs(e).substring(2));return Jr(o)}function FR(s){let{extraEntropy:e=Sg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Ds.sign(Gr(r),Gr(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function KR(s){let{address:e,hash:t,payload:r,publicKey:n,signature:i}=s;return e?kS(e,nC({payload:r,signature:i})):Ds.verify(i,Gr(r),h5(n),...t?[{prehash:!0,lowS:!0}]:[])}d();f();function aC(s,e={}){return {...s,blockNumber:s.blockNumber?BigInt(s.blockNumber):null,logIndex:s.logIndex?Number(s.logIndex):null,transactionIndex:s.transactionIndex?Number(s.transactionIndex):null}}function oC(s,e={}){return {address:s.address,blockHash:s.blockHash,blockNumber:typeof s.blockNumber=="bigint"?ve(s.blockNumber):null,data:s.data,logIndex:typeof s.logIndex=="number"?ve(s.logIndex):null,topics:s.topics,transactionHash:s.transactionHash,transactionIndex:typeof s.transactionIndex=="number"?ve(s.transactionIndex):null,removed:s.removed}}var tu={};Te(tu,{createKeyPair:()=>QR,getPublicKey:()=>fC,getSharedSecret:()=>e7,noble:()=>XR,randomPrivateKey:()=>dC,recoverPublicKey:()=>t7,sign:()=>s7,verify:()=>cv});d();f();d();f();d();f();var uC=Yr(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),GR=uC.create(BigInt("-3")),WR=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),av=Qc({a:GR,b:WR,Fp:uC,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Hc);var lC=Yr(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),JR=lC.create(BigInt("-3")),zR=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");Qc({a:JR,b:zR,Fp:lC,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},q3);var hC=Yr(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),YR=hC.create(BigInt("-3")),ZR=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");Qc({a:YR,b:ZR,Fp:hC,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},$3);var ov=av,Qr=av;var XR=Qr;function QR(s={}){let{as:e="Hex"}=s,t=dC({as:e}),r=fC({privateKey:t});return {privateKey:t,publicKey:r}}function fC(s){let{privateKey:e}=s,t=Qr.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Re(e).slice(2));return Jr(t)}function e7(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,n=Qr.ProjectivePoint.fromHex(Zn(r).slice(2)),i=typeof t=="string"?t.slice(2):Re(t).slice(2),o=n.multiply(Qr.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Re(o):o}function dC(s={}){let{as:e="Hex"}=s,t=Qr.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function t7(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,a=new Qr.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Re(e):e,c=a.recoverPublicKey(o.substring(2));return Jr(c)}function s7(s){let{extraEntropy:e=Sg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Qr.sign(r instanceof Uint8Array?r:ut(r),n instanceof Uint8Array?n:ut(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function cv(s){let{hash:e,payload:t,publicKey:r,signature:n}=s;return Qr.verify(n,t instanceof Uint8Array?t:ut(t),Zn(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var vg={};Te(vg,{encode:()=>mC,getSignPayload:()=>r7});d();f();function mC(s){let e=gs(s);return st("0x19",Cs(`Ethereum Signed Message:
340
+ `+We(e)),e)}function r7(s){return Tt(mC(s))}d();f();d();f();var pC={wei:0,gwei:9,szabo:12,finney:15,ether:18};function n7(s,e=0){let t=s.toString(),r=t.startsWith("-");r&&(t=t.slice(1)),t=t.padStart(e,"0");let[n,i]=[t.slice(0,t.length-e),t.slice(t.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function Eg(s,e="wei"){return n7(s,pC.gwei-pC[e])}var xg=class extends re{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${Eg(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Ag=class extends re{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Ig=class extends re{constructor({attributes:e,serialized:t,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${t}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Cg=class extends re{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${Eg(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${Eg(t)} gwei`:""}).`].join(`
341
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var $a={};Te($a,{assert:()=>af,deserialize:()=>bC,from:()=>i7,getSignPayload:()=>a7,hash:()=>SC,serialize:()=>vC,serializedType:()=>wC,toRpc:()=>o7,type:()=>uv,validate:()=>c7});d();f();var wC="0x02",uv="eip1559";function af(s){let{chainId:e,maxPriorityFeePerGas:t,maxFeePerGas:r,to:n}=s;if(e<=0)throw new Ag({chainId:e});if(n&&ws(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new xg({feeCap:r});if(t&&r&&t>r)throw new Cg({maxFeePerGas:r,maxPriorityFeePerGas:t})}function bC(s){let e=A5(wt(s,1)),[t,r,n,i,a,o,c,u,l,m,w,E]=e;if(!(e.length===9||e.length===12))throw new Ig({attributes:{chainId:t,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:m,r:w,s:E}:{}},serialized:s,type:uv});let v={chainId:Number(t),type:uv};ys(o)&&o!=="0x"&&(v.to=o),ys(a)&&a!=="0x"&&(v.gas=BigInt(a)),ys(u)&&u!=="0x"&&(v.data=u),ys(r)&&(v.nonce=r==="0x"?0n:BigInt(r)),ys(c)&&c!=="0x"&&(v.value=BigInt(c)),ys(i)&&i!=="0x"&&(v.maxFeePerGas=BigInt(i)),ys(n)&&n!=="0x"&&(v.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(v.accessList=S5(l));let A=w&&E&&m?sv([m,w,E]):void 0;return A&&(v={...v,...A}),af(v),v}function i7(s,e={}){let{signature:t}=e,r=typeof s=="string"?bC(s):s;return af(r),{...r,...t?rf(t):{},type:"eip1559"}}function a7(s){return SC(s,{presign:!0})}function SC(s,e={}){let{presign:t}=e;return Tt(vC({...s,...t?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function vC(s,e={}){let{chainId:t,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:m}=s;af(s);let w=v5(u),E=gg(e.signature||s),v=[ve(t),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??m??"0x",w,...E?nv(E):[]];return st(wC,C5(v))}function o7(s){let e=gg(s);return {...s,chainId:ve(s.chainId),data:s.data??s.input,type:"0x2",...typeof s.gas=="bigint"?{gas:ve(s.gas)}:{},...typeof s.nonce=="bigint"?{nonce:ve(s.nonce)}:{},...typeof s.value=="bigint"?{value:ve(s.value)}:{},...typeof s.maxFeePerGas=="bigint"?{maxFeePerGas:ve(s.maxFeePerGas)}:{},...typeof s.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(s.maxPriorityFeePerGas)}:{},...e?rv(e):{}}}function c7(s){try{return af(s),!0}catch{return !1}}var su={};Te(su,{fromRpc:()=>u7,fromRpcStatus:()=>EC,fromRpcType:()=>AC,toRpc:()=>l7,toRpcStatus:()=>xC,toRpcType:()=>IC});d();f();var EC={"0x0":"reverted","0x1":"success"},xC={reverted:"0x0",success:"0x1"},AC={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},IC={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function u7(s){return s?{...s,blobGasPrice:s.blobGasPrice?BigInt(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?BigInt(s.blobGasUsed):void 0,blockNumber:BigInt(s.blockNumber??0n),cumulativeGasUsed:BigInt(s.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(s.effectiveGasPrice??0n),gasUsed:BigInt(s.gasUsed??0n),logs:s.logs.map(e=>aC(e,{pending:!1})),status:EC[s.status],transactionIndex:Number(s.transactionIndex??0),type:AC[s.type]||s.type}:null}function l7(s){return {blobGasPrice:s.blobGasPrice?ve(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?ve(s.blobGasUsed):void 0,blockHash:s.blockHash,blockNumber:ve(s.blockNumber),contractAddress:s.contractAddress,cumulativeGasUsed:ve(s.cumulativeGasUsed),effectiveGasPrice:ve(s.effectiveGasPrice),from:s.from,gasUsed:ve(s.gasUsed),logs:s.logs.map(oC),logsBloom:s.logsBloom,root:s.root,status:xC[s.status],to:s.to,transactionHash:s.transactionHash,transactionIndex:ve(s.transactionIndex),type:IC[s.type]??s.type}}var of={};Te(of,{BytesSizeMismatchError:()=>Ng,InvalidDomainError:()=>kg,InvalidPrimaryTypeError:()=>Pg,InvalidStructTypeError:()=>Tg,assert:()=>lv,domainSeparator:()=>h7,encode:()=>CC,encodeData:()=>mv,encodeField:()=>pv,encodeType:()=>NC,extractEip712DomainTypes:()=>Bg,findTypeDependencies:()=>gv,getSignPayload:()=>hv,hashDomain:()=>fv,hashStruct:()=>dv,hashType:()=>kC,serialize:()=>f7,validate:()=>d7});d();f();function lv(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,m=o[u],w=l.match(Yc);if(w&&(typeof m=="number"||typeof m=="bigint")){let[,A,C]=w;ve(m,{signed:A==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof m=="string"&&!Ua(m))throw new Da({address:m,cause:new Wc});let E=l.match(tg);if(E){let[,A]=E;if(A&&We(m)!==Number.parseInt(A,10))throw new Ng({expectedSize:Number.parseInt(A,10),givenSize:We(m)})}let v=n[l];v&&(m7(l),i(v,m));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new kg({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],t);else throw new Pg({primaryType:r,types:n})}function h7(s){return fv({domain:s})}function CC(s){let{domain:e={},message:t,primaryType:r}=s,n={EIP712Domain:Bg(e),...s.types};lv({domain:e,message:t,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(fv({domain:e,types:n})),r!=="EIP712Domain"&&i.push(dv({data:t,primaryType:r,types:n})),st(...i)}function NC(s){let{primaryType:e,types:t}=s,r="",n=gv({primaryType:e,types:t});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(t[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function Bg(s){return [typeof s?.name=="string"&&{name:"name",type:"string"},s?.version&&{name:"version",type:"string"},(typeof s?.chainId=="number"||typeof s?.chainId=="bigint")&&{name:"chainId",type:"uint256"},s?.verifyingContract&&{name:"verifyingContract",type:"address"},s?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function hv(s){return Tt(CC(s))}function fv(s){let{domain:e,types:t}=s;return dv({data:e,primaryType:"EIP712Domain",types:{...t,EIP712Domain:t?.EIP712Domain||Bg(e)}})}function dv(s){let{data:e,primaryType:t,types:r}=s,n=mv({data:e,primaryType:t,types:r});return Tt(n)}function f7(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(c,u)=>{let l={...u};for(let m of c){let{name:w,type:E}=m;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??Bg(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],t):{}})();return Xs({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function d7(s){try{return lv(s),!0}catch{return !1}}var Ng=class extends re{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},kg=class extends re{constructor({domain:e}){super(`Invalid domain "${Xs(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},Pg=class extends re{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},Tg=class extends re{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function mv(s){let{data:e,primaryType:t,types:r}=s,n=[{type:"bytes32"}],i=[kC({primaryType:t,types:r})];for(let a of r[t]??[]){let[o,c]=pv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return zr(n,i)}function kC(s){let{primaryType:e,types:t}=s,r=Cs(NC({primaryType:e,types:t}));return Tt(r)}function pv(s){let{types:e,name:t,type:r,value:n}=s;if(e[r]!==void 0)return [{type:"bytes32"},Tt(mv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Tt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Tt(Wr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>pv({name:t,type:i,types:e,value:o}));return [{type:"bytes32"},Tt(zr(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function gv(s,e=new Set){let{primaryType:t,types:r}=s,i=t.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])gv({primaryType:a.type,types:r},e);return e}function m7(s){if(s==="address"||s==="bool"||s==="string"||s.startsWith("bytes")||s.startsWith("uint")||s.startsWith("int"))throw new Tg({type:s})}var Qn={};Te(Qn,{CredentialCreationFailedError:()=>Xn,CredentialRequestFailedError:()=>cf,createChallenge:()=>BC,createCredential:()=>g7,getAuthenticatorData:()=>OC,getClientDataJSON:()=>RC,getCredentialCreationOptions:()=>VC,getCredentialRequestOptions:()=>DC,getSignPayload:()=>y7,sign:()=>w7,verify:()=>b7});d();f();d();f();function PC(s){let e=s[4]===0?5:4,t=e+32,r=s[t+2]===0?t+3:t+2,n=BigInt(Re(s.slice(e,t))),i=BigInt(Re(s.slice(r)));return {r:n,s:i>ov.CURVE.n/2n?ov.CURVE.n-i:i}}async function TC(s){try{let e=s.getPublicKey();if(!e)throw new Xn;let t=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(t),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Jr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let t=new Uint8Array(s.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<t.length-u.length;l++)if(u.every((m,w)=>t[l+w]===m))return l+u.length;throw new Xn},a=i(33),o=i(34);return Jr(new Uint8Array([4,...t.slice(a,a+r),...t.slice(o,o+r)]))}}var BC=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function g7(s){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...t}=s,r=VC(t);try{let n=await e(r);if(!n)throw new Xn;let i=n.response,a=await TC(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new Xn({cause:n})}}function OC(s={}){let{flag:e=5,rpId:t=window.location.hostname,signCount:r=0}=s,n=Jh(Cs(t)),i=ve(e,{size:1}),a=ve(r,{size:4});return st(n,i,a)}function RC(s){let{challenge:e,crossOrigin:t=!1,extraClientData:r,origin:n=window.location.origin}=s;return JSON.stringify({type:"webauthn.get",challenge:Q5(e,{url:!0,pad:!1}),origin:n,crossOrigin:t,...r})}function VC(s){let{attestation:e="none",authenticatorSelection:t={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=BC,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=s,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:t,challenge:typeof r=="string"?ut(r):r,...n?{excludeCredentials:n?.map(l=>({id:nf(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Tt(Wr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function DC(s){let{credentialId:e,challenge:t,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=s;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:nf(a),type:"public-key"})):[{id:nf(e),type:"public-key"}]}:{},challenge:ut(t),...r&&{extensions:r},rpId:n,userVerification:i}}}function y7(s){let{challenge:e,crossOrigin:t,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=s,u=OC({flag:n,rpId:a,signCount:o}),l=RC({challenge:e,crossOrigin:t,extraClientData:r,origin:i}),m=Jh(Cs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),v={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},A=st(u,m);return {metadata:v,payload:A}}async function w7(s){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...t}=s,r=DC(t);try{let n=await e(r);if(!n)throw new cf;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=PC(new Uint8Array(i.signature));return {metadata:{authenticatorData:Re(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new cf({cause:n})}}function b7(s){let{challenge:e,hash:t=!0,metadata:r,publicKey:n,signature:i}=s,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,m=ut(a);if(m.length<37)return !1;let w=m[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let U='"type":"webauthn.get"';if(U!==c.slice(Number(u),U.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[v,A]=E;if(Re(nf(A))!==e)return !1;let C=Jh(Wr(c),{as:"Bytes"}),D=yS(m,C);return cv({hash:t,payload:D,publicKey:n,signature:i})}var Xn=class extends re{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},cf=class extends re{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();f();var cu={};Te(cu,{from:()=>hV});d();f();var Ke={};Te(Ke,{configFromJson:()=>oV,configToJson:()=>aV,evaluateConfigurationSafety:()=>uV,findSignerLeaf:()=>df,flatLeavesToTopology:()=>Zv,getSigners:()=>iV,getWeight:()=>mf,hasInvalidValues:()=>au,hashConfiguration:()=>cs,isAnyAddressSubdigestLeaf:()=>sr,isConfig:()=>ou,isLeaf:()=>QC,isNestedLeaf:()=>Ss,isNode:()=>Bt,isNodeLeaf:()=>Ft,isSapientSignerLeaf:()=>os,isSignerLeaf:()=>as,isSubdigestLeaf:()=>tr,isTopology:()=>iu,maximumDepth:()=>pf,mergeTopology:()=>Wg,normalizeSignerSignature:()=>cV,replaceAddress:()=>Gg,topologyToFlatLeaves:()=>qg});d();f();var Zt={};Te(Zt,{FLAG_ADDRESS:()=>$v,FLAG_BRANCH:()=>Fv,FLAG_NESTED:()=>Gv,FLAG_NODE:()=>Ug,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>Jv,FLAG_SIGNATURE_ERC1271:()=>qv,FLAG_SIGNATURE_ETH_SIGN:()=>Wv,FLAG_SIGNATURE_HASH:()=>Mv,FLAG_SIGNATURE_SAPIENT:()=>Lg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>zv,FLAG_SUBDIGEST:()=>Kv,decodeSignature:()=>JC,encodeChainedSignature:()=>zC,encodeSignature:()=>YC,encodeTopology:()=>lf,fillLeaves:()=>Rg,isRawConfig:()=>Mg,isRawLeaf:()=>WC,isRawNestedLeaf:()=>ff,isRawNode:()=>jg,isRawSignature:()=>GC,isRawSignerLeaf:()=>hf,isRawTopology:()=>Hg,isSignatureOfSapientSignerLeaf:()=>Q7,isSignedSapientSignerLeaf:()=>Yv,isSignedSignerLeaf:()=>$g,parseBranch:()=>_g,rawSignatureFromJson:()=>sV,rawSignatureToJson:()=>eV,recover:()=>Hv});d();f();var Xe={};Te(Xe,{DEPLOY:()=>UC,DefaultGuestAddress:()=>E7,EXECUTE:()=>C7,EXECUTE_USER_OP:()=>bv,GET_IMPLEMENTATION:()=>x7,GET_LIMIT_USAGE:()=>B7,IMAGE_HASH:()=>A7,INCREMENT_USAGE_LIMIT:()=>T7,IS_VALID_SIGNATURE:()=>uf,PlaceholderAddress:()=>v7,READ_ENTRYPOINT:()=>P7,READ_NONCE:()=>I7,READ_NONCE_4337:()=>k7,RECOVER_SAPIENT_SIGNATURE:()=>yv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>wv,UPDATE_IMAGE_HASH:()=>N7,ZeroAddress:()=>S7});d();f();var S7="0x0000000000000000000000000000000000000000",v7="0xffff0000ffff0000ffff0000ffff0000ffff0000",E7="0x0000000000006Ac72ed1d192fa28f0058D3F8806",uf=Et.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],UC=Et.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],x7=Et.from(["function getImplementation() external view returns (address)"])[0],A7=Et.from(["function imageHash() external view returns (bytes32)"])[0],I7=Et.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],C7=Et.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],N7=Et.from(["function updateImageHash(bytes32 _imageHash) external"])[0],yv=Et.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],wv=Et.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],bv=Et.from(["function executeUserOp(bytes calldata _userOp) external"])[0],k7=Et.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],P7=Et.from(["function entrypoint() public view returns (address)"])[0],T7=Et.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],B7=Et.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();f();d();f();var en={};Te(en,{InvalidWrappedSignatureError:()=>Og,assert:()=>vv,from:()=>V7,magicBytes:()=>Sv,universalSignatureValidatorAbi:()=>R7,universalSignatureValidatorBytecode:()=>O7,unwrap:()=>LC,validate:()=>U7,wrap:()=>D7});d();f();var Sv="0x6492649264926492649264926492649264926492649264926492649264926492",O7="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",R7=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function vv(s){if(wt(s,-32)!==Sv)throw new Og(s)}function V7(s){return typeof s=="string"?LC(s):s}function LC(s){vv(s);let[e,t,r]=Xc(cg("address, bytes, bytes"),s);return {data:t,signature:r,to:e}}function D7(s){let{data:e,signature:t,to:r}=s;return st(zr(cg("address, bytes, bytes"),[r,e,t]),Sv)}function U7(s){try{return vv(s),!0}catch{return !1}}var Og=class extends re{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function Ev(s,{to:e,data:t}){let r=R.concat(xt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,R.from(t),R.from(s)]),en.magicBytes);switch(typeof s){case"object":return R.toBytes(r);case"string":return r}}function jC(s){switch(typeof s){case"object":if(p.toHex(s.subarray(-en.magicBytes.slice(2).length/2))===en.magicBytes){let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.subarray(0,-en.magicBytes.slice(2).length/2));return {signature:R.toBytes(r),erc6492:{to:e,data:R.toBytes(t)}}}else return {signature:s};case"string":if(s.endsWith(en.magicBytes.slice(2)))try{let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.slice(0,-en.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:t}}}catch{return {signature:s}}else return {signature:s}}}var we={};Te(we,{BEHAVIOR_ABORT_ON_ERROR:()=>Bv,BEHAVIOR_IGNORE_ERROR:()=>Pv,BEHAVIOR_REVERT_ON_ERROR:()=>Tv,KIND_CONFIG_UPDATE:()=>Nv,KIND_DIGEST:()=>kv,KIND_MESSAGE:()=>Cv,KIND_TRANSACTIONS:()=>Iv,decode:()=>Y7,decodeBehaviorOnError:()=>KC,encode:()=>MC,encode4337Nonce:()=>$C,encodeBehaviorOnError:()=>nu,encodeSapient:()=>W7,fromAbiFormat:()=>X7,fromCall:()=>M7,fromConfigUpdate:()=>Ov,fromDigest:()=>_7,fromMessage:()=>H7,hash:()=>ru,hashCall:()=>z7,isCalls:()=>$7,isCalls4337_07:()=>K7,isConfigUpdate:()=>F7,isDigest:()=>_C,isMessage:()=>q7,isParented:()=>G7,isRecovery:()=>Rv,isSessionImplicitAuthorize:()=>Dv,to4337Message:()=>FC,to4337UserOperation:()=>qC,toAbiFormat:()=>Lv,toRecovery:()=>Vv,toTyped:()=>Uv});d();f();var Fa={};Te(Fa,{createJSONReplacer:()=>xv,createJSONReviver:()=>Av,fromJSON:()=>j7,minBytesFor:()=>Us,packRSY:()=>tn,toJSON:()=>L7,unpackRSY:()=>qa});d();f();function Us(s){return Math.ceil(s.toString(16).length/2)}function tn({r:s,s:e,yParity:t}){let r=p.padLeft(p.fromNumber(s),32),n=p.padLeft(p.fromNumber(e),32);return t%2===1&&(n[0]|=128),p.concat(r,n)}function qa(s){let e=p.toBigInt(s.slice(0,32)),t=s.slice(32,64),r=t[0]&128?1:0,n=new Uint8Array(t);n[0]=n[0]&127;let i=p.toBigInt(n);return {r:e,s:i,yParity:r}}function xv(s){return (e,t)=>typeof t=="bigint"?{__bigint:"0x"+t.toString(16)}:t instanceof Uint8Array?{__uint8array:Array.from(t)}:s?s(e,t):t}function Av(s){return (e,t)=>{if(t&&typeof t=="object"&&"__bigint"in t&&Object.keys(t).length===1){let r=t.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(t&&typeof t=="object"&&"__uint8array"in t&&Object.keys(t).length===1){let r=t.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return s?s(e,t):t}}function L7(s,e,t){let r=e instanceof Function?xv(e):xv();return JSON.stringify(s,r,t)}function j7(s,e){let t=e?Av(e):Av();return JSON.parse(s,t)}var Iv=0,Cv=1,Nv=2,kv=3,Pv=0,Tv=1,Bv=2;function H7(s){return {type:"message",message:s}}function Ov(s){return {type:"config-update",imageHash:s}}function _7(s){return {type:"digest",digest:s}}function M7(s,e,t){return {type:"call",nonce:s,space:e,calls:t}}function $7(s){return s.type==="call"}function q7(s){return s.type==="message"}function F7(s){return s.type==="config-update"}function _C(s){return s.type==="digest"}function Rv(s){return Dv(s)?!1:s.recovery===!0}function K7(s){return s.type==="call_4337_07"}function G7(s){return "parentWallets"in s}function Vv(s){return Rv(s)?s:{...s,recovery:!0}}function Dv(s){return s.type==="session-implicit-authorize"}function MC(s,e){let t=s.calls.length,r=Us(s.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;s.space===0n&&(n|=1),n|=r<<1,t===1&&(n|=16);let i=0;if(t!==1)if(t<256)i=1;else if(t<65536)i=2,n|=32;else throw new Error("Too many calls");let a=p.fromNumber(n,{size:1});if(s.space!==0n){let o=p.padLeft(p.fromNumber(s.space),20);a=p.concat(a,o);}if(r>0){let o=p.padLeft(p.fromNumber(s.nonce),r);a=p.concat(a,o);}t!==1&&(i===1?a=p.concat(a,p.fromNumber(t,{size:1})):a=p.concat(a,p.fromNumber(t,{size:2})));for(let o of s.calls){let c=0;if(e&&M.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=nu(o.behaviorOnError)<<6,a=p.concat(a,p.fromNumber(c,{size:1})),!(c&1)){let u=p.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=p.concat(a,u);}if(c&2){let u=p.padLeft(p.fromNumber(o.value),32);a=p.concat(a,u);}if(c&4){let u=p.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=p.fromNumber(u,{size:3});a=p.concat(a,l,p.fromHex(o.data));}if(c&8){let u=p.padLeft(p.fromNumber(o.gasLimit),32);a=p.concat(a,u);}}return a}function W7(s,e){let t={kind:0,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":t.kind=0,t.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(nu(r.behaviorOnError))})),t.space=e.space,t.nonce=e.nonce;break;case"message":t.kind=1,t.message=e.message;break;case"config-update":t.kind=2,t.imageHash=e.imageHash;break;case"digest":t.kind=3,t.digest=e.digest;break}return t}function ru(s,e,t){if(_C(t))return p.fromHex(t.digest);if(Dv(t))return qt.hash(t.attestation);let r=Uv(s,e,t);return p.fromHex(hv(r))}function J7(s,e,t){return Rv(s)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(t),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(t),verifyingContract:e}}function $C(s,e){if(s>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return s<<64n|e}function Uv(s,e,t){let r=J7(t,s,e);switch(t.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:t.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(nu(a.behaviorOnError)).toString()})),space:t.space.toString(),nonce:t.nonce.toString(),wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:t.message,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:t.imageHash,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:FC(t,s,e)};return Uv(s,e,n)}}}function qC(s,e,t){let r={type:"call",space:0n,nonce:0n,calls:s.calls},n=R.fromBytes(MC(r));return {sender:e,nonce:$C(s.space,s.nonce),callData:me.encodeData(bv,[n]),callGasLimit:s.callGasLimit,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,preVerificationGas:s.preVerificationGas,verificationGasLimit:s.verificationGasLimit,factory:s.factory,factoryData:s.factoryData,paymaster:s.paymaster,paymasterData:s.paymasterData,paymasterPostOpGasLimit:s.paymasterPostOpGasLimit,paymasterVerificationGasLimit:s.paymasterVerificationGasLimit,signature:t}}function FC(s,e,t){let r=qC(s,e),n=R.concat(R.padLeft(R.fromNumber(r.verificationGasLimit),16),R.padLeft(R.fromNumber(r.callGasLimit),16)),i=R.concat(R.padLeft(R.fromNumber(r.maxPriorityFeePerGas),16),R.padLeft(R.fromNumber(r.maxFeePerGas),16)),a=ye.keccak256(r.factory&&r.factoryData?R.concat(r.factory,r.factoryData):"0x"),o=ye.keccak256(r.paymaster?R.concat(r.paymaster,R.padLeft(R.fromNumber(r.paymasterVerificationGasLimit||0),16),R.padLeft(R.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=xt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,ye.keccak256(r.callData),n,r.preVerificationGas,i,o]);return xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[ye.keccak256(c),s.entrypoint,BigInt(t)])}function nu(s){switch(s){case"ignore":return Pv;case"revert":return Tv;case"abort":return Bv}}function z7(s){let e=ye.keccak256(p.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return ye.keccak256(xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[R.from(e),R.from(s.to),s.value,R.from(ye.keccak256(s.data)),s.gasLimit,s.delegateCall,s.onlyFallback,BigInt(nu(s.behaviorOnError))]))}function Y7(s,e){let t=0;if(s.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=p.toNumber(s.slice(t,t+1));t+=1;let n=(r&1)===1,i=0n;if(!n){if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for space");i=p.toBigInt(s.slice(t,t+20)),t+=20;}let a=r>>1&7,o=0n;if(a>0){if(t+a>s.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=p.toBigInt(s.slice(t,t+a)),t+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(t+w>s.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=p.toNumber(s.slice(t,t+w)),t+=w;}let l=[];for(let m=0;m<c;m++){if(t+1>s.length)throw new Error("Invalid packed data: missing call flags");let w=p.toNumber(s.slice(t,t+1));t+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for address");E=p.toHex(s.slice(t,t+20)),t+=20;}let v=0n;if((w&2)===2){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for value");v=p.toBigInt(s.slice(t,t+32)),t+=32;}let A=p.fromHex("0x");if((w&4)===4){if(t+3>s.length)throw new Error("Invalid packed data: not enough bytes for data length");let B=p.toNumber(s.slice(t,t+3));if(t+=3,t+B>s.length)throw new Error("Invalid packed data: not enough bytes for call data");A=s.slice(t,t+B),t+=B;}let C=0n;if((w&8)===8){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=p.toBigInt(s.slice(t,t+32)),t+=32;}let D=(w&16)===16,U=(w&32)===32,T=(w&192)>>6,P=KC(T);l.push({to:E,value:v,data:p.toHex(A),gasLimit:C,delegateCall:D,onlyFallback:U,behaviorOnError:P});}return {type:"call",space:i,nonce:o,calls:l}}function KC(s){switch(s){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${s}`)}}function Z7(s){switch(s){case Pv:return "ignore";case Tv:return "revert";case Bv:return "abort";default:throw new Error(`Unknown behavior: ${s}`)}}function X7(s){if(s.kind===Iv)return {type:"call",nonce:s.nonce,space:s.space,calls:s.calls.map(e=>({to:M.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:Z7(Number(e.behaviorOnError))})),parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Cv)return {type:"message",message:s.message,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Nv)return {type:"config-update",imageHash:s.imageHash,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===kv)return {type:"digest",digest:s.digest,parentWallets:s.parentWallets.map(e=>M.from(e))};throw new Error("Not implemented")}function Lv(s){if(s.type==="call")return {kind:Iv,noChainId:!1,calls:s.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(nu(e.behaviorOnError))})),space:s.space,nonce:s.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="message")return {kind:Cv,noChainId:!1,calls:[],space:0n,nonce:0n,message:s.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="config-update")return {kind:Nv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:s.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="digest")return {kind:kv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:s.digest,parentWallets:s.parentWallets??[]};throw new Error("Invalid payload type")}var Mv=0,$v=1,qv=2,Ug=3,Fv=4,Kv=5,Gv=6,Wv=7,Jv=8,Lg=9,zv=10;function Q7(s){return "type"in s&&(s.type==="sapient_compact"||s.type==="sapient")&&typeof s=="object"&&"address"in s&&"data"in s}function GC(s){return typeof s=="object"&&s&&typeof s.noChainId=="boolean"&&(s.checkpointerData===void 0||p.validate(s.checkpointerData))&&Mg(s.configuration)&&(s.suffix===void 0||Array.isArray(s.suffix)&&s.suffix.every(e=>GC(e)&&e.checkpointerData===void 0))}function Mg(s){return s&&typeof s=="object"&&typeof s.threshold=="bigint"&&typeof s.checkpoint=="bigint"&&Hg(s.topology)&&(s.checkpointer===void 0||M.validate(s.checkpointer))}function hf(s){return typeof s=="object"&&"weight"in s&&"signature"in s}function $g(s){return as(s)&&"signature"in s}function Yv(s){return os(s)&&"signature"in s}function jg(s){return Array.isArray(s)&&s.length===2&&(Hg(s[0])||iu(s[0]))&&(Hg(s[1])||iu(s[1]))}function Hg(s){return jg(s)||WC(s)}function WC(s){return typeof s=="object"&&"weight"in s&&!("tree"in s)}function ff(s){return typeof s=="object"&&"tree"in s&&"weight"in s&&"threshold"in s}function JC(s){let{signature:e,erc6492:t}=jC(s);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=p.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let A=p.toNumber(e.slice(n,n+3));if(n+=3,n+A>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+A),n+=A;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=p.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let m=p.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let A=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=p.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=JC(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");A.push({...D,checkpointerData:void 0});}if(A.length===0)throw new Error("Chained signature has no subsignatures");return {...A[0],suffix:A.slice(1),erc6492:t}}let{nodes:w,leftover:E}=_g(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let v=jv(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:m,checkpoint:u,topology:v,checkpointer:a},erc6492:t}}function _g(s){let e=[],t=0;for(;t<s.length;){let r=s[t];t++;let n=(r&240)>>4;if(n===Mv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===$v){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for address weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for address leaf");let a=p.toHex(s.slice(t,t+20));t+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===qv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for ERC1271 weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for ERC1271 data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:p.toHex(u)}});continue}if(n===Ug){if(t+32>s.length)throw new Error("Not enough bytes for node leaf");let i=s.slice(t,t+32);t+=32,e.push(p.toHex(i));continue}if(n===Fv){let i=r&15;if(t+i>s.length)throw new Error("Not enough bytes for branch sizeSize");let a=p.toNumber(s.slice(t,t+i));if(t+=i,t+a>s.length)throw new Error("Not enough bytes in sub-branch");let o=s.slice(t,t+a);t+=a;let{nodes:c,leftover:u}=_g(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=jv(c);e.push(l);continue}if(n===Kv){if(t+32>s.length)throw new Error("Not enough bytes for subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"subdigest",digest:p.toHex(i)});continue}if(n===Gv){let i=(r&12)>>2;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for nested weight");i=s[t],t++;}let a=r&3;if(a===0){if(t+2>s.length)throw new Error("Not enough bytes for nested threshold");a=p.toNumber(s.slice(t,t+2)),t+=2;}if(t+3>s.length)throw new Error("Not enough bytes for nested sub-tree size");let o=p.toNumber(s.slice(t,t+3));if(t+=3,t+o>s.length)throw new Error("Not enough bytes for nested sub-tree");let c=s.slice(t,t+o);t+=o;let{nodes:u,leftover:l}=_g(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let m=jv(u);e.push({type:"nested",tree:m,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===Wv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for eth_sign signature");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===Jv){if(t+32>s.length)throw new Error("Not enough bytes for any address subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"any-address-subdigest",digest:p.toHex(i)});continue}if(n===Lg||n===zv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for sapient weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for sapient signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for sapient signature size");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for sapient signature data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:p.toHex(u),type:n===Lg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:s.slice(t)}}function Rg(s,e){if(Bt(s))return [Rg(s[0],e),Rg(s[1],e)];if(as(s)){let t=e(s);return t?{...s,signature:t}:s}if(os(s)){let t=e(s);return t?{...s,signature:t}:s}if(tr(s)||sr(s))return s;if(Ss(s))return {...s,tree:Rg(s.tree,e)};if(Ft(s))return s;throw new Error("Invalid topology")}function zC(s){let e=1,t=s[s.length-1];t?.configuration.checkpointer&&(e|=64);let r=p.fromNumber(e);if(t?.configuration.checkpointer){r=p.concat(r,p.padLeft(p.fromHex(t.configuration.checkpointer),20));let n=t.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=p.padLeft(p.fromNumber(n),3);r=p.concat(r,i,t.checkpointerData??p.fromArray([]));}for(let n=0;n<s.length;n++){let i=s[n],a=YC(i,!0,n===s.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=p.padLeft(p.fromNumber(a.length),3);r=p.concat(r,o,a);}return r}function YC(s,e,t){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=s;if(a?.length){let A=zC([{...s,suffix:void 0,erc6492:void 0},...a]);return o?Ev(A,o):A}let c=0;r&&(c|=2);let u=Us(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=Us(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!t&&(c|=64);let m=p.fromNumber(c);if(i.checkpointer&&!t&&(m=p.concat(m,p.padLeft(p.fromHex(i.checkpointer),20)),!e)){let A=n?.length??0;if(A>16777215)throw new Error("Checkpointer data too large");let C=p.padLeft(p.fromNumber(A),3);m=p.concat(m,C,n??p.fromArray([]));}let w=p.padLeft(p.fromNumber(i.checkpoint),u);m=p.concat(m,w);let E=p.padLeft(p.fromNumber(i.threshold),l);m=p.concat(m,E);let v=lf(i.topology,s);return m=p.concat(m,v),o?Ev(m,o):m}function lf(s,e={}){if(Bt(s)||jg(s)){let t=lf(s[0],e),r=lf(s[1],e);if(Bt(s[1])||jg(s[1])){let i=Us(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=Fv<<4|i;return p.concat(t,p.fromNumber(a),p.padLeft(p.fromNumber(r.length),i),r)}else return p.concat(t,r)}if(Ss(s)||ff(s)){let t=lf(s.tree,e),r=Gv<<4,n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)r|=Number(s.weight)<<2;else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let i=p.fromArray([]);if(s.threshold<=3n&&s.threshold>0n)r|=Number(s.threshold);else if(s.threshold<=65535n)i=p.padLeft(p.fromNumber(Number(s.threshold)),2);else throw new Error("Threshold too large");if(t.length>16777215)throw new Error("Nested tree too large");return p.concat(p.fromNumber(r),n,i,p.padLeft(p.fromNumber(t.length),3),t)}if(Ft(s))return p.concat(p.fromNumber(Ug<<4),p.fromHex(s));if($g(s)||hf(s))if(s.signature.type==="hash"||s.signature.type==="eth_sign"){let t=(s.signature.type==="hash"?Mv:Wv)<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let n=tn(s.signature);return p.concat(p.fromNumber(t),r,n)}else if(s.signature.type==="erc1271"){let t=qv<<4,r=Us(BigInt(s.signature.data.length));if(r>3)throw new Error("Signature too large");t|=r<<2;let n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),n,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(p.fromHex(s.signature.data).length),r),p.fromHex(s.signature.data))}else if(s.signature.type==="sapient"||s.signature.type==="sapient_compact"){let t=(s.signature.type==="sapient"?Lg:zv)<<4,r=p.fromHex(s.signature.data),n=Us(BigInt(r.length));if(n>3)throw new Error("Signature too large");t|=n<<2;let i=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)i=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),i,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${s.signature.type}`);if(as(s)){let t=$v<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),r,p.padLeft(p.fromHex(s.address),20))}if(os(s)){let t=cs(s);return p.concat(p.fromNumber(Ug<<4),t)}if(tr(s))return p.concat(p.fromNumber(Kv<<4),p.fromHex(s.digest));if(sr(s))return p.concat(p.fromNumber(Jv<<4),p.fromHex(s.digest));throw new Error("Invalid topology")}function jv(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function eV(s){return JSON.stringify(ZC(s))}function ZC(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.toHex(s.checkpointerData):void 0,configuration:{threshold:s.configuration.threshold.toString(),checkpoint:s.configuration.checkpoint.toString(),topology:Vg(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>ZC(e)):void 0}}function Vg(s){if(Array.isArray(s))return [Vg(s[0]),Vg(s[1])];if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:s.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Vg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:s.weight.toString(),signature:tV(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function tV(s){if(s.type==="eth_sign"||s.type==="hash")return {type:s.type,r:R.fromNumber(s.r,{size:32}),s:R.fromNumber(s.s,{size:32}),yParity:s.yParity};if(s.type==="erc1271")return {type:s.type,address:s.address,data:s.data};if(s.type==="sapient"||s.type==="sapient_compact")return {type:s.type,address:s.address,data:s.data};throw new Error("Unknown signature type in raw signature")}function sV(s){let e=JSON.parse(s);return XC(e)}function XC(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.fromHex(s.checkpointerData):void 0,configuration:{threshold:BigInt(s.configuration.threshold),checkpoint:BigInt(s.configuration.checkpoint),topology:Dg(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>XC(e)):void 0}}function Dg(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid raw topology node");return [Dg(s[0]),Dg(s[1])]}if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Dg(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(s.weight),signature:rV(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function rV(s){switch(s.type){case"eth_sign":case"hash":return {type:s.type,r:R.toBigInt(s.r),s:R.toBigInt(s.s),yParity:s.yParity};case"erc1271":return {type:"erc1271",address:s.address,data:s.data};case"sapient":case"sapient_compact":return {type:s.type,address:s.address,data:s.data};default:throw new Error("Invalid signature type in raw signature")}}async function Hv(s,e,t,r,n){if(s.suffix?.length){let o=!1,{configuration:c,weight:u}=await Hv({...s,suffix:void 0},e,t,r,n);o||=u<c.threshold;for(let l of s.suffix){let m=await Hv(l,e,l.noChainId?0:t,Ov(p.toHex(cs(c))),n);o||=m.weight<m.configuration.threshold,o||=m.configuration.checkpoint>=c.checkpoint,c=m.configuration,u=m.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await _v(s.configuration.topology,e,t,r,n);return {configuration:{...s.configuration,topology:i},weight:a}}async function _v(s,e,t,r,n){let i=ru(e,t,r);if(hf(s))switch(s.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:Yt.recoverAddress({payload:s.signature.type==="eth_sign"?ye.keccak256(xt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
+ 32`,p.toHex(i)])):i,signature:s.signature}),weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:me.encodeData(uf,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]}),l=me.decodeResult(uf,u);if(R.isEqual(l,me.getSelector(uf)))return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${s.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:s.signature.type==="sapient"?me.encodeData(yv,[nV(t,r),s.signature.data]):me.encodeData(wv,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]});return {topology:{type:"sapient-signer",address:s.signature.address,weight:s.weight,imageHash:u,signed:!0,signature:s.signature},weight:s.weight}}}else if(ff(s)){let{topology:a,weight:o}=await _v(s.tree,e,t,r,n);return {topology:{...s,tree:a},weight:o>=s.threshold?s.weight:0n}}else {if(as(s))return {topology:s,weight:0n};if(os(s))return {topology:s,weight:0n};if(tr(s))return {topology:s,weight:p.isEqual(p.fromHex(s.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(sr(s)){let a=ru(Xe.ZeroAddress,t,r);return {topology:s,weight:p.isEqual(p.fromHex(s.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Ft(s))return {topology:s,weight:0n};{let[a,o]=await Promise.all(s.map(c=>_v(c,e,t,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function nV(s,e){switch(e.type){case"call":return {kind:0,noChainId:!s,calls:e.calls.map(t=>({...t,data:t.data,behaviorOnError:t.behaviorOnError==="ignore"?0n:t.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!s,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function as(s){return typeof s=="object"&&s!==null&&s.type==="signer"}function os(s){return typeof s=="object"&&s!==null&&s.type==="sapient-signer"}function tr(s){return typeof s=="object"&&s!==null&&s.type==="subdigest"}function sr(s){return typeof s=="object"&&s!==null&&s.type==="any-address-subdigest"}function Ft(s){return R.validate(s)&&s.length===66}function Ss(s){return typeof s=="object"&&s!==null&&s.type==="nested"}function Bt(s){return Array.isArray(s)&&s.length===2&&iu(s[0])&&iu(s[1])}function ou(s){return typeof s=="object"&&"threshold"in s&&"checkpoint"in s&&"topology"in s}function QC(s){return as(s)||os(s)||tr(s)||sr(s)||Ft(s)||Ss(s)}function iu(s){return Bt(s)||QC(s)}function iV(s){let e=new Set,t=new Set,r=!0,n=i=>{Bt(i)?(n(i[0]),n(i[1])):as(i)?i.weight&&e.add(i.address):os(i)?t.add({address:i.address,imageHash:i.imageHash}):Ft(i)?r=!1:Ss(i)&&i.weight&&n(i.tree);};return n(ou(s)?s.topology:s),{signers:Array.from(e),sapientSigners:Array.from(t),isComplete:r}}function df(s,e){if(ou(s))return df(s.topology,e);if(Bt(s))return df(s[0],e)||df(s[1],e);if(as(s)){if(M.isEqual(s.address,e))return s}else if(os(s)){if(M.isEqual(s.address,e))return s}else if(Ss(s))return df(s.tree,e)}function mf(s,e){if(s=Mg(s)||ou(s)?s.topology:s,$g(s))return {weight:s.weight,maxWeight:s.weight};if(as(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(hf(s))return {weight:s.weight,maxWeight:s.weight};if(Yv(s))return {weight:s.weight,maxWeight:s.weight};if(os(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(tr(s))return {weight:0n,maxWeight:0n};if(sr(s))return {weight:0n,maxWeight:0n};if(ff(s)){let{weight:t,maxWeight:r}=mf(s.tree,e);return {weight:t>=s.threshold?s.weight:0n,maxWeight:r>=s.threshold?s.weight:0n}}else {if(Ft(s))return {weight:0n,maxWeight:0n};{let[t,r]=[mf(s[0],e),mf(s[1],e)];return {weight:t.weight+r.weight,maxWeight:t.maxWeight+r.maxWeight}}}}function cs(s){if(ou(s)){let e=cs(s.topology);return e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.threshold),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.checkpoint),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromHex(s.checkpointer??Xe.ZeroAddress),32))),e}if(as(s))return ye.keccak256(p.concat(p.fromString(`Sequence signer:
343
343
  `),p.fromHex(s.address),p.padLeft(p.fromNumber(s.weight),32)));if(os(s))return ye.keccak256(p.concat(p.fromString(`Sequence sapient config:
344
344
  `),p.fromHex(s.address),p.padLeft(p.fromNumber(s.weight),32),p.padLeft(p.fromHex(s.imageHash),32)));if(tr(s))return ye.keccak256(p.concat(p.fromString(`Sequence static digest:
345
345
  `),p.fromHex(s.digest)));if(sr(s))return ye.keccak256(p.concat(p.fromString(`Sequence any address subdigest:
346
346
  `),p.fromHex(s.digest)));if(Ft(s))return p.fromHex(s);if(Ss(s))return ye.keccak256(p.concat(p.fromString(`Sequence nested config:
347
- `),cs(s.tree),p.padLeft(p.fromNumber(s.threshold),32),p.padLeft(p.fromNumber(s.weight),32)));if(Bt(s))return ye.keccak256(p.concat(cs(s[0]),cs(s[1])));throw new Error("Invalid topology")}function Xv(s){if(s.length===0)throw new Error("Cannot create topology from empty leaves");return s.length===1?s[0]:s.length===2?[s[0],s[1]]:[Xv(s.slice(0,s.length/2)),Xv(s.slice(s.length/2))]}function Fg(s){return Bt(s)?[...Fg(s[0]),...Fg(s[1])]:Ss(s)?[...Fg(s.tree)]:[s]}function nV(s){return JSON.stringify({threshold:s.threshold.toString(),checkpoint:s.checkpoint.toString(),topology:Kg(s.topology),checkpointer:s.checkpointer})}function iV(s){let e=JSON.parse(s);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:Gg(e.topology)}}function Kg(s){if(Bt(s))return [Kg(s[0]),Kg(s[1])];if(as(s))return {type:"signer",address:s.address,weight:s.weight.toString()};if(os(s))return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};if(tr(s))return {type:"subdigest",digest:s.digest};if(sr(s))return {type:"any-address-subdigest",digest:s.digest};if(Ft(s))return s;if(Ss(s))return {type:"nested",tree:Kg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};throw new Error("Invalid topology")}function Gg(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid node structure in JSON");return [Gg(s[0]),Gg(s[1])]}if(typeof s=="string")return s;switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Gg(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};default:throw new Error("Invalid type in topology JSON")}}function aV(s){return s instanceof Promise?{signature:s}:typeof s=="object"&&s&&"signature"in s&&s.signature instanceof Promise?s:{signature:Promise.resolve(s)}}function Jg(s,e){if(Bt(s)&&Bt(e))return [Jg(s[0],e[0]),Jg(s[1],e[1])];if(Bt(s)&&!Bt(e)){if(!Ft(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(e);if(!p.isEqual(t,cs(s)))throw new Error("Topology mismatch: node hash does not match");return s}if(!Bt(s)&&Bt(e)){if(!Ft(s))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(s);if(!p.isEqual(t,cs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return cV(s,e)}function au(s){return ou(s)?s.threshold>65535n||s.checkpoint>72057594037927935n||au(s.topology):Bt(s)?au(s[0])||au(s[1]):Ss(s)?au(s.tree)||s.weight>255n||s.threshold>65535n:as(s)||os(s)?s.weight>255n:!1}function pf(s){return Bt(s)?Math.max(pf(s[0]),pf(s[1]))+1:Ss(s)?pf(s.tree)+1:0}function oV(s){if(s.threshold===0n)throw new Error("unsafe-threshold-0");if(au(s))throw new Error("unsafe-invalid-values");if(pf(s.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=mf(s.topology,()=>!0);if(e<s.threshold)throw new Error("unsafe-threshold")}function cV(s,e){if(Ft(s)&&Ft(e)){if(!R.isEqual(s,e))throw new Error("Topology mismatch: different node leaves");return s}if(Ft(s)&&!Ft(e)){let t=cs(e);if(!p.isEqual(t,p.fromHex(s)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Ft(s)&&Ft(e)){let t=cs(s);if(!p.isEqual(t,p.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return s}if(as(s)&&as(e)){if(s.address!==e.address||s.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return s}if(os(s)&&os(e)){if(s.address!==e.address||s.weight!==e.weight||s.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return s}if(tr(s)&&tr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return s}if(sr(s)&&sr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return s}if(Ss(s)&&Ss(e)){if(s.weight!==e.weight||s.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let t=Jg(s.tree,e.tree);return {type:"nested",weight:s.weight,threshold:s.threshold,tree:t}}throw new Error("Topology mismatch: incompatible leaf types")}function Wg(s,e,t){return Bt(s)?[Wg(s[0],e,t),Wg(s[1],e,t)]:Ss(s)?{...s,tree:Wg(s.tree,e,t)}:(as(s)||os(s))&&M.isEqual(s.address,e)?{...s,address:t}:s}function uV(s,e){let t=s instanceof Uint8Array?s:cs(s);return p.toHex(ye.keccak256(p.concat(p.from("0xff"),p.from(e.factory),t,ye.keccak256(p.concat(p.from(e.creationCode),p.padLeft(p.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var qt={};Te(qt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>a8,decode:()=>lV,decodeAuthData:()=>r8,encode:()=>t8,encodeAuthData:()=>s8,encodeForJson:()=>n8,fromJson:()=>dV,fromParsed:()=>i8,generateImplicitRequestMagic:()=>mV,hash:()=>hV,toJson:()=>fV});d();f();function t8(s){let e=s8(s.authData),t=[p.fromHex(s.approvedSigner,{size:20}),p.padLeft(s.identityType.slice(0,4),4),p.padLeft(s.issuerHash,32),p.padLeft(s.audienceHash,32),p.fromNumber(s.applicationData.length,{size:3}),s.applicationData,e];return p.concat(...t)}function s8(s){return p.concat(p.fromNumber(s.redirectUrl.length,{size:3}),p.fromString(s.redirectUrl),p.fromNumber(s.issuedAt,{size:8}))}function lV(s){let e=p.toHex(s.slice(0,20)),t=s.slice(20,24),r=s.slice(24,56),n=s.slice(56,88),i=p.toNumber(s.slice(88,91)),a=s.slice(91,91+i),o=r8(s.slice(91+i));return {approvedSigner:e,identityType:t,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function r8(s){let e=p.toNumber(s.slice(0,3)),t=p.toString(s.slice(3,3+e)),r=p.toBigInt(s.slice(3+e,3+e+8));return {redirectUrl:t,issuedAt:r}}function hV(s){return ye.keccak256(t8(s))}function fV(s,e){return JSON.stringify(n8(s),null,e)}function n8(s){return {approvedSigner:s.approvedSigner.toString(),identityType:p.toHex(s.identityType),issuerHash:p.toHex(s.issuerHash),audienceHash:p.toHex(s.audienceHash),applicationData:p.toHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:s.authData.issuedAt.toString()}}}function dV(s){return i8(JSON.parse(s))}function i8(s){return {approvedSigner:M.from(s.approvedSigner),identityType:p.fromHex(s.identityType),issuerHash:p.fromHex(s.issuerHash),audienceHash:p.fromHex(s.audienceHash),applicationData:p.fromHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:BigInt(s.authData.issuedAt)}}}var a8=ye.keccak256(p.fromString("acceptImplicitRequest"));function mV(s,e){return ye.keccak256(p.concat(a8,p.fromHex(e,{size:20}),s.audienceHash,s.issuerHash))}var sn={};Te(sn,{MASK:()=>pV,MAX_PERMISSIONS_COUNT:()=>zg,MAX_RULES_COUNT:()=>o8,ParameterOperation:()=>Qv,abiEncodePermission:()=>bV,decodeSessionPermissions:()=>Yg,encodePermission:()=>c8,encodeSessionPermissions:()=>gf,encodeSessionPermissionsForJson:()=>Zg,parameterRuleToJson:()=>EV,permissionFromJson:()=>AV,permissionStructAbi:()=>u8,permissionToJson:()=>vV,sessionPermissionsFromJson:()=>xV,sessionPermissionsFromParsed:()=>Xg,sessionPermissionsToJson:()=>SV});d();f();var Qv;(function(s){s[s.EQUAL=0]="EQUAL",s[s.NOT_EQUAL=1]="NOT_EQUAL",s[s.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",s[s.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(Qv||(Qv={}));var zg=2**7-1,o8=2**8-1,pV={SELECTOR:p.padRight(p.fromHex("0xffffffff"),32),ADDRESS:p.padLeft(p.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:p.padLeft(p.fromHex("0x01"),32),BYTES1:p.padLeft(p.from(Array(1).fill(255)),32),BYTES2:p.padLeft(p.from(Array(2).fill(255)),32),BYTES4:p.padLeft(p.from(Array(4).fill(255)),32),BYTES8:p.padLeft(p.from(Array(8).fill(255)),32),BYTES16:p.padLeft(p.from(Array(16).fill(255)),32),BYTES32:p.padLeft(p.from(Array(32).fill(255)),32),INT8:p.padLeft(p.from(Array(1).fill(255)),32),INT16:p.padLeft(p.from(Array(2).fill(255)),32),INT32:p.padLeft(p.from(Array(4).fill(255)),32),INT64:p.padLeft(p.from(Array(8).fill(255)),32),INT128:p.padLeft(p.from(Array(16).fill(255)),32),INT256:p.padLeft(p.from(Array(32).fill(255)),32),UINT8:p.padLeft(p.from(Array(1).fill(255)),32),UINT16:p.padLeft(p.from(Array(2).fill(255)),32),UINT32:p.padLeft(p.from(Array(4).fill(255)),32),UINT64:p.padLeft(p.from(Array(8).fill(255)),32),UINT128:p.padLeft(p.from(Array(16).fill(255)),32),UINT256:p.padLeft(p.from(Array(32).fill(255)),32)};function gf(s){if(s.permissions.length>zg)throw new Error("Too many permissions");let e=s.permissions.map(c8);return p.concat(p.padLeft(p.fromHex(s.signer),20),p.padLeft(p.fromNumber(s.chainId),32),p.padLeft(p.fromNumber(s.valueLimit),32),p.padLeft(p.fromNumber(s.deadline,{size:8}),8),p.fromNumber(s.permissions.length,{size:1}),p.concat(...e))}function c8(s){if(s.rules.length>o8)throw new Error("Too many rules");let e=s.rules.map(gV);return p.concat(p.padLeft(p.fromHex(s.target),20),p.fromNumber(s.rules.length,{size:1}),p.concat(...e))}function gV(s){let e=Number(s.operation)<<1|(s.cumulative?1:0);return p.concat(p.fromNumber(e),p.padLeft(s.value,32),p.padLeft(p.fromNumber(s.offset),32),p.padLeft(s.mask,32))}function Yg(s){let e=p.toHex(s.slice(0,20)),t=p.toNumber(s.slice(20,52)),r=p.toBigInt(s.slice(52,84)),n=p.toBigInt(s.slice(84,92)),i=Number(s[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=yV(s.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:t,valueLimit:r,deadline:n,permissions:a}}function yV(s){let e=p.toHex(s.slice(0,20)),t=Number(s[20]),r=[],n=21;for(let i=0;i<t;i++){let a=s.slice(n,n+97);r.push(wV(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function wV(s){let e=Number(s[0]),t=(e&1)===1,r=e>>1,n=s.slice(1,33),i=p.toBigInt(s.slice(33,65)),a=s.slice(65,97);return {cumulative:t,operation:r,value:n,offset:i,mask:a}}var u8={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function bV(s){return xt.encode([u8],[{target:s.target,rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.toHex(e.value),offset:e.offset,mask:p.toHex(e.mask)}))}])}function SV(s){return JSON.stringify(Zg(s))}function Zg(s){return {signer:s.signer.toString(),chainId:s.chainId.toString(),valueLimit:s.valueLimit.toString(),deadline:s.deadline.toString(),permissions:s.permissions.map(l8)}}function vV(s){return JSON.stringify(l8(s))}function l8(s){return {target:s.target.toString(),rules:s.rules.map(h8)}}function EV(s){return JSON.stringify(h8(s))}function h8(s){return {cumulative:s.cumulative,operation:s.operation,value:p.toHex(s.value),offset:s.offset.toString(),mask:p.toHex(s.mask)}}function xV(s){return Xg(JSON.parse(s))}function Xg(s){return {signer:M.from(s.signer),chainId:Number(s.chainId),valueLimit:BigInt(s.valueLimit),deadline:BigInt(s.deadline),permissions:s.permissions.map(f8)}}function AV(s){return f8(JSON.parse(s))}function f8(s){return {target:M.from(s.target),rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.fromHex(e.value),offset:BigInt(e.offset),mask:p.fromHex(e.mask)}))}}d();f();var Fs={};Te(Fs,{SESSIONS_FLAG_BLACKLIST:()=>uu,SESSIONS_FLAG_BRANCH:()=>tE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>bf,SESSIONS_FLAG_NODE:()=>eE,SESSIONS_FLAG_PERMISSIONS:()=>wf,addExplicitSession:()=>BV,addIdentitySigner:()=>RV,addToImplicitBlacklist:()=>VV,balanceSessionsTopology:()=>Ef,cleanSessionsTopology:()=>A8,configurationTreeToSessionsTopology:()=>b8,decodeLeafFromBytes:()=>y8,decodeSessionsTopology:()=>nE,emptySessionsTopology:()=>I8,encodeLeafToGeneric:()=>yf,encodeSessionsTopology:()=>s1,getExplicitSigners:()=>NV,getIdentitySigners:()=>Sf,getImplicitBlacklist:()=>CV,getImplicitBlacklistLeaf:()=>vf,getSessionPermissions:()=>t1,isCompleteSessionsTopology:()=>rE,isSessionsTopology:()=>sE,mergeSessionsTopologies:()=>aE,minimiseSessionsTopology:()=>r1,removeExplicitSession:()=>TV,removeFromImplicitBlacklist:()=>DV,removeIdentitySigner:()=>OV,sessionsTopologyFromJson:()=>PV,sessionsTopologyToConfigurationTree:()=>w8,sessionsTopologyToJson:()=>kV});d();f();var js={};Te(js,{hash:()=>rr,isBranch:()=>Ls,isLeaf:()=>ei,isNode:()=>Ot,isTree:()=>d8});d();f();function Ls(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>d8(e))}function ei(s){return s.type==="leaf"&&p.validate(s.value)}function d8(s){return Ls(s)||ei(s)||Ot(s)}function Ot(s){return R.validate(s)&&R.size(s)===32}function rr(s){if(Ls(s)){let e=s.map(rr);if(e.length===0)throw new Error("Empty branch");let t=R.toBytes(e[0]);for(let r=1;r<e.length;r++)t=ye.keccak256(p.concat(t,R.toBytes(e[r])));return R.fromBytes(t)}return Ot(s)?s:ye.keccak256(s.value,{as:"Hex"})}var wf=0,eE=1,tE=2,uu=3,bf=4,m8=32;function Cr(s){return R.validate(s)&&R.size(s)===m8}function nr(s){return typeof s=="object"&&s!==null&&"blacklist"in s}function ir(s){return typeof s=="object"&&s!==null&&"identitySigner"in s}function ar(s){return typeof s=="object"&&s!==null&&"signer"in s}function Qg(s){return nr(s)||ir(s)||ar(s)}function or(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>sE(e))}function sE(s){return or(s)||Qg(s)||Cr(s)}function rE(s){if(!sE(s))return !1;let{identitySignerCount:e,blacklistCount:t}=p8(s);return e>=1&&t===1}function p8(s){let e=0,t=0;if(or(s))for(let r of s){let{identitySignerCount:n,blacklistCount:i}=p8(r);e+=n,t+=i;}return ir(s)&&e++,nr(s)&&t++,{identitySignerCount:e,blacklistCount:t}}function Sf(s){return ir(s)?[s.identitySigner]:or(s)?s.map(Sf).flat():[]}function CV(s){let e=vf(s);return e?e.blacklist:null}function vf(s){if(nr(s))return s;if(or(s)){let e=s.map(vf).filter(t=>t!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function t1(s,e){if(ar(s)&&M.isEqual(s.signer,e))return s;if(or(s))for(let t of s){let r=t1(t,e);if(r)return r}return null}function NV(s){return g8(s,[])}function g8(s,e){if(ar(s))return [...e,s.signer];if(or(s)){let t=[...e];for(let r of s)t.push(...g8(r,e));return t}return e}function yf(s){if(ar(s))return {type:"leaf",value:p.concat(p.fromNumber(wf),gf(s))};if(nr(s))return {type:"leaf",value:p.concat(p.fromNumber(uu),p.concat(...s.blacklist.map(e=>p.padLeft(p.fromHex(e),20))))};if(ir(s))return {type:"leaf",value:p.concat(p.fromNumber(bf),p.padLeft(p.fromHex(s.identitySigner),20))};throw new Error("Invalid leaf")}function y8(s){let e=s[0];if(e===uu){let t=[];for(let r=1;r<s.length;r+=20)t.push(p.toHex(s.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:t}}if(e===bf)return {type:"identity-signer",identitySigner:p.toHex(s.slice(1,21))};if(e===wf)return {type:"session-permissions",...Yg(s.slice(1))};throw new Error("Invalid leaf")}function w8(s){if(or(s))return s.map(w8);if(nr(s)||ir(s)||ar(s))return yf(s);if(Cr(s))return s;throw new Error("Invalid topology")}function b8(s){if(Ls(s))return s.map(b8);if(Ot(s))throw new Error("Unknown in configuration tree");return y8(s.value)}function s1(s){if(or(s)){let e=[];for(let i of s)e.push(s1(i));let t=p.concat(...e),r=Us(BigInt(t.length));if(r>15)throw new Error("Branch too large");let n=tE<<4|r;return p.concat(p.fromNumber(n),p.padLeft(p.fromNumber(t.length),r),t)}if(ar(s)){let e=wf<<4,t=gf(s);return p.concat(p.fromNumber(e),t)}if(Cr(s)){let e=eE<<4;return p.concat(p.fromNumber(e),R.toBytes(s))}if(nr(s)){let e=p.concat(...s.blacklist.map(r=>p.fromHex(r)));if(s.blacklist.length>=15){if(s.blacklist.length>65535)throw new Error("Blacklist too large");return p.concat(p.fromNumber(uu<<4|15),p.fromNumber(s.blacklist.length,{size:2}),e)}let t=uu<<4|s.blacklist.length;return p.concat(p.fromNumber(t),e)}if(ir(s)){let e=bf<<4;return p.concat(p.fromNumber(e),p.padLeft(p.fromHex(s.identitySigner),20))}throw new Error("Invalid topology")}function nE(s){let{topology:e}=S8(s);return e}function S8(s){if(s.length===0)throw new Error("Empty topology bytes");let e=s[0],t=(e&240)>>4,r=e&15;if(t===tE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=p.toNumber(s.slice(n,n+r));n+=r;let a=s.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=S8(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(t===wf){let n=Yg(s.slice(1)),i=1+gf(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(t===eE){let n=m8+1;if(s.length<n)throw new Error("Invalid node length");return {topology:R.fromBytes(s.slice(1,n)),pointer:n}}else if(t===uu){let n=1,i=r;r===15&&(i=p.toNumber(s.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=s.slice(n+o*20,n+(o+1)*20);a.push(M.from(R.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(t===bf){if(s.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:M.from(R.fromBytes(s.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${t}`)}function kV(s){return JSON.stringify(v8(s))}function v8(s){if(Cr(s))return s;if(ar(s))return Zg(s);if(nr(s)||ir(s))return s;if(or(s))return s.map(e=>v8(e));throw new Error("Invalid topology")}function PV(s){let e=JSON.parse(s);return E8(e)}function E8(s){if(Array.isArray(s))return s.map(t=>E8(t));if(typeof s=="string"&&R.validate(s)&&R.size(s)===32)return s;if(typeof s=="object"&&s!==null&&"signer"in s&&"valueLimit"in s&&"deadline"in s&&"permissions"in s)return {type:"session-permissions",...Xg(s)};if(typeof s=="object"&&s!==null&&"identitySigner"in s)return {type:"identity-signer",identitySigner:s.identitySigner};if(typeof s=="object"&&s!==null&&"blacklist"in s)return {type:"implicit-blacklist",blacklist:s.blacklist.map(t=>M.from(t))};throw new Error("Invalid topology")}function iE(s,e){if(Qg(s)&&Qg(e)){if(s.type===e.type){if(ar(s)&&ar(e)){if(M.isEqual(s.signer,e.signer))return null}else if(nr(s)&&nr(e)){let t=s.blacklist.filter(r=>!e.blacklist.includes(r));return t.length===0?null:{type:"implicit-blacklist",blacklist:t}}else if(ir(s)&&ir(e)&&M.isEqual(s.identitySigner,e.identitySigner))return null}}else if(Cr(s)&&Cr(e)&&R.isEqual(s,e))return null;if(or(s)){let t=[];for(let r of s){let n=iE(r,e);n!=null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}return s}function TV(s,e){let t=t1(s,e);if(!t)return s;let r=iE(s,t);return r?Ef(r):null}function BV(s,e){if(t1(s,e.signer))throw new Error("Session already exists");let t=aE(s,{type:"session-permissions",...e});return Ef(t)}function OV(s,e){let r=iE(s,{type:"identity-signer",identitySigner:e});return r?Ef(r):null}function RV(s,e){if(Sf(s).some(r=>M.isEqual(r,e)))throw new Error("Identity signer already exists");let t=aE(s,{type:"identity-signer",identitySigner:e});return Ef(t)}function aE(s,e){return [s,e]}function x8(s){if(Qg(s)||Cr(s))return [s];let e=[];for(let t of s)e.push(...x8(t));return e}function e1(s){if(s.length===1)return s[0];if(s.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(s.length/2),t=s.slice(0,e),r=s.slice(e),n=e1(t),i=e1(r);return [n,i]}function Ef(s){return e1(x8(s))}function A8(s,e=BigInt(Math.floor(Date.now()/1e3))){if(Cr(s))return s;if(ar(s))return s.deadline<e?null:s;if(ir(s)||nr(s))return s;let t=[];for(let r of s){let n=A8(r,e);n!==null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}function r1(s,e=[],t=[],r){if(or(s)){let n=s.map(i=>r1(i,e,t,r));return n.every(i=>Cr(i))?ye.keccak256(p.concat(...n.map(i=>R.toBytes(i))),{as:"Hex"}):n}if(ar(s))return e.includes(s.signer)?s:rr(yf(s));if(nr(s))return t.length===0?rr(yf(s)):s;if(ir(s))return r&&!M.isEqual(s.identitySigner,r)?rr(yf(s)):s;if(Cr(s))return s;throw new Error("Invalid topology")}function VV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t;return r.some(n=>M.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),s}function DV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t,n=r.filter(i=>i!==e);return t.blacklist=n,s}function I8(s){if(!Array.isArray(s))return I8([s]);let e=[{type:"implicit-blacklist",blacklist:[]},...s.map(t=>({type:"identity-signer",identitySigner:t}))];return e1(e)}var ti={};Te(ti,{decodeSessionSignature:()=>HV,encodeSessionCallSignatureForJson:()=>C8,encodeSessionSignature:()=>jV,hashPayloadWithCallIdx:()=>_V,isExplicitSessionCallSignature:()=>uE,isImplicitSessionCallSignature:()=>n1,sessionCallSignatureFromJson:()=>LV,sessionCallSignatureFromParsed:()=>N8,sessionCallSignatureToJson:()=>UV});d();f();function n1(s){return "attestation"in s&&"identitySignature"in s&&"sessionSignature"in s}function uE(s){return "permissionIndex"in s&&"sessionSignature"in s}function UV(s){return JSON.stringify(C8(s))}function C8(s){if(n1(s))return {attestation:qt.encodeForJson(s.attestation),identitySignature:oE(s.identitySignature),sessionSignature:oE(s.sessionSignature)};if(uE(s))return {permissionIndex:s.permissionIndex,sessionSignature:oE(s.sessionSignature)};throw new Error("Invalid call signature")}function LV(s){let e=JSON.parse(s);return N8(e)}function N8(s){if(s.attestation)return {attestation:qt.fromParsed(s.attestation),identitySignature:cE(s.identitySignature),sessionSignature:cE(s.sessionSignature)};if(s.permissionIndex)return {permissionIndex:s.permissionIndex,sessionSignature:cE(s.sessionSignature)};throw new Error("Invalid call signature")}function oE(s){return `${s.r.toString()}:${s.s.toString()}:${s.yParity+27}`}function cE(s){let e=s.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[t,r,n]=e;if(!t||!r||!n)throw new Error("Invalid signature format");return {r:p.toBigInt(p.fromHex(t,{size:32})),s:p.toBigInt(p.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function jV(s,e,t,r=[],n=[]){let i=[];if(!rE(e))throw new Error("Incomplete topology");if(!Sf(e).some(l=>M.isEqual(l,t)))throw new Error("Identity signer not found");e=r1(e,r,n,t);let o=s1(e);if(Us(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(p.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(s.filter(n1).forEach(l=>{if(l.attestation){let m=qt.toJson(l.attestation);c.has(m)||(c.set(m,u.length),u.push(p.concat(qt.encode(l.attestation),tn(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(p.fromNumber(u.length,{size:1}),p.concat(...u));for(let l of s)if(n1(l)){let m=qt.toJson(l.attestation),w=c.get(m);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(p.fromNumber(E,{size:1}),tn(l.sessionSignature));}else if(uE(l)){if(l.permissionIndex>zg)throw new Error("Permission index is too large");let m=l.permissionIndex;i.push(p.fromNumber(m,{size:1}),tn(l.sessionSignature));}else throw new Error("Invalid call signature");return p.concat(...i)}function HV(s){let e=0,t=p.toNumber(s.slice(e,e+3));e+=3;let r=s.slice(e,e+t);e+=t;let n=nE(r),i=p.toNumber(s.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=qt.decode(s.slice(e));e+=qt.encode(l).length,a.push(l);let m=qa(s.slice(e,e+64));e+=64,o.push(m);}let c=[];for(;e<s.length;){let u=s[e];e+=1;let l=qa(s.slice(e,e+64));if(e+=64,u&128){let m=u&127;if(m>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[m],identitySignature:o[m],sessionSignature:l});}else {let m=u;c.push({permissionIndex:BigInt(m),sessionSignature:l});}}return {topology:n,callSignatures:c}}function _V(s,e,t,r,n){if(n&&(M.isEqual(n,je.Dev1.sessions)||M.isEqual(n,je.Dev2.sessions)||M.isEqual(n,je.Rc3.sessions))){let c=e.calls[t],u=!M.isEqual(n,je.Rc3.sessions);return R.fromBytes(ye.keccak256(p.concat(p.fromNumber(r,{size:32}),p.fromNumber(e.space,{size:32}),p.fromNumber(e.nonce,{size:32}),u?p.from([]):p.fromNumber(t,{size:32}),p.fromHex(we.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=we.hash(s,r,e);return e.parentWallets=a,R.fromBytes(ye.keccak256(p.concat(o,p.fromNumber(t,{size:32}))))}var Ka={};Te(Ka,{Dev1:()=>k8,Dev2:()=>P8,Dev2_4337:()=>T8,KnownContexts:()=>MV,Rc3:()=>B8,Rc3_4337:()=>O8,Rc4:()=>R8,Rc4_4337:()=>V8,Rc5:()=>D8,Rc5_4337:()=>U8,isKnownContext:()=>$V});d();f();var k8={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},P8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},T8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},B8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},O8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},R8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},V8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},D8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},U8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},MV=[{name:"Dev1",development:!0,...k8},{name:"Dev2",development:!0,...P8},{name:"Dev2_4337",development:!0,...T8},{name:"Rc3",development:!0,...B8},{name:"Rc3_4337",development:!0,...O8},{name:"Rc4",development:!1,...R8},{name:"Rc4_4337",development:!1,...V8},{name:"Rc5",development:!1,...D8},{name:"Rc5_4337",development:!1,...U8}];function $V(s){return s.name!==void 0&&s.development!==void 0}var je={};Te(je,{Dev1:()=>s9,Dev2:()=>r9,Passkeys:()=>hE,Rc3:()=>n9,Rc4:()=>i9,Rc5:()=>a9,Recovery:()=>xE});d();f();var hE={};Te(hE,{decode:()=>WV,encode:()=>KV,fromTree:()=>qV,isValidSignature:()=>GV,metadataNode:()=>L8,metadataTree:()=>lE,rootFor:()=>FV,toTree:()=>j8});d();f();function lE(s){return typeof s=="object"?{type:"leaf",value:p.fromString(s.credentialId)}:s}function L8(s){return rr(lE(s))}function j8(s){let e=R.padLeft(s.x,32),t=R.padLeft(s.y,32),r=R.padLeft(s.requireUserVerification?"0x01":"0x00",32);return s.metadata?[[e,t],[r,lE(s.metadata)]]:[[e,t],[r,R.padLeft("0x00",32)]]}function qV(s){if(!Ls(s)||s.length!==2)throw new Error("Invalid tree");let[e,t]=s;if(!Ls(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Ot(r))throw new Error("Invalid x bytes");if(!Ot(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ls(t)){if(t.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=t;if(!Ot(o))throw new Error("Invalid c bytes");if(i=R.toBytes(o)[31]===1,Ls(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,m]=c;if(!ei(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ls(m)||m.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,v]=m;if(!ei(E)||!ei(v))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Ot(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Ot(t))throw new Error("Invalid c bytes");i=R.toBytes(t)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function FV(s){return rr(j8(s))}function KV(s){let e=s.clientDataJSON.indexOf('"challenge"'),t=s.clientDataJSON.indexOf('"type"'),r=s.authenticatorData.length,n=s.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=t<=255?1:2,u=0;u|=s.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,s.embedMetadata&&(u|=64);let l=p.from([u]);if(s.embedMetadata){if(!s.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=p.concat(l,R.toBytes(L8(s.publicKey.metadata)));}return l=p.concat(l,p.padLeft(p.fromNumber(r),i)),l=p.concat(l,s.authenticatorData),l=p.concat(l,p.padLeft(p.fromNumber(s.clientDataJSON.length),a)),l=p.concat(l,p.from(new TextEncoder().encode(s.clientDataJSON))),l=p.concat(l,p.padLeft(p.fromNumber(e),o)),l=p.concat(l,p.padLeft(p.fromNumber(t),c)),l=p.concat(l,p.padLeft(s.r,32)),l=p.concat(l,p.padLeft(s.s,32)),l=p.concat(l,p.fromHex(s.publicKey.x)),l=p.concat(l,p.fromHex(s.publicKey.y)),l}function GV(s,e){return Qn.verify({challenge:s,publicKey:{x:R.toBigInt(e.publicKey.x),y:R.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:R.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:p.toBigInt(e.r),s:p.toBigInt(e.s)}})}function WV(s){let e=0,t=s[0];if(e+=1,t===void 0)throw new Error("Invalid flags");let r=(t&1)!==0,n=(t>>1&1)+1,i=(t>>2&1)+1,a=(t>>3&1)+1,o=(t>>4&1)+1,c=(t>>6&1)===1;if(t&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let B=p.slice(s,e,e+32);u=R.fromBytes(B),e+=32;}let l=p.toNumber(p.slice(s,e,e+n));e+=n;let m=p.slice(s,e,e+l);e+=l;let w=p.toNumber(p.slice(s,e,e+i));e+=i;let E=p.slice(s,e,e+w);e+=w;let v=new TextDecoder().decode(E),A=p.toNumber(p.slice(s,e,e+a));e+=a;let C=p.toNumber(p.slice(s,e,e+o));e+=o;let D=p.slice(s,e,e+32);e+=32;let U=p.slice(s,e,e+32);e+=32;let T=p.slice(s,e,e+32);e+=32;let P=p.slice(s,e,e+32);return {publicKey:{requireUserVerification:r,x:R.fromBytes(T),y:R.fromBytes(P),metadata:u},r:D,s:U,authenticatorData:m,clientDataJSON:v,challengeIndex:A,typeIndex:C,embedMetadata:c}}var xE={};Te(xE,{DOMAIN_NAME:()=>JV,DOMAIN_VERSION:()=>zV,FLAG_BRANCH:()=>vE,FLAG_NODE:()=>SE,FLAG_RECOVERY_LEAF:()=>bE,QUEUED_PAYLOAD_HASHES:()=>M8,QUEUE_PAYLOAD:()=>H8,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>_8,TOTAL_QUEUED_PAYLOADS:()=>$8,decodeTopology:()=>YV,encodeCalldata:()=>XV,encodeTopology:()=>gE,fromGenericTree:()=>wE,fromRecoveryLeaves:()=>yE,getRecoveryLeaves:()=>mE,hashConfiguration:()=>dE,hashRecoveryPayload:()=>ZV,isBranch:()=>Ga,isRecoveryLeaf:()=>lu,isTree:()=>fE,parseBranch:()=>EE,queuedPayloadHashOf:()=>e9,timestampForQueuedPayload:()=>t9,toGenericTree:()=>i1,totalQueuedPayloads:()=>QV,trimTopology:()=>pE});d();f();var bE=1,SE=3,vE=4,xf=p.fromString(`Sequence recovery leaf:
348
- `),H8=Et.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],_8=Et.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],M8=Et.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],$8=Et.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function lu(s){return typeof s=="object"&&s!==null&&s.type==="leaf"}function Ga(s){return Array.isArray(s)&&s.length===2&&fE(s[0])&&fE(s[1])}function fE(s){return lu(s)||Ot(s)||Ga(s)}var JV="Sequence Wallet - Recovery Mode",zV="1";function dE(s){return rr(i1(s))}function mE(s){if(lu(s))return {leaves:[s],isComplete:!0};if(Ot(s))return {leaves:[],isComplete:!1};if(Ga(s)){let t=mE(s[0]),r=mE(s[1]);return {leaves:[...t.leaves,...r.leaves],isComplete:t.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function YV(s){let{nodes:e,leftover:t}=EE(s);if(t.length>0)throw new Error("Leftover bytes in branch");return q8(e)}function EE(s){if(s.length===0)throw new Error("Empty branch");let e=[],t=0;for(;t<s.length;){let r=s[t];if(r===bE){if(s.length<t+32)throw new Error("Invalid recovery leaf");let n=M.from(R.fromBytes(s.slice(t+1,t+21))),i=p.toBigInt(s.slice(t+21,t+24)),a=p.toBigInt(s.slice(t+24,t+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),t+=32;continue}else if(r===SE){if(s.length<t+33)throw new Error("Invalid node");let n=R.fromBytes(s.slice(t+1,t+33));e.push(n),t+=33;continue}else if(r===vE){if(s.length<t+4)throw new Error("Invalid branch");let n=p.toNumber(s.slice(t+1,t+4));if(s.length<t+4+n)throw new Error("Invalid branch");let i=s.slice(t+4,t+4+n),{nodes:a,leftover:o}=EE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=q8(a);e.push(c),t+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:s.slice(t)}}function pE(s,e){if(lu(s))return s.signer===e?s:dE(s);if(Ot(s))return s;if(Ga(s)){let t=pE(s[0],e),r=pE(s[1],e);return Ot(t)&&Ot(r)?dE(s):[t,r]}throw new Error("Invalid topology")}function gE(s){if(Ga(s)){let e=gE(s[0]),t=gE(s[1]);if(Ga(s[1])){if(t.length>16777215)throw new Error("Branch too large");let n=p.fromNumber(vE),i=p.padLeft(p.fromNumber(t.length),3);return p.concat(e,n,i,t)}else return p.concat(e,t)}if(Ot(s)){let e=p.fromNumber(SE),t=p.fromHex(s,{size:32});return p.concat(e,t)}if(lu(s)){let e=p.fromNumber(bE),t=p.fromHex(s.signer,{size:20});if(s.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=p.padLeft(p.fromNumber(s.requiredDeltaTime),3);if(s.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=p.padLeft(p.fromNumber(s.minTimestamp),8);return p.concat(e,t,r,n)}throw new Error("Invalid topology")}function q8(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function yE(s){if(s.length===0)throw new Error("Cannot build a tree with zero leaves");if(s.length===1)return s[0];let e=Math.floor(s.length/2),t=yE(s.slice(0,e)),r=yE(s.slice(e));return [t,r]}function ZV(s,e,t,r){let n=Dv(s);return R.fromBytes(ru(e,r?0:t,n))}function i1(s){if(lu(s))return {type:"leaf",value:p.concat(xf,p.fromHex(s.signer,{size:20}),p.padLeft(p.fromNumber(s.requiredDeltaTime),32),p.padLeft(p.fromNumber(s.minTimestamp),32))};if(Ot(s))return s;if(Ga(s))return [i1(s[0]),i1(s[1])];throw new Error("Invalid topology")}function wE(s){if(ei(s)){let e=s.value;if(e.length!==xf.length+84||!p.isEqual(e.slice(0,xf.length),xf))throw new Error("Invalid recovery leaf format");let t=xf.length,r=M.from(R.fromBytes(e.slice(t,t+20))),n=p.toBigInt(e.slice(t+20,t+52)),i=p.toBigInt(e.slice(t+52,t+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Ot(s))return s;if(Ls(s)){if(s.length!==2)throw new Error("Recovery tree only supports binary branches");return [wE(s[0]),wE(s[1])]}else throw new Error("Invalid tree format")}}function XV(s,e,t,r){let n;r.type==="erc1271"?n=r.data:n=p.toHex(tn(r));let i=jv(e);return de.encodeData(H8,[s,t,i,n])}async function QV(s,e,t,r){let n=await s.request({method:"eth_call",params:[{to:e,data:de.encodeData($8,[t,r])},"latest"]});return n==="0x"?0n:R.toBigInt(n)}async function e9(s,e,t,r,n){return await s.request({method:"eth_call",params:[{to:e,data:de.encodeData(M8,[t,r,n])},"latest"]})}async function t9(s,e,t,r,n){let i=await s.request({method:"eth_call",params:[{to:e,data:de.encodeData(_8,[t,r,n])},"latest"]});return R.toBigInt(i)}var s9={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},r9={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},n9={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},i9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},a9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Wa={};Te(Wa,{ALL:()=>AE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>c9,getNetworkFromName:()=>o9});d();f();var Ie;(function(s){s.MAINNET="mainnet",s.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},AE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Ce("mainnet"),logoUrl:Ne(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Ce("sepolia"),logoUrl:Ne(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Ce("polygon"),logoUrl:Ne(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Ce("amoy"),logoUrl:Ne(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Ce("polygon-zkevm"),logoUrl:Ne(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Ce("bsc"),logoUrl:Ne(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Ce("bsc-testnet"),logoUrl:Ne(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Ce("optimism"),logoUrl:Ne(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Ce("optimism-sepolia"),logoUrl:Ne(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Ce("arbitrum"),logoUrl:Ne(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Ce("arbitrum-sepolia"),logoUrl:Ne(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Ce("arbitrum-nova"),logoUrl:Ne(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Ce("avalanche"),logoUrl:Ne(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Ce("avalanche-testnet"),logoUrl:Ne(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Ce("gnosis"),logoUrl:Ne(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Ce("base"),logoUrl:Ne(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Ce("base-sepolia"),logoUrl:Ne(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Ce("homeverse"),logoUrl:Ne(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Ce("homeverse-testnet"),logoUrl:Ne(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:Ce("xai"),logoUrl:Ne(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Ce("xai-sepolia"),logoUrl:Ne(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:Ce("b3"),logoUrl:Ne(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Ce("b3-sepolia"),logoUrl:Ne(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Ce("apechain"),logoUrl:Ne(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Ce("apechain-testnet"),logoUrl:Ne(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:Ce("blast"),logoUrl:Ne(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Ce("blast-sepolia"),logoUrl:Ne(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:Ce("telos"),logoUrl:Ne(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Ce("telos-testnet"),logoUrl:Ne(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Ce("skale-nebula"),logoUrl:Ne(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Ce("skale-nebula-testnet"),logoUrl:Ne(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Ce("soneium"),logoUrl:Ne(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Ce("soneium-minato"),logoUrl:Ne(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Ce("toy-testnet"),logoUrl:Ne(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Ce("immutable-zkevm"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Ce("immutable-zkevm-testnet"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Ce("moonbeam"),logoUrl:Ne(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Ce("moonbase-alpha"),logoUrl:Ne(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Ce("etherlink"),logoUrl:Ne(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Ce("etherlink-testnet"),logoUrl:Ne(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:Ce("monad"),logoUrl:Ne(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Ce("monad-testnet"),logoUrl:Ne(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Ce("somnia"),logoUrl:Ne(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Ce("somnia-testnet"),logoUrl:Ne(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Ce("incentiv-testnet-v2"),logoUrl:Ne(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:Ce("katana"),logoUrl:Ne(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Ce("sandbox-testnet"),logoUrl:Ne(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Ce("arc-testnet"),logoUrl:Ne(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Ce(s){return `https://nodes.sequence.app/${s}`}function Ne(s){return `https://assets.sequence.info/images/networks/medium/${s}.webp`}function o9(s){return AE.find(e=>e.name===s)}function c9(s){return AE.find(e=>e.chainId===Number(s))}d();f();d();f();d();f();var F8="$";function K8(s,e){var t="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(s,F8),t;function u(l,m){if(l===null||typeof l!="object"||l.toJSON!=null)t+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="[";var E=!1;l.forEach(function(D,U){E&&(t+=","),E=!0,c&&D===void 0&&(D=null),u(D,m+"["+U+"]");}),t+="]";}else {var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="{";var v=!1,A=function(U){n&&n.includes(U)||(v&&(t+=","),v=!0,t+=JSON.stringify(U),t+=":",u(l[U],m+"."+U));};if(m===F8&&r)r.forEach(function(U){l.hasOwnProperty(U)&&A(U);});else {var C=Object.keys(l);o&&(C=C.filter(function(U){return l[U]!==void 0})),C.sort(),C.forEach(function(U){A(U);});}t+="}";}}}function a1(s,e){return K8(s,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();f();var u9="Webrpc",l9="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Nr;(function(s){s.WebCrypto_Secp256r1="WebCrypto_Secp256r1",s.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Nr||(Nr={}));var rn;(function(s){s.Email="Email",s.OIDC="OIDC";})(rn||(rn={}));var fu;(function(s){s.OTP="OTP",s.IDToken="IDToken",s.AccessToken="AccessToken",s.AuthCode="AuthCode",s.AuthCodePKCE="AuthCodePKCE";})(fu||(fu={}));var o1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,t,r)=>this.fetch(this.url("CommitVerifier"),IE(e,t,r)).then(n=>CE(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,t,r)=>this.fetch(this.url("CompleteAuth"),IE(e,t,r)).then(n=>CE(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,t,r)=>this.fetch(this.url("Sign"),IE(e,t,r)).then(n=>CE(n).then(i=>({signature:i.signature})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})})},IE=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[u9]=l9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},CE=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),c1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (h9[r]||Qe).new(t)}return t}),Qe=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},NE=class s extends Qe{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},hu=class s extends Qe{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},kE=class s extends Qe{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},PE=class s extends Qe{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},TE=class s extends Qe{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},c1=class s extends Qe{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},BE=class s extends Qe{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},OE=class s extends Qe{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},RE=class s extends Qe{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},VE=class s extends Qe{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},DE=class s extends Qe{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},UE=class s extends Qe{constructor(e="InternalError",t=7100,r="Internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},LE=class s extends Qe{constructor(e="EncryptionError",t=7101,r="Encryption error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},jE=class s extends Qe{constructor(e="DatabaseError",t=7102,r="Database error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},HE=class s extends Qe{constructor(e="DataIntegrityError",t=7103,r="Data integrity error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},_E=class s extends Qe{constructor(e="IdentityProviderError",t=7104,r="Identity provider error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},ME=class s extends Qe{constructor(e="InvalidRequest",t=7200,r="The request was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},$E=class s extends Qe{constructor(e="InvalidSignature",t=7201,r="The signature was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},qE=class s extends Qe{constructor(e="KeyNotFound",t=7202,r="The authentication key was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},FE=class s extends Qe{constructor(e="KeyExpired",t=7203,r="The authentication key expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},KE=class s extends Qe{constructor(e="SignerNotFound",t=7204,r="The signer was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},GE=class s extends Qe{constructor(e="ProofVerificationFailed",t=7002,r="The authentication proof could not be verified",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},WE=class s extends Qe{constructor(e="AnswerIncorrect",t=7003,r="The provided answer is incorrect",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},JE=class s extends Qe{constructor(e="ChallengeExpired",t=7004,r="The challenge has expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},zE=class s extends Qe{constructor(e="TooManyAttempts",t=7005,r="Too many attempts",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},YE=class s extends Qe{constructor(e="OAuthError",t=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},ZE=class s extends Qe{constructor(e="AccessError",t=7007,r="Access error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},G8;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InternalError="InternalError",s.EncryptionError="EncryptionError",s.DatabaseError="DatabaseError",s.DataIntegrityError="DataIntegrityError",s.IdentityProviderError="IdentityProviderError",s.InvalidRequest="InvalidRequest",s.InvalidSignature="InvalidSignature",s.KeyNotFound="KeyNotFound",s.KeyExpired="KeyExpired",s.SignerNotFound="SignerNotFound",s.ProofVerificationFailed="ProofVerificationFailed",s.AnswerIncorrect="AnswerIncorrect",s.ChallengeExpired="ChallengeExpired",s.TooManyAttempts="TooManyAttempts",s.OAuthError="OAuthError",s.AccessError="AccessError";})(G8||(G8={}));var W8;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InternalError=7100]="InternalError",s[s.EncryptionError=7101]="EncryptionError",s[s.DatabaseError=7102]="DatabaseError",s[s.DataIntegrityError=7103]="DataIntegrityError",s[s.IdentityProviderError=7104]="IdentityProviderError",s[s.InvalidRequest=7200]="InvalidRequest",s[s.InvalidSignature=7201]="InvalidSignature",s[s.KeyNotFound=7202]="KeyNotFound",s[s.KeyExpired=7203]="KeyExpired",s[s.SignerNotFound=7204]="SignerNotFound",s[s.ProofVerificationFailed=7002]="ProofVerificationFailed",s[s.AnswerIncorrect=7003]="AnswerIncorrect",s[s.ChallengeExpired=7004]="ChallengeExpired",s[s.TooManyAttempts=7005]="TooManyAttempts",s[s.OAuthError=7006]="OAuthError",s[s.AccessError=7007]="AccessError";})(W8||(W8={}));var h9={0:NE,[-1]:hu,[-2]:kE,[-3]:PE,[-4]:TE,[-5]:c1,[-6]:BE,[-7]:OE,[-8]:RE,[-9]:VE,[-10]:DE,7100:UE,7101:LE,7102:jE,7103:HE,7104:_E,7200:ME,7201:$E,7202:qE,7203:FE,7204:KE,7002:GE,7003:WE,7004:JE,7005:zE,7006:YE,7007:ZE};d();f();d();f();var Ja=class extends Error{};Ja.prototype.name="InvalidTokenError";function f9(s){return decodeURIComponent(atob(s).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function d9(s){let e=s.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return f9(e)}catch{return atob(e)}}function z8(s,e){if(typeof s!="string")throw new Ja("Invalid token specified: must be a string");e||(e={});let t=e.header===!0?0:1,r=s.split(".")[t];if(typeof r!="string")throw new Ja(`Invalid token specified: missing part #${t+1}`);let n;try{n=d9(r);}catch(i){throw new Ja(`Invalid token specified: invalid base64 for part #${t+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Ja(`Invalid token specified: invalid json for part #${t+1} (${i.message})`)}}var XE=class{},u1=class extends XE{issuer;audience;idToken;handle="";exp="";constructor(e,t,r){super(),this.issuer=e,this.audience=t,this.idToken=r;let n=z8(this.idToken),i=ye.keccak256(new TextEncoder().encode(this.idToken));this.handle=R.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,verifier:this.handle,answer:this.idToken}}};var Af=class{scope;rpc;constructor(e,t,r=window.fetch){this.rpc=new o1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=t;}async commitVerifier(e,t){let r={...t.getCommitParams(),scope:this.scope},n=await e.sign(p.fromString(a1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,t){let r={...t.getCompleteParams(),signerType:Nr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(p.fromString(a1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,t){let r={scope:this.scope,signer:{address:e.signer,keyType:Nr.Ethereum_Secp256k1},digest:R.fromBytes(t),nonce:R.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(p.fromString(a1(r)))});return R.assert(n.signature),n.signature}};function QE(s){return {address:s.address,keyType:Nr.WebCrypto_Secp256r1,signer:s.identitySigner,async sign(e){let t=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},s.privateKey,new Uint8Array(e));return R.fromBytes(new Uint8Array(t))}}}var l1=class{identityInstrument;authKey;constructor(e,t){this.identityInstrument=e,this.authKey=t;}get address(){if(!M.validate(this.authKey.identitySigner))throw new Error("No signer address found");return M.checksum(this.authKey.identitySigner)}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){let t=await this.identityInstrument.sign(QE(this.authKey),e);return {type:"hash",...$t.fromHex(t)}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();f();d();f();d();f();d();f();d();f();function Y8(s){return typeof s=="object"&&"signature"in s&&"imageHash"in s}var du={};Te(du,{Cached:()=>bx,Local:()=>gx,Remote:()=>wx,Sequence:()=>Tf,getWalletsFor:()=>E9,multiplex:()=>V9,normalizeAddressKeys:()=>kr});d();f();var gx={};Te(gx,{IndexedDbStore:()=>mx,MemoryStore:()=>Cf,Provider:()=>px});d();f();d();f();var Cf=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let t={};for(let[r,n]of Object.entries(e))t[r]=this.deepCopy(n);return t}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){let t=this.configs.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveConfig(e,t){this.configs.set(e.toLowerCase(),this.deepCopy(t));}async loadCounterfactualWallet(e){let t=this.counterfactualWallets.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveCounterfactualWallet(e,t,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:t,context:r}));}async loadPayloadOfSubdigest(e){let t=this.payloads.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async savePayloadOfSubdigest(e,t){this.payloads.set(e.toLowerCase(),this.deepCopy(t));}async loadSubdigestsOfSigner(e){let t=this.signerSubdigests.get(e.toLowerCase());return t?Array.from(t).map(r=>r):[]}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=t.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let t=this.trees.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveTree(e,t){this.trees.set(e.toLowerCase(),this.deepCopy(t));}};d();f();var cr={};Te(cr,{Guard:()=>fx,Passkey:()=>ix,Pk:()=>rx,Session:()=>ux,SessionManager:()=>lx,isSapientSigner:()=>dx,isSigner:()=>v9});d();f();var rx={};Te(rx,{Encrypted:()=>tx,MemoryPkStore:()=>si,Pk:()=>sx});d();f();var tx={};Te(tx,{EncryptedPkStore:()=>h1,EncryptedPksDb:()=>ex});d();f();var ex=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",t="e_pk"){this.localStorageKeyPrefix=e,this.tableName=t;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error);})}async putData(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(t,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let t=await this.openDB();return new Promise((r,n)=>{let o=t.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((t,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>t(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),t=R.random(32),r=Yt.getPublicKey({privateKey:t}),n=M.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(t),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),m={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,m),m}async getEncryptedEntry(e){let t=this.computeDbKey(e);return this.getData(t)}async getEncryptedPkStore(e){let t=await this.getEncryptedEntry(e);if(t)return new h1(t)}async listAddresses(){return (await this.getAllData()).map(t=>t.address)}async remove(e){let t=this.computeDbKey(e);await this.putData(t,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},h1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let t=window.localStorage.getItem(this.encrypted.keyPointer);if(!t)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(t),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return Yt.sign({payload:e,privateKey:o})}};var si=class{privateKey;constructor(e){this.privateKey=e;}address(){return M.fromPublicKey(this.publicKey())}publicKey(){return Yt.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(Yt.sign({payload:e,privateKey:this.privateKey}))}},sx=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new si(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var ix={};Te(ix,{Passkey:()=>nx,isWitnessMessage:()=>Z8});d();f();function Z8(s){return typeof s=="object"&&s!==null&&"action"in s&&s.action==="consent-to-be-part-of-wallet"}var nx=class s{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=je.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,t,r,n){let i=await e.getWitnessForSapient(r,t.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!we.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(R.toString(a.message));if(!Z8(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=je.Passkeys.decode(p.fromHex(i.signature.data));return new s({credentialId:c.credentialId,extensions:t,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,t){let r=t?.credentialName??`Sequence (${Date.now()})`,n=await Qn.createCredential({user:{name:r}}),i=R.fromNumber(n.publicKey.x),a=R.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new s({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:t?.requireUserVerification??!0,x:i,y:a,metadata:t?.embedMetadata?o:void 0},embedMetadata:t?.embedMetadata,metadata:o});return t?.stateProvider&&await t.stateProvider.saveTree(je.Passkeys.toTree(c.publicKey)),c}static async find(e,t){let r=await Qn.sign({challenge:R.random(32)});if(!r.raw)throw new Error("No credential returned");let n=p.fromHex(r.metadata.authenticatorData),i=ye.sha256(p.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=p.concat(n,i),o=ye.sha256(a,{as:"Bytes"}),c=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:R.fromNumber(c.x),y:R.fromNumber(c.y)},m={x:R.fromNumber(u.x),y:R.fromNumber(u.y)},w={credentialId:r.raw.id},E=[je.Passkeys.rootFor({...l,requireUserVerification:!0}),je.Passkeys.rootFor({...l,requireUserVerification:!1}),je.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!0}),je.Passkeys.rootFor({...m,requireUserVerification:!1}),je.Passkeys.rootFor({...m,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!1,metadata:w})],A=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(t.passkeys,C);return Object.keys(D).map(U=>({wallet:M.from(U),imageHash:C}))}))).flat().filter((C,D,U)=>U.findIndex(T=>M.isEqual(T.wallet,C.wallet)&&T.imageHash===C.imageHash)===D);if(A.length!==0)return A.length>1&&console.warn("Multiple signers found for passkey",A),s.loadFromWitness(e,t,A[0].wallet,A[0].imageHash)}async signSapient(e,t,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=R.fromBytes(we.hash(e,t,r)),a=await Qn.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=p.fromHex(a.metadata.authenticatorData),c=p.fromNumber(a.signature.r),u=p.fromNumber(a.signature.s),l=je.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:p.toHex(l),type:"sapient_compact"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(t,0,n,this.imageHash);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var ux={};Te(ux,{Explicit:()=>ax,Implicit:()=>ox,isExplicitSessionSigner:()=>f1,isImplicitSessionSigner:()=>cx});d();f();d();f();var X8="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ax=class{_privateKey;address;sessionPermissions;constructor(e,t){this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...t,signer:this.address};}isValid(e,t){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Fs.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!M.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!p.isEqual(c.value,u.value)||c.offset!==u.offset||!p.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,t,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,X8])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=p.fromNumber(o+r.value,{size:32});if(p.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,t){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:p.toHex(n.value),offset:n.offset,mask:p.toHex(n.mask)}))};return ye.keccak256(xt.encode([{type:"address",name:"signer"},sn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(t)]))}getValueUsageHash(){return ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,X8]))}async validatePermission(e,t,r,n,i){if(!M.isEqual(e.target,t.to))return !1;for(let[a,o]of e.rules.entries()){let u=p.padRight(p.fromHex(t.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,m)=>l&o.mask[m]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=p.fromNumber(l+p.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===sn.ParameterOperation.EQUAL&&!p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.LESS_THAN_OR_EQUAL&&p.toBigInt(u)>p.toBigInt(o.value)||o.operation===sn.ParameterOperation.NOT_EQUAL&&p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.GREATER_THAN_OR_EQUAL&&p.toBigInt(u)<p.toBigInt(o.value))return !1}return !0}async supportedCall(e,t,r,n,i){return M.isEqual(r.to,n)&&R.size(r.data)>4&&R.isEqual(R.slice(r.data,0,4),de.getSelector(Xe.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,t,r,n,i)}async signCall(e,t,r,n,i,a){let o=r.calls[n],c;if(M.isEqual(o.to,i)&&R.size(o.data)>4&&R.isEqual(R.slice(o.data,0,4),de.getSelector(Xe.INCREMENT_USAGE_LIMIT)))c=0;else {let m=await this.findSupportedPermission(e,t,o,i,a);if(!m)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(m),c===-1)throw new Error("Invalid permission")}let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,t,r,n){let i=de.encodeData(Xe.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:t,data:i},"latest"]}),o=de.decodeResult(Xe.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,t,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let m of r){let w=await this.findSupportedPermission(e,t,m,n,i);if(w){for(let[E,v]of w.rules.entries()){if(!v.cumulative)continue;let C=p.padRight(p.fromHex(m.data).slice(Number(v.offset),Number(v.offset)+32),32).map((T,P)=>T&v.mask[P]);if(p.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),U=a.find(T=>R.isEqual(T.usageHash,D));U?U.increment+=p.toBigInt(C):a.push({usageHash:D,increment:p.toBigInt(C)});}u+=m.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:m,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,m,i);if(R.isEqual(m,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:m,usageAmount:E.usageAmount+w}})).then(m=>m.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();f();var ox=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,t,r,n){if(this._attestation=t,this._sessionManager=n,this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?$t.fromHex(r):r;}get identitySigner(){let e=qt.hash(this._attestation),t=Yt.recoverPublicKey({payload:e,signature:this._identitySignature});return M.fromPublicKey(t)}isValid(e,t){let r=Fs.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>M.isEqual(a,n))?Fs.getImplicitBlacklist(e)?.some(a=>M.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,t,r,n,i){if(!i)throw new Error("Provider is required");try{let a=de.encodeData(Q8,[e,{approvedSigner:this._attestation.approvedSigner,identityType:p.toHex(this._attestation.identityType),issuerHash:p.toHex(this._attestation.issuerHash),audienceHash:p.toHex(this._attestation.audienceHash),applicationData:p.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(we.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=R.from(de.decodeResult(Q8,o)),u=p.toHex(qt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,t,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,t,o,i,a))throw new Error("Unsupported call");let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},Q8={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();f();function f1(s){return "prepareIncrements"in s}function cx(s){return "identitySigner"in s}d();f();var m9=2n**80n-1n,lx=class s{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,t){this.wallet=e,this.stateProvider=t.stateProvider??e.stateProvider,this.address=t.sessionManagerAddress,this._implicitSigners=t.implicitSigners??[],this._explicitSigners=t.explicitSigners??[],this._provider=t.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),t=Ke.findSignerLeaf(e,this.address);if(!(!t||!Ke.isSapientSignerLeaf(t)))return t.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let t=await this.stateProvider.getTree(e);if(!t)throw new Error(`Session configuration not found for image hash ${e}`);return Fs.configurationTreeToSessionsTopology(t)}withProvider(e){return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let t=[...this._implicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:t,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let t=[...this._explicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:t,provider:this._provider})}async listSignerValidity(e){let t=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(t,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(t,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,t,r){let n=await this.topology;if(Fs.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let m of a){try{if(u=await m.supportedCall(e,t,c,this.address,this._provider),u){let w=m.isValid(n,t);w.invalidReason==="Expired"&&(l=m),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(m);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,t,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,t,r),i=new Map;n.forEach((u,l)=>{let m=r[l],w=i.get(u)||[];i.set(u,[...w,m]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>f1(u)?u.prepareIncrements(e,t,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,m)=>l===m.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=de.encodeData(Xe.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,t,r,n){if(!M.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!we.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>m9)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,t,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,t,r,E,this.address,this._provider)}catch(v){throw console.error("signSapient error",v),v}})),o=await this.prepareIncrement(e,t,r.calls);if(o){let w;if(M.isEqual(this.address,je.Dev1.sessions)||M.isEqual(this.address,je.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!M.isEqual(o.to,w.to)||!R.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(f1(w))c.find(v=>M.isEqual(v,E))||c.push(E);else if(cx(w)&&!u.find(v=>M.isEqual(v,E))){if(u.push(E),!l)l=w.identitySigner;else if(!M.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Fs.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let m=ti.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:R.from(m)}}async isValidSapientSignature(e,t,r,n){if(!we.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=we.encodeSapient(t,r),a=de.encodeData(Xe.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return R.from(de.decodeResult(Xe.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();f();d();f();d();f();d();f();var ri;(function(s){s.Calls="Calls",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ri||(ri={}));var ni;(function(s){s.Hash="Hash",s.Sapient="Sapient",s.EthSign="EthSign",s.Erc1271="Erc1271";})(ni||(ni={}));var eN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.ValidationFailed="ValidationFailed",s.NotFound="NotFound",s.RequiresTOTP="RequiresTOTP",s.RequiresPIN="RequiresPIN";})(eN||(eN={}));var tN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.ValidationFailed=2004]="ValidationFailed",s[s.NotFound=3e3]="NotFound",s[s.RequiresTOTP=6600]="RequiresTOTP",s[s.RequiresPIN=6601]="RequiresPIN";})(tN||(tN={}));d();f();d();f();var fx=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,t){let r={...e.payload,parentWallets:void 0},n=w9(e.payload),{message:i,digest:a}=b9(e.wallet,e.chainId,r),o=e.signatures.map(S9),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,t?{id:t.id,token:t.code,resetAuth:t.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function w9(s){switch(s.type){case"call":return ri.Calls;case"message":return ri.Message;case"config-update":return ri.ConfigUpdate;case"session-implicit-authorize":return ri.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${s.type}`)}function b9(s,e,t){if(we.isSessionImplicitAuthorize(t))return {message:p.fromString(qt.toJson(t.attestation)),digest:ye.keccak256(qt.encode(t.attestation))};let r=we.toTyped(s,e,t);return {message:p.fromString(of.serialize(r)),digest:p.fromHex(of.getSignPayload(r))}}function S9(s){if(Y8(s))return {type:ni.Sapient,address:s.signature.address,imageHash:s.imageHash,data:s.signature.data};if(s.signature.type=="erc1271")return {type:ni.Erc1271,address:s.signature.address,data:s.signature.data};let e={eth_sign:ni.EthSign,hash:ni.Hash}[s.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${s.signature.type}`);return {type:e,address:s.address,data:$t.toHex(s.signature)}}function dx(s){return "signSapient"in s}function v9(s){return "sign"in s}async function E9(s,e){let t=await x9(s,e);return Object.entries(t).map(([r,{chainId:n,payload:i,signature:a}])=>(R.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function x9(s,e){if(dx(e)){let[t,r]=await Promise.all([e.address,e.imageHash]);return r?s.getWalletsForSapient(t,r):(console.warn("Sapient signer has no imageHash"),{})}else return s.getWallets(await e.address)}function kr(s){return Object.fromEntries(Object.entries(s).map(([e,t])=>[M.checksum(e),t]))}d();f();var d1="configs",m1="counterfactualWallets",p1="payloads",Nf="signerSubdigests",g1="signatures",kf="sapientSignerSubdigests",y1="sapientSignatures",w1="trees",mx=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,t)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(d1)||n.createObjectStore(d1),n.objectStoreNames.contains(m1)||n.createObjectStore(m1),n.objectStoreNames.contains(p1)||n.createObjectStore(p1),n.objectStoreNames.contains(Nf)||n.createObjectStore(Nf),n.objectStoreNames.contains(g1)||n.createObjectStore(g1),n.objectStoreNames.contains(kf)||n.createObjectStore(kf),n.objectStoreNames.contains(y1)||n.createObjectStore(y1),n.objectStoreNames.contains(w1)||n.createObjectStore(w1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{t(r.error);};})}async get(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(t);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,t,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,t);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,t){let r=await this.get(e,t)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,t,r){await this.put(e,t,Array.from(r));}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){return this.get(d1,e.toLowerCase())}async saveConfig(e,t){await this.put(d1,e.toLowerCase(),t);}async loadCounterfactualWallet(e){return this.get(m1,e.toLowerCase())}async saveCounterfactualWallet(e,t,r){await this.put(m1,e.toLowerCase(),{imageHash:t,context:r});}async loadPayloadOfSubdigest(e){return this.get(p1,e.toLowerCase())}async savePayloadOfSubdigest(e,t){await this.put(p1,e.toLowerCase(),t);}async loadSubdigestsOfSigner(e){let t=await this.getSet(Nf,e.toLowerCase());return Array.from(t)}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t);return this.get(g1,r.toLowerCase())}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);await this.put(g1,n.toLowerCase(),r);let i=e.toLowerCase(),a=t.toLowerCase(),o=await this.getSet(Nf,i);o.add(a),await this.putSet(Nf,i,o);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=await this.getSet(kf,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r);return this.get(y1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r).toLowerCase();await this.put(y1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase(),c=await this.getSet(kf,a);c.add(o),await this.putSet(kf,a,c);}async loadTree(e){return this.get(w1,e.toLowerCase())}async saveTree(e,t){await this.put(w1,e.toLowerCase(),t);}};var px=class{store;extensions;constructor(e=new Cf,t=je.Rc5){this.store=e,this.extensions=t;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,t){await this.saveConfig(e);let r=Ke.hashConfiguration(e);await this.saveCounterfactualWallet(cu.from(r,t),R.fromBytes(r),t);}async saveConfig(e){let t=p.toHex(Ke.hashConfiguration(e)),r=await this.store.loadConfig(t);if(r){let n=Ke.mergeTopology(r.topology,e.topology);return this.store.saveConfig(t,{...r,topology:n})}else return this.store.saveConfig(t,e)}saveCounterfactualWallet(e,t,r){this.store.saveCounterfactualWallet(e,t,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,t){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=M.checksum(i.wallet);if(n[a])continue;let o=R.fromBytes(we.hash(a,i.chainId,i.content)),c=await t(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),t=>this.store.loadSignatureOfSubdigest(e,t)))}async getWalletsForSapient(e,t){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,t),r=>this.store.loadSapientSignatureOfSubdigest(e,r,t)))}getWitnessFor(e,t){let r=M.checksum(e);return this.getWallets(t).then(n=>n[r])}getWitnessForSapient(e,t,r){let n=M.checksum(e);return this.getWalletsForSapient(t,r).then(i=>i[n])}async saveWitnesses(e,t,r,n){let i=R.fromBytes(we.hash(e,t,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:t,wallet:e})]);}async getConfigurationUpdates(e,t,r){let n=await this.store.loadConfig(t);if(!n)return [];let{signers:i,sapientSigners:a}=Ke.getSigners(n),o=await Promise.all([...i.map(v=>this.store.loadSubdigestsOfSigner(v)),...a.map(v=>this.store.loadSubdigestsOfSapientSigner(v.address,v.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(v=>this.store.loadPayloadOfSubdigest(v))),l=await Promise.all(u.filter(v=>v?.content&&we.isConfigUpdate(v.content)).map(async v=>({payload:v,nextImageHash:v.content.imageHash,config:await this.store.loadConfig(v.content.imageHash)}))),m,w=l.filter(v=>v.config&&v.config.checkpoint>n.checkpoint).sort((v,A)=>v.config.checkpoint>A.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let v of w){if(m){if(r?.allUpdates){if(v.config.checkpoint<=m.checkpoint)continue}else if(v.config.checkpoint<=m.checkpoint)continue}let A=R.fromBytes(we.hash(e,v.payload.chainId,v.payload.content)),C=await Promise.all([...i.map(async T=>({signer:T,signature:await this.store.loadSignatureOfSubdigest(T,A)})),...a.map(async T=>({signer:T.address,imageHash:T.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(T.address,A,T.imageHash)}))]),D=0n,U=Zt.fillLeaves(n.topology,T=>{if(Ke.isSapientSignerLeaf(T)){let B=C.find(({signer:G,imageHash:se})=>se&&M.isEqual(G,T.address)&&se===T.imageHash)?.signature;if(B)return D+=T.weight,B}let P=C.find(({signer:B})=>M.isEqual(B,T.address))?.signature;if(P)return D+=T.weight,P});D<n.threshold||(m={nextImageHash:v.nextImageHash,checkpoint:v.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:U}}});}if(!m)return [];let E=await this.getConfigurationUpdates(e,m.nextImageHash,{allUpdates:!0});return [{imageHash:m.nextImageHash,signature:m.signature},...E]}async saveUpdate(e,t,r){let i={type:"config-update",imageHash:p.toHex(Ke.hashConfiguration(t))},a=we.hash(e,0,i);await this.store.savePayloadOfSubdigest(R.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(t),await this.saveSignature(R.fromBytes(a),r.configuration.topology);}async saveSignature(e,t){if(Zt.isRawNode(t)){await Promise.all([this.saveSignature(e,t[0]),this.saveSignature(e,t[1])]);return}if(Zt.isRawNestedLeaf(t))return this.saveSignature(e,t.tree);if(Zt.isRawSignerLeaf(t)){let r=t.signature.type;if(r==="eth_sign"||r==="hash"){let n=Yt.recoverAddress({payload:r==="eth_sign"?Eg.getSignPayload(e):e,signature:t.signature});return this.store.saveSignatureOfSubdigest(n,e,t.signature)}if(Zt.isSignatureOfSapientSignerLeaf(t.signature))switch(t.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=je.Passkeys.decode(p.fromHex(t.signature.data));if(!je.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(t.signature.address,e,je.Passkeys.rootFor(n.publicKey),t.signature);default:throw new Error(`Unsupported sapient signer: ${t.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree(js.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(p.toHex(Ke.hashConfiguration(e)),e)}saveDeploy(e,t){return this.store.saveCounterfactualWallet(cu.from(p.fromHex(e),t),e,t)}async getPayload(e){let t=await this.store.loadPayloadOfSubdigest(e);return t?{chainId:t.chainId,payload:t.content,wallet:t.wallet}:void 0}savePayload(e,t,r){let n=R.fromBytes(we.hash(e,r,t));return this.store.savePayloadOfSubdigest(n,{content:t,chainId:r,wallet:e})}};var wx={};Te(wx,{DevHttpProvider:()=>yx});d();f();d();f();var yx=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,t,r){let n=`${this.baseUrl}${t}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Fa.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Fa.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${t} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Fa.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Fa.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,t){return this.request("GET",`/wallets/sapient/${e}/${t}`)}async getWitnessFor(e,t){return this.request("GET",`/witness/${e}/signer/${t}`)}async getWitnessForSapient(e,t,r){return this.request("GET",`/witness/sapient/${e}/${t}/${r}`)}async getConfigurationUpdates(e,t,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${t}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,t){await this.request("POST","/wallet",{deployConfiguration:e,context:t});}async saveWitnesses(e,t,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:t,payload:r,signatures:n});}async saveUpdate(e,t,r){await this.request("POST","/update",{wallet:e,configuration:t,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,t){return this.request("POST","/deploy",{imageHash:e,context:t})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,t,r){return this.request("POST","/payload",{wallet:e,payload:t,chainId:r})}};d();f();var bx=class{args;constructor(e){this.args=e;}async getConfiguration(e){let t=await this.args.cache.getConfiguration(e);if(t)return t;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let t=await this.args.cache.getDeploy(e);if(t)return t;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let t=kr(await this.args.cache.getWallets(e)),r=kr(await this.args.source.getWallets(e)),n={...t,...r};for(let[i,a]of Object.entries(n))M.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),t[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,t){let r=await this.args.cache.getWalletsForSapient(e,t),n=await this.args.source.getWalletsForSapient(e,t),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=M.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,t){let r=await this.args.cache.getWitnessFor(e,t);if(r)return r;let n=await this.args.source.getWitnessFor(e,t);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,t,r){let n=await this.args.cache.getWitnessForSapient(e,t,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,t,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,t,r){return this.args.source.getConfigurationUpdates(e,t,r)}async getTree(e){let t=await this.args.cache.getTree(e);if(t)return t;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,t){return this.args.source.saveWallet(e,t)}saveWitnesses(e,t,r,n){return this.args.source.saveWitnesses(e,t,r,n)}saveUpdate(e,t,r){return this.args.source.saveUpdate(e,t,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,t){return this.args.source.saveDeploy(e,t)}async getPayload(e){let t=await this.args.cache.getPayload(e);if(t)return t;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,t,r){return this.args.source.savePayload(e,t,r)}};var Tf={};Te(Tf,{Provider:()=>Vx});d();f();d();f();var A9="Webrpc",I9="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var nN;(function(s){s.Transactions="Transactions",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.Digest="Digest";})(nN||(nN={}));var rt;(function(s){s.EIP712="EIP712",s.EthSign="EthSign",s.EIP1271="EIP1271",s.Sapient="Sapient",s.SapientCompact="SapientCompact";})(rt||(rt={}));var b1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}ping=(e,t)=>this.fetch(this.url("Ping"),Vt({},e,t)).then(r=>Dt(r).then(n=>({})),r=>{throw At.new({cause:`fetch(): ${r.message||""}`})});config=(e,t,r)=>this.fetch(this.url("Config"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,config:i.config})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});tree=(e,t,r)=>this.fetch(this.url("Tree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});payload=(e,t,r)=>this.fetch(this.url("Payload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,t,r)=>this.fetch(this.url("Wallets"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,t,r)=>this.fetch(this.url("DeployHash"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});witness=(e,t,r)=>this.fetch(this.url("Witness"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({witness:i.witness})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,t,r)=>this.fetch(this.url("ConfigUpdates"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({updates:i.updates})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,t,r)=>this.fetch(this.url("Migrations"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({migrations:i.migrations})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,t,r)=>this.fetch(this.url("SaveConfig"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,t,r)=>this.fetch(this.url("SaveTree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,t,r)=>this.fetch(this.url("SavePayload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,t,r)=>this.fetch(this.url("SaveWallet"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,t,r)=>this.fetch(this.url("SaveSignature"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,t,r)=>this.fetch(this.url("SaveSignature2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures3"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,t,r)=>this.fetch(this.url("SaveMigration"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})})},Vt=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[A9]=I9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},Dt=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),S1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (C9[r]||us).new(t)}return t}),us=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},Sx=class s extends us{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},At=class s extends us{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},vx=class s extends us{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ex=class s extends us{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},xx=class s extends us{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},S1=class s extends us{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ax=class s extends us{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ix=class s extends us{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Cx=class s extends us{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Nx=class s extends us{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},kx=class s extends us{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Px=class s extends us{constructor(e="InvalidArgument",t=1,r="invalid argument",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Tx=class s extends us{constructor(e="NotFound",t=2,r="not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},iN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InvalidArgument="InvalidArgument",s.NotFound="NotFound";})(iN||(iN={}));var aN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InvalidArgument=1]="InvalidArgument",s[s.NotFound=2]="NotFound";})(aN||(aN={}));var C9={0:Sx,[-1]:At,[-2]:vx,[-3]:Ex,[-4]:xx,[-5]:S1,[-6]:Ax,[-7]:Ix,[-8]:Cx,[-9]:Nx,[-10]:kx,1:Px,2:Tx};var Vx=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new b1(e,fetch);}async getConfiguration(e){let{version:t,config:r}=await this.service.config({imageHash:e});if(t!==3)throw new Error(`invalid configuration version ${t}, expected version 3`);return P9(r)}async getDeploy(e){let{deployHash:t,context:r}=await this.service.deployHash({wallet:e});return R.assert(t),M.assert(r.factory),M.assert(r.mainModule),M.assert(r.mainModuleUpgradable),R.assert(r.walletCreationCode),{imageHash:t,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let t=await this.service.wallets({signer:e}),r=kr(t.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(M.assert(n),R.assert(i.signature),i.type){case rt.EIP712:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"hash",...$t.from(i.signature)}}];case rt.EthSign:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"eth_sign",...$t.from(i.signature)}}];case rt.EIP1271:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case rt.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,t){let r=await this.service.wallets({signer:e,sapientHash:t}),n=kr(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(M.assert(i),R.assert(a.signature),a.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case rt.Sapient:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case rt.SapientCompact:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,t){try{let{witness:r}=await this.service.witness({signer:t,wallet:e});switch(R.assert(r.signature),r.type){case rt.EIP712:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"hash",...$t.from(r.signature)}};case rt.EthSign:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"eth_sign",...$t.from(r.signature)}};case rt.EIP1271:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"erc1271",address:t,data:r.signature}};case rt.Sapient:throw new Error(`unexpected sapient signature by ${t}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${t}`)}}catch{}}async getWitnessForSapient(e,t,r){try{let{witness:n}=await this.service.witness({signer:t,wallet:e,sapientHash:r});switch(R.assert(n.signature),n.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${t}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${t}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${t}`);case rt.Sapient:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient",address:t,data:n.signature}};case rt.SapientCompact:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient_compact",address:t,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,t,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:t,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{R.assert(i),R.assert(a);let o=Zt.decodeSignature(R.toBytes(a)),{configuration:c}=await Zt.recover(o,e,0,we.fromConfigUpdate(i),{provider:k9});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:t,tree:r}=await this.service.tree({imageHash:e});if(t!==3)throw new Error(`invalid tree version ${t}, expected version 3`);return uN(r)}async getPayload(e){let{version:t,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(t!==3)throw new Error(`invalid payload version ${t}, expected version 3`);return M.assert(n),{payload:ur(r),wallet:n,chainId:Number(i)}}async saveWallet(e,t){await this.service.saveWallet({version:3,deployConfig:Ox(e),context:{version:3,factory:t.factory,mainModule:t.stage1,mainModuleUpgradable:t.stage2,guestModule:Xe.DefaultGuestAddress,walletCreationCode:t.creationCode}});}async saveWitnesses(e,t,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:Rx(r),chainID:t.toString(),signatures:Pf(n).map(i=>{switch(i.type){case"hash":return {type:rt.EIP712,signature:$t.toHex($t.from(i))};case"eth_sign":return {type:rt.EthSign,signature:$t.toHex($t.from(i))};case"erc1271":return {type:rt.EIP1271,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient":return {type:rt.Sapient,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient_compact":return {type:rt.SapientCompact,signer:i.address,signature:i.data,referenceChainID:t.toString()}}})});}async saveUpdate(e,t,r){await this.service.saveSignature2({wallet:e,payload:Rx(we.fromConfigUpdate(p.toHex(Ke.hashConfiguration(t)))),chainID:"0",signature:p.toHex(Zt.encodeSignature(r)),toConfig:Ox(t)});}async saveTree(e){await this.service.saveTree({version:3,tree:cN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:Ox(e)});}async saveDeploy(e,t){}async savePayload(e,t,r){await this.service.savePayload({version:3,payload:Rx(t),wallet:e,chainID:r.toString()});}},N9=[je.Dev1.passkeys,je.Dev2.passkeys,je.Rc3.passkeys,je.Rc4.passkeys,je.Rc5.passkeys].map(M.checksum),oN="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",Bx=de.from(oN),Dx=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let t=e.params[0];if(!t.data?.startsWith(de.getSelector(Bx)))throw new Error(`unknown selector ${t.data?.slice(0,10)}, expected selector ${de.getSelector(Bx)} for ${oN}`);if(!N9.includes(t.to?M.checksum(t.to):"0x"))throw new Error(`unknown passkey signer ${t.to}`);let[r,n]=de.decodeData(Bx,t.data),i=je.Passkeys.decode(R.toBytes(n));if(je.Passkeys.isValidSignature(r,i))return je.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},k9=new Dx;function Ox(s){return {threshold:Pr(s.threshold),checkpoint:Pr(s.checkpoint),checkpointer:s.checkpointer,tree:v1(s.topology)}}function P9(s){return s.checkpointer!==void 0&&M.assert(s.checkpointer),{threshold:BigInt(s.threshold),checkpoint:BigInt(s.checkpoint),checkpointer:s.checkpointer,topology:E1(s.tree)}}function v1(s){if(Ke.isNode(s))return [v1(s[0]),v1(s[1])];if(Ke.isSignerLeaf(s))return {weight:Pr(s.weight),address:s.address};if(Ke.isSapientSignerLeaf(s))return {weight:Pr(s.weight),address:s.address,imageHash:s.imageHash};if(Ke.isSubdigestLeaf(s))return {subdigest:s.digest};if(Ke.isAnyAddressSubdigestLeaf(s))return {subdigest:s.digest,isAnyAddress:!0};if(Ke.isNestedLeaf(s))return {weight:Pr(s.weight),threshold:Pr(s.threshold),tree:v1(s.tree)};if(Ke.isNodeLeaf(s))return s;throw new Error(`unknown topology '${JSON.stringify(s)}'`)}function E1(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return [E1(s[0]),E1(s[1])];if("weight"in s){if("address"in s)return M.assert(s.address),s.imageHash?(R.assert(s.imageHash),{type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash}):{type:"signer",address:s.address,weight:BigInt(s.weight)};if("tree"in s)return {type:"nested",weight:BigInt(s.weight),threshold:BigInt(s.threshold),tree:E1(s.tree)}}if("subdigest"in s)return R.assert(s.subdigest),{type:s.isAnyAddress?"any-address-subdigest":"subdigest",digest:s.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(s)}'`)}function Rx(s){if(we.isCalls(s))return {type:"call",space:Pr(s.space),nonce:Pr(s.nonce),calls:s.calls.map(T9)};if(we.isMessage(s))return {type:"message",message:s.message};if(we.isConfigUpdate(s))return {type:"config-update",imageHash:s.imageHash};if(we.isDigest(s))return {type:"digest",digest:s.digest};throw new Error(`unknown payload '${JSON.stringify(s)}'`)}function ur(s){switch(s.type){case"call":return {type:"call",space:BigInt(s.space),nonce:BigInt(s.nonce),calls:s.calls.map(B9)};case"message":return R.assert(s.message),{type:"message",message:s.message};case"config-update":return R.assert(s.imageHash),{type:"config-update",imageHash:s.imageHash};case"digest":return R.assert(s.digest),{type:"digest",digest:s.digest}}}function T9(s){return {to:s.to,value:Pr(s.value),data:s.data,gasLimit:Pr(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function B9(s){return M.assert(s.to),R.assert(s.data),{to:s.to,value:BigInt(s.value),data:s.data,gasLimit:BigInt(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function cN(s){if(js.isBranch(s))return s.map(cN);if(js.isLeaf(s))return {data:p.toHex(s.value)};if(js.isNode(s))return s;throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function uN(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return s.map(uN);if("data"in s)return R.assert(s.data),{type:"leaf",value:R.toBytes(s.data)}}throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function Pr(s){return s<Number.MIN_SAFE_INTEGER||s>Number.MAX_SAFE_INTEGER?s.toString():Number(s)}function Pf(s){if(Zt.isRawNode(s))return [...Pf(s[0]),...Pf(s[1])];if(Zt.isRawSignerLeaf(s))return [s.signature];if(Ke.isNestedLeaf(s))return Pf(s.tree);if(Zt.isRawNestedLeaf(s))return Pf(s.tree);if(Ke.isSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSapientSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSubdigestLeaf(s))return [];if(Ke.isAnyAddressSubdigestLeaf(s))return [];if(Ke.isNodeLeaf(s))return [];throw new Error(`unknown topology '${JSON.stringify(s)}'`)}d();f();function O9(s,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?R.fromBytes(e):e}function x1(s){return JSON.stringify(s,O9,2)}function A1(s){if(typeof s=="bigint")return s.toString();if(s instanceof Uint8Array)return R.fromBytes(s);if(typeof s=="string")return s.toLowerCase();if(Array.isArray(s))return s.map(A1);if(s&&typeof s=="object"){let e=[];for(let t of Object.keys(s).filter(r=>s[r]!==void 0).sort())e.push([t.toLowerCase(),A1(s[t])]);return e}return s}function R9(s,e){return JSON.stringify(A1(s))===JSON.stringify(A1(e))}function V9(s,e){let t={get(r,n,i){let a=s[n];return typeof a!="function"?Reflect.get(s,n):async(...o)=>{let c=String(n),u=x1(o),l;try{l=await a.apply(s,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
- [${E}] warning: reference ${c} threw:`,w),w}let m=x1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let v=E[n];if(typeof v!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
347
+ `),cs(s.tree),p.padLeft(p.fromNumber(s.threshold),32),p.padLeft(p.fromNumber(s.weight),32)));if(Bt(s))return ye.keccak256(p.concat(cs(s[0]),cs(s[1])));throw new Error("Invalid topology")}function Zv(s){if(s.length===0)throw new Error("Cannot create topology from empty leaves");return s.length===1?s[0]:s.length===2?[s[0],s[1]]:[Zv(s.slice(0,s.length/2)),Zv(s.slice(s.length/2))]}function qg(s){return Bt(s)?[...qg(s[0]),...qg(s[1])]:Ss(s)?[...qg(s.tree)]:[s]}function aV(s){return JSON.stringify({threshold:s.threshold.toString(),checkpoint:s.checkpoint.toString(),topology:Fg(s.topology),checkpointer:s.checkpointer})}function oV(s){let e=JSON.parse(s);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:Kg(e.topology)}}function Fg(s){if(Bt(s))return [Fg(s[0]),Fg(s[1])];if(as(s))return {type:"signer",address:s.address,weight:s.weight.toString()};if(os(s))return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};if(tr(s))return {type:"subdigest",digest:s.digest};if(sr(s))return {type:"any-address-subdigest",digest:s.digest};if(Ft(s))return s;if(Ss(s))return {type:"nested",tree:Fg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};throw new Error("Invalid topology")}function Kg(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid node structure in JSON");return [Kg(s[0]),Kg(s[1])]}if(typeof s=="string")return s;switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Kg(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};default:throw new Error("Invalid type in topology JSON")}}function cV(s){return s instanceof Promise?{signature:s}:typeof s=="object"&&s&&"signature"in s&&s.signature instanceof Promise?s:{signature:Promise.resolve(s)}}function Wg(s,e){if(Bt(s)&&Bt(e))return [Wg(s[0],e[0]),Wg(s[1],e[1])];if(Bt(s)&&!Bt(e)){if(!Ft(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(e);if(!p.isEqual(t,cs(s)))throw new Error("Topology mismatch: node hash does not match");return s}if(!Bt(s)&&Bt(e)){if(!Ft(s))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(s);if(!p.isEqual(t,cs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return lV(s,e)}function au(s){return ou(s)?s.threshold>65535n||s.checkpoint>72057594037927935n||au(s.topology):Bt(s)?au(s[0])||au(s[1]):Ss(s)?au(s.tree)||s.weight>255n||s.threshold>65535n:as(s)||os(s)?s.weight>255n:!1}function pf(s){return Bt(s)?Math.max(pf(s[0]),pf(s[1]))+1:Ss(s)?pf(s.tree)+1:0}function uV(s){if(s.threshold===0n)throw new Error("unsafe-threshold-0");if(au(s))throw new Error("unsafe-invalid-values");if(pf(s.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=mf(s.topology,()=>!0);if(e<s.threshold)throw new Error("unsafe-threshold")}function lV(s,e){if(Ft(s)&&Ft(e)){if(!R.isEqual(s,e))throw new Error("Topology mismatch: different node leaves");return s}if(Ft(s)&&!Ft(e)){let t=cs(e);if(!p.isEqual(t,p.fromHex(s)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Ft(s)&&Ft(e)){let t=cs(s);if(!p.isEqual(t,p.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return s}if(as(s)&&as(e)){if(s.address!==e.address||s.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return s}if(os(s)&&os(e)){if(s.address!==e.address||s.weight!==e.weight||s.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return s}if(tr(s)&&tr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return s}if(sr(s)&&sr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return s}if(Ss(s)&&Ss(e)){if(s.weight!==e.weight||s.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let t=Wg(s.tree,e.tree);return {type:"nested",weight:s.weight,threshold:s.threshold,tree:t}}throw new Error("Topology mismatch: incompatible leaf types")}function Gg(s,e,t){return Bt(s)?[Gg(s[0],e,t),Gg(s[1],e,t)]:Ss(s)?{...s,tree:Gg(s.tree,e,t)}:(as(s)||os(s))&&M.isEqual(s.address,e)?{...s,address:t}:s}function hV(s,e){let t=s instanceof Uint8Array?s:cs(s);return p.toHex(ye.keccak256(p.concat(p.from("0xff"),p.from(e.factory),t,ye.keccak256(p.concat(p.from(e.creationCode),p.padLeft(p.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var qt={};Te(qt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>i8,decode:()=>fV,decodeAuthData:()=>s8,encode:()=>e8,encodeAuthData:()=>t8,encodeForJson:()=>r8,fromJson:()=>pV,fromParsed:()=>n8,generateImplicitRequestMagic:()=>gV,hash:()=>dV,toJson:()=>mV});d();f();function e8(s){let e=t8(s.authData),t=[p.fromHex(s.approvedSigner,{size:20}),p.padLeft(s.identityType.slice(0,4),4),p.padLeft(s.issuerHash,32),p.padLeft(s.audienceHash,32),p.fromNumber(s.applicationData.length,{size:3}),s.applicationData,e];return p.concat(...t)}function t8(s){return p.concat(p.fromNumber(s.redirectUrl.length,{size:3}),p.fromString(s.redirectUrl),p.fromNumber(s.issuedAt,{size:8}))}function fV(s){let e=p.toHex(s.slice(0,20)),t=s.slice(20,24),r=s.slice(24,56),n=s.slice(56,88),i=p.toNumber(s.slice(88,91)),a=s.slice(91,91+i),o=s8(s.slice(91+i));return {approvedSigner:e,identityType:t,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function s8(s){let e=p.toNumber(s.slice(0,3)),t=p.toString(s.slice(3,3+e)),r=p.toBigInt(s.slice(3+e,3+e+8));return {redirectUrl:t,issuedAt:r}}function dV(s){return ye.keccak256(e8(s))}function mV(s,e){return JSON.stringify(r8(s),null,e)}function r8(s){return {approvedSigner:s.approvedSigner.toString(),identityType:p.toHex(s.identityType),issuerHash:p.toHex(s.issuerHash),audienceHash:p.toHex(s.audienceHash),applicationData:p.toHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:s.authData.issuedAt.toString()}}}function pV(s){return n8(JSON.parse(s))}function n8(s){return {approvedSigner:M.from(s.approvedSigner),identityType:p.fromHex(s.identityType),issuerHash:p.fromHex(s.issuerHash),audienceHash:p.fromHex(s.audienceHash),applicationData:p.fromHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:BigInt(s.authData.issuedAt)}}}var i8=ye.keccak256(p.fromString("acceptImplicitRequest"));function gV(s,e){return ye.keccak256(p.concat(i8,p.fromHex(e,{size:20}),s.audienceHash,s.issuerHash))}var sn={};Te(sn,{MASK:()=>yV,MAX_PERMISSIONS_COUNT:()=>Jg,MAX_RULES_COUNT:()=>a8,ParameterOperation:()=>Xv,abiEncodePermission:()=>vV,decodeSessionPermissions:()=>zg,encodePermission:()=>o8,encodeSessionPermissions:()=>gf,encodeSessionPermissionsForJson:()=>Yg,parameterRuleToJson:()=>AV,permissionFromJson:()=>CV,permissionStructAbi:()=>c8,permissionToJson:()=>xV,sessionPermissionsFromJson:()=>IV,sessionPermissionsFromParsed:()=>Zg,sessionPermissionsToJson:()=>EV});d();f();var Xv;(function(s){s[s.EQUAL=0]="EQUAL",s[s.NOT_EQUAL=1]="NOT_EQUAL",s[s.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",s[s.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(Xv||(Xv={}));var Jg=2**7-1,a8=2**8-1,yV={SELECTOR:p.padRight(p.fromHex("0xffffffff"),32),ADDRESS:p.padLeft(p.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:p.padLeft(p.fromHex("0x01"),32),BYTES1:p.padLeft(p.from(Array(1).fill(255)),32),BYTES2:p.padLeft(p.from(Array(2).fill(255)),32),BYTES4:p.padLeft(p.from(Array(4).fill(255)),32),BYTES8:p.padLeft(p.from(Array(8).fill(255)),32),BYTES16:p.padLeft(p.from(Array(16).fill(255)),32),BYTES32:p.padLeft(p.from(Array(32).fill(255)),32),INT8:p.padLeft(p.from(Array(1).fill(255)),32),INT16:p.padLeft(p.from(Array(2).fill(255)),32),INT32:p.padLeft(p.from(Array(4).fill(255)),32),INT64:p.padLeft(p.from(Array(8).fill(255)),32),INT128:p.padLeft(p.from(Array(16).fill(255)),32),INT256:p.padLeft(p.from(Array(32).fill(255)),32),UINT8:p.padLeft(p.from(Array(1).fill(255)),32),UINT16:p.padLeft(p.from(Array(2).fill(255)),32),UINT32:p.padLeft(p.from(Array(4).fill(255)),32),UINT64:p.padLeft(p.from(Array(8).fill(255)),32),UINT128:p.padLeft(p.from(Array(16).fill(255)),32),UINT256:p.padLeft(p.from(Array(32).fill(255)),32)};function gf(s){if(s.permissions.length>Jg)throw new Error("Too many permissions");let e=s.permissions.map(o8);return p.concat(p.padLeft(p.fromHex(s.signer),20),p.padLeft(p.fromNumber(s.chainId),32),p.padLeft(p.fromNumber(s.valueLimit),32),p.padLeft(p.fromNumber(s.deadline,{size:8}),8),p.fromNumber(s.permissions.length,{size:1}),p.concat(...e))}function o8(s){if(s.rules.length>a8)throw new Error("Too many rules");let e=s.rules.map(wV);return p.concat(p.padLeft(p.fromHex(s.target),20),p.fromNumber(s.rules.length,{size:1}),p.concat(...e))}function wV(s){let e=Number(s.operation)<<1|(s.cumulative?1:0);return p.concat(p.fromNumber(e),p.padLeft(s.value,32),p.padLeft(p.fromNumber(s.offset),32),p.padLeft(s.mask,32))}function zg(s){let e=p.toHex(s.slice(0,20)),t=p.toNumber(s.slice(20,52)),r=p.toBigInt(s.slice(52,84)),n=p.toBigInt(s.slice(84,92)),i=Number(s[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=bV(s.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:t,valueLimit:r,deadline:n,permissions:a}}function bV(s){let e=p.toHex(s.slice(0,20)),t=Number(s[20]),r=[],n=21;for(let i=0;i<t;i++){let a=s.slice(n,n+97);r.push(SV(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function SV(s){let e=Number(s[0]),t=(e&1)===1,r=e>>1,n=s.slice(1,33),i=p.toBigInt(s.slice(33,65)),a=s.slice(65,97);return {cumulative:t,operation:r,value:n,offset:i,mask:a}}var c8={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function vV(s){return xt.encode([c8],[{target:s.target,rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.toHex(e.value),offset:e.offset,mask:p.toHex(e.mask)}))}])}function EV(s){return JSON.stringify(Yg(s))}function Yg(s){return {signer:s.signer.toString(),chainId:s.chainId.toString(),valueLimit:s.valueLimit.toString(),deadline:s.deadline.toString(),permissions:s.permissions.map(u8)}}function xV(s){return JSON.stringify(u8(s))}function u8(s){return {target:s.target.toString(),rules:s.rules.map(l8)}}function AV(s){return JSON.stringify(l8(s))}function l8(s){return {cumulative:s.cumulative,operation:s.operation,value:p.toHex(s.value),offset:s.offset.toString(),mask:p.toHex(s.mask)}}function IV(s){return Zg(JSON.parse(s))}function Zg(s){return {signer:M.from(s.signer),chainId:Number(s.chainId),valueLimit:BigInt(s.valueLimit),deadline:BigInt(s.deadline),permissions:s.permissions.map(h8)}}function CV(s){return h8(JSON.parse(s))}function h8(s){return {target:M.from(s.target),rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.fromHex(e.value),offset:BigInt(e.offset),mask:p.fromHex(e.mask)}))}}d();f();var Fs={};Te(Fs,{SESSIONS_FLAG_BLACKLIST:()=>uu,SESSIONS_FLAG_BRANCH:()=>eE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>bf,SESSIONS_FLAG_NODE:()=>Qv,SESSIONS_FLAG_PERMISSIONS:()=>wf,addExplicitSession:()=>RV,addIdentitySigner:()=>DV,addToImplicitBlacklist:()=>UV,balanceSessionsTopology:()=>Ef,cleanSessionsTopology:()=>x8,configurationTreeToSessionsTopology:()=>w8,decodeLeafFromBytes:()=>g8,decodeSessionsTopology:()=>rE,emptySessionsTopology:()=>A8,encodeLeafToGeneric:()=>yf,encodeSessionsTopology:()=>t1,getExplicitSigners:()=>PV,getIdentitySigners:()=>Sf,getImplicitBlacklist:()=>kV,getImplicitBlacklistLeaf:()=>vf,getSessionPermissions:()=>e1,isCompleteSessionsTopology:()=>sE,isSessionsTopology:()=>tE,mergeSessionsTopologies:()=>iE,minimiseSessionsTopology:()=>s1,removeExplicitSession:()=>OV,removeFromImplicitBlacklist:()=>LV,removeIdentitySigner:()=>VV,sessionsTopologyFromJson:()=>BV,sessionsTopologyToConfigurationTree:()=>y8,sessionsTopologyToJson:()=>TV});d();f();var js={};Te(js,{hash:()=>rr,isBranch:()=>Ls,isLeaf:()=>ei,isNode:()=>Ot,isTree:()=>f8});d();f();function Ls(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>f8(e))}function ei(s){return s.type==="leaf"&&p.validate(s.value)}function f8(s){return Ls(s)||ei(s)||Ot(s)}function Ot(s){return R.validate(s)&&R.size(s)===32}function rr(s){if(Ls(s)){let e=s.map(rr);if(e.length===0)throw new Error("Empty branch");let t=R.toBytes(e[0]);for(let r=1;r<e.length;r++)t=ye.keccak256(p.concat(t,R.toBytes(e[r])));return R.fromBytes(t)}return Ot(s)?s:ye.keccak256(s.value,{as:"Hex"})}var wf=0,Qv=1,eE=2,uu=3,bf=4,d8=32;function Cr(s){return R.validate(s)&&R.size(s)===d8}function nr(s){return typeof s=="object"&&s!==null&&"blacklist"in s}function ir(s){return typeof s=="object"&&s!==null&&"identitySigner"in s}function ar(s){return typeof s=="object"&&s!==null&&"signer"in s}function Xg(s){return nr(s)||ir(s)||ar(s)}function or(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>tE(e))}function tE(s){return or(s)||Xg(s)||Cr(s)}function sE(s){if(!tE(s))return !1;let{identitySignerCount:e,blacklistCount:t}=m8(s);return e>=1&&t===1}function m8(s){let e=0,t=0;if(or(s))for(let r of s){let{identitySignerCount:n,blacklistCount:i}=m8(r);e+=n,t+=i;}return ir(s)&&e++,nr(s)&&t++,{identitySignerCount:e,blacklistCount:t}}function Sf(s){return ir(s)?[s.identitySigner]:or(s)?s.map(Sf).flat():[]}function kV(s){let e=vf(s);return e?e.blacklist:null}function vf(s){if(nr(s))return s;if(or(s)){let e=s.map(vf).filter(t=>t!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function e1(s,e){if(ar(s)&&M.isEqual(s.signer,e))return s;if(or(s))for(let t of s){let r=e1(t,e);if(r)return r}return null}function PV(s){return p8(s,[])}function p8(s,e){if(ar(s))return [...e,s.signer];if(or(s)){let t=[...e];for(let r of s)t.push(...p8(r,e));return t}return e}function yf(s){if(ar(s))return {type:"leaf",value:p.concat(p.fromNumber(wf),gf(s))};if(nr(s))return {type:"leaf",value:p.concat(p.fromNumber(uu),p.concat(...s.blacklist.map(e=>p.padLeft(p.fromHex(e),20))))};if(ir(s))return {type:"leaf",value:p.concat(p.fromNumber(bf),p.padLeft(p.fromHex(s.identitySigner),20))};throw new Error("Invalid leaf")}function g8(s){let e=s[0];if(e===uu){let t=[];for(let r=1;r<s.length;r+=20)t.push(p.toHex(s.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:t}}if(e===bf)return {type:"identity-signer",identitySigner:p.toHex(s.slice(1,21))};if(e===wf)return {type:"session-permissions",...zg(s.slice(1))};throw new Error("Invalid leaf")}function y8(s){if(or(s))return s.map(y8);if(nr(s)||ir(s)||ar(s))return yf(s);if(Cr(s))return s;throw new Error("Invalid topology")}function w8(s){if(Ls(s))return s.map(w8);if(Ot(s))throw new Error("Unknown in configuration tree");return g8(s.value)}function t1(s){if(or(s)){let e=[];for(let i of s)e.push(t1(i));let t=p.concat(...e),r=Us(BigInt(t.length));if(r>15)throw new Error("Branch too large");let n=eE<<4|r;return p.concat(p.fromNumber(n),p.padLeft(p.fromNumber(t.length),r),t)}if(ar(s)){let e=wf<<4,t=gf(s);return p.concat(p.fromNumber(e),t)}if(Cr(s)){let e=Qv<<4;return p.concat(p.fromNumber(e),R.toBytes(s))}if(nr(s)){let e=p.concat(...s.blacklist.map(r=>p.fromHex(r)));if(s.blacklist.length>=15){if(s.blacklist.length>65535)throw new Error("Blacklist too large");return p.concat(p.fromNumber(uu<<4|15),p.fromNumber(s.blacklist.length,{size:2}),e)}let t=uu<<4|s.blacklist.length;return p.concat(p.fromNumber(t),e)}if(ir(s)){let e=bf<<4;return p.concat(p.fromNumber(e),p.padLeft(p.fromHex(s.identitySigner),20))}throw new Error("Invalid topology")}function rE(s){let{topology:e}=b8(s);return e}function b8(s){if(s.length===0)throw new Error("Empty topology bytes");let e=s[0],t=(e&240)>>4,r=e&15;if(t===eE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=p.toNumber(s.slice(n,n+r));n+=r;let a=s.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=b8(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(t===wf){let n=zg(s.slice(1)),i=1+gf(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(t===Qv){let n=d8+1;if(s.length<n)throw new Error("Invalid node length");return {topology:R.fromBytes(s.slice(1,n)),pointer:n}}else if(t===uu){let n=1,i=r;r===15&&(i=p.toNumber(s.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=s.slice(n+o*20,n+(o+1)*20);a.push(M.from(R.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(t===bf){if(s.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:M.from(R.fromBytes(s.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${t}`)}function TV(s){return JSON.stringify(S8(s))}function S8(s){if(Cr(s))return s;if(ar(s))return Yg(s);if(nr(s)||ir(s))return s;if(or(s))return s.map(e=>S8(e));throw new Error("Invalid topology")}function BV(s){let e=JSON.parse(s);return v8(e)}function v8(s){if(Array.isArray(s))return s.map(t=>v8(t));if(typeof s=="string"&&R.validate(s)&&R.size(s)===32)return s;if(typeof s=="object"&&s!==null&&"signer"in s&&"valueLimit"in s&&"deadline"in s&&"permissions"in s)return {type:"session-permissions",...Zg(s)};if(typeof s=="object"&&s!==null&&"identitySigner"in s)return {type:"identity-signer",identitySigner:s.identitySigner};if(typeof s=="object"&&s!==null&&"blacklist"in s)return {type:"implicit-blacklist",blacklist:s.blacklist.map(t=>M.from(t))};throw new Error("Invalid topology")}function nE(s,e){if(Xg(s)&&Xg(e)){if(s.type===e.type){if(ar(s)&&ar(e)){if(M.isEqual(s.signer,e.signer))return null}else if(nr(s)&&nr(e)){let t=s.blacklist.filter(r=>!e.blacklist.includes(r));return t.length===0?null:{type:"implicit-blacklist",blacklist:t}}else if(ir(s)&&ir(e)&&M.isEqual(s.identitySigner,e.identitySigner))return null}}else if(Cr(s)&&Cr(e)&&R.isEqual(s,e))return null;if(or(s)){let t=[];for(let r of s){let n=nE(r,e);n!=null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}return s}function OV(s,e){let t=e1(s,e);if(!t)return s;let r=nE(s,t);return r?Ef(r):null}function RV(s,e){if(e1(s,e.signer))throw new Error("Session already exists");let t=iE(s,{type:"session-permissions",...e});return Ef(t)}function VV(s,e){let r=nE(s,{type:"identity-signer",identitySigner:e});return r?Ef(r):null}function DV(s,e){if(Sf(s).some(r=>M.isEqual(r,e)))throw new Error("Identity signer already exists");let t=iE(s,{type:"identity-signer",identitySigner:e});return Ef(t)}function iE(s,e){return [s,e]}function E8(s){if(Xg(s)||Cr(s))return [s];let e=[];for(let t of s)e.push(...E8(t));return e}function Qg(s){if(s.length===1)return s[0];if(s.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(s.length/2),t=s.slice(0,e),r=s.slice(e),n=Qg(t),i=Qg(r);return [n,i]}function Ef(s){return Qg(E8(s))}function x8(s,e=BigInt(Math.floor(Date.now()/1e3))){if(Cr(s))return s;if(ar(s))return s.deadline<e?null:s;if(ir(s)||nr(s))return s;let t=[];for(let r of s){let n=x8(r,e);n!==null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}function s1(s,e=[],t=[],r){if(or(s)){let n=s.map(i=>s1(i,e,t,r));return n.every(i=>Cr(i))?ye.keccak256(p.concat(...n.map(i=>R.toBytes(i))),{as:"Hex"}):n}if(ar(s))return e.includes(s.signer)?s:rr(yf(s));if(nr(s))return t.length===0?rr(yf(s)):s;if(ir(s))return r&&!M.isEqual(s.identitySigner,r)?rr(yf(s)):s;if(Cr(s))return s;throw new Error("Invalid topology")}function UV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t;return r.some(n=>M.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),s}function LV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t,n=r.filter(i=>i!==e);return t.blacklist=n,s}function A8(s){if(!Array.isArray(s))return A8([s]);let e=[{type:"implicit-blacklist",blacklist:[]},...s.map(t=>({type:"identity-signer",identitySigner:t}))];return Qg(e)}var ti={};Te(ti,{decodeSessionSignature:()=>MV,encodeSessionCallSignatureForJson:()=>I8,encodeSessionSignature:()=>_V,hashPayloadWithCallIdx:()=>$V,isExplicitSessionCallSignature:()=>cE,isImplicitSessionCallSignature:()=>r1,sessionCallSignatureFromJson:()=>HV,sessionCallSignatureFromParsed:()=>C8,sessionCallSignatureToJson:()=>jV});d();f();function r1(s){return "attestation"in s&&"identitySignature"in s&&"sessionSignature"in s}function cE(s){return "permissionIndex"in s&&"sessionSignature"in s}function jV(s){return JSON.stringify(I8(s))}function I8(s){if(r1(s))return {attestation:qt.encodeForJson(s.attestation),identitySignature:aE(s.identitySignature),sessionSignature:aE(s.sessionSignature)};if(cE(s))return {permissionIndex:s.permissionIndex,sessionSignature:aE(s.sessionSignature)};throw new Error("Invalid call signature")}function HV(s){let e=JSON.parse(s);return C8(e)}function C8(s){if(s.attestation)return {attestation:qt.fromParsed(s.attestation),identitySignature:oE(s.identitySignature),sessionSignature:oE(s.sessionSignature)};if(s.permissionIndex)return {permissionIndex:s.permissionIndex,sessionSignature:oE(s.sessionSignature)};throw new Error("Invalid call signature")}function aE(s){return `${s.r.toString()}:${s.s.toString()}:${s.yParity+27}`}function oE(s){let e=s.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[t,r,n]=e;if(!t||!r||!n)throw new Error("Invalid signature format");return {r:p.toBigInt(p.fromHex(t,{size:32})),s:p.toBigInt(p.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function _V(s,e,t,r=[],n=[]){let i=[];if(!sE(e))throw new Error("Incomplete topology");if(!Sf(e).some(l=>M.isEqual(l,t)))throw new Error("Identity signer not found");e=s1(e,r,n,t);let o=t1(e);if(Us(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(p.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(s.filter(r1).forEach(l=>{if(l.attestation){let m=qt.toJson(l.attestation);c.has(m)||(c.set(m,u.length),u.push(p.concat(qt.encode(l.attestation),tn(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(p.fromNumber(u.length,{size:1}),p.concat(...u));for(let l of s)if(r1(l)){let m=qt.toJson(l.attestation),w=c.get(m);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(p.fromNumber(E,{size:1}),tn(l.sessionSignature));}else if(cE(l)){if(l.permissionIndex>Jg)throw new Error("Permission index is too large");let m=l.permissionIndex;i.push(p.fromNumber(m,{size:1}),tn(l.sessionSignature));}else throw new Error("Invalid call signature");return p.concat(...i)}function MV(s){let e=0,t=p.toNumber(s.slice(e,e+3));e+=3;let r=s.slice(e,e+t);e+=t;let n=rE(r),i=p.toNumber(s.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=qt.decode(s.slice(e));e+=qt.encode(l).length,a.push(l);let m=qa(s.slice(e,e+64));e+=64,o.push(m);}let c=[];for(;e<s.length;){let u=s[e];e+=1;let l=qa(s.slice(e,e+64));if(e+=64,u&128){let m=u&127;if(m>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[m],identitySignature:o[m],sessionSignature:l});}else {let m=u;c.push({permissionIndex:BigInt(m),sessionSignature:l});}}return {topology:n,callSignatures:c}}function $V(s,e,t,r,n){if(n&&(M.isEqual(n,je.Dev1.sessions)||M.isEqual(n,je.Dev2.sessions)||M.isEqual(n,je.Rc3.sessions))){let c=e.calls[t],u=!M.isEqual(n,je.Rc3.sessions);return R.fromBytes(ye.keccak256(p.concat(p.fromNumber(r,{size:32}),p.fromNumber(e.space,{size:32}),p.fromNumber(e.nonce,{size:32}),u?p.from([]):p.fromNumber(t,{size:32}),p.fromHex(we.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=we.hash(s,r,e);return e.parentWallets=a,R.fromBytes(ye.keccak256(p.concat(o,p.fromNumber(t,{size:32}))))}var Ka={};Te(Ka,{Dev1:()=>N8,Dev2:()=>k8,Dev2_4337:()=>P8,KnownContexts:()=>qV,Rc3:()=>T8,Rc3_4337:()=>B8,Rc4:()=>O8,Rc4_4337:()=>R8,Rc5:()=>V8,Rc5_4337:()=>D8,isKnownContext:()=>FV});d();f();var N8={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},k8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},P8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},T8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},B8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},O8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},R8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},V8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},D8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},qV=[{name:"Dev1",development:!0,...N8},{name:"Dev2",development:!0,...k8},{name:"Dev2_4337",development:!0,...P8},{name:"Rc3",development:!0,...T8},{name:"Rc3_4337",development:!0,...B8},{name:"Rc4",development:!1,...O8},{name:"Rc4_4337",development:!1,...R8},{name:"Rc5",development:!1,...V8},{name:"Rc5_4337",development:!1,...D8}];function FV(s){return s.name!==void 0&&s.development!==void 0}var je={};Te(je,{Dev1:()=>n9,Dev2:()=>i9,Passkeys:()=>lE,Rc3:()=>a9,Rc4:()=>o9,Rc5:()=>c9,Recovery:()=>EE});d();f();var lE={};Te(lE,{decode:()=>zV,encode:()=>WV,fromTree:()=>KV,isValidSignature:()=>JV,metadataNode:()=>U8,metadataTree:()=>uE,rootFor:()=>GV,toTree:()=>L8});d();f();function uE(s){return typeof s=="object"?{type:"leaf",value:p.fromString(s.credentialId)}:s}function U8(s){return rr(uE(s))}function L8(s){let e=R.padLeft(s.x,32),t=R.padLeft(s.y,32),r=R.padLeft(s.requireUserVerification?"0x01":"0x00",32);return s.metadata?[[e,t],[r,uE(s.metadata)]]:[[e,t],[r,R.padLeft("0x00",32)]]}function KV(s){if(!Ls(s)||s.length!==2)throw new Error("Invalid tree");let[e,t]=s;if(!Ls(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Ot(r))throw new Error("Invalid x bytes");if(!Ot(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ls(t)){if(t.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=t;if(!Ot(o))throw new Error("Invalid c bytes");if(i=R.toBytes(o)[31]===1,Ls(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,m]=c;if(!ei(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ls(m)||m.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,v]=m;if(!ei(E)||!ei(v))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Ot(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Ot(t))throw new Error("Invalid c bytes");i=R.toBytes(t)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function GV(s){return rr(L8(s))}function WV(s){let e=s.clientDataJSON.indexOf('"challenge"'),t=s.clientDataJSON.indexOf('"type"'),r=s.authenticatorData.length,n=s.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=t<=255?1:2,u=0;u|=s.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,s.embedMetadata&&(u|=64);let l=p.from([u]);if(s.embedMetadata){if(!s.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=p.concat(l,R.toBytes(U8(s.publicKey.metadata)));}return l=p.concat(l,p.padLeft(p.fromNumber(r),i)),l=p.concat(l,s.authenticatorData),l=p.concat(l,p.padLeft(p.fromNumber(s.clientDataJSON.length),a)),l=p.concat(l,p.from(new TextEncoder().encode(s.clientDataJSON))),l=p.concat(l,p.padLeft(p.fromNumber(e),o)),l=p.concat(l,p.padLeft(p.fromNumber(t),c)),l=p.concat(l,p.padLeft(s.r,32)),l=p.concat(l,p.padLeft(s.s,32)),l=p.concat(l,p.fromHex(s.publicKey.x)),l=p.concat(l,p.fromHex(s.publicKey.y)),l}function JV(s,e){return Qn.verify({challenge:s,publicKey:{x:R.toBigInt(e.publicKey.x),y:R.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:R.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:p.toBigInt(e.r),s:p.toBigInt(e.s)}})}function zV(s){let e=0,t=s[0];if(e+=1,t===void 0)throw new Error("Invalid flags");let r=(t&1)!==0,n=(t>>1&1)+1,i=(t>>2&1)+1,a=(t>>3&1)+1,o=(t>>4&1)+1,c=(t>>6&1)===1;if(t&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let B=p.slice(s,e,e+32);u=R.fromBytes(B),e+=32;}let l=p.toNumber(p.slice(s,e,e+n));e+=n;let m=p.slice(s,e,e+l);e+=l;let w=p.toNumber(p.slice(s,e,e+i));e+=i;let E=p.slice(s,e,e+w);e+=w;let v=new TextDecoder().decode(E),A=p.toNumber(p.slice(s,e,e+a));e+=a;let C=p.toNumber(p.slice(s,e,e+o));e+=o;let D=p.slice(s,e,e+32);e+=32;let U=p.slice(s,e,e+32);e+=32;let T=p.slice(s,e,e+32);e+=32;let P=p.slice(s,e,e+32);return {publicKey:{requireUserVerification:r,x:R.fromBytes(T),y:R.fromBytes(P),metadata:u},r:D,s:U,authenticatorData:m,clientDataJSON:v,challengeIndex:A,typeIndex:C,embedMetadata:c}}var EE={};Te(EE,{DOMAIN_NAME:()=>YV,DOMAIN_VERSION:()=>ZV,FLAG_BRANCH:()=>SE,FLAG_NODE:()=>bE,FLAG_RECOVERY_LEAF:()=>wE,QUEUED_PAYLOAD_HASHES:()=>_8,QUEUE_PAYLOAD:()=>j8,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>H8,TOTAL_QUEUED_PAYLOADS:()=>M8,decodeTopology:()=>XV,encodeCalldata:()=>e9,encodeTopology:()=>pE,fromGenericTree:()=>yE,fromRecoveryLeaves:()=>gE,getRecoveryLeaves:()=>dE,hashConfiguration:()=>fE,hashRecoveryPayload:()=>QV,isBranch:()=>Ga,isRecoveryLeaf:()=>lu,isTree:()=>hE,parseBranch:()=>vE,queuedPayloadHashOf:()=>s9,timestampForQueuedPayload:()=>r9,toGenericTree:()=>n1,totalQueuedPayloads:()=>t9,trimTopology:()=>mE});d();f();var wE=1,bE=3,SE=4,xf=p.fromString(`Sequence recovery leaf:
348
+ `),j8=Et.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],H8=Et.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],_8=Et.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],M8=Et.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function lu(s){return typeof s=="object"&&s!==null&&s.type==="leaf"}function Ga(s){return Array.isArray(s)&&s.length===2&&hE(s[0])&&hE(s[1])}function hE(s){return lu(s)||Ot(s)||Ga(s)}var YV="Sequence Wallet - Recovery Mode",ZV="1";function fE(s){return rr(n1(s))}function dE(s){if(lu(s))return {leaves:[s],isComplete:!0};if(Ot(s))return {leaves:[],isComplete:!1};if(Ga(s)){let t=dE(s[0]),r=dE(s[1]);return {leaves:[...t.leaves,...r.leaves],isComplete:t.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function XV(s){let{nodes:e,leftover:t}=vE(s);if(t.length>0)throw new Error("Leftover bytes in branch");return $8(e)}function vE(s){if(s.length===0)throw new Error("Empty branch");let e=[],t=0;for(;t<s.length;){let r=s[t];if(r===wE){if(s.length<t+32)throw new Error("Invalid recovery leaf");let n=M.from(R.fromBytes(s.slice(t+1,t+21))),i=p.toBigInt(s.slice(t+21,t+24)),a=p.toBigInt(s.slice(t+24,t+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),t+=32;continue}else if(r===bE){if(s.length<t+33)throw new Error("Invalid node");let n=R.fromBytes(s.slice(t+1,t+33));e.push(n),t+=33;continue}else if(r===SE){if(s.length<t+4)throw new Error("Invalid branch");let n=p.toNumber(s.slice(t+1,t+4));if(s.length<t+4+n)throw new Error("Invalid branch");let i=s.slice(t+4,t+4+n),{nodes:a,leftover:o}=vE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=$8(a);e.push(c),t+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:s.slice(t)}}function mE(s,e){if(lu(s))return s.signer===e?s:fE(s);if(Ot(s))return s;if(Ga(s)){let t=mE(s[0],e),r=mE(s[1],e);return Ot(t)&&Ot(r)?fE(s):[t,r]}throw new Error("Invalid topology")}function pE(s){if(Ga(s)){let e=pE(s[0]),t=pE(s[1]);if(Ga(s[1])){if(t.length>16777215)throw new Error("Branch too large");let n=p.fromNumber(SE),i=p.padLeft(p.fromNumber(t.length),3);return p.concat(e,n,i,t)}else return p.concat(e,t)}if(Ot(s)){let e=p.fromNumber(bE),t=p.fromHex(s,{size:32});return p.concat(e,t)}if(lu(s)){let e=p.fromNumber(wE),t=p.fromHex(s.signer,{size:20});if(s.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=p.padLeft(p.fromNumber(s.requiredDeltaTime),3);if(s.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=p.padLeft(p.fromNumber(s.minTimestamp),8);return p.concat(e,t,r,n)}throw new Error("Invalid topology")}function $8(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function gE(s){if(s.length===0)throw new Error("Cannot build a tree with zero leaves");if(s.length===1)return s[0];let e=Math.floor(s.length/2),t=gE(s.slice(0,e)),r=gE(s.slice(e));return [t,r]}function QV(s,e,t,r){let n=Vv(s);return R.fromBytes(ru(e,r?0:t,n))}function n1(s){if(lu(s))return {type:"leaf",value:p.concat(xf,p.fromHex(s.signer,{size:20}),p.padLeft(p.fromNumber(s.requiredDeltaTime),32),p.padLeft(p.fromNumber(s.minTimestamp),32))};if(Ot(s))return s;if(Ga(s))return [n1(s[0]),n1(s[1])];throw new Error("Invalid topology")}function yE(s){if(ei(s)){let e=s.value;if(e.length!==xf.length+84||!p.isEqual(e.slice(0,xf.length),xf))throw new Error("Invalid recovery leaf format");let t=xf.length,r=M.from(R.fromBytes(e.slice(t,t+20))),n=p.toBigInt(e.slice(t+20,t+52)),i=p.toBigInt(e.slice(t+52,t+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Ot(s))return s;if(Ls(s)){if(s.length!==2)throw new Error("Recovery tree only supports binary branches");return [yE(s[0]),yE(s[1])]}else throw new Error("Invalid tree format")}}function e9(s,e,t,r){let n;r.type==="erc1271"?n=r.data:n=p.toHex(tn(r));let i=Lv(e);return me.encodeData(j8,[s,t,i,n])}async function t9(s,e,t,r){let n=await s.request({method:"eth_call",params:[{to:e,data:me.encodeData(M8,[t,r])},"latest"]});return n==="0x"?0n:R.toBigInt(n)}async function s9(s,e,t,r,n){return await s.request({method:"eth_call",params:[{to:e,data:me.encodeData(_8,[t,r,n])},"latest"]})}async function r9(s,e,t,r,n){let i=await s.request({method:"eth_call",params:[{to:e,data:me.encodeData(H8,[t,r,n])},"latest"]});return R.toBigInt(i)}var n9={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},i9={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},a9={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},o9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},c9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Wa={};Te(Wa,{ALL:()=>xE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>l9,getNetworkFromName:()=>u9});d();f();var Ie;(function(s){s.MAINNET="mainnet",s.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},xE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Ce("mainnet"),logoUrl:Ne(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Ce("sepolia"),logoUrl:Ne(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Ce("polygon"),logoUrl:Ne(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Ce("amoy"),logoUrl:Ne(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Ce("polygon-zkevm"),logoUrl:Ne(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Ce("bsc"),logoUrl:Ne(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Ce("bsc-testnet"),logoUrl:Ne(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Ce("optimism"),logoUrl:Ne(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Ce("optimism-sepolia"),logoUrl:Ne(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Ce("arbitrum"),logoUrl:Ne(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Ce("arbitrum-sepolia"),logoUrl:Ne(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Ce("arbitrum-nova"),logoUrl:Ne(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Ce("avalanche"),logoUrl:Ne(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Ce("avalanche-testnet"),logoUrl:Ne(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Ce("gnosis"),logoUrl:Ne(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Ce("base"),logoUrl:Ne(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Ce("base-sepolia"),logoUrl:Ne(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Ce("homeverse"),logoUrl:Ne(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Ce("homeverse-testnet"),logoUrl:Ne(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:Ce("xai"),logoUrl:Ne(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Ce("xai-sepolia"),logoUrl:Ne(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:Ce("b3"),logoUrl:Ne(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Ce("b3-sepolia"),logoUrl:Ne(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Ce("apechain"),logoUrl:Ne(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Ce("apechain-testnet"),logoUrl:Ne(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:Ce("blast"),logoUrl:Ne(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Ce("blast-sepolia"),logoUrl:Ne(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:Ce("telos"),logoUrl:Ne(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Ce("telos-testnet"),logoUrl:Ne(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Ce("skale-nebula"),logoUrl:Ne(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Ce("skale-nebula-testnet"),logoUrl:Ne(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Ce("soneium"),logoUrl:Ne(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Ce("soneium-minato"),logoUrl:Ne(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Ce("toy-testnet"),logoUrl:Ne(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Ce("immutable-zkevm"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Ce("immutable-zkevm-testnet"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Ce("moonbeam"),logoUrl:Ne(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Ce("moonbase-alpha"),logoUrl:Ne(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Ce("etherlink"),logoUrl:Ne(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Ce("etherlink-testnet"),logoUrl:Ne(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:Ce("monad"),logoUrl:Ne(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Ce("monad-testnet"),logoUrl:Ne(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Ce("somnia"),logoUrl:Ne(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Ce("somnia-testnet"),logoUrl:Ne(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Ce("incentiv-testnet-v2"),logoUrl:Ne(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:Ce("katana"),logoUrl:Ne(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Ce("sandbox-testnet"),logoUrl:Ne(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Ce("arc-testnet"),logoUrl:Ne(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Ce(s){return `https://nodes.sequence.app/${s}`}function Ne(s){return `https://assets.sequence.info/images/networks/medium/${s}.webp`}function u9(s){return xE.find(e=>e.name===s)}function l9(s){return xE.find(e=>e.chainId===Number(s))}d();f();d();f();d();f();var q8="$";function F8(s,e){var t="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(s,q8),t;function u(l,m){if(l===null||typeof l!="object"||l.toJSON!=null)t+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="[";var E=!1;l.forEach(function(D,U){E&&(t+=","),E=!0,c&&D===void 0&&(D=null),u(D,m+"["+U+"]");}),t+="]";}else {var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="{";var v=!1,A=function(U){n&&n.includes(U)||(v&&(t+=","),v=!0,t+=JSON.stringify(U),t+=":",u(l[U],m+"."+U));};if(m===q8&&r)r.forEach(function(U){l.hasOwnProperty(U)&&A(U);});else {var C=Object.keys(l);o&&(C=C.filter(function(U){return l[U]!==void 0})),C.sort(),C.forEach(function(U){A(U);});}t+="}";}}}function i1(s,e){return F8(s,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();f();var h9="Webrpc",f9="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Nr;(function(s){s.WebCrypto_Secp256r1="WebCrypto_Secp256r1",s.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Nr||(Nr={}));var rn;(function(s){s.Email="Email",s.OIDC="OIDC";})(rn||(rn={}));var fu;(function(s){s.OTP="OTP",s.IDToken="IDToken",s.AccessToken="AccessToken",s.AuthCode="AuthCode",s.AuthCodePKCE="AuthCodePKCE";})(fu||(fu={}));var a1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,t,r)=>this.fetch(this.url("CommitVerifier"),AE(e,t,r)).then(n=>IE(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,t,r)=>this.fetch(this.url("CompleteAuth"),AE(e,t,r)).then(n=>IE(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,t,r)=>this.fetch(this.url("Sign"),AE(e,t,r)).then(n=>IE(n).then(i=>({signature:i.signature})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})})},AE=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[h9]=f9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},IE=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),o1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (d9[r]||Qe).new(t)}return t}),Qe=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},CE=class s extends Qe{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},hu=class s extends Qe{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},NE=class s extends Qe{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},kE=class s extends Qe{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},PE=class s extends Qe{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},o1=class s extends Qe{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},TE=class s extends Qe{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},BE=class s extends Qe{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},OE=class s extends Qe{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},RE=class s extends Qe{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},VE=class s extends Qe{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},DE=class s extends Qe{constructor(e="InternalError",t=7100,r="Internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},UE=class s extends Qe{constructor(e="EncryptionError",t=7101,r="Encryption error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},LE=class s extends Qe{constructor(e="DatabaseError",t=7102,r="Database error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},jE=class s extends Qe{constructor(e="DataIntegrityError",t=7103,r="Data integrity error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},HE=class s extends Qe{constructor(e="IdentityProviderError",t=7104,r="Identity provider error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},_E=class s extends Qe{constructor(e="InvalidRequest",t=7200,r="The request was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},ME=class s extends Qe{constructor(e="InvalidSignature",t=7201,r="The signature was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},$E=class s extends Qe{constructor(e="KeyNotFound",t=7202,r="The authentication key was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},qE=class s extends Qe{constructor(e="KeyExpired",t=7203,r="The authentication key expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},FE=class s extends Qe{constructor(e="SignerNotFound",t=7204,r="The signer was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},KE=class s extends Qe{constructor(e="ProofVerificationFailed",t=7002,r="The authentication proof could not be verified",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},GE=class s extends Qe{constructor(e="AnswerIncorrect",t=7003,r="The provided answer is incorrect",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},WE=class s extends Qe{constructor(e="ChallengeExpired",t=7004,r="The challenge has expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},JE=class s extends Qe{constructor(e="TooManyAttempts",t=7005,r="Too many attempts",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},zE=class s extends Qe{constructor(e="OAuthError",t=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},YE=class s extends Qe{constructor(e="AccessError",t=7007,r="Access error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},K8;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InternalError="InternalError",s.EncryptionError="EncryptionError",s.DatabaseError="DatabaseError",s.DataIntegrityError="DataIntegrityError",s.IdentityProviderError="IdentityProviderError",s.InvalidRequest="InvalidRequest",s.InvalidSignature="InvalidSignature",s.KeyNotFound="KeyNotFound",s.KeyExpired="KeyExpired",s.SignerNotFound="SignerNotFound",s.ProofVerificationFailed="ProofVerificationFailed",s.AnswerIncorrect="AnswerIncorrect",s.ChallengeExpired="ChallengeExpired",s.TooManyAttempts="TooManyAttempts",s.OAuthError="OAuthError",s.AccessError="AccessError";})(K8||(K8={}));var G8;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InternalError=7100]="InternalError",s[s.EncryptionError=7101]="EncryptionError",s[s.DatabaseError=7102]="DatabaseError",s[s.DataIntegrityError=7103]="DataIntegrityError",s[s.IdentityProviderError=7104]="IdentityProviderError",s[s.InvalidRequest=7200]="InvalidRequest",s[s.InvalidSignature=7201]="InvalidSignature",s[s.KeyNotFound=7202]="KeyNotFound",s[s.KeyExpired=7203]="KeyExpired",s[s.SignerNotFound=7204]="SignerNotFound",s[s.ProofVerificationFailed=7002]="ProofVerificationFailed",s[s.AnswerIncorrect=7003]="AnswerIncorrect",s[s.ChallengeExpired=7004]="ChallengeExpired",s[s.TooManyAttempts=7005]="TooManyAttempts",s[s.OAuthError=7006]="OAuthError",s[s.AccessError=7007]="AccessError";})(G8||(G8={}));var d9={0:CE,[-1]:hu,[-2]:NE,[-3]:kE,[-4]:PE,[-5]:o1,[-6]:TE,[-7]:BE,[-8]:OE,[-9]:RE,[-10]:VE,7100:DE,7101:UE,7102:LE,7103:jE,7104:HE,7200:_E,7201:ME,7202:$E,7203:qE,7204:FE,7002:KE,7003:GE,7004:WE,7005:JE,7006:zE,7007:YE};d();f();d();f();var Ja=class extends Error{};Ja.prototype.name="InvalidTokenError";function m9(s){return decodeURIComponent(atob(s).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function p9(s){let e=s.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return m9(e)}catch{return atob(e)}}function J8(s,e){if(typeof s!="string")throw new Ja("Invalid token specified: must be a string");e||(e={});let t=e.header===!0?0:1,r=s.split(".")[t];if(typeof r!="string")throw new Ja(`Invalid token specified: missing part #${t+1}`);let n;try{n=p9(r);}catch(i){throw new Ja(`Invalid token specified: invalid base64 for part #${t+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Ja(`Invalid token specified: invalid json for part #${t+1} (${i.message})`)}}var ZE=class{},c1=class extends ZE{issuer;audience;idToken;handle="";exp="";constructor(e,t,r){super(),this.issuer=e,this.audience=t,this.idToken=r;let n=J8(this.idToken),i=ye.keccak256(new TextEncoder().encode(this.idToken));this.handle=R.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,verifier:this.handle,answer:this.idToken}}};var Af=class{scope;rpc;constructor(e,t,r=window.fetch){this.rpc=new a1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=t;}async commitVerifier(e,t){let r={...t.getCommitParams(),scope:this.scope},n=await e.sign(p.fromString(i1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,t){let r={...t.getCompleteParams(),signerType:Nr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(p.fromString(i1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,t){let r={scope:this.scope,signer:{address:e.signer,keyType:Nr.Ethereum_Secp256k1},digest:R.fromBytes(t),nonce:R.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(p.fromString(i1(r)))});return R.assert(n.signature),n.signature}};function XE(s){return {address:s.address,keyType:Nr.WebCrypto_Secp256r1,signer:s.identitySigner,async sign(e){let t=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},s.privateKey,new Uint8Array(e));return R.fromBytes(new Uint8Array(t))}}}var u1=class{identityInstrument;authKey;constructor(e,t){this.identityInstrument=e,this.authKey=t;}get address(){if(!M.validate(this.authKey.identitySigner))throw new Error("No signer address found");return M.checksum(this.authKey.identitySigner)}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){let t=await this.identityInstrument.sign(XE(this.authKey),e);return {type:"hash",...$t.fromHex(t)}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();f();d();f();d();f();d();f();d();f();function z8(s){return typeof s=="object"&&"signature"in s&&"imageHash"in s}var du={};Te(du,{Cached:()=>wx,Local:()=>px,Remote:()=>yx,Sequence:()=>Tf,getWalletsFor:()=>A9,multiplex:()=>U9,normalizeAddressKeys:()=>kr});d();f();var px={};Te(px,{IndexedDbStore:()=>dx,MemoryStore:()=>Cf,Provider:()=>mx});d();f();d();f();var Cf=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let t={};for(let[r,n]of Object.entries(e))t[r]=this.deepCopy(n);return t}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){let t=this.configs.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveConfig(e,t){this.configs.set(e.toLowerCase(),this.deepCopy(t));}async loadCounterfactualWallet(e){let t=this.counterfactualWallets.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveCounterfactualWallet(e,t,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:t,context:r}));}async loadPayloadOfSubdigest(e){let t=this.payloads.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async savePayloadOfSubdigest(e,t){this.payloads.set(e.toLowerCase(),this.deepCopy(t));}async loadSubdigestsOfSigner(e){let t=this.signerSubdigests.get(e.toLowerCase());return t?Array.from(t).map(r=>r):[]}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=t.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let t=this.trees.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveTree(e,t){this.trees.set(e.toLowerCase(),this.deepCopy(t));}};d();f();var cr={};Te(cr,{Guard:()=>hx,Passkey:()=>nx,Pk:()=>sx,Session:()=>cx,SessionManager:()=>ux,isSapientSigner:()=>fx,isSigner:()=>x9});d();f();var sx={};Te(sx,{Encrypted:()=>ex,MemoryPkStore:()=>si,Pk:()=>tx});d();f();var ex={};Te(ex,{EncryptedPkStore:()=>l1,EncryptedPksDb:()=>QE});d();f();var QE=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",t="e_pk"){this.localStorageKeyPrefix=e,this.tableName=t;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error);})}async putData(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(t,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let t=await this.openDB();return new Promise((r,n)=>{let o=t.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((t,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>t(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),t=R.random(32),r=Yt.getPublicKey({privateKey:t}),n=M.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(t),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),m={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,m),m}async getEncryptedEntry(e){let t=this.computeDbKey(e);return this.getData(t)}async getEncryptedPkStore(e){let t=await this.getEncryptedEntry(e);if(t)return new l1(t)}async listAddresses(){return (await this.getAllData()).map(t=>t.address)}async remove(e){let t=this.computeDbKey(e);await this.putData(t,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},l1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let t=window.localStorage.getItem(this.encrypted.keyPointer);if(!t)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(t),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return Yt.sign({payload:e,privateKey:o})}};var si=class{privateKey;constructor(e){this.privateKey=e;}address(){return M.fromPublicKey(this.publicKey())}publicKey(){return Yt.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(Yt.sign({payload:e,privateKey:this.privateKey}))}},tx=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new si(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var nx={};Te(nx,{Passkey:()=>rx,isWitnessMessage:()=>Y8});d();f();function Y8(s){return typeof s=="object"&&s!==null&&"action"in s&&s.action==="consent-to-be-part-of-wallet"}var rx=class s{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=je.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,t,r,n){let i=await e.getWitnessForSapient(r,t.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!we.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(R.toString(a.message));if(!Y8(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=je.Passkeys.decode(p.fromHex(i.signature.data));return new s({credentialId:c.credentialId,extensions:t,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,t){let r=t?.credentialName??`Sequence (${Date.now()})`,n=await Qn.createCredential({user:{name:r}}),i=R.fromNumber(n.publicKey.x),a=R.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new s({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:t?.requireUserVerification??!0,x:i,y:a,metadata:t?.embedMetadata?o:void 0},embedMetadata:t?.embedMetadata,metadata:o});return t?.stateProvider&&await t.stateProvider.saveTree(je.Passkeys.toTree(c.publicKey)),c}static async find(e,t){let r=await Qn.sign({challenge:R.random(32)});if(!r.raw)throw new Error("No credential returned");let n=p.fromHex(r.metadata.authenticatorData),i=ye.sha256(p.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=p.concat(n,i),o=ye.sha256(a,{as:"Bytes"}),c=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:R.fromNumber(c.x),y:R.fromNumber(c.y)},m={x:R.fromNumber(u.x),y:R.fromNumber(u.y)},w={credentialId:r.raw.id},E=[je.Passkeys.rootFor({...l,requireUserVerification:!0}),je.Passkeys.rootFor({...l,requireUserVerification:!1}),je.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!0}),je.Passkeys.rootFor({...m,requireUserVerification:!1}),je.Passkeys.rootFor({...m,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!1,metadata:w})],A=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(t.passkeys,C);return Object.keys(D).map(U=>({wallet:M.from(U),imageHash:C}))}))).flat().filter((C,D,U)=>U.findIndex(T=>M.isEqual(T.wallet,C.wallet)&&T.imageHash===C.imageHash)===D);if(A.length!==0)return A.length>1&&console.warn("Multiple signers found for passkey",A),s.loadFromWitness(e,t,A[0].wallet,A[0].imageHash)}async signSapient(e,t,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=R.fromBytes(we.hash(e,t,r)),a=await Qn.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=p.fromHex(a.metadata.authenticatorData),c=p.fromNumber(a.signature.r),u=p.fromNumber(a.signature.s),l=je.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:p.toHex(l),type:"sapient_compact"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(t,0,n,this.imageHash);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var cx={};Te(cx,{Explicit:()=>ix,Implicit:()=>ax,isExplicitSessionSigner:()=>h1,isImplicitSessionSigner:()=>ox});d();f();d();f();var Z8="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ix=class{_privateKey;address;sessionPermissions;constructor(e,t){this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...t,signer:this.address};}isValid(e,t){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Fs.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!M.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!p.isEqual(c.value,u.value)||c.offset!==u.offset||!p.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,t,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,Z8])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=p.fromNumber(o+r.value,{size:32});if(p.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,t){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:p.toHex(n.value),offset:n.offset,mask:p.toHex(n.mask)}))};return ye.keccak256(xt.encode([{type:"address",name:"signer"},sn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(t)]))}getValueUsageHash(){return ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,Z8]))}async validatePermission(e,t,r,n,i){if(!M.isEqual(e.target,t.to))return !1;for(let[a,o]of e.rules.entries()){let u=p.padRight(p.fromHex(t.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,m)=>l&o.mask[m]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=p.fromNumber(l+p.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===sn.ParameterOperation.EQUAL&&!p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.LESS_THAN_OR_EQUAL&&p.toBigInt(u)>p.toBigInt(o.value)||o.operation===sn.ParameterOperation.NOT_EQUAL&&p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.GREATER_THAN_OR_EQUAL&&p.toBigInt(u)<p.toBigInt(o.value))return !1}return !0}async supportedCall(e,t,r,n,i){return M.isEqual(r.to,n)&&R.size(r.data)>4&&R.isEqual(R.slice(r.data,0,4),me.getSelector(Xe.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,t,r,n,i)}async signCall(e,t,r,n,i,a){let o=r.calls[n],c;if(M.isEqual(o.to,i)&&R.size(o.data)>4&&R.isEqual(R.slice(o.data,0,4),me.getSelector(Xe.INCREMENT_USAGE_LIMIT)))c=0;else {let m=await this.findSupportedPermission(e,t,o,i,a);if(!m)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(m),c===-1)throw new Error("Invalid permission")}let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,t,r,n){let i=me.encodeData(Xe.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:t,data:i},"latest"]}),o=me.decodeResult(Xe.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,t,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let m of r){let w=await this.findSupportedPermission(e,t,m,n,i);if(w){for(let[E,v]of w.rules.entries()){if(!v.cumulative)continue;let C=p.padRight(p.fromHex(m.data).slice(Number(v.offset),Number(v.offset)+32),32).map((T,P)=>T&v.mask[P]);if(p.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),U=a.find(T=>R.isEqual(T.usageHash,D));U?U.increment+=p.toBigInt(C):a.push({usageHash:D,increment:p.toBigInt(C)});}u+=m.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:m,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,m,i);if(R.isEqual(m,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:m,usageAmount:E.usageAmount+w}})).then(m=>m.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();f();var ax=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,t,r,n){if(this._attestation=t,this._sessionManager=n,this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?$t.fromHex(r):r;}get identitySigner(){let e=qt.hash(this._attestation),t=Yt.recoverPublicKey({payload:e,signature:this._identitySignature});return M.fromPublicKey(t)}isValid(e,t){let r=Fs.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>M.isEqual(a,n))?Fs.getImplicitBlacklist(e)?.some(a=>M.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,t,r,n,i){if(!i)throw new Error("Provider is required");try{let a=me.encodeData(X8,[e,{approvedSigner:this._attestation.approvedSigner,identityType:p.toHex(this._attestation.identityType),issuerHash:p.toHex(this._attestation.issuerHash),audienceHash:p.toHex(this._attestation.audienceHash),applicationData:p.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(we.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=R.from(me.decodeResult(X8,o)),u=p.toHex(qt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,t,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,t,o,i,a))throw new Error("Unsupported call");let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},X8={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();f();function h1(s){return "prepareIncrements"in s}function ox(s){return "identitySigner"in s}d();f();var g9=2n**80n-1n,ux=class s{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,t){this.wallet=e,this.stateProvider=t.stateProvider??e.stateProvider,this.address=t.sessionManagerAddress,this._implicitSigners=t.implicitSigners??[],this._explicitSigners=t.explicitSigners??[],this._provider=t.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),t=Ke.findSignerLeaf(e,this.address);if(!(!t||!Ke.isSapientSignerLeaf(t)))return t.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let t=await this.stateProvider.getTree(e);if(!t)throw new Error(`Session configuration not found for image hash ${e}`);return Fs.configurationTreeToSessionsTopology(t)}withProvider(e){return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let t=[...this._implicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:t,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let t=[...this._explicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:t,provider:this._provider})}async listSignerValidity(e){let t=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(t,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(t,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,t,r){let n=await this.topology;if(Fs.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let m of a){try{if(u=await m.supportedCall(e,t,c,this.address,this._provider),u){let w=m.isValid(n,t);w.invalidReason==="Expired"&&(l=m),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(m);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,t,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,t,r),i=new Map;n.forEach((u,l)=>{let m=r[l],w=i.get(u)||[];i.set(u,[...w,m]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>h1(u)?u.prepareIncrements(e,t,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,m)=>l===m.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=me.encodeData(Xe.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,t,r,n){if(!M.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!we.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>g9)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,t,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,t,r,E,this.address,this._provider)}catch(v){throw console.error("signSapient error",v),v}})),o=await this.prepareIncrement(e,t,r.calls);if(o){let w;if(M.isEqual(this.address,je.Dev1.sessions)||M.isEqual(this.address,je.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!M.isEqual(o.to,w.to)||!R.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(h1(w))c.find(v=>M.isEqual(v,E))||c.push(E);else if(ox(w)&&!u.find(v=>M.isEqual(v,E))){if(u.push(E),!l)l=w.identitySigner;else if(!M.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Fs.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let m=ti.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:R.from(m)}}async isValidSapientSignature(e,t,r,n){if(!we.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=we.encodeSapient(t,r),a=me.encodeData(Xe.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return R.from(me.decodeResult(Xe.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();f();d();f();d();f();d();f();var ri;(function(s){s.Calls="Calls",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ri||(ri={}));var ni;(function(s){s.Hash="Hash",s.Sapient="Sapient",s.EthSign="EthSign",s.Erc1271="Erc1271";})(ni||(ni={}));var Q8;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.ValidationFailed="ValidationFailed",s.NotFound="NotFound",s.RequiresTOTP="RequiresTOTP",s.RequiresPIN="RequiresPIN";})(Q8||(Q8={}));var eN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.ValidationFailed=2004]="ValidationFailed",s[s.NotFound=3e3]="NotFound",s[s.RequiresTOTP=6600]="RequiresTOTP",s[s.RequiresPIN=6601]="RequiresPIN";})(eN||(eN={}));d();f();d();f();var hx=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,t){let r={...e.payload,parentWallets:void 0},n=S9(e.payload),{message:i,digest:a}=v9(e.wallet,e.chainId,r),o=e.signatures.map(E9),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,t?{id:t.id,token:t.code,resetAuth:t.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function S9(s){switch(s.type){case"call":return ri.Calls;case"message":return ri.Message;case"config-update":return ri.ConfigUpdate;case"session-implicit-authorize":return ri.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${s.type}`)}function v9(s,e,t){if(we.isSessionImplicitAuthorize(t))return {message:p.fromString(qt.toJson(t.attestation)),digest:ye.keccak256(qt.encode(t.attestation))};let r=we.toTyped(s,e,t);return {message:p.fromString(of.serialize(r)),digest:p.fromHex(of.getSignPayload(r))}}function E9(s){if(z8(s))return {type:ni.Sapient,address:s.signature.address,imageHash:s.imageHash,data:s.signature.data};if(s.signature.type=="erc1271")return {type:ni.Erc1271,address:s.signature.address,data:s.signature.data};let e={eth_sign:ni.EthSign,hash:ni.Hash}[s.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${s.signature.type}`);return {type:e,address:s.address,data:$t.toHex(s.signature)}}function fx(s){return "signSapient"in s}function x9(s){return "sign"in s}async function A9(s,e){let t=await I9(s,e);return Object.entries(t).map(([r,{chainId:n,payload:i,signature:a}])=>(R.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function I9(s,e){if(fx(e)){let[t,r]=await Promise.all([e.address,e.imageHash]);return r?s.getWalletsForSapient(t,r):(console.warn("Sapient signer has no imageHash"),{})}else return s.getWallets(await e.address)}function kr(s){return Object.fromEntries(Object.entries(s).map(([e,t])=>[M.checksum(e),t]))}d();f();var f1="configs",d1="counterfactualWallets",m1="payloads",Nf="signerSubdigests",p1="signatures",kf="sapientSignerSubdigests",g1="sapientSignatures",y1="trees",dx=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,t)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(f1)||n.createObjectStore(f1),n.objectStoreNames.contains(d1)||n.createObjectStore(d1),n.objectStoreNames.contains(m1)||n.createObjectStore(m1),n.objectStoreNames.contains(Nf)||n.createObjectStore(Nf),n.objectStoreNames.contains(p1)||n.createObjectStore(p1),n.objectStoreNames.contains(kf)||n.createObjectStore(kf),n.objectStoreNames.contains(g1)||n.createObjectStore(g1),n.objectStoreNames.contains(y1)||n.createObjectStore(y1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{t(r.error);};})}async get(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(t);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,t,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,t);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,t){let r=await this.get(e,t)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,t,r){await this.put(e,t,Array.from(r));}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){return this.get(f1,e.toLowerCase())}async saveConfig(e,t){await this.put(f1,e.toLowerCase(),t);}async loadCounterfactualWallet(e){return this.get(d1,e.toLowerCase())}async saveCounterfactualWallet(e,t,r){await this.put(d1,e.toLowerCase(),{imageHash:t,context:r});}async loadPayloadOfSubdigest(e){return this.get(m1,e.toLowerCase())}async savePayloadOfSubdigest(e,t){await this.put(m1,e.toLowerCase(),t);}async loadSubdigestsOfSigner(e){let t=await this.getSet(Nf,e.toLowerCase());return Array.from(t)}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t);return this.get(p1,r.toLowerCase())}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);await this.put(p1,n.toLowerCase(),r);let i=e.toLowerCase(),a=t.toLowerCase(),o=await this.getSet(Nf,i);o.add(a),await this.putSet(Nf,i,o);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=await this.getSet(kf,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r);return this.get(g1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r).toLowerCase();await this.put(g1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase(),c=await this.getSet(kf,a);c.add(o),await this.putSet(kf,a,c);}async loadTree(e){return this.get(y1,e.toLowerCase())}async saveTree(e,t){await this.put(y1,e.toLowerCase(),t);}};var mx=class{store;extensions;constructor(e=new Cf,t=je.Rc5){this.store=e,this.extensions=t;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,t){await this.saveConfig(e);let r=Ke.hashConfiguration(e);await this.saveCounterfactualWallet(cu.from(r,t),R.fromBytes(r),t);}async saveConfig(e){let t=p.toHex(Ke.hashConfiguration(e)),r=await this.store.loadConfig(t);if(r){let n=Ke.mergeTopology(r.topology,e.topology);return this.store.saveConfig(t,{...r,topology:n})}else return this.store.saveConfig(t,e)}saveCounterfactualWallet(e,t,r){this.store.saveCounterfactualWallet(e,t,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,t){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=M.checksum(i.wallet);if(n[a])continue;let o=R.fromBytes(we.hash(a,i.chainId,i.content)),c=await t(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),t=>this.store.loadSignatureOfSubdigest(e,t)))}async getWalletsForSapient(e,t){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,t),r=>this.store.loadSapientSignatureOfSubdigest(e,r,t)))}getWitnessFor(e,t){let r=M.checksum(e);return this.getWallets(t).then(n=>n[r])}getWitnessForSapient(e,t,r){let n=M.checksum(e);return this.getWalletsForSapient(t,r).then(i=>i[n])}async saveWitnesses(e,t,r,n){let i=R.fromBytes(we.hash(e,t,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:t,wallet:e})]);}async getConfigurationUpdates(e,t,r){let n=await this.store.loadConfig(t);if(!n)return [];let{signers:i,sapientSigners:a}=Ke.getSigners(n),o=await Promise.all([...i.map(v=>this.store.loadSubdigestsOfSigner(v)),...a.map(v=>this.store.loadSubdigestsOfSapientSigner(v.address,v.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(v=>this.store.loadPayloadOfSubdigest(v))),l=await Promise.all(u.filter(v=>v?.content&&we.isConfigUpdate(v.content)).map(async v=>({payload:v,nextImageHash:v.content.imageHash,config:await this.store.loadConfig(v.content.imageHash)}))),m,w=l.filter(v=>v.config&&v.config.checkpoint>n.checkpoint).sort((v,A)=>v.config.checkpoint>A.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let v of w){if(m){if(r?.allUpdates){if(v.config.checkpoint<=m.checkpoint)continue}else if(v.config.checkpoint<=m.checkpoint)continue}let A=R.fromBytes(we.hash(e,v.payload.chainId,v.payload.content)),C=await Promise.all([...i.map(async T=>({signer:T,signature:await this.store.loadSignatureOfSubdigest(T,A)})),...a.map(async T=>({signer:T.address,imageHash:T.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(T.address,A,T.imageHash)}))]),D=0n,U=Zt.fillLeaves(n.topology,T=>{if(Ke.isSapientSignerLeaf(T)){let B=C.find(({signer:G,imageHash:se})=>se&&M.isEqual(G,T.address)&&se===T.imageHash)?.signature;if(B)return D+=T.weight,B}let P=C.find(({signer:B})=>M.isEqual(B,T.address))?.signature;if(P)return D+=T.weight,P});D<n.threshold||(m={nextImageHash:v.nextImageHash,checkpoint:v.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:U}}});}if(!m)return [];let E=await this.getConfigurationUpdates(e,m.nextImageHash,{allUpdates:!0});return [{imageHash:m.nextImageHash,signature:m.signature},...E]}async saveUpdate(e,t,r){let i={type:"config-update",imageHash:p.toHex(Ke.hashConfiguration(t))},a=we.hash(e,0,i);await this.store.savePayloadOfSubdigest(R.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(t),await this.saveSignature(R.fromBytes(a),r.configuration.topology);}async saveSignature(e,t){if(Zt.isRawNode(t)){await Promise.all([this.saveSignature(e,t[0]),this.saveSignature(e,t[1])]);return}if(Zt.isRawNestedLeaf(t))return this.saveSignature(e,t.tree);if(Zt.isRawSignerLeaf(t)){let r=t.signature.type;if(r==="eth_sign"||r==="hash"){let n=Yt.recoverAddress({payload:r==="eth_sign"?vg.getSignPayload(e):e,signature:t.signature});return this.store.saveSignatureOfSubdigest(n,e,t.signature)}if(Zt.isSignatureOfSapientSignerLeaf(t.signature))switch(t.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=je.Passkeys.decode(p.fromHex(t.signature.data));if(!je.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(t.signature.address,e,je.Passkeys.rootFor(n.publicKey),t.signature);default:throw new Error(`Unsupported sapient signer: ${t.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree(js.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(p.toHex(Ke.hashConfiguration(e)),e)}saveDeploy(e,t){return this.store.saveCounterfactualWallet(cu.from(p.fromHex(e),t),e,t)}async getPayload(e){let t=await this.store.loadPayloadOfSubdigest(e);return t?{chainId:t.chainId,payload:t.content,wallet:t.wallet}:void 0}savePayload(e,t,r){let n=R.fromBytes(we.hash(e,r,t));return this.store.savePayloadOfSubdigest(n,{content:t,chainId:r,wallet:e})}};var yx={};Te(yx,{DevHttpProvider:()=>gx});d();f();d();f();var gx=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,t,r){let n=`${this.baseUrl}${t}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Fa.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Fa.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${t} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Fa.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Fa.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,t){return this.request("GET",`/wallets/sapient/${e}/${t}`)}async getWitnessFor(e,t){return this.request("GET",`/witness/${e}/signer/${t}`)}async getWitnessForSapient(e,t,r){return this.request("GET",`/witness/sapient/${e}/${t}/${r}`)}async getConfigurationUpdates(e,t,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${t}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,t){await this.request("POST","/wallet",{deployConfiguration:e,context:t});}async saveWitnesses(e,t,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:t,payload:r,signatures:n});}async saveUpdate(e,t,r){await this.request("POST","/update",{wallet:e,configuration:t,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,t){return this.request("POST","/deploy",{imageHash:e,context:t})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,t,r){return this.request("POST","/payload",{wallet:e,payload:t,chainId:r})}};d();f();var wx=class{args;constructor(e){this.args=e;}async getConfiguration(e){let t=await this.args.cache.getConfiguration(e);if(t)return t;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let t=await this.args.cache.getDeploy(e);if(t)return t;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let t=kr(await this.args.cache.getWallets(e)),r=kr(await this.args.source.getWallets(e)),n={...t,...r};for(let[i,a]of Object.entries(n))M.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),t[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,t){let r=await this.args.cache.getWalletsForSapient(e,t),n=await this.args.source.getWalletsForSapient(e,t),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=M.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,t){let r=await this.args.cache.getWitnessFor(e,t);if(r)return r;let n=await this.args.source.getWitnessFor(e,t);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,t,r){let n=await this.args.cache.getWitnessForSapient(e,t,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,t,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,t,r){return this.args.source.getConfigurationUpdates(e,t,r)}async getTree(e){let t=await this.args.cache.getTree(e);if(t)return t;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,t){return this.args.source.saveWallet(e,t)}saveWitnesses(e,t,r,n){return this.args.source.saveWitnesses(e,t,r,n)}saveUpdate(e,t,r){return this.args.source.saveUpdate(e,t,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,t){return this.args.source.saveDeploy(e,t)}async getPayload(e){let t=await this.args.cache.getPayload(e);if(t)return t;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,t,r){return this.args.source.savePayload(e,t,r)}};var Tf={};Te(Tf,{Provider:()=>Rx});d();f();d();f();var C9="Webrpc",N9="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var rN;(function(s){s.Transactions="Transactions",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.Digest="Digest";})(rN||(rN={}));var rt;(function(s){s.EIP712="EIP712",s.EthSign="EthSign",s.EIP1271="EIP1271",s.Sapient="Sapient",s.SapientCompact="SapientCompact";})(rt||(rt={}));var w1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}ping=(e,t)=>this.fetch(this.url("Ping"),Vt({},e,t)).then(r=>Dt(r).then(n=>({})),r=>{throw At.new({cause:`fetch(): ${r.message||""}`})});config=(e,t,r)=>this.fetch(this.url("Config"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,config:i.config})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});tree=(e,t,r)=>this.fetch(this.url("Tree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});payload=(e,t,r)=>this.fetch(this.url("Payload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,t,r)=>this.fetch(this.url("Wallets"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,t,r)=>this.fetch(this.url("DeployHash"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});witness=(e,t,r)=>this.fetch(this.url("Witness"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({witness:i.witness})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,t,r)=>this.fetch(this.url("ConfigUpdates"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({updates:i.updates})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,t,r)=>this.fetch(this.url("Migrations"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({migrations:i.migrations})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,t,r)=>this.fetch(this.url("SaveConfig"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,t,r)=>this.fetch(this.url("SaveTree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,t,r)=>this.fetch(this.url("SavePayload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,t,r)=>this.fetch(this.url("SaveWallet"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,t,r)=>this.fetch(this.url("SaveSignature"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,t,r)=>this.fetch(this.url("SaveSignature2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures3"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,t,r)=>this.fetch(this.url("SaveMigration"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})})},Vt=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[C9]=N9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},Dt=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),b1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (k9[r]||us).new(t)}return t}),us=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},bx=class s extends us{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},At=class s extends us{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Sx=class s extends us{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},vx=class s extends us{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ex=class s extends us{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},b1=class s extends us{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},xx=class s extends us{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ax=class s extends us{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ix=class s extends us{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Cx=class s extends us{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Nx=class s extends us{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},kx=class s extends us{constructor(e="InvalidArgument",t=1,r="invalid argument",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Px=class s extends us{constructor(e="NotFound",t=2,r="not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},nN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InvalidArgument="InvalidArgument",s.NotFound="NotFound";})(nN||(nN={}));var iN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InvalidArgument=1]="InvalidArgument",s[s.NotFound=2]="NotFound";})(iN||(iN={}));var k9={0:bx,[-1]:At,[-2]:Sx,[-3]:vx,[-4]:Ex,[-5]:b1,[-6]:xx,[-7]:Ax,[-8]:Ix,[-9]:Cx,[-10]:Nx,1:kx,2:Px};var Rx=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new w1(e,fetch);}async getConfiguration(e){let{version:t,config:r}=await this.service.config({imageHash:e});if(t!==3)throw new Error(`invalid configuration version ${t}, expected version 3`);return B9(r)}async getDeploy(e){let{deployHash:t,context:r}=await this.service.deployHash({wallet:e});return R.assert(t),M.assert(r.factory),M.assert(r.mainModule),M.assert(r.mainModuleUpgradable),R.assert(r.walletCreationCode),{imageHash:t,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let t=await this.service.wallets({signer:e}),r=kr(t.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(M.assert(n),R.assert(i.signature),i.type){case rt.EIP712:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"hash",...$t.from(i.signature)}}];case rt.EthSign:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"eth_sign",...$t.from(i.signature)}}];case rt.EIP1271:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case rt.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,t){let r=await this.service.wallets({signer:e,sapientHash:t}),n=kr(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(M.assert(i),R.assert(a.signature),a.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case rt.Sapient:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case rt.SapientCompact:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,t){try{let{witness:r}=await this.service.witness({signer:t,wallet:e});switch(R.assert(r.signature),r.type){case rt.EIP712:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"hash",...$t.from(r.signature)}};case rt.EthSign:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"eth_sign",...$t.from(r.signature)}};case rt.EIP1271:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"erc1271",address:t,data:r.signature}};case rt.Sapient:throw new Error(`unexpected sapient signature by ${t}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${t}`)}}catch{}}async getWitnessForSapient(e,t,r){try{let{witness:n}=await this.service.witness({signer:t,wallet:e,sapientHash:r});switch(R.assert(n.signature),n.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${t}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${t}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${t}`);case rt.Sapient:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient",address:t,data:n.signature}};case rt.SapientCompact:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient_compact",address:t,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,t,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:t,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{R.assert(i),R.assert(a);let o=Zt.decodeSignature(R.toBytes(a)),{configuration:c}=await Zt.recover(o,e,0,we.fromConfigUpdate(i),{provider:T9});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:t,tree:r}=await this.service.tree({imageHash:e});if(t!==3)throw new Error(`invalid tree version ${t}, expected version 3`);return cN(r)}async getPayload(e){let{version:t,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(t!==3)throw new Error(`invalid payload version ${t}, expected version 3`);return M.assert(n),{payload:ur(r),wallet:n,chainId:Number(i)}}async saveWallet(e,t){await this.service.saveWallet({version:3,deployConfig:Bx(e),context:{version:3,factory:t.factory,mainModule:t.stage1,mainModuleUpgradable:t.stage2,guestModule:Xe.DefaultGuestAddress,walletCreationCode:t.creationCode}});}async saveWitnesses(e,t,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:Ox(r),chainID:t.toString(),signatures:Pf(n).map(i=>{switch(i.type){case"hash":return {type:rt.EIP712,signature:$t.toHex($t.from(i))};case"eth_sign":return {type:rt.EthSign,signature:$t.toHex($t.from(i))};case"erc1271":return {type:rt.EIP1271,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient":return {type:rt.Sapient,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient_compact":return {type:rt.SapientCompact,signer:i.address,signature:i.data,referenceChainID:t.toString()}}})});}async saveUpdate(e,t,r){await this.service.saveSignature2({wallet:e,payload:Ox(we.fromConfigUpdate(p.toHex(Ke.hashConfiguration(t)))),chainID:"0",signature:p.toHex(Zt.encodeSignature(r)),toConfig:Bx(t)});}async saveTree(e){await this.service.saveTree({version:3,tree:oN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:Bx(e)});}async saveDeploy(e,t){}async savePayload(e,t,r){await this.service.savePayload({version:3,payload:Ox(t),wallet:e,chainID:r.toString()});}},P9=[je.Dev1.passkeys,je.Dev2.passkeys,je.Rc3.passkeys,je.Rc4.passkeys,je.Rc5.passkeys].map(M.checksum),aN="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",Tx=me.from(aN),Vx=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let t=e.params[0];if(!t.data?.startsWith(me.getSelector(Tx)))throw new Error(`unknown selector ${t.data?.slice(0,10)}, expected selector ${me.getSelector(Tx)} for ${aN}`);if(!P9.includes(t.to?M.checksum(t.to):"0x"))throw new Error(`unknown passkey signer ${t.to}`);let[r,n]=me.decodeData(Tx,t.data),i=je.Passkeys.decode(R.toBytes(n));if(je.Passkeys.isValidSignature(r,i))return je.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},T9=new Vx;function Bx(s){return {threshold:Pr(s.threshold),checkpoint:Pr(s.checkpoint),checkpointer:s.checkpointer,tree:S1(s.topology)}}function B9(s){return s.checkpointer!==void 0&&M.assert(s.checkpointer),{threshold:BigInt(s.threshold),checkpoint:BigInt(s.checkpoint),checkpointer:s.checkpointer,topology:v1(s.tree)}}function S1(s){if(Ke.isNode(s))return [S1(s[0]),S1(s[1])];if(Ke.isSignerLeaf(s))return {weight:Pr(s.weight),address:s.address};if(Ke.isSapientSignerLeaf(s))return {weight:Pr(s.weight),address:s.address,imageHash:s.imageHash};if(Ke.isSubdigestLeaf(s))return {subdigest:s.digest};if(Ke.isAnyAddressSubdigestLeaf(s))return {subdigest:s.digest,isAnyAddress:!0};if(Ke.isNestedLeaf(s))return {weight:Pr(s.weight),threshold:Pr(s.threshold),tree:S1(s.tree)};if(Ke.isNodeLeaf(s))return s;throw new Error(`unknown topology '${JSON.stringify(s)}'`)}function v1(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return [v1(s[0]),v1(s[1])];if("weight"in s){if("address"in s)return M.assert(s.address),s.imageHash?(R.assert(s.imageHash),{type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash}):{type:"signer",address:s.address,weight:BigInt(s.weight)};if("tree"in s)return {type:"nested",weight:BigInt(s.weight),threshold:BigInt(s.threshold),tree:v1(s.tree)}}if("subdigest"in s)return R.assert(s.subdigest),{type:s.isAnyAddress?"any-address-subdigest":"subdigest",digest:s.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(s)}'`)}function Ox(s){if(we.isCalls(s))return {type:"call",space:Pr(s.space),nonce:Pr(s.nonce),calls:s.calls.map(O9)};if(we.isMessage(s))return {type:"message",message:s.message};if(we.isConfigUpdate(s))return {type:"config-update",imageHash:s.imageHash};if(we.isDigest(s))return {type:"digest",digest:s.digest};throw new Error(`unknown payload '${JSON.stringify(s)}'`)}function ur(s){switch(s.type){case"call":return {type:"call",space:BigInt(s.space),nonce:BigInt(s.nonce),calls:s.calls.map(R9)};case"message":return R.assert(s.message),{type:"message",message:s.message};case"config-update":return R.assert(s.imageHash),{type:"config-update",imageHash:s.imageHash};case"digest":return R.assert(s.digest),{type:"digest",digest:s.digest}}}function O9(s){return {to:s.to,value:Pr(s.value),data:s.data,gasLimit:Pr(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function R9(s){return M.assert(s.to),R.assert(s.data),{to:s.to,value:BigInt(s.value),data:s.data,gasLimit:BigInt(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function oN(s){if(js.isBranch(s))return s.map(oN);if(js.isLeaf(s))return {data:p.toHex(s.value)};if(js.isNode(s))return s;throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function cN(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return s.map(cN);if("data"in s)return R.assert(s.data),{type:"leaf",value:R.toBytes(s.data)}}throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function Pr(s){return s<Number.MIN_SAFE_INTEGER||s>Number.MAX_SAFE_INTEGER?s.toString():Number(s)}function Pf(s){if(Zt.isRawNode(s))return [...Pf(s[0]),...Pf(s[1])];if(Zt.isRawSignerLeaf(s))return [s.signature];if(Ke.isNestedLeaf(s))return Pf(s.tree);if(Zt.isRawNestedLeaf(s))return Pf(s.tree);if(Ke.isSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSapientSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSubdigestLeaf(s))return [];if(Ke.isAnyAddressSubdigestLeaf(s))return [];if(Ke.isNodeLeaf(s))return [];throw new Error(`unknown topology '${JSON.stringify(s)}'`)}d();f();function V9(s,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?R.fromBytes(e):e}function E1(s){return JSON.stringify(s,V9,2)}function x1(s){if(typeof s=="bigint")return s.toString();if(s instanceof Uint8Array)return R.fromBytes(s);if(typeof s=="string")return s.toLowerCase();if(Array.isArray(s))return s.map(x1);if(s&&typeof s=="object"){let e=[];for(let t of Object.keys(s).filter(r=>s[r]!==void 0).sort())e.push([t.toLowerCase(),x1(s[t])]);return e}return s}function D9(s,e){return JSON.stringify(x1(s))===JSON.stringify(x1(e))}function U9(s,e){let t={get(r,n,i){let a=s[n];return typeof a!="function"?Reflect.get(s,n):async(...o)=>{let c=String(n),u=E1(o),l;try{l=await a.apply(s,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
+ [${E}] warning: reference ${c} threw:`,w),w}let m=E1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let v=E[n];if(typeof v!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
350
350
  [${D}] reference returned: ${m}
351
351
  [${D}] warning: ${w} has no ${c}`);return}let A;try{A=v.apply(E,o),A=await Promise.resolve(A);}catch(D){let U=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${U}] calling ${c}: ${u}
352
352
  [${U}] reference returned: ${m}
353
- [${U}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");R9(l,A)?console.trace(`[${C}] calling ${c}: ${u}
353
+ [${U}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");D9(l,A)?console.trace(`[${C}] calling ${c}: ${u}
354
354
  [${C}] reference returned: ${m}
355
- [${C}] ${w} returned: ${x1(A)}`):console.trace(`[${C}] calling ${c}: ${u}
355
+ [${C}] ${w} returned: ${E1(A)}`):console.trace(`[${C}] calling ${c}: ${u}
356
356
  [${C}] reference returned: ${m}
357
- [${C}] ${w} returned: ${x1(A)}
358
- [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(s,t)}({knownContexts:Ka.KnownContexts,stateProvider:new Tf.Provider,guest:Xe.DefaultGuestAddress});d();f();d();f();d();f();d();f();d();f();d();f();d();f();var Bf={};Te(Bf,{EIP1193ProviderAdapter:()=>Xa,EIP6963:()=>C2,LocalRelayer:()=>Za,PkRelayer:()=>v2,RpcRelayer:()=>S2,SequenceRelayer:()=>E2,getChain:()=>yN,isRelayer:()=>K9});d();f();d();f();d();f();var Ut;(function(s){s.UNKNOWN="UNKNOWN",s.DROPPED="DROPPED",s.QUEUED="QUEUED",s.SENT="SENT",s.SUCCEEDED="SUCCEEDED",s.PARTIALLY_FAILED="PARTIALLY_FAILED",s.FAILED="FAILED",s.PENDING_PRECONDITION="PENDING_PRECONDITION";})(Ut||(Ut={}));var hN;(function(s){s.SEND="SEND",s.RECEIVE="RECEIVE",s.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",s.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",s.BURN="BURN",s.UNKNOWN="UNKNOWN";})(hN||(hN={}));var fN;(function(s){s.SKIPPED="SKIPPED",s.SUCCEEDED="SUCCEEDED",s.FAILED="FAILED",s.ABORTED="ABORTED",s.REVERTED="REVERTED",s.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(fN||(fN={}));var I1;(function(s){s.UNKNOWN="UNKNOWN",s.ERC20_TOKEN="ERC20_TOKEN",s.ERC1155_TOKEN="ERC1155_TOKEN";})(I1||(I1={}));var dN;(function(s){s.DESC="DESC",s.ASC="ASC";})(dN||(dN={}));var mu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,t)=>this.fetch(this.url("Ping"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"PingReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,t)=>this.fetch(this.url("Version"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"VersionReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,t)=>this.fetch(this.url("RuntimeStatus"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"RuntimeStatusReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,t)=>this.fetch(this.url("GetSequenceContext"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetSequenceContextReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,t)=>this.fetch(this.url("GetChainID"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetChainIDReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,t,r)=>this.fetch(this.url("SendMetaTxn"),ze(lt(e,"SendMetaTxnArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SendMetaTxnReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,t,r)=>this.fetch(this.url("GetMetaTxnNonce"),ze(lt(e,"GetMetaTxnNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,t,r)=>this.fetch(this.url("GetMetaTxnReceipt"),ze(lt(e,"GetMetaTxnReceiptArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnReceiptReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,t,r)=>this.fetch(this.url("Simulate"),ze(lt(e,"SimulateArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,t,r)=>this.fetch(this.url("SimulateV3"),ze(lt(e,"SimulateV3Args"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateV3Return")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,t,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),ze(lt(e,"UpdateMetaTxnGasLimitsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,t)=>this.fetch(this.url("FeeTokens"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"FeeTokensReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,t,r)=>this.fetch(this.url("FeeOptions"),ze(lt(e,"FeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"FeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,t,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),ze(lt(e,"GetMetaTxnNetworkFeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,t,r)=>this.fetch(this.url("GetMetaTransactions"),ze(lt(e,"GetMetaTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,t,r)=>this.fetch(this.url("GetTransactionCost"),ze(lt(e,"GetTransactionCostArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetTransactionCostReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,t,r)=>this.fetch(this.url("SentTransactions"),ze(lt(e,"SentTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SentTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,t,r)=>this.fetch(this.url("PendingTransactions"),ze(lt(e,"PendingTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"PendingTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,t,r)=>this.fetch(this.url("GetGasTank"),ze(lt(e,"GetGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,t,r)=>this.fetch(this.url("AddGasTank"),ze(lt(e,"AddGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,t,r)=>this.fetch(this.url("UpdateGasTank"),ze(lt(e,"UpdateGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,t,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),ze(lt(e,"NextGasTankBalanceAdjustmentNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,t,r)=>this.fetch(this.url("AdjustGasTankBalance"),ze(lt(e,"AdjustGasTankBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustGasTankBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,t,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),ze(lt(e,"GetGasTankBalanceAdjustmentArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,t,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),ze(lt(e,"ListGasTankBalanceAdjustmentsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,t,r)=>this.fetch(this.url("ListGasSponsors"),ze(lt(e,"ListGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,t,r)=>this.fetch(this.url("GetGasSponsor"),ze(lt(e,"GetGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,t,r)=>this.fetch(this.url("AddGasSponsor"),ze(lt(e,"AddGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,t,r)=>this.fetch(this.url("UpdateGasSponsor"),ze(lt(e,"UpdateGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,t,r)=>this.fetch(this.url("RemoveGasSponsor"),ze(lt(e,"RemoveGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"RemoveGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,t,r)=>this.fetch(this.url("AddressGasSponsors"),ze(lt(e,"AddressGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddressGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,t,r)=>this.fetch(this.url("GetProjectBalance"),ze(lt(e,"GetProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,t,r)=>this.fetch(this.url("AdjustProjectBalance"),ze(lt(e,"AdjustProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},ze=(s="{}",e={},t=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:s,signal:t}),Ye=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){throw Ya.new({status:s.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (L9[r]||Ue).new(t)}return t}),gN={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function Ux(s,e){if(e==null||typeof e!="object")return e;let t=gN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=Ux(i,o[c]);}else e[n]&&(e[n]=Ux(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function Lx(s,e){if(e==null||typeof e!="object")return e;let t=gN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=Lx(a,c[u]);}else e[i]&&(e[i]=Lx(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw Ya.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw Ya.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var lt=(s,e="")=>JSON.stringify(Ux(e,s)),Ze=(s,e="")=>{let t=s;if(typeof s=="string")try{t=JSON.parse(s);}catch(r){throw Ya.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return Lx(e,t)},Ue=class s extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},jx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ge=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Hx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},_x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Mx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ya=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},$x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Fx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Kx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Gx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Wx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Jx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Yx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Xx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},e2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},t2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},s2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},r2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},n2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},i2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},a2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},o2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},c2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},u2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},l2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},h2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},f2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},d2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},m2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},p2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},g2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},y2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},w2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},b2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},mN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientAborted="WebrpcClientAborted",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.ProjectNotFound="ProjectNotFound",s.AccessKeyNotFound="AccessKeyNotFound",s.AccessKeyMismatch="AccessKeyMismatch",s.InvalidOrigin="InvalidOrigin",s.InvalidService="InvalidService",s.UnauthorizedUser="UnauthorizedUser",s.QuotaExceeded="QuotaExceeded",s.QuotaRateLimit="QuotaRateLimit",s.NoDefaultKey="NoDefaultKey",s.MaxAccessKeys="MaxAccessKeys",s.AtLeastOneKey="AtLeastOneKey",s.Timeout="Timeout",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.NotFound="NotFound",s.InsufficientFee="InsufficientFee",s.NotEnoughBalance="NotEnoughBalance",s.SimulationFailed="SimulationFailed";})(mN||(mN={}));var pN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientAborted=-8]="WebrpcClientAborted",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.ProjectNotFound=1008]="ProjectNotFound",s[s.AccessKeyNotFound=1101]="AccessKeyNotFound",s[s.AccessKeyMismatch=1102]="AccessKeyMismatch",s[s.InvalidOrigin=1103]="InvalidOrigin",s[s.InvalidService=1104]="InvalidService",s[s.UnauthorizedUser=1105]="UnauthorizedUser",s[s.QuotaExceeded=1200]="QuotaExceeded",s[s.QuotaRateLimit=1201]="QuotaRateLimit",s[s.NoDefaultKey=1300]="NoDefaultKey",s[s.MaxAccessKeys=1301]="MaxAccessKeys",s[s.AtLeastOneKey=1302]="AtLeastOneKey",s[s.Timeout=1900]="Timeout",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.NotFound=3e3]="NotFound",s[s.InsufficientFee=3004]="InsufficientFee",s[s.NotEnoughBalance=3005]="NotEnoughBalance",s[s.SimulationFailed=3006]="SimulationFailed";})(pN||(pN={}));var L9={0:jx,[-1]:Ge,[-2]:Hx,[-3]:_x,[-4]:Mx,[-5]:Ya,[-6]:$x,[-7]:qx,[-8]:Fx,[-9]:Kx,[-10]:Gx,1e3:Wx,1001:Jx,1002:zx,1003:Yx,1004:Zx,1005:Xx,1006:Qx,1007:e2,1008:t2,1101:s2,1102:r2,1103:n2,1104:i2,1105:a2,1200:o2,1201:c2,1300:u2,1301:l2,1302:h2,1900:f2,2001:d2,2002:m2,2003:p2,3e3:g2,3004:y2,3005:w2,3006:b2};d();f();d();f();var C1=class{address;min;max;constructor(e,t,r){this.address=e,this.min=t,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},N1=class{address;token;min;max;constructor(e,t,r,n){this.address=e,this.token=t,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},k1=class{address;token;operator;min;constructor(e,t,r,n){this.address=e,this.token=t,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},P1=class{address;token;tokenId;owned;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},T1=class{address;token;tokenId;operator;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},B1=class{address;token;tokenId;min;max;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},O1=class{address;token;tokenId;operator;min;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();f();function R1(s){if(!s)return;let e;try{switch(s.type){case"native-balance":e=new C1(M.from(s.ownerAddress),s.minAmount,void 0);break;case"erc20-balance":e=new N1(M.from(s.ownerAddress),M.from(s.tokenAddress),s.minAmount,void 0);break;case"erc20-approval":e=new k1(M.from(s.ownerAddress),M.from(s.tokenAddress),M.from(s.ownerAddress),s.minAmount);break;case"erc721-ownership":e=new P1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new T1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress));break;case"erc1155-balance":e=new B1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),s.minAmount,void 0);break;case"erc1155-approval":e=new O1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress),s.minAmount);break;default:return}let t=e.isValid();if(t){console.warn(`Invalid precondition: ${t.message}`);return}return e}catch(t){console.warn(`Failed to decode precondition: ${t}`);return}}d();f();d();f();var V1=de.from("function balanceOf(address) returns (uint256)"),D1=de.from("function allowance(address,address) returns (uint256)"),U1=de.from("function ownerOf(uint256) returns (address)"),L1=de.from("function getApproved(uint256) returns (address)"),j1=de.from("function balanceOf(address,uint256) returns (uint256)"),H1=de.from("function isApprovedForAll(address,address) returns (bool)");var q9=s=>({id:s.chainId,name:s.title||s.name,nativeCurrency:{name:s.nativeCurrency.name,symbol:s.nativeCurrency.symbol,decimals:s.nativeCurrency.decimals},rpcUrls:{default:{http:[s.rpcUrl]}},blockExplorers:s.blockExplorer?{default:{name:s.blockExplorer.name||"Explorer",url:s.blockExplorer.url}}:void 0,contracts:s.ensAddress?{ensUniversalResolver:{address:s.ensAddress}}:void 0}),yN=s=>{let e=Wa.getNetworkFromChainId(s);if(e)return q9(e);let t=Object.values($9).find(r=>typeof r=="object"&&"id"in r&&r.id===s);if(t)return t;throw new Error(`Chain with id ${s} not found in Sequence networks or viem chains`)},S2=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,t,r,n,i){this.id=`rpc:${e}`,this.chainId=t,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new mu(e,this.fetch);let o=yN(t);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,t){return Promise.resolve(this.chainId===t)}async feeTokens(){try{let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.client.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,t,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=we.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:p.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,t,r,n,i,a){console.log("sendMetaTxn",e,t,r,n,i,a);let o={walletAddress:e,contract:t,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:R.fromString(c.txnHash)}}async relay(e,t,r,n,i){console.log("relay",e,t,r,n,i);let a={walletAddress:e,contract:e,input:t},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,t){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case Ut.QUEUED:case Ut.PENDING_PRECONDITION:case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case Ut.FAILED:case Ut.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case Ut.DROPPED:return {status:"failed",reason:"Transaction dropped"};case Ut.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let t=R1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=t;try{let n=de.encodeData(V1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=t;try{let n=de.encodeData(D1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=t;try{let n=de.encodeData(U1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=t;try{let n=de.encodeData(L1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=t;try{let n=de.encodeData(j1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=t;try{let n=de.encodeData(H1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===I1.ERC20_TOKEN&&e.contractAddress?M.from(e.contractAddress):Xe.ZeroAddress}};d();f();d();f();var Za=class s{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,t){return Promise.resolve(!0)}static createFromWindow(e){let t=e.ethereum;if(!t){console.warn("Window.ethereum not found, skipping local relayer");return}return new s(new Xa(t))}static createFromProvider(e){return new s(new Xa(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,t,r){return Promise.resolve({options:[]})}decodeCalls(e){let t=de.getSelector(Xe.EXECUTE),r;return e.startsWith(t)?r=de.decodeData(Xe.EXECUTE,e)[0]:r=e,we.decode(p.fromHex(r))}async relay(e,t,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:t},r)}:new Promise((c,u)=>{let l,m=!1,w=async()=>{try{if(m)return;if(await o()){m=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:t},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){m=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{m=!0,clearTimeout(l);}})}async status(e,t){let r=await this.provider.getTransactionReceipt(e,t);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let t=R1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=t,n=de.encodeData(V1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=t,n=de.encodeData(D1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=t,n=de.encodeData(U1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=t,n=de.encodeData(L1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=t,n=de.encodeData(j1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=t,n=de.encodeData(H1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},Xa=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(t){console.error("Error switching chain",t);}}async sendTransaction(e,t){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(t),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let t=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(t)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,t){await this.trySwitchChain(t);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=su.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();f();var v2=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,t){this.provider=t;let r=M.fromPublicKey(Yt.getPublicKey({privateKey:e}));this.relayer=new Za({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),m=100000000n,w=l+m,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let v=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),A=$a.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:m,nonce:v,value:0n}),C=Yt.sign({payload:$a.getSignPayload(A),privateKey:e}),D=$a.from(A,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[$a.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(R.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?su.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,t){return Number(await this.provider.request({method:"eth_chainId"}))===t}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return !0}};d();f();var E2=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new mu(e,fetch);}async isAvailable(e,t){return !0}async feeTokens(){let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.service.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,t,r){let n=e,i=de.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=we.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=de.encodeData(i,[p.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,t,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:t},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,t){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case Ut.UNKNOWN:return {status:"unknown"};case Ut.DROPPED:return {status:"failed",reason:n??r};case Ut.QUEUED:return {status:"pending"};case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return R.assert(o),{status:"confirmed",transactionHash:o}}case Ut.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case Ut.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var C2={};Te(C2,{EIP6963Relayer:()=>_1,getEIP6963Store:()=>bN,getRelayers:()=>F9});d();f();d();f();d();f();d();f();function wN(s){if(typeof window>"u")return;let e=t=>s(t.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function x2(){let s=new Set,e=[],t=()=>wN(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],s.forEach(i=>i(e,{added:[n]})));}),r=t();return {_listeners(){return s},clear(){s.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),s.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=t();},subscribe(n,{emitImmediately:i}={}){return s.add(n),i&&n(e,{added:e}),()=>s.delete(n)}}}var _1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new Za(new Xa(e.provider));}isAvailable(e,t){return this.relayer.isAvailable(e,t)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},A2;function bN(){return A2||(A2=x2()),A2}var I2=new Map;function F9(){let e=bN().getProviders();for(let t of e)I2.has(t.info.uuid)||I2.set(t.info.uuid,new _1(t));return Array.from(I2.values())}d();f();function K9(s){return "isAvailable"in s&&"feeOptions"in s&&"relay"in s&&"status"in s&&"checkPrecondition"in s}d();f();d();f();d();f();d();f();var Q={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},ht={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},Be={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Tr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},gt=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},pu={MIN:-(2n**63n),MAX:2n**64n-1n};d();f();var Pe=class s{static#e=new Map;tag;contents;constructor(e,t=void 0){this.tag=e,this.contents=t;}get noChildren(){return !!s.#e.get(this.tag)?.noChildren}static registerDecoder(e,t,r){let n=this.#e.get(e);return this.#e.set(e,t),n&&("comment"in t||(t.comment=n.comment),"noChildren"in t||(t.noChildren=n.noChildren)),r&&!t.comment&&(t.comment=()=>`(${r})`),n}static clearDecoder(e){let t=this.#e.get(e);return this.#e.delete(e),t}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let t=s.#e.get(this.tag);return t?t(this,e):this}comment(e,t){let r=s.#e.get(this.tag);if(r?.comment)return r.comment(this,e,t)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `${this.tag}(${r(this.contents,t)})`}};d();f();function ii(s){if(s!=null&&typeof s=="object")return s[gt.ENCODED]}function SN(s){if(s!=null&&typeof s=="object")return s[gt.LENGTH]}function ai(s,e){Object.defineProperty(s,gt.ENCODED,{configurable:!0,enumerable:!1,value:e});}function oi(s,e){let t=Object(s);return ai(t,e),t}d();f();var N2=Symbol("CBOR_RANGES");function vN(s,e){Object.defineProperty(s,N2,{configurable:!1,enumerable:!1,writable:!1,value:e});}function Of(s){return s[N2]}function G9(s){return Of(s)!==void 0}function Rf(s,e=0,t=s.length-1){let r=s.subarray(e,t),n=Of(s);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=t){let o=[...a];o[0]-=e,i.push(o);}i.length&&vN(r,i);}return r}function M1(s){let e=Math.ceil(s.length/2),t=new Uint8Array(e);e--;for(let r=s.length,n=r-2;r>=0;r=n,n-=2,e--)t[e]=parseInt(s.substring(n,r),16);return t}function Xt(s){return s.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function EN(s){let e=s.reduce((a,o)=>a+o.length,0),t=s.some(a=>G9(a)),r=[],n=new Uint8Array(e),i=0;for(let a of s){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),t){let o=a[N2]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return t&&vN(n,r),n}function Vf(s){let e=atob(s);return Uint8Array.from(e,t=>t.codePointAt(0))}var W9={"-":"+",_:"/"};function xN(s){let e=s.replace(/[_-]/g,t=>W9[t]);return Vf(e.padEnd(Math.ceil(e.length/4)*4,"="))}function AN(){let s=new Uint8Array(4),e=new Uint32Array(s.buffer);return !((e[0]=1)&s[0])}function k2(s){let e="";for(let t of s){let r=t.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();f();d();f();function $1(s,e){let[t,r,n]=s,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();f();var Df=class s{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...s.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),t=0;for(let r of this.#s)e.set(r,t),t+=r.length;return this.#i(),e}write(e){let t=e.length;t>this.#u()?(this.#n(),t>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=t)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=t),this.#a+=t;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,t=!1){this.#c(2),this.#r.setUint16(this.#t,e,t),this.#o(2);}writeUint32(e,t=!1){this.#c(4),this.#r.setUint32(this.#t,e,t),this.#o(4);}writeBigUint64(e,t=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,t),this.#o(8);}writeInt16(e,t=!1){this.#c(2),this.#r.setInt16(this.#t,e,t),this.#o(2);}writeInt32(e,t=!1){this.#c(4),this.#r.setInt32(this.#t,e,t),this.#o(4);}writeBigInt64(e,t=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,t),this.#o(8);}writeFloat32(e,t=!1){this.#c(4),this.#r.setFloat32(this.#t,e,t),this.#o(4);}writeFloat64(e,t=!1){this.#c(8),this.#r.setFloat64(this.#t,e,t),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();f();function P2(s,e=0,t=!1){let r=s[e]&128?-1:1,n=(s[e]&124)>>2,i=(s[e]&3)<<8|s[e+1];if(n===0){if(t&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function q1(s){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,s,!1);let t=e.getUint32(0,!1);if(t&8191)return null;let r=t>>16&32768,n=t>>23&255,i=t&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function IN(s){if(s!==0){let e=new ArrayBuffer(8),t=new DataView(e);t.setFloat64(0,s,!1);let r=t.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return s}function CN(s){switch(s.length){case 2:P2(s,0,!0);break;case 4:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getUint32(0,!1);if(!(t&2139095040)&&t&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getBigUint64(0,!1);if((t&0x7ff0000000000000n)===0n&&t&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${s}`)}}var NN=Q.SIMPLE_FLOAT<<5|Be.TWO,J9=Q.SIMPLE_FLOAT<<5|Be.FOUR,z9=Q.SIMPLE_FLOAT<<5|Be.EIGHT,Y9=Q.SIMPLE_FLOAT<<5|Tr.TRUE,Z9=Q.SIMPLE_FLOAT<<5|Tr.FALSE,X9=Q.SIMPLE_FLOAT<<5|Tr.UNDEFINED,Q9=Q.SIMPLE_FLOAT<<5|Tr.NULL,eD=new TextEncoder,F1={...Df.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},O2={cde:!0,ignoreOriginalEncoding:!0,sortKeys:$1},kN={...O2,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function PN(s){let e=s<0;return typeof s=="bigint"?[e?-s-1n:s,e]:[e?-s-1:s,e]}function T2(s,e,t){if(t.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${s}`);if(isNaN(s))e.writeUint8(NN),e.writeUint16(32256);else if(!t.float64&&Math.fround(s)===s){let r=q1(s);r===null?(e.writeUint8(J9),e.writeFloat32(s)):(e.writeUint8(NN),e.writeUint16(r));}else e.writeUint8(z9),e.writeFloat64(s);}function Hs(s,e,t){let[r,n]=PN(s);if(n&&t)throw new TypeError(`Negative size: ${s}`);t??=n?Q.NEG_INT:Q.POS_INT,t<<=5,r<24?e.writeUint8(t|r):r<=255?(e.writeUint8(t|Be.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(t|Be.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(t|Be.FOUR),e.writeUint32(r)):(e.writeUint8(t|Be.EIGHT),e.writeBigUint64(BigInt(r)));}function Uf(s,e,t){typeof s=="number"?Hs(s,e,Q.TAG):typeof s=="object"&&!t.ignoreOriginalEncoding&&gt.ENCODED in s?e.write(s[gt.ENCODED]):s<=Number.MAX_SAFE_INTEGER?Hs(Number(s),e,Q.TAG):(e.writeUint8(Q.TAG<<5|Be.EIGHT),e.writeBigUint64(BigInt(s)));}function TN(s,e,t){let[r,n]=PN(s);if(t.collapseBigInts&&(!t.largeNegativeAsBigInt||s>=-0x8000000000000000n)){if(r<=0xffffffffn){Hs(Number(s),e);return}if(r<=0xffffffffffffffffn){let u=(n?Q.NEG_INT:Q.POS_INT)<<5;e.writeUint8(u|Be.EIGHT),e.writeBigUint64(r);return}}if(t.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${s}`);let i=n?ht.NEG_BIGINT:ht.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Uf(i,e,t);let c=M1(o+a);Hs(c.length,e,Q.BYTE_STRING),e.write(c);}function tD(s,e,t){t.flushToZero&&(s=IN(s)),Object.is(s,-0)?t.simplifyNegativeZero?t.avoidInts?T2(0,e,t):Hs(0,e):T2(s,e,t):!t.avoidInts&&Number.isSafeInteger(s)?Hs(s,e):t.reduceUnsafeNumbers&&Math.floor(s)===s&&s>=pu.MIN&&s<=pu.MAX?TN(BigInt(s),e,t):T2(s,e,t);}function sD(s,e,t){let r=t.stringNormalization?s.normalize(t.stringNormalization):s,n=eD.encode(r);Hs(n.length,e,Q.UTF8_STRING),e.write(n);}function rD(s,e,t){let r=s;K1(r,r.length,Q.ARRAY,e,t);for(let n of r)ci(n,e,t);}function nD(s,e){let t=s;Hs(t.length,e,Q.BYTE_STRING),e.write(t);}var B2=new Map([[Array,rD],[Uint8Array,nD]]);function bt(s,e){let t=B2.get(s);return B2.set(s,e),t}function K1(s,e,t,r,n){let i=SN(s);i&&!n.ignoreOriginalEncoding?r.write(i):Hs(e,r,t);}function iD(s,e,t){if(s===null){e.writeUint8(Q9);return}if(!t.ignoreOriginalEncoding&&gt.ENCODED in s){e.write(s[gt.ENCODED]);return}let r=B2.get(s.constructor);if(r){let i=r(s,e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toCBOR=="function"){let i=s.toCBOR(e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toJSON=="function"){ci(s.toJSON(),e,t);return}let n=Object.entries(s).map(i=>[i[0],i[1],an(i[0],t)]);t.sortKeys&&n.sort(t.sortKeys),K1(s,n.length,Q.MAP,e,t);for(let[i,a,o]of n)e.write(o),ci(a,e,t);}function ci(s,e,t){switch(typeof s){case"number":tD(s,e,t);break;case"bigint":TN(s,e,t);break;case"string":sD(s,e,t);break;case"boolean":e.writeUint8(s?Y9:Z9);break;case"undefined":if(t.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(X9);break;case"object":iD(s,e,t);break;case"symbol":throw new TypeError(`Unknown symbol: ${s.toString()}`);default:throw new TypeError(`Unknown type: ${typeof s}, ${String(s)}`)}}function an(s,e={}){let t={...F1};e.dcbor?Object.assign(t,kN):e.cde&&Object.assign(t,O2),Object.assign(t,e);let r=new Df(t);return ci(s,r,t),r.read()}d();f();d();f();var Qa=(s=>(s[s.NEVER=-1]="NEVER",s[s.PREFERRED=0]="PREFERRED",s[s.ALWAYS=1]="ALWAYS",s))(Qa||{});d();f();d();f();var lr=class s{static KnownSimple=new Map([[Tr.FALSE,!1],[Tr.TRUE,!0],[Tr.NULL,null],[Tr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return s.KnownSimple.has(e)?s.KnownSimple.get(e):new s(e)}toCBOR(e,t){if(t.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);Hs(this.value,e,Q.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return s.KnownSimple.has(this.value)?s.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `simple(${r(this.value,t)})`}};var aD=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),on=class s{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,t){if(this.#t={...s.defaultOptions,...t},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=M1(e);break;case"base64":this.#e=Vf(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return Rf(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let t=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case Be.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===Q.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case Be.TWO:if(c=2,n===Q.SIMPLE_FLOAT)a=P2(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case Be.FOUR:if(c=4,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case Be.EIGHT:{if(c=8,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case Be.INDEFINITE:switch(n){case Q.POS_INT:case Q.NEG_INT:case Q.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case Q.SIMPLE_FLOAT:yield [n,i,gt.BREAK,t,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case Q.POS_INT:yield [n,i,a,t,c];break;case Q.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),t,c];break;case Q.BYTE_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,this.#i(a),t,a];break;case Q.UTF8_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,aD.decode(this.#i(a)),t,a];break;case Q.ARRAY:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case Q.MAP:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case Q.TAG:yield [n,i,a,t,c],yield*this.#a(e);break;case Q.SIMPLE_FLOAT:{let u=a;o&&(a=lr.create(Number(a))),yield [n,i,a,t,u];break}}}#i(e){let t=Rf(this.#e,this.#r,this.#r+=e);if(t.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${t.length}`);return t}*#n(e,t,r,n=!0){for(yield [e,Be.INDEFINITE,1/0,r,1/0];;){let i=this.#a(t),a=i.next(),[o,c,u]=a.value;if(u===gt.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===Be.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var oD=new Map([[Be.ZERO,1],[Be.ONE,2],[Be.TWO,3],[Be.FOUR,5],[Be.EIGHT,9]]),cD=new Uint8Array(0);function uD(s,e){return !e.boxed&&!e.preferMap&&s.every(([t])=>typeof t=="string")?Object.fromEntries(s):new Map(s)}var vs=class s{static defaultDecodeOptions={...on.defaultOptions,ParentType:s,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:Qa.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:uD,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:$1};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,t,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=t,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===Q.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===Be.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,t,r,n){let[i,a,o,c]=e;switch(i){case Q.POS_INT:case Q.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=pu.MIN&&u<=pu.MAX&&(u=Number(o)),r.boxed?oi(u,n.toHere(c)):u}case Q.SIMPLE_FLOAT:if(a>Be.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${Xt(u)}"`)}if(r.rejectSubnormals&&CN(n.toHere(c+1)),r.rejectLongFloats){let u=an(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<oD.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return oi(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof lr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case Q.BYTE_STRING:case Q.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,t,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${k2(o)}] instead of [${k2(u)}]`)}return r.boxed?oi(o,n.toHere(c)):o;case Q.ARRAY:return new r.ParentType(e,o,t,r);case Q.MAP:return new r.ParentType(e,o*2,t,r);case Q.TAG:{let u=new r.ParentType(e,1,t,r);return u.children=new Pe(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...F1,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,t,r){if(this.children.push(e),this.#s){let n=ii(e)||t.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,t,r){let n,i=-1/0;if(this.children instanceof Pe?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=ii(e)||r.toHere(t.offset);this.#s[i]=a;}return n}convert(e){let t;switch(this.mt){case Q.ARRAY:t=this.children;break;case Q.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}t=this.#e.createObject(r,this.#e);break}case Q.BYTE_STRING:return EN(this.children);case Q.UTF8_STRING:{let r=this.children.join("");t=this.#e.boxed?oi(r,e.toHere(this.offset)):r;break}case Q.TAG:t=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&t&&typeof t=="object"&&ai(t,e.toHere(this.offset)),t}#r(){let e=this.children,t=e.length;if(t%2)throw new Error("Missing map value");let r=new Array(t/2);if(this.#s)for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],cD];return r}};d();f();d();f();var R2=" ",lD=new TextEncoder,G1=class extends vs{close="";quote='"';get isEmptyStream(){return (this.mt===Q.UTF8_STRING||this.mt===Q.BYTE_STRING)&&this.count===0}};function ui(s,e,t,r){let n="";if(e===Be.INDEFINITE)n+="_";else {if(r.diagnosticSizes===Qa.NEVER)return "";{let i=r.diagnosticSizes===Qa.ALWAYS;if(!i){let a=Be.ZERO;if(Object.is(t,-0))a=Be.TWO;else if(s===Q.POS_INT||s===Q.NEG_INT){let o=t<0,c=typeof t=="bigint"?1n:1,u=o?-t-c:t;u<=23?a=Number(u):u<=255?a=Be.ONE:u<=65535?a=Be.TWO:u<=4294967295?a=Be.FOUR:a=Be.EIGHT;}else isFinite(t)?Math.fround(t)===t?q1(t)==null?a=Be.FOUR:a=Be.TWO:a=Be.EIGHT:a=Be.TWO;i=a!==e;}i&&(n+="_",e<Be.ONE?n+="i":n+=String(e-24));}}return n}function V2(s,e){let t={...vs.defaultDecodeOptions,...e,ParentType:G1},r=new on(s,t),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==gt.BREAK&&(n.mt===Q.MAP&&n.count%2?a+=": ":(a+=",",t.pretty||(a+=" "))),t.pretty&&(n.mt!==Q.MAP||n.count%2===0)&&(a+=`
359
- ${R2.repeat(n.depth+1)}`)),i=vs.create(o,n,t,r),c){case Q.POS_INT:case Q.NEG_INT:a+=String(l),a+=ui(c,u,l,t);break;case Q.SIMPLE_FLOAT:if(l!==gt.BREAK)if(typeof l=="number"){let m=Object.is(l,-0)?"-0.0":String(l);a+=m,isFinite(l)&&!/[.e]/.test(m)&&(a+=".0"),a+=ui(c,u,l,t);}else l instanceof lr?(a+="simple(",a+=String(l.value),a+=ui(Q.POS_INT,u,l.value,t),a+=")"):a+=String(l);break;case Q.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=Xt(l),a+="'",a+=ui(Q.POS_INT,u,l.length,t));break;case Q.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=ui(Q.POS_INT,u,lD.encode(l).length,t));break;case Q.ARRAY:{a+="[";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
360
- ${R2.repeat(i.depth)}]`:i.close="]";break}case Q.MAP:{a+="{";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
361
- ${R2.repeat(i.depth)}}`:i.close="}";break}case Q.TAG:a+=String(l),a+=ui(Q.POS_INT,u,l,t),a+="(",i.close=")";break}if(i===gt.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof G1&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===Q.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var hD=new TextDecoder,jf=class extends vs{depth=0;leaf=!1;value;length;[gt.ENCODED];constructor(e,t,r,n){super(e,t,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case Be.ONE:return 1;case Be.TWO:return 2;case Be.FOUR:return 4;case Be.EIGHT:return 8}return 0}};function BN(s){return s instanceof jf}function W1(s,e){return s===1/0?"Indefinite":e?`${s} ${e}${s!==1&&s!==1n?"s":""}`:String(s)}function Lf(s){return "".padStart(s," ")}function ON(s,e,t){let r="";r+=Lf(s.depth*2);let n=ii(s);r+=Xt(n.subarray(0,1));let i=s.numBytes();i&&(r+=" ",r+=Xt(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",t!==void 0&&(r+=Lf(s.depth*2),t!==""&&(r+=`[${t}] `));let a=!1,[o]=s.children;switch(s.mt){case Q.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.BYTE_STRING:r+=`Bytes (Length: ${W1(s.length)})`;break;case Q.UTF8_STRING:r+=`UTF8 (Length: ${W1(s.length)})`,s.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case Q.ARRAY:r+=`Array (Length: ${W1(s.value,"item")})`;break;case Q.MAP:r+=`Map (Length: ${W1(s.value,"pair")})`;break;case Q.TAG:{r+=`Tag #${s.value}`;let c=s.children,[u]=c.contents.children,l=new Pe(c.tag,u);ai(l,n);let m=l.comment(e,s.depth);m&&(r+=": ",r+=m),a||=l.noChildren;break}case Q.SIMPLE_FLOAT:o===gt.BREAK?r+="BREAK":s.ai>Be.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof lr?r+=o.value:r+=o);break}if(!a)if(s.leaf){if(r+=`
362
- `,n.length>i+1){let c=Lf((s.depth+1)*2),u=Of(n);if(u?.length){u.sort((m,w)=>m[0]-w[0]||w[1]-m[1]);let l=0;for(let[m,w,E]of u)if(!(m<l)){if(l=m+w,E==="<<"){r+=Lf(e.minCol+1),r+="--",r+=c,r+="<< ";let v=Rf(n,m,m+w),A=Of(v);if(A){let C=A.findIndex(([D,U,T])=>D===0&&U===w&&T==="<<");C>=0&&A.splice(C,1);}r+=V2(v),r+=` >>
363
- `,r+=J1(v,{initialDepth:s.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Lf(e.minCol+1),r+="--",r+=c,r+="'",r+=hD.decode(n.subarray(m,m+w)),r+=`'
357
+ [${C}] ${w} returned: ${E1(A)}
358
+ [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(s,t)}({knownContexts:Ka.KnownContexts,stateProvider:new Tf.Provider,guest:Xe.DefaultGuestAddress});d();f();d();f();d();f();d();f();d();f();d();f();d();f();var Bf={};Te(Bf,{EIP1193ProviderAdapter:()=>Xa,EIP6963:()=>I2,LocalRelayer:()=>Za,PkRelayer:()=>S2,RpcRelayer:()=>b2,SequenceRelayer:()=>v2,getChain:()=>gN,isRelayer:()=>W9});d();f();d();f();d();f();var Ut;(function(s){s.UNKNOWN="UNKNOWN",s.DROPPED="DROPPED",s.QUEUED="QUEUED",s.SENT="SENT",s.SUCCEEDED="SUCCEEDED",s.PARTIALLY_FAILED="PARTIALLY_FAILED",s.FAILED="FAILED",s.PENDING_PRECONDITION="PENDING_PRECONDITION";})(Ut||(Ut={}));var lN;(function(s){s.SEND="SEND",s.RECEIVE="RECEIVE",s.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",s.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",s.BURN="BURN",s.UNKNOWN="UNKNOWN";})(lN||(lN={}));var hN;(function(s){s.SKIPPED="SKIPPED",s.SUCCEEDED="SUCCEEDED",s.FAILED="FAILED",s.ABORTED="ABORTED",s.REVERTED="REVERTED",s.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(hN||(hN={}));var A1;(function(s){s.UNKNOWN="UNKNOWN",s.ERC20_TOKEN="ERC20_TOKEN",s.ERC1155_TOKEN="ERC1155_TOKEN";})(A1||(A1={}));var fN;(function(s){s.DESC="DESC",s.ASC="ASC";})(fN||(fN={}));var mu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,t)=>this.fetch(this.url("Ping"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"PingReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,t)=>this.fetch(this.url("Version"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"VersionReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,t)=>this.fetch(this.url("RuntimeStatus"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"RuntimeStatusReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,t)=>this.fetch(this.url("GetSequenceContext"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetSequenceContextReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,t)=>this.fetch(this.url("GetChainID"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetChainIDReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,t,r)=>this.fetch(this.url("SendMetaTxn"),ze(lt(e,"SendMetaTxnArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SendMetaTxnReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,t,r)=>this.fetch(this.url("GetMetaTxnNonce"),ze(lt(e,"GetMetaTxnNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,t,r)=>this.fetch(this.url("GetMetaTxnReceipt"),ze(lt(e,"GetMetaTxnReceiptArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnReceiptReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,t,r)=>this.fetch(this.url("Simulate"),ze(lt(e,"SimulateArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,t,r)=>this.fetch(this.url("SimulateV3"),ze(lt(e,"SimulateV3Args"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateV3Return")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,t,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),ze(lt(e,"UpdateMetaTxnGasLimitsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,t)=>this.fetch(this.url("FeeTokens"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"FeeTokensReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,t,r)=>this.fetch(this.url("FeeOptions"),ze(lt(e,"FeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"FeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,t,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),ze(lt(e,"GetMetaTxnNetworkFeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,t,r)=>this.fetch(this.url("GetMetaTransactions"),ze(lt(e,"GetMetaTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,t,r)=>this.fetch(this.url("GetTransactionCost"),ze(lt(e,"GetTransactionCostArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetTransactionCostReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,t,r)=>this.fetch(this.url("SentTransactions"),ze(lt(e,"SentTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SentTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,t,r)=>this.fetch(this.url("PendingTransactions"),ze(lt(e,"PendingTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"PendingTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,t,r)=>this.fetch(this.url("GetGasTank"),ze(lt(e,"GetGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,t,r)=>this.fetch(this.url("AddGasTank"),ze(lt(e,"AddGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,t,r)=>this.fetch(this.url("UpdateGasTank"),ze(lt(e,"UpdateGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,t,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),ze(lt(e,"NextGasTankBalanceAdjustmentNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,t,r)=>this.fetch(this.url("AdjustGasTankBalance"),ze(lt(e,"AdjustGasTankBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustGasTankBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,t,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),ze(lt(e,"GetGasTankBalanceAdjustmentArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,t,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),ze(lt(e,"ListGasTankBalanceAdjustmentsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,t,r)=>this.fetch(this.url("ListGasSponsors"),ze(lt(e,"ListGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,t,r)=>this.fetch(this.url("GetGasSponsor"),ze(lt(e,"GetGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,t,r)=>this.fetch(this.url("AddGasSponsor"),ze(lt(e,"AddGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,t,r)=>this.fetch(this.url("UpdateGasSponsor"),ze(lt(e,"UpdateGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,t,r)=>this.fetch(this.url("RemoveGasSponsor"),ze(lt(e,"RemoveGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"RemoveGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,t,r)=>this.fetch(this.url("AddressGasSponsors"),ze(lt(e,"AddressGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddressGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,t,r)=>this.fetch(this.url("GetProjectBalance"),ze(lt(e,"GetProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,t,r)=>this.fetch(this.url("AdjustProjectBalance"),ze(lt(e,"AdjustProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},ze=(s="{}",e={},t=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:s,signal:t}),Ye=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){throw Ya.new({status:s.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (H9[r]||Ue).new(t)}return t}),pN={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function Dx(s,e){if(e==null||typeof e!="object")return e;let t=pN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=Dx(i,o[c]);}else e[n]&&(e[n]=Dx(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function Ux(s,e){if(e==null||typeof e!="object")return e;let t=pN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=Ux(a,c[u]);}else e[i]&&(e[i]=Ux(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw Ya.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw Ya.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var lt=(s,e="")=>JSON.stringify(Dx(e,s)),Ze=(s,e="")=>{let t=s;if(typeof s=="string")try{t=JSON.parse(s);}catch(r){throw Ya.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return Ux(e,t)},Ue=class s extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},Lx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ge=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},jx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Hx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},_x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ya=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Mx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},$x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Fx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Kx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Gx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Wx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Jx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Yx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Xx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},e2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},t2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},s2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},r2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},n2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},i2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},a2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},o2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},c2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},u2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},l2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},h2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},f2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},d2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},m2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},p2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},g2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},y2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},w2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},dN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientAborted="WebrpcClientAborted",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.ProjectNotFound="ProjectNotFound",s.AccessKeyNotFound="AccessKeyNotFound",s.AccessKeyMismatch="AccessKeyMismatch",s.InvalidOrigin="InvalidOrigin",s.InvalidService="InvalidService",s.UnauthorizedUser="UnauthorizedUser",s.QuotaExceeded="QuotaExceeded",s.QuotaRateLimit="QuotaRateLimit",s.NoDefaultKey="NoDefaultKey",s.MaxAccessKeys="MaxAccessKeys",s.AtLeastOneKey="AtLeastOneKey",s.Timeout="Timeout",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.NotFound="NotFound",s.InsufficientFee="InsufficientFee",s.NotEnoughBalance="NotEnoughBalance",s.SimulationFailed="SimulationFailed";})(dN||(dN={}));var mN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientAborted=-8]="WebrpcClientAborted",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.ProjectNotFound=1008]="ProjectNotFound",s[s.AccessKeyNotFound=1101]="AccessKeyNotFound",s[s.AccessKeyMismatch=1102]="AccessKeyMismatch",s[s.InvalidOrigin=1103]="InvalidOrigin",s[s.InvalidService=1104]="InvalidService",s[s.UnauthorizedUser=1105]="UnauthorizedUser",s[s.QuotaExceeded=1200]="QuotaExceeded",s[s.QuotaRateLimit=1201]="QuotaRateLimit",s[s.NoDefaultKey=1300]="NoDefaultKey",s[s.MaxAccessKeys=1301]="MaxAccessKeys",s[s.AtLeastOneKey=1302]="AtLeastOneKey",s[s.Timeout=1900]="Timeout",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.NotFound=3e3]="NotFound",s[s.InsufficientFee=3004]="InsufficientFee",s[s.NotEnoughBalance=3005]="NotEnoughBalance",s[s.SimulationFailed=3006]="SimulationFailed";})(mN||(mN={}));var H9={0:Lx,[-1]:Ge,[-2]:jx,[-3]:Hx,[-4]:_x,[-5]:Ya,[-6]:Mx,[-7]:$x,[-8]:qx,[-9]:Fx,[-10]:Kx,1e3:Gx,1001:Wx,1002:Jx,1003:zx,1004:Yx,1005:Zx,1006:Xx,1007:Qx,1008:e2,1101:t2,1102:s2,1103:r2,1104:n2,1105:i2,1200:a2,1201:o2,1300:c2,1301:u2,1302:l2,1900:h2,2001:f2,2002:d2,2003:m2,3e3:p2,3004:g2,3005:y2,3006:w2};d();f();d();f();var I1=class{address;min;max;constructor(e,t,r){this.address=e,this.min=t,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},C1=class{address;token;min;max;constructor(e,t,r,n){this.address=e,this.token=t,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},N1=class{address;token;operator;min;constructor(e,t,r,n){this.address=e,this.token=t,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},k1=class{address;token;tokenId;owned;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},P1=class{address;token;tokenId;operator;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},T1=class{address;token;tokenId;min;max;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},B1=class{address;token;tokenId;operator;min;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();f();function O1(s){if(!s)return;let e;try{switch(s.type){case"native-balance":e=new I1(M.from(s.ownerAddress),s.minAmount,void 0);break;case"erc20-balance":e=new C1(M.from(s.ownerAddress),M.from(s.tokenAddress),s.minAmount,void 0);break;case"erc20-approval":e=new N1(M.from(s.ownerAddress),M.from(s.tokenAddress),M.from(s.ownerAddress),s.minAmount);break;case"erc721-ownership":e=new k1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new P1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress));break;case"erc1155-balance":e=new T1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),s.minAmount,void 0);break;case"erc1155-approval":e=new B1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress),s.minAmount);break;default:return}let t=e.isValid();if(t){console.warn(`Invalid precondition: ${t.message}`);return}return e}catch(t){console.warn(`Failed to decode precondition: ${t}`);return}}d();f();d();f();var R1=me.from("function balanceOf(address) returns (uint256)"),V1=me.from("function allowance(address,address) returns (uint256)"),D1=me.from("function ownerOf(uint256) returns (address)"),U1=me.from("function getApproved(uint256) returns (address)"),L1=me.from("function balanceOf(address,uint256) returns (uint256)"),j1=me.from("function isApprovedForAll(address,address) returns (bool)");var K9=s=>({id:s.chainId,name:s.title||s.name,nativeCurrency:{name:s.nativeCurrency.name,symbol:s.nativeCurrency.symbol,decimals:s.nativeCurrency.decimals},rpcUrls:{default:{http:[s.rpcUrl]}},blockExplorers:s.blockExplorer?{default:{name:s.blockExplorer.name||"Explorer",url:s.blockExplorer.url}}:void 0,contracts:s.ensAddress?{ensUniversalResolver:{address:s.ensAddress}}:void 0}),gN=s=>{let e=Wa.getNetworkFromChainId(s);if(e)return K9(e);let t=Object.values(F9).find(r=>typeof r=="object"&&"id"in r&&r.id===s);if(t)return t;throw new Error(`Chain with id ${s} not found in Sequence networks or viem chains`)},b2=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,t,r,n,i){this.id=`rpc:${e}`,this.chainId=t,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new mu(e,this.fetch);let o=gN(t);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,t){return Promise.resolve(this.chainId===t)}async feeTokens(){try{let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.client.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,t,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=we.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:p.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,t,r,n,i,a){console.log("sendMetaTxn",e,t,r,n,i,a);let o={walletAddress:e,contract:t,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:R.fromString(c.txnHash)}}async relay(e,t,r,n,i){console.log("relay",e,t,r,n,i);let a={walletAddress:e,contract:e,input:t},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,t){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case Ut.QUEUED:case Ut.PENDING_PRECONDITION:case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case Ut.FAILED:case Ut.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case Ut.DROPPED:return {status:"failed",reason:"Transaction dropped"};case Ut.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let t=O1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=t;try{let n=me.encodeData(R1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=t;try{let n=me.encodeData(V1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=t;try{let n=me.encodeData(D1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=t;try{let n=me.encodeData(U1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=t;try{let n=me.encodeData(L1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=t;try{let n=me.encodeData(j1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===A1.ERC20_TOKEN&&e.contractAddress?M.from(e.contractAddress):Xe.ZeroAddress}};d();f();d();f();var Za=class s{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,t){return Promise.resolve(!0)}static createFromWindow(e){let t=e.ethereum;if(!t){console.warn("Window.ethereum not found, skipping local relayer");return}return new s(new Xa(t))}static createFromProvider(e){return new s(new Xa(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,t,r){return Promise.resolve({options:[]})}decodeCalls(e){let t=me.getSelector(Xe.EXECUTE),r;return e.startsWith(t)?r=me.decodeData(Xe.EXECUTE,e)[0]:r=e,we.decode(p.fromHex(r))}async relay(e,t,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:t},r)}:new Promise((c,u)=>{let l,m=!1,w=async()=>{try{if(m)return;if(await o()){m=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:t},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){m=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{m=!0,clearTimeout(l);}})}async status(e,t){let r=await this.provider.getTransactionReceipt(e,t);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let t=O1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=t,n=me.encodeData(R1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=t,n=me.encodeData(V1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=t,n=me.encodeData(D1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=t,n=me.encodeData(U1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=t,n=me.encodeData(L1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=t,n=me.encodeData(j1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},Xa=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(t){console.error("Error switching chain",t);}}async sendTransaction(e,t){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(t),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let t=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(t)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,t){await this.trySwitchChain(t);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=su.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();f();var S2=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,t){this.provider=t;let r=M.fromPublicKey(Yt.getPublicKey({privateKey:e}));this.relayer=new Za({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),m=100000000n,w=l+m,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let v=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),A=$a.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:m,nonce:v,value:0n}),C=Yt.sign({payload:$a.getSignPayload(A),privateKey:e}),D=$a.from(A,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[$a.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(R.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?su.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,t){return Number(await this.provider.request({method:"eth_chainId"}))===t}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return !0}};d();f();var v2=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new mu(e,fetch);}async isAvailable(e,t){return !0}async feeTokens(){let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.service.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,t,r){let n=e,i=me.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=we.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=me.encodeData(i,[p.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,t,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:t},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,t){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case Ut.UNKNOWN:return {status:"unknown"};case Ut.DROPPED:return {status:"failed",reason:n??r};case Ut.QUEUED:return {status:"pending"};case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return R.assert(o),{status:"confirmed",transactionHash:o}}case Ut.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case Ut.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var I2={};Te(I2,{EIP6963Relayer:()=>H1,getEIP6963Store:()=>wN,getRelayers:()=>G9});d();f();d();f();d();f();d();f();function yN(s){if(typeof window>"u")return;let e=t=>s(t.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function E2(){let s=new Set,e=[],t=()=>yN(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],s.forEach(i=>i(e,{added:[n]})));}),r=t();return {_listeners(){return s},clear(){s.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),s.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=t();},subscribe(n,{emitImmediately:i}={}){return s.add(n),i&&n(e,{added:e}),()=>s.delete(n)}}}var H1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new Za(new Xa(e.provider));}isAvailable(e,t){return this.relayer.isAvailable(e,t)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},x2;function wN(){return x2||(x2=E2()),x2}var A2=new Map;function G9(){let e=wN().getProviders();for(let t of e)A2.has(t.info.uuid)||A2.set(t.info.uuid,new H1(t));return Array.from(A2.values())}d();f();function W9(s){return "isAvailable"in s&&"feeOptions"in s&&"relay"in s&&"status"in s&&"checkPrecondition"in s}d();f();d();f();d();f();d();f();var Q={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},ht={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},Be={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Tr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},gt=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},pu={MIN:-(2n**63n),MAX:2n**64n-1n};d();f();var Pe=class s{static#e=new Map;tag;contents;constructor(e,t=void 0){this.tag=e,this.contents=t;}get noChildren(){return !!s.#e.get(this.tag)?.noChildren}static registerDecoder(e,t,r){let n=this.#e.get(e);return this.#e.set(e,t),n&&("comment"in t||(t.comment=n.comment),"noChildren"in t||(t.noChildren=n.noChildren)),r&&!t.comment&&(t.comment=()=>`(${r})`),n}static clearDecoder(e){let t=this.#e.get(e);return this.#e.delete(e),t}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let t=s.#e.get(this.tag);return t?t(this,e):this}comment(e,t){let r=s.#e.get(this.tag);if(r?.comment)return r.comment(this,e,t)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `${this.tag}(${r(this.contents,t)})`}};d();f();function ii(s){if(s!=null&&typeof s=="object")return s[gt.ENCODED]}function bN(s){if(s!=null&&typeof s=="object")return s[gt.LENGTH]}function ai(s,e){Object.defineProperty(s,gt.ENCODED,{configurable:!0,enumerable:!1,value:e});}function oi(s,e){let t=Object(s);return ai(t,e),t}d();f();var C2=Symbol("CBOR_RANGES");function SN(s,e){Object.defineProperty(s,C2,{configurable:!1,enumerable:!1,writable:!1,value:e});}function Of(s){return s[C2]}function J9(s){return Of(s)!==void 0}function Rf(s,e=0,t=s.length-1){let r=s.subarray(e,t),n=Of(s);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=t){let o=[...a];o[0]-=e,i.push(o);}i.length&&SN(r,i);}return r}function _1(s){let e=Math.ceil(s.length/2),t=new Uint8Array(e);e--;for(let r=s.length,n=r-2;r>=0;r=n,n-=2,e--)t[e]=parseInt(s.substring(n,r),16);return t}function Xt(s){return s.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function vN(s){let e=s.reduce((a,o)=>a+o.length,0),t=s.some(a=>J9(a)),r=[],n=new Uint8Array(e),i=0;for(let a of s){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),t){let o=a[C2]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return t&&SN(n,r),n}function Vf(s){let e=atob(s);return Uint8Array.from(e,t=>t.codePointAt(0))}var z9={"-":"+",_:"/"};function EN(s){let e=s.replace(/[_-]/g,t=>z9[t]);return Vf(e.padEnd(Math.ceil(e.length/4)*4,"="))}function xN(){let s=new Uint8Array(4),e=new Uint32Array(s.buffer);return !((e[0]=1)&s[0])}function N2(s){let e="";for(let t of s){let r=t.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();f();d();f();function M1(s,e){let[t,r,n]=s,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();f();var Df=class s{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...s.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),t=0;for(let r of this.#s)e.set(r,t),t+=r.length;return this.#i(),e}write(e){let t=e.length;t>this.#u()?(this.#n(),t>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=t)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=t),this.#a+=t;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,t=!1){this.#c(2),this.#r.setUint16(this.#t,e,t),this.#o(2);}writeUint32(e,t=!1){this.#c(4),this.#r.setUint32(this.#t,e,t),this.#o(4);}writeBigUint64(e,t=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,t),this.#o(8);}writeInt16(e,t=!1){this.#c(2),this.#r.setInt16(this.#t,e,t),this.#o(2);}writeInt32(e,t=!1){this.#c(4),this.#r.setInt32(this.#t,e,t),this.#o(4);}writeBigInt64(e,t=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,t),this.#o(8);}writeFloat32(e,t=!1){this.#c(4),this.#r.setFloat32(this.#t,e,t),this.#o(4);}writeFloat64(e,t=!1){this.#c(8),this.#r.setFloat64(this.#t,e,t),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();f();function k2(s,e=0,t=!1){let r=s[e]&128?-1:1,n=(s[e]&124)>>2,i=(s[e]&3)<<8|s[e+1];if(n===0){if(t&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function $1(s){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,s,!1);let t=e.getUint32(0,!1);if(t&8191)return null;let r=t>>16&32768,n=t>>23&255,i=t&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function AN(s){if(s!==0){let e=new ArrayBuffer(8),t=new DataView(e);t.setFloat64(0,s,!1);let r=t.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return s}function IN(s){switch(s.length){case 2:k2(s,0,!0);break;case 4:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getUint32(0,!1);if(!(t&2139095040)&&t&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getBigUint64(0,!1);if((t&0x7ff0000000000000n)===0n&&t&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${s}`)}}var CN=Q.SIMPLE_FLOAT<<5|Be.TWO,Y9=Q.SIMPLE_FLOAT<<5|Be.FOUR,Z9=Q.SIMPLE_FLOAT<<5|Be.EIGHT,X9=Q.SIMPLE_FLOAT<<5|Tr.TRUE,Q9=Q.SIMPLE_FLOAT<<5|Tr.FALSE,eD=Q.SIMPLE_FLOAT<<5|Tr.UNDEFINED,tD=Q.SIMPLE_FLOAT<<5|Tr.NULL,sD=new TextEncoder,q1={...Df.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},B2={cde:!0,ignoreOriginalEncoding:!0,sortKeys:M1},NN={...B2,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function kN(s){let e=s<0;return typeof s=="bigint"?[e?-s-1n:s,e]:[e?-s-1:s,e]}function P2(s,e,t){if(t.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${s}`);if(isNaN(s))e.writeUint8(CN),e.writeUint16(32256);else if(!t.float64&&Math.fround(s)===s){let r=$1(s);r===null?(e.writeUint8(Y9),e.writeFloat32(s)):(e.writeUint8(CN),e.writeUint16(r));}else e.writeUint8(Z9),e.writeFloat64(s);}function Hs(s,e,t){let[r,n]=kN(s);if(n&&t)throw new TypeError(`Negative size: ${s}`);t??=n?Q.NEG_INT:Q.POS_INT,t<<=5,r<24?e.writeUint8(t|r):r<=255?(e.writeUint8(t|Be.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(t|Be.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(t|Be.FOUR),e.writeUint32(r)):(e.writeUint8(t|Be.EIGHT),e.writeBigUint64(BigInt(r)));}function Uf(s,e,t){typeof s=="number"?Hs(s,e,Q.TAG):typeof s=="object"&&!t.ignoreOriginalEncoding&&gt.ENCODED in s?e.write(s[gt.ENCODED]):s<=Number.MAX_SAFE_INTEGER?Hs(Number(s),e,Q.TAG):(e.writeUint8(Q.TAG<<5|Be.EIGHT),e.writeBigUint64(BigInt(s)));}function PN(s,e,t){let[r,n]=kN(s);if(t.collapseBigInts&&(!t.largeNegativeAsBigInt||s>=-0x8000000000000000n)){if(r<=0xffffffffn){Hs(Number(s),e);return}if(r<=0xffffffffffffffffn){let u=(n?Q.NEG_INT:Q.POS_INT)<<5;e.writeUint8(u|Be.EIGHT),e.writeBigUint64(r);return}}if(t.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${s}`);let i=n?ht.NEG_BIGINT:ht.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Uf(i,e,t);let c=_1(o+a);Hs(c.length,e,Q.BYTE_STRING),e.write(c);}function rD(s,e,t){t.flushToZero&&(s=AN(s)),Object.is(s,-0)?t.simplifyNegativeZero?t.avoidInts?P2(0,e,t):Hs(0,e):P2(s,e,t):!t.avoidInts&&Number.isSafeInteger(s)?Hs(s,e):t.reduceUnsafeNumbers&&Math.floor(s)===s&&s>=pu.MIN&&s<=pu.MAX?PN(BigInt(s),e,t):P2(s,e,t);}function nD(s,e,t){let r=t.stringNormalization?s.normalize(t.stringNormalization):s,n=sD.encode(r);Hs(n.length,e,Q.UTF8_STRING),e.write(n);}function iD(s,e,t){let r=s;F1(r,r.length,Q.ARRAY,e,t);for(let n of r)ci(n,e,t);}function aD(s,e){let t=s;Hs(t.length,e,Q.BYTE_STRING),e.write(t);}var T2=new Map([[Array,iD],[Uint8Array,aD]]);function bt(s,e){let t=T2.get(s);return T2.set(s,e),t}function F1(s,e,t,r,n){let i=bN(s);i&&!n.ignoreOriginalEncoding?r.write(i):Hs(e,r,t);}function oD(s,e,t){if(s===null){e.writeUint8(tD);return}if(!t.ignoreOriginalEncoding&&gt.ENCODED in s){e.write(s[gt.ENCODED]);return}let r=T2.get(s.constructor);if(r){let i=r(s,e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toCBOR=="function"){let i=s.toCBOR(e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toJSON=="function"){ci(s.toJSON(),e,t);return}let n=Object.entries(s).map(i=>[i[0],i[1],an(i[0],t)]);t.sortKeys&&n.sort(t.sortKeys),F1(s,n.length,Q.MAP,e,t);for(let[i,a,o]of n)e.write(o),ci(a,e,t);}function ci(s,e,t){switch(typeof s){case"number":rD(s,e,t);break;case"bigint":PN(s,e,t);break;case"string":nD(s,e,t);break;case"boolean":e.writeUint8(s?X9:Q9);break;case"undefined":if(t.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(eD);break;case"object":oD(s,e,t);break;case"symbol":throw new TypeError(`Unknown symbol: ${s.toString()}`);default:throw new TypeError(`Unknown type: ${typeof s}, ${String(s)}`)}}function an(s,e={}){let t={...q1};e.dcbor?Object.assign(t,NN):e.cde&&Object.assign(t,B2),Object.assign(t,e);let r=new Df(t);return ci(s,r,t),r.read()}d();f();d();f();var Qa=(s=>(s[s.NEVER=-1]="NEVER",s[s.PREFERRED=0]="PREFERRED",s[s.ALWAYS=1]="ALWAYS",s))(Qa||{});d();f();d();f();var lr=class s{static KnownSimple=new Map([[Tr.FALSE,!1],[Tr.TRUE,!0],[Tr.NULL,null],[Tr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return s.KnownSimple.has(e)?s.KnownSimple.get(e):new s(e)}toCBOR(e,t){if(t.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);Hs(this.value,e,Q.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return s.KnownSimple.has(this.value)?s.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `simple(${r(this.value,t)})`}};var cD=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),on=class s{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,t){if(this.#t={...s.defaultOptions,...t},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=_1(e);break;case"base64":this.#e=Vf(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return Rf(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let t=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case Be.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===Q.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case Be.TWO:if(c=2,n===Q.SIMPLE_FLOAT)a=k2(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case Be.FOUR:if(c=4,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case Be.EIGHT:{if(c=8,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case Be.INDEFINITE:switch(n){case Q.POS_INT:case Q.NEG_INT:case Q.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case Q.SIMPLE_FLOAT:yield [n,i,gt.BREAK,t,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case Q.POS_INT:yield [n,i,a,t,c];break;case Q.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),t,c];break;case Q.BYTE_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,this.#i(a),t,a];break;case Q.UTF8_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,cD.decode(this.#i(a)),t,a];break;case Q.ARRAY:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case Q.MAP:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case Q.TAG:yield [n,i,a,t,c],yield*this.#a(e);break;case Q.SIMPLE_FLOAT:{let u=a;o&&(a=lr.create(Number(a))),yield [n,i,a,t,u];break}}}#i(e){let t=Rf(this.#e,this.#r,this.#r+=e);if(t.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${t.length}`);return t}*#n(e,t,r,n=!0){for(yield [e,Be.INDEFINITE,1/0,r,1/0];;){let i=this.#a(t),a=i.next(),[o,c,u]=a.value;if(u===gt.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===Be.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var uD=new Map([[Be.ZERO,1],[Be.ONE,2],[Be.TWO,3],[Be.FOUR,5],[Be.EIGHT,9]]),lD=new Uint8Array(0);function hD(s,e){return !e.boxed&&!e.preferMap&&s.every(([t])=>typeof t=="string")?Object.fromEntries(s):new Map(s)}var vs=class s{static defaultDecodeOptions={...on.defaultOptions,ParentType:s,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:Qa.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:hD,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:M1};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,t,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=t,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===Q.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===Be.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,t,r,n){let[i,a,o,c]=e;switch(i){case Q.POS_INT:case Q.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=pu.MIN&&u<=pu.MAX&&(u=Number(o)),r.boxed?oi(u,n.toHere(c)):u}case Q.SIMPLE_FLOAT:if(a>Be.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${Xt(u)}"`)}if(r.rejectSubnormals&&IN(n.toHere(c+1)),r.rejectLongFloats){let u=an(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<uD.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return oi(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof lr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case Q.BYTE_STRING:case Q.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,t,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${N2(o)}] instead of [${N2(u)}]`)}return r.boxed?oi(o,n.toHere(c)):o;case Q.ARRAY:return new r.ParentType(e,o,t,r);case Q.MAP:return new r.ParentType(e,o*2,t,r);case Q.TAG:{let u=new r.ParentType(e,1,t,r);return u.children=new Pe(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...q1,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,t,r){if(this.children.push(e),this.#s){let n=ii(e)||t.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,t,r){let n,i=-1/0;if(this.children instanceof Pe?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=ii(e)||r.toHere(t.offset);this.#s[i]=a;}return n}convert(e){let t;switch(this.mt){case Q.ARRAY:t=this.children;break;case Q.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}t=this.#e.createObject(r,this.#e);break}case Q.BYTE_STRING:return vN(this.children);case Q.UTF8_STRING:{let r=this.children.join("");t=this.#e.boxed?oi(r,e.toHere(this.offset)):r;break}case Q.TAG:t=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&t&&typeof t=="object"&&ai(t,e.toHere(this.offset)),t}#r(){let e=this.children,t=e.length;if(t%2)throw new Error("Missing map value");let r=new Array(t/2);if(this.#s)for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],lD];return r}};d();f();d();f();var O2=" ",fD=new TextEncoder,K1=class extends vs{close="";quote='"';get isEmptyStream(){return (this.mt===Q.UTF8_STRING||this.mt===Q.BYTE_STRING)&&this.count===0}};function ui(s,e,t,r){let n="";if(e===Be.INDEFINITE)n+="_";else {if(r.diagnosticSizes===Qa.NEVER)return "";{let i=r.diagnosticSizes===Qa.ALWAYS;if(!i){let a=Be.ZERO;if(Object.is(t,-0))a=Be.TWO;else if(s===Q.POS_INT||s===Q.NEG_INT){let o=t<0,c=typeof t=="bigint"?1n:1,u=o?-t-c:t;u<=23?a=Number(u):u<=255?a=Be.ONE:u<=65535?a=Be.TWO:u<=4294967295?a=Be.FOUR:a=Be.EIGHT;}else isFinite(t)?Math.fround(t)===t?$1(t)==null?a=Be.FOUR:a=Be.TWO:a=Be.EIGHT:a=Be.TWO;i=a!==e;}i&&(n+="_",e<Be.ONE?n+="i":n+=String(e-24));}}return n}function R2(s,e){let t={...vs.defaultDecodeOptions,...e,ParentType:K1},r=new on(s,t),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==gt.BREAK&&(n.mt===Q.MAP&&n.count%2?a+=": ":(a+=",",t.pretty||(a+=" "))),t.pretty&&(n.mt!==Q.MAP||n.count%2===0)&&(a+=`
359
+ ${O2.repeat(n.depth+1)}`)),i=vs.create(o,n,t,r),c){case Q.POS_INT:case Q.NEG_INT:a+=String(l),a+=ui(c,u,l,t);break;case Q.SIMPLE_FLOAT:if(l!==gt.BREAK)if(typeof l=="number"){let m=Object.is(l,-0)?"-0.0":String(l);a+=m,isFinite(l)&&!/[.e]/.test(m)&&(a+=".0"),a+=ui(c,u,l,t);}else l instanceof lr?(a+="simple(",a+=String(l.value),a+=ui(Q.POS_INT,u,l.value,t),a+=")"):a+=String(l);break;case Q.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=Xt(l),a+="'",a+=ui(Q.POS_INT,u,l.length,t));break;case Q.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=ui(Q.POS_INT,u,fD.encode(l).length,t));break;case Q.ARRAY:{a+="[";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
360
+ ${O2.repeat(i.depth)}]`:i.close="]";break}case Q.MAP:{a+="{";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
361
+ ${O2.repeat(i.depth)}}`:i.close="}";break}case Q.TAG:a+=String(l),a+=ui(Q.POS_INT,u,l,t),a+="(",i.close=")";break}if(i===gt.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof K1&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===Q.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var dD=new TextDecoder,jf=class extends vs{depth=0;leaf=!1;value;length;[gt.ENCODED];constructor(e,t,r,n){super(e,t,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case Be.ONE:return 1;case Be.TWO:return 2;case Be.FOUR:return 4;case Be.EIGHT:return 8}return 0}};function TN(s){return s instanceof jf}function G1(s,e){return s===1/0?"Indefinite":e?`${s} ${e}${s!==1&&s!==1n?"s":""}`:String(s)}function Lf(s){return "".padStart(s," ")}function BN(s,e,t){let r="";r+=Lf(s.depth*2);let n=ii(s);r+=Xt(n.subarray(0,1));let i=s.numBytes();i&&(r+=" ",r+=Xt(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",t!==void 0&&(r+=Lf(s.depth*2),t!==""&&(r+=`[${t}] `));let a=!1,[o]=s.children;switch(s.mt){case Q.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.BYTE_STRING:r+=`Bytes (Length: ${G1(s.length)})`;break;case Q.UTF8_STRING:r+=`UTF8 (Length: ${G1(s.length)})`,s.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case Q.ARRAY:r+=`Array (Length: ${G1(s.value,"item")})`;break;case Q.MAP:r+=`Map (Length: ${G1(s.value,"pair")})`;break;case Q.TAG:{r+=`Tag #${s.value}`;let c=s.children,[u]=c.contents.children,l=new Pe(c.tag,u);ai(l,n);let m=l.comment(e,s.depth);m&&(r+=": ",r+=m),a||=l.noChildren;break}case Q.SIMPLE_FLOAT:o===gt.BREAK?r+="BREAK":s.ai>Be.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof lr?r+=o.value:r+=o);break}if(!a)if(s.leaf){if(r+=`
362
+ `,n.length>i+1){let c=Lf((s.depth+1)*2),u=Of(n);if(u?.length){u.sort((m,w)=>m[0]-w[0]||w[1]-m[1]);let l=0;for(let[m,w,E]of u)if(!(m<l)){if(l=m+w,E==="<<"){r+=Lf(e.minCol+1),r+="--",r+=c,r+="<< ";let v=Rf(n,m,m+w),A=Of(v);if(A){let C=A.findIndex(([D,U,T])=>D===0&&U===w&&T==="<<");C>=0&&A.splice(C,1);}r+=R2(v),r+=` >>
363
+ `,r+=W1(v,{initialDepth:s.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Lf(e.minCol+1),r+="--",r+=c,r+="'",r+=dD.decode(n.subarray(m,m+w)),r+=`'
364
364
  `);if(m>i)for(let v=m;v<m+w;v+=8){let A=Math.min(v+8,m+w);r+=c,r+=Xt(n.subarray(v,A)),r+=`
365
365
  `;}}}else for(let l=i+1;l<n.length;l+=8)r+=c,r+=Xt(n.subarray(l,l+8)),r+=`
366
366
  `;}}else {r+=`
367
- `;let c=0;for(let u of s.children){if(BN(u)){let l=String(c);s.mt===Q.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:s.mt===Q.TAG&&(l=""),r+=ON(u,e,l);}c++;}}return r}var fD={...vs.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function J1(s,e){let t={...fD,...e,ParentType:jf,saveOriginal:!0},r=new on(s,t),n,i;for(let o of r){if(i=vs.create(o,n,t,r),o[2]===gt.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!BN(i)){let l=new jf(o,0,n,t);l.leaf=!0,l.children.push(i),ai(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),t.minCol=Math.max(t.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||ai(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=t.minCol);let a=t.noPrefixHex?"":`0x${Xt(r.toHere(0))}
368
- `;return a+=ON(i,t),a}var RN=!AN();function jN(s){if(typeof s=="object"&&s){if(s.constructor!==Number)throw new Error(`Expected number: ${s}`)}else if(typeof s!="number")throw new Error(`Expected number: ${s}`)}function hi(s){if(typeof s=="object"&&s){if(s.constructor!==String)throw new Error(`Expected string: ${s}`)}else if(typeof s!="string")throw new Error(`Expected string: ${s}`)}function eo(s){if(!(s instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${s}`)}function HN(s){if(!Array.isArray(s))throw new Error(`Expected Array: ${s}`)}bt(Map,(s,e,t)=>{let r=[...s.entries()].map(n=>[n[0],n[1],an(n[0],t)]);if(t.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}t.sortKeys&&r.sort(t.sortKeys),K1(s,s.size,Q.MAP,e,t);for(let[n,i,a]of r)e.write(a),ci(i,e,t);});function VN(s){return hi(s.contents),new Date(s.contents)}VN.comment=s=>(hi(s.contents),`(String Date) ${new Date(s.contents).toISOString()}`),Pe.registerDecoder(ht.DATE_STRING,VN);function DN(s){return jN(s.contents),new Date(s.contents*1e3)}DN.comment=s=>(jN(s.contents),`(Epoch Date) ${new Date(s.contents*1e3).toISOString()}`),Pe.registerDecoder(ht.DATE_EPOCH,DN),bt(Date,s=>[ht.DATE_EPOCH,s.valueOf()/1e3]);function Y1(s,e,t){if(eo(e.contents),t.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${Xt(e.contents)}')`);if(t.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${Xt(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(s&&(r=-1n-r),t.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return t.boxed?oi(r,e.contents):r}var UN=Y1.bind(null,!1),LN=Y1.bind(null,!0);UN.comment=(s,e)=>`(Positive BigInt) ${Y1(!1,s,e)}n`,LN.comment=(s,e)=>`(Negative BigInt) ${Y1(!0,s,e)}n`,Pe.registerDecoder(ht.POS_BIGINT,UN),Pe.registerDecoder(ht.NEG_BIGINT,LN);function D2(s,e){return eo(s.contents),s}D2.comment=(s,e,t)=>{eo(s.contents);let r={...e,initialDepth:t+2,noPrefixHex:!0},n=ii(s),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=Xt(n.subarray(i,++i));a>=24&&(o+=" ",o+=Xt(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(t+1)*2+o.length);let c=J1(s.contents,r),u=`Embedded CBOR
367
+ `;let c=0;for(let u of s.children){if(TN(u)){let l=String(c);s.mt===Q.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:s.mt===Q.TAG&&(l=""),r+=BN(u,e,l);}c++;}}return r}var mD={...vs.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function W1(s,e){let t={...mD,...e,ParentType:jf,saveOriginal:!0},r=new on(s,t),n,i;for(let o of r){if(i=vs.create(o,n,t,r),o[2]===gt.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!TN(i)){let l=new jf(o,0,n,t);l.leaf=!0,l.children.push(i),ai(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),t.minCol=Math.max(t.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||ai(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=t.minCol);let a=t.noPrefixHex?"":`0x${Xt(r.toHere(0))}
368
+ `;return a+=BN(i,t),a}var ON=!xN();function LN(s){if(typeof s=="object"&&s){if(s.constructor!==Number)throw new Error(`Expected number: ${s}`)}else if(typeof s!="number")throw new Error(`Expected number: ${s}`)}function hi(s){if(typeof s=="object"&&s){if(s.constructor!==String)throw new Error(`Expected string: ${s}`)}else if(typeof s!="string")throw new Error(`Expected string: ${s}`)}function eo(s){if(!(s instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${s}`)}function jN(s){if(!Array.isArray(s))throw new Error(`Expected Array: ${s}`)}bt(Map,(s,e,t)=>{let r=[...s.entries()].map(n=>[n[0],n[1],an(n[0],t)]);if(t.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}t.sortKeys&&r.sort(t.sortKeys),F1(s,s.size,Q.MAP,e,t);for(let[n,i,a]of r)e.write(a),ci(i,e,t);});function RN(s){return hi(s.contents),new Date(s.contents)}RN.comment=s=>(hi(s.contents),`(String Date) ${new Date(s.contents).toISOString()}`),Pe.registerDecoder(ht.DATE_STRING,RN);function VN(s){return LN(s.contents),new Date(s.contents*1e3)}VN.comment=s=>(LN(s.contents),`(Epoch Date) ${new Date(s.contents*1e3).toISOString()}`),Pe.registerDecoder(ht.DATE_EPOCH,VN),bt(Date,s=>[ht.DATE_EPOCH,s.valueOf()/1e3]);function z1(s,e,t){if(eo(e.contents),t.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${Xt(e.contents)}')`);if(t.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${Xt(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(s&&(r=-1n-r),t.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return t.boxed?oi(r,e.contents):r}var DN=z1.bind(null,!1),UN=z1.bind(null,!0);DN.comment=(s,e)=>`(Positive BigInt) ${z1(!1,s,e)}n`,UN.comment=(s,e)=>`(Negative BigInt) ${z1(!0,s,e)}n`,Pe.registerDecoder(ht.POS_BIGINT,DN),Pe.registerDecoder(ht.NEG_BIGINT,UN);function V2(s,e){return eo(s.contents),s}V2.comment=(s,e,t)=>{eo(s.contents);let r={...e,initialDepth:t+2,noPrefixHex:!0},n=ii(s),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=Xt(n.subarray(i,++i));a>=24&&(o+=" ",o+=Xt(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(t+1)*2+o.length);let c=W1(s.contents,r),u=`Embedded CBOR
369
369
  `;return u+=`${"".padStart((t+1)*2," ")}${o}`.padEnd(r.minCol+1," "),u+=`-- Bytes (Length: ${s.contents.length})
370
- `,u+=c,u},D2.noChildren=!0,Pe.registerDecoder(ht.CBOR,D2),Pe.registerDecoder(ht.URI,s=>(hi(s.contents),new URL(s.contents)),"URI"),bt(URL,s=>[ht.URI,s.toString()]),Pe.registerDecoder(ht.BASE64URL,s=>(hi(s.contents),xN(s.contents)),"Base64url-encoded"),Pe.registerDecoder(ht.BASE64,s=>(hi(s.contents),Vf(s.contents)),"Base64-encoded"),Pe.registerDecoder(35,s=>(hi(s.contents),new RegExp(s.contents)),"RegExp"),Pe.registerDecoder(21065,s=>{hi(s.contents);let e=`^(?:${s.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Pe.registerDecoder(ht.REGEXP,s=>{if(HN(s.contents),s.contents.length<1||s.contents.length>2)throw new Error(`Invalid RegExp Array: ${s.contents}`);return new RegExp(s.contents[0],s.contents[1])},"RegExp"),bt(RegExp,s=>[ht.REGEXP,[s.source,s.flags]]),Pe.registerDecoder(64,s=>(eo(s.contents),s.contents),"uint8 Typed Array");function ls(s,e,t){eo(s.contents);let r=s.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(s.contents.buffer,s.contents.byteOffset,s.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,t);return n}function li(s,e,t,r,n){let i=n.forceEndian??RN;if(Uf(i?e:t,s,n),Hs(r.byteLength,s,Q.BYTE_STRING),RN===i)s.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=s[a].bind(s);for(let c of r)o(c,i);}}Pe.registerDecoder(65,s=>ls(s,Uint16Array,!1),"uint16, big endian, Typed Array"),Pe.registerDecoder(66,s=>ls(s,Uint32Array,!1),"uint32, big endian, Typed Array"),Pe.registerDecoder(67,s=>ls(s,BigUint64Array,!1),"uint64, big endian, Typed Array"),Pe.registerDecoder(68,s=>(eo(s.contents),new Uint8ClampedArray(s.contents)),"uint8 Typed Array, clamped arithmetic"),bt(Uint8ClampedArray,s=>[68,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(69,s=>ls(s,Uint16Array,!0),"uint16, little endian, Typed Array"),bt(Uint16Array,(s,e,t)=>li(e,69,65,s,t)),Pe.registerDecoder(70,s=>ls(s,Uint32Array,!0),"uint32, little endian, Typed Array"),bt(Uint32Array,(s,e,t)=>li(e,70,66,s,t)),Pe.registerDecoder(71,s=>ls(s,BigUint64Array,!0),"uint64, little endian, Typed Array"),bt(BigUint64Array,(s,e,t)=>li(e,71,67,s,t)),Pe.registerDecoder(72,s=>(eo(s.contents),new Int8Array(s.contents)),"sint8 Typed Array"),bt(Int8Array,s=>[72,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(73,s=>ls(s,Int16Array,!1),"sint16, big endian, Typed Array"),Pe.registerDecoder(74,s=>ls(s,Int32Array,!1),"sint32, big endian, Typed Array"),Pe.registerDecoder(75,s=>ls(s,BigInt64Array,!1),"sint64, big endian, Typed Array"),Pe.registerDecoder(77,s=>ls(s,Int16Array,!0),"sint16, little endian, Typed Array"),bt(Int16Array,(s,e,t)=>li(e,77,73,s,t)),Pe.registerDecoder(78,s=>ls(s,Int32Array,!0),"sint32, little endian, Typed Array"),bt(Int32Array,(s,e,t)=>li(e,78,74,s,t)),Pe.registerDecoder(79,s=>ls(s,BigInt64Array,!0),"sint64, little endian, Typed Array"),bt(BigInt64Array,(s,e,t)=>li(e,79,75,s,t)),Pe.registerDecoder(81,s=>ls(s,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Pe.registerDecoder(82,s=>ls(s,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Pe.registerDecoder(85,s=>ls(s,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),bt(Float32Array,(s,e,t)=>li(e,85,81,s,t)),Pe.registerDecoder(86,s=>ls(s,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),bt(Float64Array,(s,e,t)=>li(e,86,82,s,t)),Pe.registerDecoder(ht.SET,(s,e)=>{if(HN(s.contents),e.sortKeys){let t=vs.decodeToEncodeOpts(e),r=null;for(let n of s.contents){let i=[n,void 0,an(n,t)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${ht.SET}`);r=i;}}return new Set(s.contents)},"Set"),bt(Set,(s,e,t)=>{let r=[...s];if(t.sortKeys){let n=r.map(i=>[i,void 0,an(i,t)]);n.sort(t.sortKeys),r=n.map(([i])=>i);}return [ht.SET,r]}),Pe.registerDecoder(ht.JSON,s=>(hi(s.contents),JSON.parse(s.contents)),"JSON-encoded"),Pe.registerDecoder(ht.SELF_DESCRIBED,s=>s.contents,"Self-Described"),Pe.registerDecoder(ht.INVALID_16,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_16}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_32,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_32}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_64,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_64}`)},"Invalid");function U2(s){throw new Error(`Encoding ${s.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}bt(ArrayBuffer,U2),bt(DataView,U2),typeof SharedArrayBuffer<"u"&&bt(SharedArrayBuffer,U2);function z1(s){return [NaN,s.valueOf()]}bt(Boolean,z1),bt(Number,z1),bt(String,z1),bt(BigInt,z1);d();f();d();f();d();f();d();f();var qe=mb(Q1());d();f();function y(s,e,t){var r;return s instanceof Object&&(r=s[e])!==null&&r!==void 0?r:t}function ey(s,e=0,t=s.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(s,e,t)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function un(s,e){let t=0;if(s.length===1)return s[0];for(let r=s.length-1;r>=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function hr(s,e,t=-1){let r=t,n=s,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(s<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let m=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/m),n-=u[i-l-1]*m;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function to(...s){let e=0,t=0;for(let i of s)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(new Uint8Array(i),t),t+=i.byteLength;return r}function ty(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function j2(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)t[o]=0;t[0]=s[0]&128;let r=un(t,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=s[o];return i[0]&=127,un(i,8)-r}function _N(s){let e=s<0?s*-1:s,t=128;for(let r=1;r<8;r++){if(e<=t){if(s<0){let a=t-e,o=hr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=hr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}t*=Math.pow(2,8);}return new ArrayBuffer(0)}function fi(s,e){if(s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<t.length;n++)if(t[n]!==r[n])return !1;return !0}function Ns(s,e){let t=s.toString(10);if(e<t.length)return "";let r=e-t.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(t)}var MN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",$N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function sy(s,e=!1,t=!1,r=!1){let n=0,i=0,a=0,o="",c=e?$N:MN;if(r){let u=0;for(let l=0;l<s.length;l++)if(s.charCodeAt(l)!==0){u=l;break}s=s.slice(u);}for(;n<s.length;){let u=s.charCodeAt(n++);n>=s.length&&(i=1);let l=s.charCodeAt(n++);n>=s.length&&(a=1);let m=s.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,v=(l&15)<<2|m>>6,A=m&63;i===1?v=A=64:a===1&&(A=64),t?v===64?o+=`${c.charAt(w)}${c.charAt(E)}`:A===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`;}return o}function yu(s,e=!1,t=!1){let r=e?$N:MN;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<s.length;){let c=n(s.charAt(a++)),u=a>=s.length?0:n(s.charAt(a++)),l=a>=s.length?0:n(s.charAt(a++)),m=a>=s.length?0:n(s.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,v=(i(l)&3)<<6|i(m);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),m!==64&&(o+=String.fromCharCode(v));}if(t){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function Hf(s){let e="",t=new Uint8Array(s);for(let r of t)e+=String.fromCharCode(r);return e}function so(s){let e=s.length,t=new ArrayBuffer(e),r=new Uint8Array(t);for(let n=0;n<e;n++)r[n]=s.charCodeAt(n);return t}var vD=Math.log(2);function qN(s){let e=Math.log(s)/vD,t=Math.floor(e),r=Math.round(e);return t===r?t:r}function W(s,e){for(let t of e)delete s[t];}function ry(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function _2(s){let e=0,t=0;for(let n=0;n<s.length;n++){let i=s[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<s.length;n++){let i=s[n];r.set(new Uint8Array(i),t),t+=i.byteLength;}return r.buffer}function dn(s,e,t,r){return e instanceof Uint8Array?e.byteLength?t<0?(s.error="Wrong parameter: inputOffset less than zero",!1):r<0?(s.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-r<0?(s.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(s.error="Wrong parameter: inputBuffer has zero length",!1):(s.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var $f=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return _2(this.items)}},_f=[new Uint8Array([1])],KN="0123456789",H2="name",GN="valueHexView",ED="isHexOnly",xD="idBlock",AD="tagClass",ID="tagNumber",CD="isConstructed",ND="fromBER",kD="toBER",PD="local",ks="",Rr=new ArrayBuffer(0),Cy=new Uint8Array(0),qf="EndOfContent",JN="OCTET STRING",zN="BIT STRING";function mn(s){var e;return e=class extends s{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?qe.BufferSourceConverter.toUint8Array(i.valueHex):Cy;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!dn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Rr)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:qe.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var ln=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:t=ks,warnings:r=[],valueBeforeDecode:n=Cy}={}){this.blockLength=e,this.error=t,this.warnings=r,this.valueBeforeDecodeView=qe.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:qe.Convert.ToHex(this.valueBeforeDecodeView)}}};ln.NAME="baseBlock";var hs=class extends ln{fromBER(e,t,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};hs.NAME="valueBlock";var ny=class extends mn(ln){constructor({idBlock:e={}}={}){var t,r,n,i;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?qe.BufferSourceConverter.toUint8Array(e.valueHex):Cy,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",Rr}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,t|=i,n[0]=t;}return n.buffer}if(!this.isHexOnly){let n=hr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=t|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=t|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let m=new Uint8Array(c);for(let w=0;w<c;w++)m[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(m),this.blockLength<=9?this.tagNumber=un(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};ny.NAME="identificationBlock";var iy=class extends ln{constructor({lenBlock:e={}}={}){var t,r,n;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,t+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=t+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=un(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=hr(this.length,8);if(n.byteLength>127)return this.error="Too big length",Rr;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return t}return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=this.length),t}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};iy.NAME="lengthBlock";var ue={},Qt=class extends ln{constructor({name:e=ks,optional:t=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=t,r&&(this.primitiveSchema=r),this.idBlock=new ny(n),this.lenBlock=new iy(n),this.valueBlock=i?new i(n):new hs(n);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,t){let r=t||new $f;t||YN(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():qe.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${t}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let t=this.toBER(),r=e.toBER();return fi(t,r)}};Qt.NAME="BaseBlock";function YN(s){var e;if(s instanceof ue.Constructed)for(let t of s.valueBlock.value)YN(t)&&(s.lenBlock.isIndefiniteForm=!0);return !!(!((e=s.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var ay=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=ks,...t}={},r){super(t,r),e&&this.fromString(e);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};ay.NAME="BaseStringBlock";var oy=class extends mn(hs){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e;}};oy.NAME="PrimitiveValueBlock";var ZN,ge=class extends Qt{constructor(e={}){super(e,oy),this.idBlock.isConstructed=!1;}};ZN=ge;ue.Primitive=ZN;ge.NAME="PRIMITIVE";function TD(s,e){if(s instanceof e)return s;let t=new e;return t.idBlock=s.idBlock,t.lenBlock=s.lenBlock,t.warnings=s.warnings,t.valueBeforeDecodeView=s.valueBeforeDecodeView,t}function Wf(s,e=0,t=s.length){let r=e,n=new Qt({},hs),i=new ln;if(!dn(i,s,e,t))return n.error=i.error,{offset:-1,result:n};if(!s.subarray(e,e+t).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(s,e,t);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,t-=n.idBlock.blockLength,o=n.lenBlock.fromBER(s,e,t),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,t-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=Qt;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=ue.EndOfContent;break;case 1:c=ue.Boolean;break;case 2:c=ue.Integer;break;case 3:c=ue.BitString;break;case 4:c=ue.OctetString;break;case 5:c=ue.Null;break;case 6:c=ue.ObjectIdentifier;break;case 10:c=ue.Enumerated;break;case 12:c=ue.Utf8String;break;case 13:c=ue.RelativeObjectIdentifier;break;case 14:c=ue.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=ue.Sequence;break;case 17:c=ue.Set;break;case 18:c=ue.NumericString;break;case 19:c=ue.PrintableString;break;case 20:c=ue.TeletexString;break;case 21:c=ue.VideotexString;break;case 22:c=ue.IA5String;break;case 23:c=ue.UTCTime;break;case 24:c=ue.GeneralizedTime;break;case 25:c=ue.GraphicString;break;case 26:c=ue.VisibleString;break;case 27:c=ue.GeneralString;break;case 28:c=ue.UniversalString;break;case 29:c=ue.CharacterString;break;case 30:c=ue.BmpString;break;case 31:c=ue.DATE;break;case 32:c=ue.TimeOfDay;break;case 33:c=ue.DateTime;break;case 34:c=ue.Duration;break;default:{let u=n.idBlock.isConstructed?new ue.Constructed:new ue.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?ue.Constructed:ue.Primitive;}return n=TD(n,c),o=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:o,result:n}}function kt(s){if(!s.byteLength){let e=new Qt({},hs);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Wf(qe.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function BD(s,e){return s?1:e}var Br=class extends hs{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;BD(this.isIndefiniteForm,r)>0;){let a=Wf(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===qf)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===qf?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new $f;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};Br.NAME="ConstructedValueBlock";var XN,V=class extends Qt{constructor(e={}){super(e,Br),this.idBlock.isConstructed=!0;}fromBER(e,t,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
370
+ `,u+=c,u},V2.noChildren=!0,Pe.registerDecoder(ht.CBOR,V2),Pe.registerDecoder(ht.URI,s=>(hi(s.contents),new URL(s.contents)),"URI"),bt(URL,s=>[ht.URI,s.toString()]),Pe.registerDecoder(ht.BASE64URL,s=>(hi(s.contents),EN(s.contents)),"Base64url-encoded"),Pe.registerDecoder(ht.BASE64,s=>(hi(s.contents),Vf(s.contents)),"Base64-encoded"),Pe.registerDecoder(35,s=>(hi(s.contents),new RegExp(s.contents)),"RegExp"),Pe.registerDecoder(21065,s=>{hi(s.contents);let e=`^(?:${s.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Pe.registerDecoder(ht.REGEXP,s=>{if(jN(s.contents),s.contents.length<1||s.contents.length>2)throw new Error(`Invalid RegExp Array: ${s.contents}`);return new RegExp(s.contents[0],s.contents[1])},"RegExp"),bt(RegExp,s=>[ht.REGEXP,[s.source,s.flags]]),Pe.registerDecoder(64,s=>(eo(s.contents),s.contents),"uint8 Typed Array");function ls(s,e,t){eo(s.contents);let r=s.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(s.contents.buffer,s.contents.byteOffset,s.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,t);return n}function li(s,e,t,r,n){let i=n.forceEndian??ON;if(Uf(i?e:t,s,n),Hs(r.byteLength,s,Q.BYTE_STRING),ON===i)s.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=s[a].bind(s);for(let c of r)o(c,i);}}Pe.registerDecoder(65,s=>ls(s,Uint16Array,!1),"uint16, big endian, Typed Array"),Pe.registerDecoder(66,s=>ls(s,Uint32Array,!1),"uint32, big endian, Typed Array"),Pe.registerDecoder(67,s=>ls(s,BigUint64Array,!1),"uint64, big endian, Typed Array"),Pe.registerDecoder(68,s=>(eo(s.contents),new Uint8ClampedArray(s.contents)),"uint8 Typed Array, clamped arithmetic"),bt(Uint8ClampedArray,s=>[68,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(69,s=>ls(s,Uint16Array,!0),"uint16, little endian, Typed Array"),bt(Uint16Array,(s,e,t)=>li(e,69,65,s,t)),Pe.registerDecoder(70,s=>ls(s,Uint32Array,!0),"uint32, little endian, Typed Array"),bt(Uint32Array,(s,e,t)=>li(e,70,66,s,t)),Pe.registerDecoder(71,s=>ls(s,BigUint64Array,!0),"uint64, little endian, Typed Array"),bt(BigUint64Array,(s,e,t)=>li(e,71,67,s,t)),Pe.registerDecoder(72,s=>(eo(s.contents),new Int8Array(s.contents)),"sint8 Typed Array"),bt(Int8Array,s=>[72,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(73,s=>ls(s,Int16Array,!1),"sint16, big endian, Typed Array"),Pe.registerDecoder(74,s=>ls(s,Int32Array,!1),"sint32, big endian, Typed Array"),Pe.registerDecoder(75,s=>ls(s,BigInt64Array,!1),"sint64, big endian, Typed Array"),Pe.registerDecoder(77,s=>ls(s,Int16Array,!0),"sint16, little endian, Typed Array"),bt(Int16Array,(s,e,t)=>li(e,77,73,s,t)),Pe.registerDecoder(78,s=>ls(s,Int32Array,!0),"sint32, little endian, Typed Array"),bt(Int32Array,(s,e,t)=>li(e,78,74,s,t)),Pe.registerDecoder(79,s=>ls(s,BigInt64Array,!0),"sint64, little endian, Typed Array"),bt(BigInt64Array,(s,e,t)=>li(e,79,75,s,t)),Pe.registerDecoder(81,s=>ls(s,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Pe.registerDecoder(82,s=>ls(s,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Pe.registerDecoder(85,s=>ls(s,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),bt(Float32Array,(s,e,t)=>li(e,85,81,s,t)),Pe.registerDecoder(86,s=>ls(s,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),bt(Float64Array,(s,e,t)=>li(e,86,82,s,t)),Pe.registerDecoder(ht.SET,(s,e)=>{if(jN(s.contents),e.sortKeys){let t=vs.decodeToEncodeOpts(e),r=null;for(let n of s.contents){let i=[n,void 0,an(n,t)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${ht.SET}`);r=i;}}return new Set(s.contents)},"Set"),bt(Set,(s,e,t)=>{let r=[...s];if(t.sortKeys){let n=r.map(i=>[i,void 0,an(i,t)]);n.sort(t.sortKeys),r=n.map(([i])=>i);}return [ht.SET,r]}),Pe.registerDecoder(ht.JSON,s=>(hi(s.contents),JSON.parse(s.contents)),"JSON-encoded"),Pe.registerDecoder(ht.SELF_DESCRIBED,s=>s.contents,"Self-Described"),Pe.registerDecoder(ht.INVALID_16,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_16}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_32,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_32}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_64,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_64}`)},"Invalid");function D2(s){throw new Error(`Encoding ${s.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}bt(ArrayBuffer,D2),bt(DataView,D2),typeof SharedArrayBuffer<"u"&&bt(SharedArrayBuffer,D2);function J1(s){return [NaN,s.valueOf()]}bt(Boolean,J1),bt(Number,J1),bt(String,J1),bt(BigInt,J1);d();f();d();f();d();f();d();f();var qe=db(X1());d();f();function y(s,e,t){var r;return s instanceof Object&&(r=s[e])!==null&&r!==void 0?r:t}function Q1(s,e=0,t=s.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(s,e,t)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function un(s,e){let t=0;if(s.length===1)return s[0];for(let r=s.length-1;r>=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function hr(s,e,t=-1){let r=t,n=s,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(s<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let m=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/m),n-=u[i-l-1]*m;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function to(...s){let e=0,t=0;for(let i of s)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(new Uint8Array(i),t),t+=i.byteLength;return r}function ey(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function L2(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)t[o]=0;t[0]=s[0]&128;let r=un(t,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=s[o];return i[0]&=127,un(i,8)-r}function HN(s){let e=s<0?s*-1:s,t=128;for(let r=1;r<8;r++){if(e<=t){if(s<0){let a=t-e,o=hr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=hr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}t*=Math.pow(2,8);}return new ArrayBuffer(0)}function fi(s,e){if(s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<t.length;n++)if(t[n]!==r[n])return !1;return !0}function Ns(s,e){let t=s.toString(10);if(e<t.length)return "";let r=e-t.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(t)}var _N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",MN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function ty(s,e=!1,t=!1,r=!1){let n=0,i=0,a=0,o="",c=e?MN:_N;if(r){let u=0;for(let l=0;l<s.length;l++)if(s.charCodeAt(l)!==0){u=l;break}s=s.slice(u);}for(;n<s.length;){let u=s.charCodeAt(n++);n>=s.length&&(i=1);let l=s.charCodeAt(n++);n>=s.length&&(a=1);let m=s.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,v=(l&15)<<2|m>>6,A=m&63;i===1?v=A=64:a===1&&(A=64),t?v===64?o+=`${c.charAt(w)}${c.charAt(E)}`:A===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`;}return o}function yu(s,e=!1,t=!1){let r=e?MN:_N;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<s.length;){let c=n(s.charAt(a++)),u=a>=s.length?0:n(s.charAt(a++)),l=a>=s.length?0:n(s.charAt(a++)),m=a>=s.length?0:n(s.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,v=(i(l)&3)<<6|i(m);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),m!==64&&(o+=String.fromCharCode(v));}if(t){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function Hf(s){let e="",t=new Uint8Array(s);for(let r of t)e+=String.fromCharCode(r);return e}function so(s){let e=s.length,t=new ArrayBuffer(e),r=new Uint8Array(t);for(let n=0;n<e;n++)r[n]=s.charCodeAt(n);return t}var xD=Math.log(2);function $N(s){let e=Math.log(s)/xD,t=Math.floor(e),r=Math.round(e);return t===r?t:r}function W(s,e){for(let t of e)delete s[t];}function sy(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function H2(s){let e=0,t=0;for(let n=0;n<s.length;n++){let i=s[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<s.length;n++){let i=s[n];r.set(new Uint8Array(i),t),t+=i.byteLength;}return r.buffer}function dn(s,e,t,r){return e instanceof Uint8Array?e.byteLength?t<0?(s.error="Wrong parameter: inputOffset less than zero",!1):r<0?(s.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-r<0?(s.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(s.error="Wrong parameter: inputBuffer has zero length",!1):(s.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var $f=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return H2(this.items)}},_f=[new Uint8Array([1])],FN="0123456789",j2="name",KN="valueHexView",AD="isHexOnly",ID="idBlock",CD="tagClass",ND="tagNumber",kD="isConstructed",PD="fromBER",TD="toBER",BD="local",ks="",Rr=new ArrayBuffer(0),Iy=new Uint8Array(0),qf="EndOfContent",WN="OCTET STRING",JN="BIT STRING";function mn(s){var e;return e=class extends s{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?qe.BufferSourceConverter.toUint8Array(i.valueHex):Iy;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!dn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Rr)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:qe.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var ln=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:t=ks,warnings:r=[],valueBeforeDecode:n=Iy}={}){this.blockLength=e,this.error=t,this.warnings=r,this.valueBeforeDecodeView=qe.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:qe.Convert.ToHex(this.valueBeforeDecodeView)}}};ln.NAME="baseBlock";var hs=class extends ln{fromBER(e,t,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};hs.NAME="valueBlock";var ry=class extends mn(ln){constructor({idBlock:e={}}={}){var t,r,n,i;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?qe.BufferSourceConverter.toUint8Array(e.valueHex):Iy,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",Rr}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,t|=i,n[0]=t;}return n.buffer}if(!this.isHexOnly){let n=hr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=t|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=t|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let m=new Uint8Array(c);for(let w=0;w<c;w++)m[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(m),this.blockLength<=9?this.tagNumber=un(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};ry.NAME="identificationBlock";var ny=class extends ln{constructor({lenBlock:e={}}={}){var t,r,n;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,t+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=t+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=un(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=hr(this.length,8);if(n.byteLength>127)return this.error="Too big length",Rr;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return t}return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=this.length),t}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};ny.NAME="lengthBlock";var ue={},Qt=class extends ln{constructor({name:e=ks,optional:t=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=t,r&&(this.primitiveSchema=r),this.idBlock=new ry(n),this.lenBlock=new ny(n),this.valueBlock=i?new i(n):new hs(n);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,t){let r=t||new $f;t||zN(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():qe.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${t}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let t=this.toBER(),r=e.toBER();return fi(t,r)}};Qt.NAME="BaseBlock";function zN(s){var e;if(s instanceof ue.Constructed)for(let t of s.valueBlock.value)zN(t)&&(s.lenBlock.isIndefiniteForm=!0);return !!(!((e=s.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var iy=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=ks,...t}={},r){super(t,r),e&&this.fromString(e);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};iy.NAME="BaseStringBlock";var ay=class extends mn(hs){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e;}};ay.NAME="PrimitiveValueBlock";var YN,ge=class extends Qt{constructor(e={}){super(e,ay),this.idBlock.isConstructed=!1;}};YN=ge;ue.Primitive=YN;ge.NAME="PRIMITIVE";function OD(s,e){if(s instanceof e)return s;let t=new e;return t.idBlock=s.idBlock,t.lenBlock=s.lenBlock,t.warnings=s.warnings,t.valueBeforeDecodeView=s.valueBeforeDecodeView,t}function Wf(s,e=0,t=s.length){let r=e,n=new Qt({},hs),i=new ln;if(!dn(i,s,e,t))return n.error=i.error,{offset:-1,result:n};if(!s.subarray(e,e+t).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(s,e,t);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,t-=n.idBlock.blockLength,o=n.lenBlock.fromBER(s,e,t),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,t-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=Qt;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=ue.EndOfContent;break;case 1:c=ue.Boolean;break;case 2:c=ue.Integer;break;case 3:c=ue.BitString;break;case 4:c=ue.OctetString;break;case 5:c=ue.Null;break;case 6:c=ue.ObjectIdentifier;break;case 10:c=ue.Enumerated;break;case 12:c=ue.Utf8String;break;case 13:c=ue.RelativeObjectIdentifier;break;case 14:c=ue.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=ue.Sequence;break;case 17:c=ue.Set;break;case 18:c=ue.NumericString;break;case 19:c=ue.PrintableString;break;case 20:c=ue.TeletexString;break;case 21:c=ue.VideotexString;break;case 22:c=ue.IA5String;break;case 23:c=ue.UTCTime;break;case 24:c=ue.GeneralizedTime;break;case 25:c=ue.GraphicString;break;case 26:c=ue.VisibleString;break;case 27:c=ue.GeneralString;break;case 28:c=ue.UniversalString;break;case 29:c=ue.CharacterString;break;case 30:c=ue.BmpString;break;case 31:c=ue.DATE;break;case 32:c=ue.TimeOfDay;break;case 33:c=ue.DateTime;break;case 34:c=ue.Duration;break;default:{let u=n.idBlock.isConstructed?new ue.Constructed:new ue.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?ue.Constructed:ue.Primitive;}return n=OD(n,c),o=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:o,result:n}}function kt(s){if(!s.byteLength){let e=new Qt({},hs);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Wf(qe.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function RD(s,e){return s?1:e}var Br=class extends hs{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;RD(this.isIndefiniteForm,r)>0;){let a=Wf(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===qf)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===qf?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new $f;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};Br.NAME="ConstructedValueBlock";var ZN,V=class extends Qt{constructor(e={}){super(e,Br),this.idBlock.isConstructed=!0;}fromBER(e,t,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
371
371
  `).map(n=>` ${n}`).join(`
372
372
  `));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
373
373
  ${e.join(`
374
- `)}`:`${t} :`}};XN=V;ue.Constructed=XN;V.NAME="CONSTRUCTED";var cy=class extends hs{fromBER(e,t,r){return t}toBER(e){return Rr}};cy.override="EndOfContentValueBlock";var QN,uy=class extends Qt{constructor(e={}){super(e,cy),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};QN=uy;ue.EndOfContent=QN;uy.NAME=qf;var ek,ft=class extends Qt{constructor(e={}){super(e,hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return t&&t.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};ek=ft;ue.Null=ek;ft.NAME="NULL";var ly=class extends mn(hs){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=qe.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);return dn(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,j2.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};ly.NAME="BooleanValueBlock";var tk,_s=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,ly),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};tk=_s;ue.Boolean=tk;_s.NAME="BOOLEAN";var hy=class extends mn(Br){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e;}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==JN)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,t,r),this.blockLength=r;return n}toBER(e,t){return this.isConstructed?Br.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};hy.NAME="OctetStringValueBlock";var M2,z=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},hy),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,t,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+r);try{if(i.byteLength){let a=Wf(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${t}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let t of this.valueBlock.value)t instanceof M2&&e.push(t.valueBlock.valueHexView);return qe.BufferSourceConverter.concat(e)}};M2=z;ue.OctetString=M2;z.NAME=JN;var fy=class extends mn(Br){constructor({unusedBits:e=0,isConstructed:t=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength;}fromBER(e,t,r){if(!r)return t;let n=-1;if(this.isConstructed){if(n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==zN)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=Wf(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,t+r}toBER(e,t){if(this.isConstructed)return Br.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};fy.NAME="BitStringValueBlock";var sk,Ve=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},fy),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let a of t)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};sk=Ve;ue.BitString=sk;Ve.NAME=zN;var rk;function OD(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,m=0;for(let w=l;w>=0;w--,m++){switch(!0){case m<o.length:u=i[a-m]+o[c-m]+t[0];break;default:u=i[a-m]+t[0];}switch(t[0]=u/10,!0){case m>=i.length:i=ty(new Uint8Array([u%10]),i);break;default:i[a-m]=u%10;}}return t[0]>0&&(i=ty(t,i)),i}function WN(s){if(s>=_f.length)for(let e=_f.length;e<=s;e++){let t=new Uint8Array([0]),r=_f[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10;}t[0]>0&&(r=ty(t,r)),_f.push(r);}return _f[s]}function RD(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let m=c;m>=0;m--,l++)switch(u=i[a-l]-o[c-l]-t,!0){case u<0:t=1,i[a-l]=u+10;break;default:t=0,i[a-l]=u;}if(t>0)for(let m=a-c+1;m>=0;m--,l++)if(u=i[a-l]-t,u<0)t=1,i[a-l]=u+10;else {t=0,i[a-l]=u;break}return i.slice()}var Ff=class extends mn(hs){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=j2.call(this)));}constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(_N(e));}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r;}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:t=RD(WN(r),t),a="-";break;default:t=OD(t,WN(r));}r++,n>>=1;}}for(let c=0;c<t.length;c++)t[c]&&(o=!0),o&&(a+=KN.charAt(t[c]));return o===!1&&(a+=KN.charAt(0)),a}};rk=Ff;Ff.NAME="IntegerValueBlock";Object.defineProperty(rk.prototype,"valueHex",{set:function(s){this.valueHexView=new Uint8Array(s),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Mf,L=class extends Qt{constructor(e={}){super(e,Ff),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return ry(),BigInt(this.valueBlock.toString())}static fromBigInt(e){ry();let t=BigInt(e),r=new $f,n=t.toString(16).replace(/^-/,""),i=new Uint8Array(qe.Convert.FromHex(n));if(t<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${qe.Convert.ToHex(o)}`)+t,l=qe.BufferSourceConverter.toUint8Array(qe.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Mf({valueHex:r.final()})}convertToDER(){let e=new Mf({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Mf({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Mf=L;ue.Integer=Mf;L.NAME="INTEGER";var nk,Or=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};nk=Or;ue.Enumerated=nk;Or.NAME="ENUMERATED";var Kf=class extends mn(hs){constructor({valueDec:e=-1,isFirstSid:t=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=t;}fromBER(e,t,r){if(!r)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){ry();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let r=new Uint8Array(t.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(t.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=qe.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Kf.NAME="sidBlock";var dy=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Kf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let t=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,Rr;t.push(n);}return _2(t)}fromString(e){this.value=[];let t=0,r=0,n="",i=!1;do if(r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new Kf;if(n>Number.MAX_SAFE_INTEGER){ry();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};dy.NAME="ObjectIdentifierValueBlock";var ik,ie=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,dy),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};ik=ie;ue.ObjectIdentifier=ik;ie.NAME="OBJECT IDENTIFIER";var Gf=class extends mn(ln){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e;}fromBER(e,t,r){if(r===0)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=qe.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};Gf.NAME="relativeSidBlock";var my=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Gf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,t){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,Rr;r.push(i);}return _2(r)}fromString(e){this.value=[];let t=0,r=0,n="";do{r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1;let i=new Gf;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};my.NAME="RelativeObjectIdentifierValueBlock";var ak,py=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,my),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};ak=py;ue.RelativeObjectIdentifier=ak;py.NAME="RelativeObjectIdentifier";var ok,k=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};ok=k;ue.Sequence=ok;k.NAME="SEQUENCE";var ck,dt=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};ck=dt;ue.Set=ck;dt.NAME="SET";var gy=class extends mn(hs){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=ks;}toJSON(){return {...super.toJSON(),value:this.value}}};gy.NAME="StringValueBlock";var yy=class extends gy{};yy.NAME="SimpleStringValueBlock";var Es=class extends ay{constructor({...e}={}){super(e,yy);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Es.NAME="SIMPLE STRING";var wy=class extends Es{fromBuffer(e){this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=qe.Convert.ToUtf8String(e);}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=qe.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};wy.NAME="Utf8StringValueBlock";var uk,Ps=class extends wy{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};uk=Ps;ue.Utf8String=uk;Ps.NAME="UTF8String";var by=class extends Es{fromBuffer(e){this.valueBlock.value=qe.Convert.ToUtf16String(e),this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf16String(e));}};by.NAME="BmpStringValueBlock";var lk,di=class extends by{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};lk=di;ue.BmpString=lk;di.NAME="BMPString";var Sy=class extends Es{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(t);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let n=0;n<t;n++){let i=hr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};Sy.NAME="UniversalStringValueBlock";var hk,mi=class extends Sy{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};hk=mi;ue.UniversalString=hk;mi.NAME="UniversalString";var fk,hn=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};fk=hn;ue.NumericString=fk;hn.NAME="NumericString";var dk,Ts=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};dk=Ts;ue.PrintableString=dk;Ts.NAME="PrintableString";var mk,pi=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};mk=pi;ue.TeletexString=mk;pi.NAME="TeletexString";var pk,wu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};pk=wu;ue.VideotexString=pk;wu.NAME="VideotexString";var gk,ro=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};gk=ro;ue.IA5String=gk;ro.NAME="IA5String";var yk,bu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};yk=bu;ue.GraphicString=yk;bu.NAME="GraphicString";var wk,no=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};wk=no;ue.VisibleString=wk;no.NAME="VisibleString";var bk,Su=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};bk=Su;ue.GeneralString=bk;Su.NAME="GeneralString";var Sk,vu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};Sk=vu;ue.CharacterString=Sk;vu.NAME="CharacterString";var vk,fn=class extends no{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ns(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ns(this.month,2),t[2]=Ns(this.day,2),t[3]=Ns(this.hour,2),t[4]=Ns(this.minute,2),t[5]=Ns(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};vk=fn;ue.UTCTime=vk;fn.NAME="UTCTime";var Ek,nt=class extends fn{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let t=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else {let m=new Number(e[e.length-1]);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let m=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),m=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let v=parseInt(E.substring(0,2),10);if(isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");if(o=m*v,E.length===4){if(v=parseInt(E.substring(2,4),10),isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");c=m*v;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let m=new Number(`0${r.substring(u)}`);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");i=m.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.minute=Math.floor(m),m=60*(m-this.minute),this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=1e3*i;this.millisecond=Math.floor(m);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let m=1;m<l.length;m++)switch(m){case 1:this.year=parseInt(l[m],10);break;case 2:this.month=parseInt(l[m],10);break;case 3:this.day=parseInt(l[m],10);break;case 4:this.hour=parseInt(l[m],10)+o;break;case 5:this.minute=parseInt(l[m],10)+c;break;case 6:this.second=parseInt(l[m],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!1){let m=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=m.getUTCFullYear(),this.month=m.getUTCMonth(),this.day=m.getUTCDay(),this.hour=m.getUTCHours(),this.minute=m.getUTCMinutes(),this.second=m.getUTCSeconds(),this.millisecond=m.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let t=[];return t.push(Ns(this.year,4)),t.push(Ns(this.month,2)),t.push(Ns(this.day,2)),t.push(Ns(this.hour,2)),t.push(Ns(this.minute,2)),t.push(Ns(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Ns(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};Ek=nt;ue.GeneralizedTime=Ek;nt.NAME="GeneralizedTime";var xk,vy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};xk=vy;ue.DATE=xk;vy.NAME="DATE";var Ak,Ey=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};Ak=Ey;ue.TimeOfDay=Ak;Ey.NAME="TimeOfDay";var Ik,xy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};Ik=xy;ue.DateTime=Ik;xy.NAME="DateTime";var Ck,Ay=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};Ck=Ay;ue.Duration=Ck;Ay.NAME="Duration";var Nk,Iy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};Nk=Iy;ue.TIME=Nk;Iy.NAME="TIME";var be=class{constructor({name:e=ks,optional:t=!1}={}){this.name=e,this.optional=t;}},it=class extends be{constructor({value:e=[],...t}={}){super(t),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:t=!1,...r}={}){super(r),this.value=e,this.local=t;}},io=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}constructor({data:e=Cy}={}){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}fromBER(e,t,r){let n=t+r;return this.dataView=qe.BufferSourceConverter.toUint8Array(e).subarray(t,n),n}toBER(e){return this.dataView.slice().buffer}};function K(s,e,t){if(t instanceof it){for(let i of t.value)if(K(s,e,i).verified)return {verified:!0,result:s};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return t.hasOwnProperty(H2)&&(i.name=t.name),i}}if(t instanceof be)return t.hasOwnProperty(H2)&&(s[t.name]=e),{verified:!0,result:s};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(xD in t))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(ND in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(kD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=t.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(t.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(t.idBlock.hasOwnProperty(AD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(ID)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(CD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:s};if(!(ED in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:s};if(t.idBlock.isHexOnly){if(!(GN in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=t.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:s};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:s}}if(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(s[t.name]=e)),t instanceof ue.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=t.valueBlock.value.length;if(o>0&&t.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:s};if(e.valueBlock.value.length===0&&t.valueBlock.value.length!==0){let c=!0;for(let u=0;u<t.valueBlock.value.length;u++)c=c&&(t.valueBlock.value[u].optional||!1);return c?{verified:!0,result:s}:(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),s.error="Inconsistent object length",{verified:!1,result:s})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(t.valueBlock.value[c].optional===!1){let u={verified:!1,result:s};return s.error="Inconsistent length between ASN.1 data and schema",t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],u.name=t.name)),u}}else if(t.valueBlock.value[0]instanceof Ae){if(a=K(s,e.valueBlock.value[c],t.valueBlock.value[0].value),a.verified===!1)if(t.valueBlock.value[0].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(H2 in t.valueBlock.value[0]&&t.valueBlock.value[0].name.length>0){let u={};PD in t.valueBlock.value[0]&&t.valueBlock.value[0].local?u=e:u=s,typeof u[t.valueBlock.value[0].name]>"u"&&(u[t.valueBlock.value[0].name]=[]),u[t.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=K(s,e.valueBlock.value[c-i],t.valueBlock.value[c]),a.verified===!1)if(t.valueBlock.value[c].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(a.verified===!1){let c={verified:!1,result:s};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],c.name=t.name)),c}return {verified:!0,result:s}}if(t.primitiveSchema&&GN in e.valueBlock){let i=Wf(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],a.name=t.name)),a}return K(s,i.result,t.primitiveSchema)}return {verified:!0,result:s}}var Se=mb(Q1()),rh=mb(Q1());d();f();d();f();var es=class s{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let t=0;t<this._view.length;t++)this._view[t]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let t=e.length;this.length=t;for(let r=0;r<t;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let t=e.length;this.buffer=new ArrayBuffer(t>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<t;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,t=this.length-e){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,e+t)})}slice(e=0,t=this.length){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,t)})}realloc(e){let t=new ArrayBuffer(e),r=new Uint8Array(t);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=t,this._view=new Uint8Array(this._buffer);}append(e){let t=this.length,r=e.length,n=e._view.subarray();this.realloc(t+r),this._view.set(n,t);}insert(e,t=0,r=this.length-t){return t>this.length-1?!1:(r>this.length-t&&(r=this.length-t),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,t):this._view.set(e._view.subarray(0,r),t),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e.view[t])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e[t])return !1;return !0}findPattern(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let m=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){m=!1;break}if(m)return o?i-c-l:i+c+l}return -1}findFirstIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let m=!1,w=e[u].length;o?l-w>=c.position-c.length&&(m=!0):l-w<=c.position-c.length&&(m=!0),m&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,m=n+u;for(let w=0;w<o;w++)if(this.view[w+m]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new s},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new s({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new s({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new s};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new s};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new s({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={position:n,value:new s};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,t,r,n){let i=[];if(e.isEqual(t))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(t,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((m,w)=>m.left-w.left),i}findPairedArrays(e,t,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(t,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((m,w)=>m.left.position-w.left.position),o}replacePattern(e,t,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,v=>v.position));let m=e.length-t.length,w=new ArrayBuffer(this.view.length-a.length*m),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let v=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,v,a[o].position-e.length-v),v-o*m),E.set(t.view,a[o].position-e.length-o*m),c.replacePatternPositions.push(a[o].position-e.length-o*m);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+t.length-o*m),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,m=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+m]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let m=e[l].length,w=o?i-u-m:i+u,E=!0;for(let v=0;v<m;v++)if(this.view[v+w]!=e[l].view[v]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,t=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(t===null&&(t=e),t>e&&(t=e)):(t===null&&(t=this.length-e),t>this.length-e&&(t=this.length-e)),{start:e,length:t,backward:r}}};d();f();var DD=16777216,pn=class s{constructor(e={}){this._stream=new es,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new es({view:e.view}):"buffer"in e?this.stream=new es({buffer:e.buffer}):"string"in e?this.stream=new es({string:e.string}):"hexstring"in e?this.stream=new es({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new es,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-t)return -1}else if(r>this.start+e.length+t)return -1;return this.start=r,r}findFirstIn(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-t)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+t)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,t,this.length)}findFirstNotIn(e,t=null){(t==null||t>this._length)&&(t=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let t=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,t,this._length)}findFirstSequence(e,t=null,r=null){(t==null||t>this._length)&&(t=this._length),(r==null||r>t)&&(r=t);let n=this._stream.findFirstSequence(e,this._start,t,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new es}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new es};return this.start=n.position,n}findAllSequences(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,t,this.length)}findPairedPatterns(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-t.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-t[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,t){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,t,r,this.length)}skipPatterns(e){let t=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=t,t}skipNotPatterns(e){let t=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return t==-1?-1:(this.start=t,t)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let t=new Uint16Array([e]),r=new Uint8Array(t.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let t=new Int16Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let t=new Int32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,t=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return t&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let t=this.getBlock(2,e);return t.length<2?0:t[0]<<8|t[1]}getInt16(e=!0){let t=this.getUint16(e),r=32768;return t&r?-(r-(t^r)):t}getUint24(e=!0){let t=this.getBlock(4,e);return t.length<3?0:t[0]<<16|t[1]<<8|t[2]}getUint32(e=!0){let t=this.getBlock(4,e);return t.length<4?0:t[0]*DD+(t[1]<<16)+(t[2]<<8)+t[3]}getInt32(e=!0){let t=this.getUint32(e),r=2147483648;return t&r?-(r-(t^r)):t}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+s.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};pn.APPEND_BLOCK=1e3;d();f();d();f();d();f();d();f();d();f();d();f();d();f();function LD(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function $2(s,...e){if(!LD(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function q2(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function kk(s,e){$2(s);let t=e.outputLen;if(s.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}d();f();var ky=s=>new DataView(s.buffer,s.byteOffset,s.byteLength),fr=(s,e)=>s<<32-e|s>>>e,Py=(s,e)=>s<<e|s>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function jD(s){if(typeof s!="string")throw new Error(`utf8ToBytes expected string, got ${typeof s}`);return new Uint8Array(new TextEncoder().encode(s))}function F2(s){return typeof s=="string"&&(s=jD(s)),$2(s),s}var Ny=class{clone(){return this._cloneInto()}};function ao(s){let e=r=>s().update(F2(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function HD(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}var Ty=(s,e,t)=>s&e^~s&t,By=(s,e,t)=>s&e^s&t^e&t,gi=class extends Ny{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ky(this.buffer);}update(e){q2(this);let{view:t,buffer:r,blockLen:n}=this;e=F2(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=ky(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){q2(this),kk(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;HD(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=ky(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%t&&e.buffer.set(r),e}};var Jf=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),yi=new Uint32Array(80),K2=class extends gi{constructor(){super(64,20,8,!1),this.A=Jf[0]|0,this.B=Jf[1]|0,this.C=Jf[2]|0,this.D=Jf[3]|0,this.E=Jf[4]|0;}get(){let{A:e,B:t,C:r,D:n,E:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,t){for(let c=0;c<16;c++,t+=4)yi[c]=e.getUint32(t,!1);for(let c=16;c<80;c++)yi[c]=Py(yi[c-3]^yi[c-8]^yi[c-14]^yi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=Ty(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=By(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let m=Py(r,5)+u+o+l+yi[c]|0;o=a,a=i,i=Py(n,30),n=r,r=m;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){yi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},Pk=ao(()=>new K2);d();f();d();f();var _D=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wi=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bi=new Uint32Array(64),G2=class extends gi{constructor(){super(64,32,8,!1),this.A=wi[0]|0,this.B=wi[1]|0,this.C=wi[2]|0,this.D=wi[3]|0,this.E=wi[4]|0,this.F=wi[5]|0,this.G=wi[6]|0,this.H=wi[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)bi[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=bi[m-15],E=bi[m-2],v=fr(w,7)^fr(w,18)^w>>>3,A=fr(E,17)^fr(E,19)^E>>>10;bi[m]=A+bi[m-7]+v+bi[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=fr(o,6)^fr(o,11)^fr(o,25),E=l+w+Ty(o,c,u)+_D[m]+bi[m]|0,A=(fr(r,2)^fr(r,13)^fr(r,22))+By(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bi.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var W2=ao(()=>new G2);d();f();d();f();var Oy=BigInt(4294967295),J2=BigInt(32);function Tk(s,e=!1){return e?{h:Number(s&Oy),l:Number(s>>J2&Oy)}:{h:Number(s>>J2&Oy)|0,l:Number(s&Oy)|0}}function MD(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;n<s.length;n++){let{h:i,l:a}=Tk(s[n],e);[t[n],r[n]]=[i,a];}return [t,r]}var $D=(s,e)=>BigInt(s>>>0)<<J2|BigInt(e>>>0),qD=(s,e,t)=>s>>>t,FD=(s,e,t)=>s<<32-t|e>>>t,KD=(s,e,t)=>s>>>t|e<<32-t,GD=(s,e,t)=>s<<32-t|e>>>t,WD=(s,e,t)=>s<<64-t|e>>>t-32,JD=(s,e,t)=>s>>>t-32|e<<64-t,zD=(s,e)=>e,YD=(s,e)=>s,ZD=(s,e,t)=>s<<t|e>>>32-t,XD=(s,e,t)=>e<<t|s>>>32-t,QD=(s,e,t)=>e<<t-32|s>>>64-t,eU=(s,e,t)=>s<<t-32|e>>>64-t;function tU(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var sU=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),rU=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,nU=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),iU=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,aU=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),oU=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var cU={fromBig:Tk,split:MD,toBig:$D,shrSH:qD,shrSL:FD,rotrSH:KD,rotrSL:GD,rotrBH:WD,rotrBL:JD,rotr32H:zD,rotr32L:YD,rotlSH:ZD,rotlSL:XD,rotlBH:QD,rotlBL:eU,add:tU,add3L:sU,add3H:rU,add4L:nU,add4H:iU,add5H:oU,add5L:aU},Le=cU;var[uU,lU]=Le.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),Si=new Uint32Array(80),vi=new Uint32Array(80),Ry=class extends gi{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209;}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)Si[T]=e.getUint32(t),vi[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=Si[T-15]|0,B=vi[T-15]|0,G=Le.rotrSH(P,B,1)^Le.rotrSH(P,B,8)^Le.shrSH(P,B,7),se=Le.rotrSL(P,B,1)^Le.rotrSL(P,B,8)^Le.shrSL(P,B,7),X=Si[T-2]|0,ae=vi[T-2]|0,fe=Le.rotrSH(X,ae,19)^Le.rotrBH(X,ae,61)^Le.shrSH(X,ae,6),te=Le.rotrSL(X,ae,19)^Le.rotrBL(X,ae,61)^Le.shrSL(X,ae,6),oe=Le.add4L(se,te,vi[T-7],vi[T-16]),me=Le.add4H(oe,G,fe,Si[T-7],Si[T-16]);Si[T]=me|0,vi[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Le.rotrSH(m,w,14)^Le.rotrSH(m,w,18)^Le.rotrBH(m,w,41),B=Le.rotrSL(m,w,14)^Le.rotrSL(m,w,18)^Le.rotrBL(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=Le.add5L(U,B,se,lU[T],vi[T]),ae=Le.add5H(X,D,P,G,uU[T],Si[T]),fe=X|0,te=Le.rotrSH(r,n,28)^Le.rotrBH(r,n,34)^Le.rotrBH(r,n,39),oe=Le.rotrSL(r,n,28)^Le.rotrBL(r,n,34)^Le.rotrBL(r,n,39),me=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Le.add(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=Le.add3L(fe,oe,_e);r=Le.add3H(J,ae,te,me),n=J|0;}(({h:r,l:n}=Le.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Le.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Le.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Le.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Le.add(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Le.add(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Le.add(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Le.add(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){Si.fill(0),vi.fill(0);}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}};var z2=class extends Ry{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},Y2=ao(()=>new Ry);var Z2=ao(()=>new z2);var It=new ArrayBuffer(0),b="",et=class s extends TypeError{constructor(){super(...arguments),this.name=s.NAME;}static isType(e,t){if(typeof t=="string"){if(t==="Array"&&Array.isArray(e))return !0;if(t==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(t==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===t)return !0}else if(e instanceof t)return !0;return !1}static assert(e,t,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new s(`Parameter '${t}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};et.NAME="ArgumentError";var Je=class s extends TypeError{static assert(...e){let t=null,r,n;typeof e[0]=="string"?(t=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),et.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new s(i,t)}}static assertEmpty(e,t,r){if(e==null)throw new s(t,r)}constructor(e,t=null,r){super(),this.name=s.NAME,this.field=e,t&&(this.target=t),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${t?` in '${t}'`:b}`;}};Je.NAME="ParameterError";var _=class s extends Error{static assertSchema(e,t){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${t}`)}static assert(e,t){if(e.offset===-1)throw new s(`Error during parsing of ASN.1 data. Data is not correct for '${t}'.`)}constructor(e){super(e),this.name="AsnError";}},q=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let t=kt(e);_.assert(t,this.name);try{return new this({schema:t.result})}catch{throw new _(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let t;try{t=this.toSchema();}catch{t=this.toSchema(!0);}return Se.Convert.ToString(t.toBER(),e)}};q.CLASS_NAME="PkiObject";function oa(s){let e=!1,t=b,r=s.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(t+=" ",e=!1),t+=r[n]);return t.toLowerCase()}var zf="type",X2="value",n0=class s extends q{constructor(e={}){super(),this.type=y(e,zf,s.defaultValues(zf)),this.value=y(e,X2,s.defaultValues(X2)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zf:return b;case X2:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new be({name:t.value||b})]})}fromSchema(e){W(e,[zf,"typeValue"]);let t=K(e,e,s.schema({names:{type:zf,value:"typeValue"}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.value=t.result.typeValue;}toSchema(){return new k({value:[new ie({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let t=[Ps.blockName(),di.blockName(),mi.blockName(),hn.blockName(),Ts.blockName(),pi.blockName(),wu.blockName(),ro.blockName(),bu.blockName(),no.blockName(),Su.blockName(),vu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===s.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of t)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=oa(this.value.valueBlock.value),o=oa(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};n0.CLASS_NAME="AttributeTypeAndValue";var oo="typesAndValues",Vy="valueBeforeDecode",Bk="RDN",at=class s extends q{constructor(e={}){super(),this.typesAndValues=y(e,oo,s.defaultValues(oo)),this.valueBeforeDecode=y(e,Vy,s.defaultValues(Vy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oo:return [];case Vy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case oo:return t.length===0;case Vy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.repeatedSequence||b,value:new dt({value:[new Ae({name:t.repeatedSet||b,value:n0.schema(t.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[Bk,oo]);let t=K(e,e,s.schema({names:{blockName:Bk,repeatedSet:oo}}));_.assertSchema(t,this.className),oo in t.result&&(this.typesAndValues=Array.from(t.result.typesAndValues,r=>new n0({schema:r}))),this.valueBeforeDecode=t.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new k({value:[new dt({value:Array.from(this.typesAndValues,t=>t.toSchema())})]});let e=kt(this.valueBeforeDecode);if(_.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof s){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[t,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[t])===!1)return !1;return !0}return e instanceof ArrayBuffer?fi(this.valueBeforeDecode,e):!1}};at.CLASS_NAME="RelativeDistinguishedNames";var cd="type",ud="value";function hU(s={},e=!1){let t=y(s,"names",{});return new k({optional:e,value:[new V({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:t.country_name||b,value:[new it({value:[new hn,new Ts]})]}),new V({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:t.administration_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:t.network_address||b,isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:t.terminal_identifier||b,isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:t.private_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:t.organization_name||b,isHexOnly:!0}),new ge({optional:!0,name:t.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new V({optional:!0,name:t.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new ge({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new V({optional:!0,name:t.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ts})]})]})}function fU(s=!1){return new k({optional:s,value:[new Ts,new Ts]})}function dU(s=!1){return new dt({optional:s,value:[new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var tt=class s extends q{constructor(e={}){super(),this.type=y(e,cd,s.defaultValues(cd)),this.value=y(e,ud,s.defaultValues(ud)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return 9;case ud:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case cd:return t===s.defaultValues(e);case ud:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[new V({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b,value:[new ie,new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new V({idBlock:{tagClass:3,tagNumber:3},name:t.blockName||b,value:[hU(t.builtInStandardAttributes||{},!1),fU(!0),dU(!0)]}),new V({idBlock:{tagClass:3,tagNumber:4},name:t.blockName||b,value:[at.schema(t.directoryName||{})]}),new V({idBlock:{tagClass:3,tagNumber:5},name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let t=K(e,e,s.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(_.assertSchema(t,this.className),this.type=t.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=t.result.blockName;break;case 1:case 2:case 6:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=t.result.blockName;break;case 4:this.value=new at({schema:t.result.directoryName});break;case 5:this.value=t.result.ediPartyName;break;case 7:this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex});break;case 8:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new V({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new ro({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new V({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ie({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return s.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};tt.CLASS_NAME="GeneralName";var ld="accessMethod",hd="accessLocation",mU=[ld,hd],i0=class s extends q{constructor(e={}){super(),this.accessMethod=y(e,ld,s.defaultValues(ld)),this.accessLocation=y(e,hd,s.defaultValues(hd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ld:return b;case hd:return new tt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.accessMethod||b}),tt.schema(t.accessLocation||{})]})}fromSchema(e){W(e,mU);let t=K(e,e,s.schema({names:{accessMethod:ld,accessLocation:{names:{blockName:hd}}}}));_.assertSchema(t,this.className),this.accessMethod=t.result.accessMethod.valueBlock.toString(),this.accessLocation=new tt({schema:t.result.accessLocation});}toSchema(){return new k({value:[new ie({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};i0.CLASS_NAME="AccessDescription";var xi="seconds",Ai="millis",Ii="micros",Pn=class s extends q{constructor(e={}){super(),xi in e&&(this.seconds=y(e,xi,s.defaultValues(xi))),Ai in e&&(this.millis=y(e,Ai,s.defaultValues(Ai))),Ii in e&&(this.micros=y(e,Ii,s.defaultValues(Ii))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xi:case Ai:case Ii:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xi:case Ai:case Ii:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:!0,value:[new L({optional:!0,name:t.seconds||b}),new ge({name:t.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[xi,Ai,Ii]);let t=K(e,e,s.schema({names:{seconds:xi,millis:Ai,micros:Ii}}));if(_.assertSchema(t,this.className),"seconds"in t.result&&(this.seconds=t.result.seconds.valueBlock.valueDec),"millis"in t.result){let r=new L({valueHex:t.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in t.result){let r=new L({valueHex:t.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new L({value:this.seconds})),this.millis!==void 0){let t=new L({value:this.millis});e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:t.valueBlock.valueHexView}));}if(this.micros!==void 0){let t=new L({value:this.micros});e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:t.valueBlock.valueHexView}));}return new k({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Pn.CLASS_NAME="Accuracy";var Dy="algorithmId",Yf="algorithmParams",sP="algorithm",NA="params",pU=[sP,NA],j=class s extends q{constructor(e={}){super(),this.algorithmId=y(e,Dy,s.defaultValues(Dy)),Yf in e&&(this.algorithmParams=y(e,Yf,s.defaultValues(Yf))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dy:return b;case Yf:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dy:return t===b;case Yf:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!1,value:[new ie({name:t.algorithmIdentifier||b}),new be({name:t.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,pU);let t=K(e,e,s.schema({names:{algorithmIdentifier:sP,algorithmParams:NA}}));_.assertSchema(t,this.className),this.algorithmId=t.result.algorithm.valueBlock.toString(),NA in t.result&&(this.algorithmParams=t.result.params);}toSchema(){let e=[];return e.push(new ie({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new k({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof s)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};j.CLASS_NAME="AlgorithmIdentifier";var Pu="altNames",gU=[Pu],a0=class s extends q{constructor(e={}){super(),this.altNames=y(e,Pu,s.defaultValues(Pu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pu:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.altNames||b,value:tt.schema()})]})}fromSchema(e){W(e,gU);let t=K(e,e,s.schema({names:{altNames:Pu}}));_.assertSchema(t,this.className),Pu in t.result&&(this.altNames=Array.from(t.result.altNames,r=>new tt({schema:r})));}toSchema(){return new k({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};a0.CLASS_NAME="AltName";var Tu="type",Bu="values",yU=[Tu,Bu],yt=class s extends q{constructor(e={}){super(),this.type=y(e,Tu,s.defaultValues(Tu)),this.values=y(e,Bu,s.defaultValues(Bu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Tu:return b;case Bu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Tu:return t===b;case Bu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new dt({name:t.setName||b,value:[new Ae({name:t.values||b,value:new be})]})]})}fromSchema(e){W(e,yU);let t=K(e,e,s.schema({names:{type:Tu,values:Bu}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.values=t.result.values;}toSchema(){return new k({value:[new ie({value:this.type}),new dt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};yt.CLASS_NAME="Attribute";var fd="notBeforeTime",dd="notAfterTime",wU=[fd,dd],Vn=class s extends q{constructor(e={}){super(),this.notBeforeTime=y(e,fd,s.defaultValues(fd)),this.notAfterTime=y(e,dd,s.defaultValues(dd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fd:case dd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new nt({name:t.notBeforeTime||b}),new nt({name:t.notAfterTime||b})]})}fromSchema(e){W(e,wU);let t=K(e,e,s.schema({names:{notBeforeTime:fd,notAfterTime:dd}}));_.assertSchema(t,this.className),this.notBeforeTime=t.result.notBeforeTime.toDate(),this.notAfterTime=t.result.notAfterTime.toDate();}toSchema(){return new k({value:[new nt({valueDate:this.notBeforeTime}),new nt({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};Vn.CLASS_NAME="AttCertValidityPeriod";var Zf="names",Ok="generalNames",Lt=class s extends q{constructor(e={}){super(),this.names=y(e,Zf,s.defaultValues(Zf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,Zf,{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:tt.schema()})]})}fromSchema(e){W(e,[Zf,Ok]);let t=K(e,e,s.schema({names:{blockName:Zf,generalNames:Ok}}));_.assertSchema(t,this.className),this.names=Array.from(t.result.generalNames,r=>new tt({schema:r}));}toSchema(){return new k({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Lt.CLASS_NAME="GeneralNames";var bU="2.5.29.9",SU="2.5.29.14",vU="2.5.29.15",EU="2.5.29.16",rP="2.5.29.17",nP="2.5.29.18",aI="2.5.29.19",xU="2.5.29.20",AU="2.5.29.27",IU="2.5.29.21",CU="2.5.29.24",iP="2.5.29.28",aP="2.5.29.29",oP="2.5.29.30",cP="2.5.29.31",oI="2.5.29.46",uP="2.5.29.32",Gs="2.5.29.32.0",NU="1.3.6.1.4.1.311.21.10",lP="2.5.29.33",cI="2.5.29.35",hP="2.5.29.36",kU="2.5.29.37",PU="2.5.29.54",uI="1.3.6.1.5.5.7.1.1",TU="1.3.6.1.5.5.7.1.11",BU="1.3.6.1.4.1.11129.2.4.2";var OU="1.3.6.1.4.1.311.21.7",RU="1.3.6.1.4.1.311.21.1",VU="1.3.6.1.5.5.7.1.3",lI="1.2.840.113549.1.7.1",fP="1.2.840.113549.1.7.2",dP="1.2.840.113549.1.7.3",mP="1.2.840.113549.1.7.6",DU="1.2.840.113549.1.9.16.1.4",Rk="1.2.840.113549.1.9.22.1",UU="1.2.840.113549.1.9.22.2",Vk="1.2.840.113549.1.9.22.3",Dk="1.2.840.113549.1.9.23.1",LU="1.3.6.1.5.5.7",hI=`${LU}.48`,aw=`${hI}.1.1`;var ho="keyIdentifier",fo="authorityCertIssuer",mo="authorityCertSerialNumber",jU=[ho,fo,mo],o0=class s extends q{constructor(e={}){super(),ho in e&&(this.keyIdentifier=y(e,ho,s.defaultValues(ho))),fo in e&&(this.authorityCertIssuer=y(e,fo,s.defaultValues(fo))),mo in e&&(this.authorityCertSerialNumber=y(e,mo,s.defaultValues(mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return new z;case fo:return [];case mo:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.authorityCertIssuer||b,value:tt.schema()})]}),new ge({name:t.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,jU);let t=K(e,e,s.schema({names:{keyIdentifier:ho,authorityCertIssuer:fo,authorityCertSerialNumber:mo}}));_.assertSchema(t,this.className),ho in t.result&&(this.keyIdentifier=new z({valueHex:t.result.keyIdentifier.valueBlock.valueHex})),fo in t.result&&(this.authorityCertIssuer=Array.from(t.result.authorityCertIssuer,r=>new tt({schema:r}))),mo in t.result&&(this.authorityCertSerialNumber=new L({valueHex:t.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,t=>t.toSchema())})),this.authorityCertSerialNumber&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,t=>t.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};o0.CLASS_NAME="AuthorityKeyIdentifier";var co="pathLenConstraint",uo="cA",c0=class s extends q{constructor(e={}){super(),this.cA=y(e,uo,!1),co in e&&(this.pathLenConstraint=y(e,co,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case uo:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new _s({optional:!0,name:t.cA||b}),new L({optional:!0,name:t.pathLenConstraint||b})]})}fromSchema(e){W(e,[uo,co]);let t=K(e,e,s.schema({names:{cA:uo,pathLenConstraint:co}}));_.assertSchema(t,this.className),uo in t.result&&(this.cA=t.result.cA.valueBlock.value),co in t.result&&(t.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=t.result.pathLenConstraint:this.pathLenConstraint=t.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==s.defaultValues(uo)&&e.push(new _s({value:this.cA})),co in this&&(this.pathLenConstraint instanceof L?e.push(this.pathLenConstraint):e.push(new L({value:this.pathLenConstraint}))),new k({value:e})}toJSON(){let e={};return this.cA!==s.defaultValues(uo)&&(e.cA=this.cA),co in this&&(this.pathLenConstraint instanceof L?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};c0.CLASS_NAME="BasicConstraints";var Q2="certificateIndex",eA="keyIndex",Lw=class s extends q{constructor(e={}){super(),this.certificateIndex=y(e,Q2,s.defaultValues(Q2)),this.keyIndex=y(e,eA,s.defaultValues(eA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Q2:case eA:return 0;default:return super.defaultValues(e)}}static schema(){return new L}fromSchema(e){if(e.constructor.blockName()!==L.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let t=e.valueBlock.valueHex.slice(0),r=new Uint8Array(t);switch(!0){case t.byteLength<4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r,4-t.byteLength),t=m.slice(0);}break;case t.byteLength>4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r.slice(0,4)),t=m.slice(0);}break}let n=t.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=t.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),t=new Uint16Array(e);t[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new L({valueHex:to(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};Lw.CLASS_NAME="CAVersion";var md="policyQualifierId",pd="qualifier",HU=[md,pd],u0=class s extends q{constructor(e={}){super(),this.policyQualifierId=y(e,md,s.defaultValues(md)),this.qualifier=y(e,pd,s.defaultValues(pd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case md:return b;case pd:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyQualifierId||b}),new be({name:t.qualifier||b})]})}fromSchema(e){W(e,HU);let t=K(e,e,s.schema({names:{policyQualifierId:md,qualifier:pd}}));_.assertSchema(t,this.className),this.policyQualifierId=t.result.policyQualifierId.valueBlock.toString(),this.qualifier=t.result.qualifier;}toSchema(){return new k({value:[new ie({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};u0.CLASS_NAME="PolicyQualifierInfo";var gd="policyIdentifier",po="policyQualifiers",_U=[gd,po],l0=class s extends q{constructor(e={}){super(),this.policyIdentifier=y(e,gd,s.defaultValues(gd)),po in e&&(this.policyQualifiers=y(e,po,s.defaultValues(po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gd:return b;case po:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyIdentifier||b}),new k({optional:!0,value:[new Ae({name:t.policyQualifiers||b,value:u0.schema()})]})]})}fromSchema(e){W(e,_U);let t=K(e,e,s.schema({names:{policyIdentifier:gd,policyQualifiers:po}}));_.assertSchema(t,this.className),this.policyIdentifier=t.result.policyIdentifier.valueBlock.toString(),po in t.result&&(this.policyQualifiers=Array.from(t.result.policyQualifiers,r=>new u0({schema:r})));}toSchema(){let e=[];return e.push(new ie({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new k({value:Array.from(this.policyQualifiers,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,t=>t.toJSON())),e}};l0.CLASS_NAME="PolicyInformation";var yd="certificatePolicies",MU=[yd],h0=class s extends q{constructor(e={}){super(),this.certificatePolicies=y(e,yd,s.defaultValues(yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.certificatePolicies||b,value:l0.schema()})]})}fromSchema(e){W(e,MU);let t=K(e,e,s.schema({names:{certificatePolicies:yd}}));_.assertSchema(t,this.className),this.certificatePolicies=Array.from(t.result.certificatePolicies,r=>new l0({schema:r}));}toSchema(){return new k({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};h0.CLASS_NAME="CertificatePolicies";var wd="templateID",yn="templateMajorVersion",wn="templateMinorVersion",$U=[wd,yn,wn],kA=class s extends q{constructor(e={}){super(),this.templateID=y(e,wd,s.defaultValues(wd)),yn in e&&(this.templateMajorVersion=y(e,yn,s.defaultValues(yn))),wn in e&&(this.templateMinorVersion=y(e,wn,s.defaultValues(wn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return b;case yn:case wn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.templateID||b}),new L({name:t.templateMajorVersion||b,optional:!0}),new L({name:t.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,$U);let t=K(e,e,s.schema({names:{templateID:wd,templateMajorVersion:yn,templateMinorVersion:wn}}));_.assertSchema(t,this.className),this.templateID=t.result.templateID.valueBlock.toString(),yn in t.result&&(this.templateMajorVersion=t.result.templateMajorVersion.valueBlock.valueDec),wn in t.result&&(this.templateMinorVersion=t.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ie({value:this.templateID})),yn in this&&e.push(new L({value:this.templateMajorVersion})),wn in this&&e.push(new L({value:this.templateMinorVersion})),new k({value:e})}toJSON(){let e={templateID:this.templateID};return yn in this&&(e.templateMajorVersion=this.templateMajorVersion),wn in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},go="distributionPoint",pP="distributionPointNames",yo="reasons",wo="cRLIssuer",gP="cRLIssuerNames",qU=[go,pP,yo,wo,gP],f0=class s extends q{constructor(e={}){super(),go in e&&(this.distributionPoint=y(e,go,s.defaultValues(go))),yo in e&&(this.reasons=y(e,yo,s.defaultValues(yo))),wo in e&&(this.cRLIssuer=y(e,wo,s.defaultValues(wo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return [];case yo:return new Ve;case wo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new V({name:t.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:t.cRLIssuerNames||b,value:tt.schema()})]})]})}fromSchema(e){W(e,qU);let t=K(e,e,s.schema({names:{distributionPoint:go,distributionPointNames:pP,reasons:yo,cRLIssuer:wo,cRLIssuerNames:gP}}));_.assertSchema(t,this.className),go in t.result&&(t.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}))),t.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})}))),yo in t.result&&(this.reasons=new Ve({valueHex:t.result.reasons.valueBlock.valueHex})),wo in t.result&&(this.cRLIssuer=Array.from(t.result.cRLIssuerNames,r=>new tt({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):t=new V({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}return this.reasons&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,t=>t.toJSON())),e}};f0.CLASS_NAME="DistributionPoint";var bd="distributionPoints",FU=[bd],d0=class s extends q{constructor(e={}){super(),this.distributionPoints=y(e,bd,s.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.distributionPoints||b,value:f0.schema()})]})}fromSchema(e){W(e,FU);let t=K(e,e,s.schema({names:{distributionPoints:bd}}));_.assertSchema(t,this.className),this.distributionPoints=Array.from(t.result.distributionPoints,r=>new f0({schema:r}));}toSchema(){return new k({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};d0.CLASS_NAME="CRLDistributionPoints";var Sd="keyPurposes",KU=[Sd],jw=class s extends q{constructor(e={}){super(),this.keyPurposes=y(e,Sd,s.defaultValues(Sd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.keyPurposes||b,value:new ie})]})}fromSchema(e){W(e,KU);let t=K(e,e,s.schema({names:{keyPurposes:Sd}}));_.assertSchema(t,this.className),this.keyPurposes=Array.from(t.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new k({value:Array.from(this.keyPurposes,e=>new ie({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};jw.CLASS_NAME="ExtKeyUsage";var Xf="accessDescriptions",m0=class s extends q{constructor(e={}){super(),this.accessDescriptions=y(e,Xf,s.defaultValues(Xf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xf:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.accessDescriptions||b,value:i0.schema()})]})}fromSchema(e){W(e,[Xf]);let t=K(e,e,s.schema({names:{accessDescriptions:Xf}}));_.assertSchema(t,this.className),this.accessDescriptions=Array.from(t.result.accessDescriptions,r=>new i0({schema:r}));}toSchema(){return new k({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};m0.CLASS_NAME="InfoAccess";var bo="distributionPoint",yP="distributionPointNames",Ci="onlyContainsUserCerts",Ni="onlyContainsCACerts",ki="onlySomeReasons",Pi="indirectCRL",Ti="onlyContainsAttributeCerts",GU=[bo,yP,Ci,Ni,ki,Pi,Ti],Hw=class s extends q{constructor(e={}){super(),bo in e&&(this.distributionPoint=y(e,bo,s.defaultValues(bo))),this.onlyContainsUserCerts=y(e,Ci,s.defaultValues(Ci)),this.onlyContainsCACerts=y(e,Ni,s.defaultValues(Ni)),ki in e&&(this.onlySomeReasons=y(e,ki,s.defaultValues(ki))),this.indirectCRL=y(e,Pi,s.defaultValues(Pi)),this.onlyContainsAttributeCerts=y(e,Ti,s.defaultValues(Ti)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bo:return [];case Ci:return !1;case Ni:return !1;case ki:return 0;case Pi:return !1;case Ti:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new ge({name:t.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new ge({name:t.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new ge({name:t.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,GU);let t=K(e,e,s.schema({names:{distributionPoint:bo,distributionPointNames:yP,onlyContainsUserCerts:Ci,onlyContainsCACerts:Ni,onlySomeReasons:ki,indirectCRL:Pi,onlyContainsAttributeCerts:Ti}}));if(_.assertSchema(t,this.className),bo in t.result)switch(!0){case t.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}));break;case t.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Ci in t.result){let r=new Uint8Array(t.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ni in t.result){let r=new Uint8Array(t.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(ki in t.result){let r=new Uint8Array(t.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Pi in t.result){let r=new Uint8Array(t.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Ti in t.result){let r=new Uint8Array(t.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(t=this.distributionPoint.toSchema(),t.idBlock.tagClass=3,t.idBlock.tagNumber=1),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(this.onlyContainsUserCerts!==s.defaultValues(Ci)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==s.defaultValues(Ni)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let t=new ArrayBuffer(1),r=new Uint8Array(t);r[0]=this.onlySomeReasons,e.push(new ge({idBlock:{tagClass:3,tagNumber:3},valueHex:t}));}return this.indirectCRL!==s.defaultValues(Pi)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==s.defaultValues(Ci)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==s.defaultValues(Ni)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),ki in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==s.defaultValues(Pi)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};Hw.CLASS_NAME="IssuingDistributionPoint";var vd="base",Ou="minimum",Bi="maximum",WU=[vd,Ou,Bi],pc=class s extends q{constructor(e={}){super(),this.base=y(e,vd,s.defaultValues(vd)),this.minimum=y(e,Ou,s.defaultValues(Ou)),Bi in e&&(this.maximum=y(e,Bi,s.defaultValues(Bi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vd:return new tt;case Ou:return 0;case Bi:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[tt.schema(t.base||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.minimum||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new L({name:t.maximum||b})]})]})}fromSchema(e){W(e,WU);let t=K(e,e,s.schema({names:{base:{names:{blockName:vd}},minimum:Ou,maximum:Bi}}));_.assertSchema(t,this.className),this.base=new tt({schema:t.result.base}),Ou in t.result&&(t.result.minimum.valueBlock.isHexOnly?this.minimum=t.result.minimum:this.minimum=t.result.minimum.valueBlock.valueDec),Bi in t.result&&(t.result.maximum.valueBlock.isHexOnly?this.maximum=t.result.maximum:this.maximum=t.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let t=0;this.minimum instanceof L?t=this.minimum:t=new L({value:this.minimum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(Bi in this){let t=0;this.maximum instanceof L?t=this.maximum:t=new L({value:this.maximum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[t]}));}return new k({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};pc.CLASS_NAME="GeneralSubtree";var So="permittedSubtrees",vo="excludedSubtrees",JU=[So,vo],_w=class s extends q{constructor(e={}){super(),So in e&&(this.permittedSubtrees=y(e,So,s.defaultValues(So))),vo in e&&(this.excludedSubtrees=y(e,vo,s.defaultValues(vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case So:case vo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.permittedSubtrees||b,value:pc.schema()})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.excludedSubtrees||b,value:pc.schema()})]})]})}fromSchema(e){W(e,JU);let t=K(e,e,s.schema({names:{permittedSubtrees:So,excludedSubtrees:vo}}));_.assertSchema(t,this.className),So in t.result&&(this.permittedSubtrees=Array.from(t.result.permittedSubtrees,r=>new pc({schema:r}))),vo in t.result&&(this.excludedSubtrees=Array.from(t.result.excludedSubtrees,r=>new pc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,t=>t.toSchema())})),this.excludedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,t=>t.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,t=>t.toJSON())),e}};_w.CLASS_NAME="NameConstraints";var bn="requireExplicitPolicy",Sn="inhibitPolicyMapping",zU=[bn,Sn],Mw=class s extends q{constructor(e={}){super(),bn in e&&(this.requireExplicitPolicy=y(e,bn,s.defaultValues(bn))),Sn in e&&(this.inhibitPolicyMapping=y(e,Sn,s.defaultValues(Sn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bn:return 0;case Sn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,zU);let t=K(e,e,s.schema({names:{requireExplicitPolicy:bn,inhibitPolicyMapping:Sn}}));if(_.assertSchema(t,this.className),bn in t.result){let r=t.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Sn in t.result){let r=t.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(bn in this){let t=new L({value:this.requireExplicitPolicy});t.idBlock.tagClass=3,t.idBlock.tagNumber=0,e.push(t);}if(Sn in this){let t=new L({value:this.inhibitPolicyMapping});t.idBlock.tagClass=3,t.idBlock.tagNumber=1,e.push(t);}return new k({value:e})}toJSON(){let e={};return bn in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Sn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};Mw.CLASS_NAME="PolicyConstraints";var Ed="issuerDomainPolicy",xd="subjectDomainPolicy",YU=[Ed,xd],p0=class s extends q{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Ed,s.defaultValues(Ed)),this.subjectDomainPolicy=y(e,xd,s.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:return b;case xd:return b;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.issuerDomainPolicy||b}),new ie({name:t.subjectDomainPolicy||b})]})}fromSchema(e){W(e,YU);let t=K(e,e,s.schema({names:{issuerDomainPolicy:Ed,subjectDomainPolicy:xd}}));_.assertSchema(t,this.className),this.issuerDomainPolicy=t.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=t.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new k({value:[new ie({value:this.issuerDomainPolicy}),new ie({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};p0.CLASS_NAME="PolicyMapping";var Ad="mappings",ZU=[Ad],$w=class s extends q{constructor(e={}){super(),this.mappings=y(e,Ad,s.defaultValues(Ad)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.mappings||b,value:p0.schema()})]})}fromSchema(e){W(e,ZU);let t=K(e,e,s.schema({names:{mappings:Ad}}));_.assertSchema(t,this.className),this.mappings=Array.from(t.result.mappings,r=>new p0({schema:r}));}toSchema(){return new k({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};$w.CLASS_NAME="PolicyMappings";var Oi="notBefore",Ri="notAfter",XU=[Oi,Ri],qw=class s extends q{constructor(e={}){super(),Oi in e&&(this.notBefore=y(e,Oi,s.defaultValues(Oi))),Ri in e&&(this.notAfter=y(e,Ri,s.defaultValues(Ri))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oi:return new Date;case Ri:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,XU);let t=K(e,e,s.schema({names:{notBefore:Oi,notAfter:Ri}}));if(_.assertSchema(t,this.className),Oi in t.result){let r=new nt;r.fromBuffer(t.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Ri in t.result){let r=new nt({valueHex:t.result.notAfter.valueBlock.valueHex});r.fromBuffer(t.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return Oi in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:new nt({valueDate:this.notBefore}).valueBlock.valueHexView})),Ri in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new nt({valueDate:this.notAfter}).valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};qw.CLASS_NAME="PrivateKeyUsagePeriod";var Ru="id",vn="type",Vu="values",QU=[Ru,vn],eL=[Vu],g0=class s extends q{constructor(e={}){super(),this.id=y(e,Ru,s.defaultValues(Ru)),vn in e&&(this.type=y(e,vn,s.defaultValues(vn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ru:return b;case vn:return new ft;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ru:return t===b;case vn:return t instanceof ft;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||b}),new be({name:t.type||b,optional:!0})]})}fromSchema(e){W(e,QU);let t=K(e,e,s.schema({names:{id:Ru,type:vn}}));_.assertSchema(t,this.className),this.id=t.result.id.valueBlock.toString(),vn in t.result&&(this.type=t.result.type);}toSchema(){let e=[new ie({value:this.id})];return vn in this&&e.push(this.type),new k({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};g0.CLASS_NAME="QCStatement";var Fw=class s extends q{constructor(e={}){super(),this.values=y(e,Vu,s.defaultValues(Vu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.values||b,value:g0.schema(t.value||{})})]})}fromSchema(e){W(e,eL);let t=K(e,e,s.schema({names:{values:Vu}}));_.assertSchema(t,this.className),this.values=Array.from(t.result.values,r=>new g0({schema:r}));}toSchema(){return new k({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};Fw.CLASS_NAME="QCStatements";var Eo,Lr=class{static register(e,t,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[t]={name:e,id:t,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};Eo=Lr;Lr.namedCurves={};Eo.register("P-256","1.2.840.10045.3.1.7",32),Eo.register("P-384","1.3.132.0.34",48),Eo.register("P-521","1.3.132.0.35",66),Eo.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),Eo.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),Eo.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Uy="x",Ly="y",jy="namedCurve",wr=class s extends q{constructor(e={}){super(),this.x=y(e,Uy,s.defaultValues(Uy)),this.y=y(e,Ly,s.defaultValues(Ly)),this.namedCurve=y(e,jy,s.defaultValues(jy)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Uy:case Ly:return It;case jy:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Uy:case Ly:return t instanceof ArrayBuffer&&fi(t,s.defaultValues(e));case jy:return typeof t=="string"&&t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new io}fromSchema(e){let t=rh.BufferSourceConverter.toUint8Array(e);if(t[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=Lr.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(t.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=t.slice(1,n+1).buffer,this.y=t.slice(1+n,n*2+1).buffer;}toSchema(){return new io({data:to(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=Lr.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:sy(Hf(this.x),!0,!0,!1),y:sy(Hf(this.y),!0,!0,!1)}}fromJSON(e){Je.assert("json",e,"crv","x","y");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=so(yu(e.x,!0));if(n.byteLength<t){this.x=new ArrayBuffer(t);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,t);let i=so(yu(e.y,!0));if(i.byteLength<t){this.y=new ArrayBuffer(t);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,t);}};wr.CLASS_NAME="ECPublicKey";var Id="modulus",Cd="publicExponent",tL=[Id,Cd],y0=class s extends q{constructor(e={}){super(),this.modulus=y(e,Id,s.defaultValues(Id)),this.publicExponent=y(e,Cd,s.defaultValues(Cd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Id:return new L;case Cd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.modulus||b}),new L({name:t.publicExponent||b})]})}fromSchema(e){W(e,tL);let t=K(e,e,s.schema({names:{modulus:Id,publicExponent:Cd}}));_.assertSchema(t,this.className),this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent;}toSchema(){return new k({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"n","e");let t=so(yu(e.n,!0));this.modulus=new L({valueHex:t.slice(0,Math.pow(2,qN(t.byteLength)))}),this.publicExponent=new L({valueHex:so(yu(e.e,!0)).slice(0,3)});}};y0.CLASS_NAME="RSAPublicKey";var Nd="algorithm",kd="subjectPublicKey",sL=[Nd,kd],$s=class s extends q{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ie.blockName())try{this._parsedKey=new wr({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=kt(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new y0({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Nd,s.defaultValues(Nd)),this.subjectPublicKey=y(e,kd,s.defaultValues(kd));let t=y(e,"parsedKey",null);t&&(this.parsedKey=t),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return new j;case kd:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.subjectPublicKey||b})]})}fromSchema(e){W(e,sL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Nd}},subjectPublicKey:kd}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.subjectPublicKey=t.result.subjectPublicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new wr({json:e}),this.algorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new y0({json:e}),this.algorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new Ve({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,t=Oe(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await t.exportKey("spki",e),n=kt(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};$s.CLASS_NAME="PublicKeyInfo";var Du="version",Uu="privateKey",dr="namedCurve",Vi="publicKey",rL=[Du,Uu,dr,Vi],w0=class s extends q{constructor(e={}){super(),this.version=y(e,Du,s.defaultValues(Du)),this.privateKey=y(e,Uu,s.defaultValues(Uu)),dr in e&&(this.namedCurve=y(e,dr,s.defaultValues(dr))),Vi in e&&(this.publicKey=y(e,Vi,s.defaultValues(Vi))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return 1;case Uu:return new z;case dr:return b;case Vi:return new wr;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Du:return t===s.defaultValues(e);case Uu:return t.isEqual(s.defaultValues(e));case dr:return t===b;case Vi:return wr.compareWithDefault(dr,t.namedCurve)&&wr.compareWithDefault("x",t.x)&&wr.compareWithDefault("y",t.y);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ie({name:t.namedCurve||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ve({name:t.publicKey||b})]})]})}fromSchema(e){W(e,rL);let t=K(e,e,s.schema({names:{version:Du,privateKey:Uu,namedCurve:dr,publicKey:Vi}}));if(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKey=t.result.privateKey,dr in t.result&&(this.namedCurve=t.result.namedCurve.valueBlock.toString()),Vi in t.result){let r={schema:t.result.publicKey.valueBlock.valueHex};dr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new wr(r);}}toSchema(){let e=[new L({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new ie({value:this.namedCurve})]})),this.publicKey&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new Ve({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new k({value:e})}toJSON(){if(!this.namedCurve||s.compareWithDefault(dr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=Lr.find(this.namedCurve),t={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();t.x=r.x,t.y=r.y;}return t}fromJSON(e){Je.assert("json",e,"crv","d");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<t){let i=new ArrayBuffer(t),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,t)});e.x&&e.y&&(this.publicKey=new wr({json:e}));}};w0.CLASS_NAME="ECPrivateKey";var Pd="prime",Td="exponent",Bd="coefficient",nL=[Pd,Td,Bd],zl=class s extends q{constructor(e={}){super(),this.prime=y(e,Pd,s.defaultValues(Pd)),this.exponent=y(e,Td,s.defaultValues(Td)),this.coefficient=y(e,Bd,s.defaultValues(Bd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new L;case Td:return new L;case Bd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.prime||b}),new L({name:t.exponent||b}),new L({name:t.coefficient||b})]})}fromSchema(e){W(e,nL);let t=K(e,e,s.schema({names:{prime:Pd,exponent:Td,coefficient:Bd}}));_.assertSchema(t,this.className),this.prime=t.result.prime.convertFromDER(),this.exponent=t.result.exponent.convertFromDER(),this.coefficient=t.result.coefficient.convertFromDER();}toSchema(){return new k({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"r","d","r"),this.prime=new L({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.t)});}};zl.CLASS_NAME="OtherPrimeInfo";var Od="version",Rd="modulus",Vd="publicExponent",Dd="privateExponent",Ud="prime1",Ld="prime2",jd="exponent1",Hd="exponent2",_d="coefficient",xo="otherPrimeInfos",iL=[Od,Rd,Vd,Dd,Ud,Ld,jd,Hd,_d,xo],b0=class s extends q{constructor(e={}){super(),this.version=y(e,Od,s.defaultValues(Od)),this.modulus=y(e,Rd,s.defaultValues(Rd)),this.publicExponent=y(e,Vd,s.defaultValues(Vd)),this.privateExponent=y(e,Dd,s.defaultValues(Dd)),this.prime1=y(e,Ud,s.defaultValues(Ud)),this.prime2=y(e,Ld,s.defaultValues(Ld)),this.exponent1=y(e,jd,s.defaultValues(jd)),this.exponent2=y(e,Hd,s.defaultValues(Hd)),this.coefficient=y(e,_d,s.defaultValues(_d)),xo in e&&(this.otherPrimeInfos=y(e,xo,s.defaultValues(xo))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return 0;case Rd:return new L;case Vd:return new L;case Dd:return new L;case Ud:return new L;case Ld:return new L;case jd:return new L;case Hd:return new L;case _d:return new L;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new L({name:t.modulus||b}),new L({name:t.publicExponent||b}),new L({name:t.privateExponent||b}),new L({name:t.prime1||b}),new L({name:t.prime2||b}),new L({name:t.exponent1||b}),new L({name:t.exponent2||b}),new L({name:t.coefficient||b}),new k({optional:!0,value:[new Ae({name:t.otherPrimeInfosName||b,value:zl.schema(t.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,iL);let t=K(e,e,s.schema({names:{version:Od,modulus:Rd,publicExponent:Vd,privateExponent:Dd,prime1:Ud,prime2:Ld,exponent1:jd,exponent2:Hd,coefficient:_d,otherPrimeInfo:{names:{blockName:xo}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent,this.privateExponent=t.result.privateExponent.convertFromDER(256),this.prime1=t.result.prime1.convertFromDER(128),this.prime2=t.result.prime2.convertFromDER(128),this.exponent1=t.result.exponent1.convertFromDER(128),this.exponent2=t.result.exponent2.convertFromDER(128),this.coefficient=t.result.coefficient.convertFromDER(128),xo in t.result&&(this.otherPrimeInfos=Array.from(t.result.otherPrimeInfos,r=>new zl({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new k({value:Array.from(this.otherPrimeInfos,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,t=>t.toJSON())),e}fromJSON(e){Je.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new L({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new L({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new L({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new L({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new L({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new L({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,t=>new zl({json:t})));}};b0.CLASS_NAME="RSAPrivateKey";var Md="version",$d="privateKeyAlgorithm",qd="privateKey",Ao="attributes",Hy="parsedKey",aL=[Md,$d,qd,Ao],xc=class s extends q{constructor(e={}){super(),this.version=y(e,Md,s.defaultValues(Md)),this.privateKeyAlgorithm=y(e,$d,s.defaultValues($d)),this.privateKey=y(e,qd,s.defaultValues(qd)),Ao in e&&(this.attributes=y(e,Ao,s.defaultValues(Ao))),Hy in e&&(this.parsedKey=y(e,Hy,s.defaultValues(Hy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Md:return 0;case $d:return new j;case qd:return new z;case Ao:return [];case Hy:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),j.schema(t.privateKeyAlgorithm||{}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})]})}fromSchema(e){W(e,aL);let t=K(e,e,s.schema({names:{version:Md,privateKeyAlgorithm:{names:{blockName:$d}},privateKey:qd,attributes:Ao}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new j({schema:t.result.privateKeyAlgorithm}),this.privateKey=t.result.privateKey,Ao in t.result&&(this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new b0({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ie){let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new w0({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new L({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,t=>t.toSchema())})),new k({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new w0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new b0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};xc.CLASS_NAME="PrivateKeyInfo";var Lu="contentType",ju="contentEncryptionAlgorithm",Io="encryptedContent",oL=[Lu,ju,Io],Uk=1024,Gt=class s extends q{constructor(e={}){if(super(),this.contentType=y(e,Lu,s.defaultValues(Lu)),this.contentEncryptionAlgorithm=y(e,ju,s.defaultValues(ju)),Io in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+Uk>n.byteLength?n.byteLength-r:Uk),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return b;case ju:return new j;case Io:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Lu:return t===b;case ju:return t.algorithmId===b&&!("algorithmParams"in t);case Io:return t.isEqual(s.defaultValues(Io));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.contentType||b}),j.schema(t.contentEncryptionAlgorithm||{}),new it({value:[new V({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new ge({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,oL);let t=K(e,e,s.schema({names:{contentType:Lu,contentEncryptionAlgorithm:{names:{blockName:ju}},encryptedContent:Io}}));_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new j({schema:t.result.contentEncryptionAlgorithm}),Io in t.result&&(this.encryptedContent=t.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},t=[];if(t.push(new ie({value:this.contentType})),t.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,t.push(r);}return new k({lenBlock:e,value:t})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Gt.CLASS_NAME="EncryptedContentInfo";var Di="hashAlgorithm",Ui="maskGenAlgorithm",Li="saltLength",ji="trailerField",cL=[Di,Ui,Li,ji],Yl=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Di,s.defaultValues(Di)),this.maskGenAlgorithm=y(e,Ui,s.defaultValues(Ui)),this.saltLength=y(e,Li,s.defaultValues(Li)),this.trailerField=y(e,ji,s.defaultValues(ji)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Di:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case Ui:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Li:return 20;case ji:return 1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new L({name:t.saltLength||b})]}),new V({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new L({name:t.trailerField||b})]})]})}fromSchema(e){W(e,cL);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Di}},maskGenAlgorithm:{names:{blockName:Ui}},saltLength:Li,trailerField:ji}}));_.assertSchema(t,this.className),Di in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),Ui in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Li in t.result&&(this.saltLength=t.result.saltLength.valueBlock.valueDec),ji in t.result&&(this.trailerField=t.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Di))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==s.defaultValues(Li)&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new L({value:this.saltLength})]})),this.trailerField!==s.defaultValues(ji)&&e.push(new V({idBlock:{tagClass:3,tagNumber:3},value:[new L({value:this.trailerField})]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Di))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==s.defaultValues(Li)&&(e.saltLength=this.saltLength),this.trailerField!==s.defaultValues(ji)&&(e.trailerField=this.trailerField),e}};Yl.CLASS_NAME="RSASSAPSSParams";var Hu="salt",Fd="iterationCount",mr="keyLength",En="prf",uL=[Hu,Fd,mr,En],ha=class s extends q{constructor(e={}){super(),this.salt=y(e,Hu,s.defaultValues(Hu)),this.iterationCount=y(e,Fd,s.defaultValues(Fd)),mr in e&&(this.keyLength=y(e,mr,s.defaultValues(mr))),En in e&&(this.prf=y(e,En,s.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return {};case Fd:return -1;case mr:return 0;case En:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new it({value:[new z({name:t.saltPrimitive||b}),j.schema(t.saltConstructed||{})]}),new L({name:t.iterationCount||b}),new L({name:t.keyLength||b,optional:!0}),j.schema(t.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,uL);let t=K(e,e,s.schema({names:{saltPrimitive:Hu,saltConstructed:{names:{blockName:Hu}},iterationCount:Fd,keyLength:mr,prf:{names:{blockName:En,optional:!0}}}}));_.assertSchema(t,this.className),this.salt=t.result.salt,this.iterationCount=t.result.iterationCount.valueBlock.valueDec,mr in t.result&&(this.keyLength=t.result.keyLength.valueBlock.valueDec),En in t.result&&(this.prf=new j({schema:t.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new L({value:this.iterationCount})),mr in this&&s.defaultValues(mr)!==this.keyLength&&e.push(new L({value:this.keyLength})),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new k({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return mr in this&&s.defaultValues(mr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ha.CLASS_NAME="PBKDF2Params";var Kd="keyDerivationFunc",Gd="encryptionScheme",lL=[Kd,Gd],S0=class s extends q{constructor(e={}){super(),this.keyDerivationFunc=y(e,Kd,s.defaultValues(Kd)),this.encryptionScheme=y(e,Gd,s.defaultValues(Gd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Kd:return new j;case Gd:return new j;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyDerivationFunc||{}),j.schema(t.encryptionScheme||{})]})}fromSchema(e){W(e,lL);let t=K(e,e,s.schema({names:{keyDerivationFunc:{names:{blockName:Kd}},encryptionScheme:{names:{blockName:Gd}}}}));_.assertSchema(t,this.className),this.keyDerivationFunc=new j({schema:t.result.keyDerivationFunc}),this.encryptionScheme=new j({schema:t.result.encryptionScheme});}toSchema(){return new k({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};S0.CLASS_NAME="PBES2Params";var PA=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function Lk(s,e,t,r,n){let i,a,o;switch(s.toUpperCase()){case"SHA-1":i=20,a=64,o=Pk;break;case"SHA-256":i=32,a=64,o=W2;break;case"SHA-384":i=48,a=128,o=Z2;break;case"SHA-512":i=64,a=128,o=Y2;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(t),u=new TextDecoder().decode(t);new TextEncoder().encode(u).some((P,B)=>P!==c[B])&&(u=String.fromCharCode(...c));let m=new Uint8Array(u.length*2+2),w=new DataView(m.buffer);for(let P=0;P<u.length;P++)w.setUint16(P*2,u.charCodeAt(P),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),v=new Uint8Array(r),A=new Uint8Array(a*Math.ceil(v.length/a)).map((P,B)=>v[B%v.length]),C=new Uint8Array(a*Math.ceil(m.length/a)).map((P,B)=>m[B%m.length]),D=new Uint8Array(A.length+C.length);D.set(A),D.set(C,A.length);let U=Math.ceil((e>>3)/i),T=[];for(let P=0;P<U;P++){let B=new Uint8Array(E.length+D.length);B.set(E),B.set(D,E.length);for(let ae=0;ae<n;ae++)B=o(B);let G=new Uint8Array(a).map((ae,fe)=>B[fe%B.length]),se=Math.ceil(v.length/a)+Math.ceil(m.length/a),X=[];for(let ae=0;ae<se;ae++){let fe=Array.from(D.slice(ae*a,(ae+1)*a)),te=511;for(let oe=G.length-1;oe>=0;oe--)te>>=8,te+=G[oe]+(fe[oe]||0),fe[oe]=te&255;X.push(...fe);}D=new Uint8Array(X),T.push(...B);}return new Uint8Array(T.slice(0,e>>3)).buffer}function wP(s){let e=typeof s=="string"?{name:s}:s;return "hash"in e?{...e,hash:wP(e.hash)}:e}var nh=class extends PA{async importKey(e,t,r,n,i){var a,o,c,u,l,m;let w={},E=wP(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",t,r,n,i);case"spki":{let v=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(v,"keyData");let A=new $s;try{A.fromSchema(v.result);}catch{throw new et("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,A.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},A.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);let C=A.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=A.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let v=new xc,A=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(A,"keyData");try{v.fromSchema(A.result);}catch{throw new Error("Incorrect keyData")}if(!v.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,v.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${v.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},v.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${v.privateKeyAlgorithm.algorithmId}`);let C=v.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(m=E.hash)===null||m===void 0?void 0:m.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=v.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=t;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",so(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,t){let r=await this.subtle.exportKey("jwk",t);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(Hf(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",t);case"spki":{let n=new $s;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new xc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,t,r,n,i,a){if(e.toLowerCase()===t.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(t,o)}getAlgorithmByOID(e,t=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(t)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,t=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&t)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,t){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(t.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(t.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let t=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":t="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":t="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":t="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":t="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new Yl({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)t=n.name;else return b}else t="SHA-1";}catch{}break}return t}async encryptEncryptedContentInfo(e){Je.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let t=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ha({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new j({algorithmId:n,algorithmParams:new ft})}),m=new Uint8Array(e.password),w=await this.importKey("raw",m,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),v=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),A=new S0({keyDerivationFunc:new j({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new j({algorithmId:t,algorithmParams:new z({valueHex:i})})});return new Gt({contentType:e.contentType,contentEncryptionAlgorithm:new j({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:A.toSchema()}),encryptedContent:new z({valueHex:v})})}async decryptEncryptedContentInfo(e){if(Je.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let t;try{t=new S0({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ha({schema:t.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(t.encryptionScheme.algorithmId,!0),i=t.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let m=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},m,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Je.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let t;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Lk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Je.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let t=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Lk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,t="SHA-1"){this.getOIDByAlgorithm({name:t},!0,"hashAlgorithm");let r=new j,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=t,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new j({algorithmId:c,algorithmParams:new ft}),a.maskGenAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new Yl(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,t,r){let n=await this.sign(r.algorithm,t,e);return r.algorithm.name==="ECDSA"?fL(n):n}fillPublicKeyParameters(e,t){let r={},n=this.getHashAlgorithm(t);if(n===b)throw new Error(`Unsupported signature algorithm: ${t.algorithmId}`);let i;t.algorithmId==="1.2.840.113549.1.1.10"?i=t.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,t,r){r||(r=this.fillPublicKeyParameters(e,t));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,t,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let m=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(m.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),m.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=t.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=Lr.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=kt(c);_.assert(l,"Signature value"),c=dL(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new Yl({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},bP={name:"none",crypto:null};function jk(s){return !!(s&&typeof s=="object"&&"crypto"in s)}function Hk(s,...e){let t=null;if(e.length<2)e.length?t=e[0]:t=typeof self<"u"&&self.crypto?new nh({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];jk(n)?t=n:jk(r)?t=r:"subtle"in r&&"getRandomValues"in r&&(t=new nh({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:s,crypto:t};}else bP={name:s,crypto:t};}function hL(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let s;try{s=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return s}return bP}function Oe(s=!1){let e=hL();if(!e.crypto&&s)throw new Error("Unable to create WebCrypto object");return e.crypto}function fL(s){if(s.byteLength%2!==0)return It;let e=s.byteLength/2,t=new ArrayBuffer(e);new Uint8Array(t).set(new Uint8Array(s,0,e));let n=new L({valueHex:t}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(s,e,e));let o=new L({valueHex:i});return new k({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function dL(s,e){if(!(s instanceof k&&s.valueBlock.value.length===2&&s.valueBlock.value[0]instanceof L&&s.valueBlock.value[1]instanceof L))return It;let t=s.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=s.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(t,e-t.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function mL(s,e,t,r,n){switch(s.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new et("'zBuffer' has zero length, error");if(et.assert(r,"SharedInfo","ArrayBuffer"),t>255)throw new et("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=t;let o=It;o=to(o,e),o=to(o,i),o=to(o,r);let c=await n.digest({name:s},o);return {counter:t,result:c}}async function _k(s,e,t,r,n=Oe(!0)){let i=0,a=1;switch(s.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new et("'Zbuffer' has zero length, error");et.assert(r,"SharedInfo","ArrayBuffer");let o=t/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await mL(s,e,w,r,n));let u=It,l=1,m=!0;for(;m;){m=!1;for(let w of c)if(w.counter===l){u=to(u,w.result),m=!0;break}l++;}if(t>>=3,u.byteLength>t){let w=new ArrayBuffer(t),E=new Uint8Array(w),v=new Uint8Array(u);for(let A=0;A<t;A++)E[A]=v[A];return w}return u}var tA="version",sA="logID",rA="extensions",nA="timestamp",iA="hashAlgorithm",aA="signatureAlgorithm",oA="signature",Mk="none",$k="md5",qk="sha1",Fk="sha224",Kk="sha256",Gk="sha384",Wk="sha512",Jk="anonymous",zk="rsa",Yk="dsa",Zk="ecdsa",Kw=class s extends q{constructor(e={}){super(),this.version=y(e,tA,s.defaultValues(tA)),this.logID=y(e,sA,s.defaultValues(sA)),this.timestamp=y(e,nA,s.defaultValues(nA)),this.extensions=y(e,rA,s.defaultValues(rA)),this.hashAlgorithm=y(e,iA,s.defaultValues(iA)),this.signatureAlgorithm=y(e,aA,s.defaultValues(aA)),this.signature=y(e,oA,s.defaultValues(oA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tA:return 0;case sA:case rA:return It;case nA:return new Date(0);case iA:case aA:return b;case oA:return It;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof io))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let t=new pn({stream:new es({buffer:e.data})});this.fromStream(t);}fromStream(e){let t=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(un(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=Mk;break;case 1:this.hashAlgorithm=$k;break;case 2:this.hashAlgorithm=qk;break;case 3:this.hashAlgorithm=Fk;break;case 4:this.hashAlgorithm=Kk;break;case 5:this.hashAlgorithm=Gk;break;case 6:this.hashAlgorithm=Wk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=Jk;break;case 1:this.signatureAlgorithm=zk;break;case 2:this.signatureAlgorithm=Yk;break;case 3:this.signatureAlgorithm=Zk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),t!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new io({data:e.stream.buffer})}toStream(){let e=new pn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let t=new ArrayBuffer(8),r=new Uint8Array(t),n=hr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case Mk:i=0;break;case $k:i=1;break;case qk:i=2;break;case Fk:i=3;break;case Kk:i=4;break;case Gk:i=5;break;case Wk:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case Jk:a=0;break;case zk:a=1;break;case Yk:a=2;break;case Zk:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:ey(this.logID),timestamp:this.timestamp,extensions:ey(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:ey(this.signature)}}async verify(e,t,r=0,n=Oe(!0)){let i=sy(Hf(this.logID)),a=null,o=new pn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=so(yu(a)),u=$s.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),m=new Uint8Array(l),w=hr(this.timestamp.valueOf(),8);return m.set(new Uint8Array(w),8-w.byteLength),o.appendView(m),o.appendUint16(r),r===0&&o.appendUint24(t.byteLength),o.appendView(new Uint8Array(t)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};Kw.CLASS_NAME="SignedCertificateTimestamp";var _y="timestamps",Gw=class s extends q{constructor(e={}){super(),this.timestamps=y(e,_y,s.defaultValues(_y)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _y:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _y:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){var t;let r=y(e,"names",{});return (t=r.optional)!==null&&t!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let t=new pn({stream:new es({buffer:e.valueBlock.valueHex})});if(t.getUint16()!==t.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;t.length;)this.timestamps.push(new Kw({stream:t}));}toSchema(){let e=new pn,t=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),t+=i.stream.buffer.byteLength;}e.appendUint16(t);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};Gw.CLASS_NAME="SignedCertificateTimestampList";var Wd="attributes",pL=[Wd],Ww=class s extends q{constructor(e={}){super(),this.attributes=y(e,Wd,s.defaultValues(Wd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,pL);let t=K(e,e,s.schema({names:{attributes:Wd}}));_.assertSchema(t,this.className),this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}));}toSchema(){return new k({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};Ww.CLASS_NAME="SubjectDirectoryAttributes";var TA=class s{static getItems(){return this.types||(this.types={},s.register(rP,"SubjectAltName",a0),s.register(nP,"IssuerAltName",a0),s.register(cI,"AuthorityKeyIdentifier",o0),s.register(aI,"BasicConstraints",c0),s.register(RU,"MicrosoftCaVersion",Lw),s.register(uP,"CertificatePolicies",h0),s.register(NU,"CertificatePoliciesMicrosoft",h0),s.register(OU,"MicrosoftCertTemplateV2",kA),s.register(cP,"CRLDistributionPoints",d0),s.register(oI,"FreshestCRL",d0),s.register(kU,"ExtKeyUsage",jw),s.register(aP,"CertificateIssuer",Lt),s.register(uI,"AuthorityInfoAccess",m0),s.register(TU,"SubjectInfoAccess",m0),s.register(iP,"IssuingDistributionPoint",Hw),s.register(oP,"NameConstraints",_w),s.register(hP,"PolicyConstraints",Mw),s.register(lP,"PolicyMappings",$w),s.register(EU,"PrivateKeyUsagePeriod",qw),s.register(VU,"QCStatements",Fw),s.register(BU,"SignedCertificateTimestampList",Gw),s.register(bU,"SubjectDirectoryAttributes",Ww)),this.types}static fromBER(e,t){let r=kt(t);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,t,r){this.getItems()[e]={name:t,type:r};}},Jd="extnID",Hi="critical",zd="extnValue",My="parsedValue",gL=[Jd,Hi,zd],Bs=class s extends q{get parsedValue(){if(this._parsedValue===void 0){let e=TA.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,Jd,s.defaultValues(Jd)),this.critical=y(e,Hi,s.defaultValues(Hi)),zd in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=s.defaultValues(zd),My in e&&(this.parsedValue=y(e,My,s.defaultValues(My))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jd:return b;case Hi:return !1;case zd:return new z;case My:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.extnID||b}),new _s({name:t.critical||b,optional:!0}),new z({name:t.extnValue||b})]})}fromSchema(e){W(e,gL);let t=K(e,e,s.schema({names:{extnID:Jd,critical:Hi,extnValue:zd}}));_.assertSchema(t,this.className),this.extnID=t.result.extnID.valueBlock.toString(),Hi in t.result&&(this.critical=t.result.critical.valueBlock.value),this.extnValue=t.result.extnValue;}toSchema(){let e=[];return e.push(new ie({value:this.extnID})),this.critical!==s.defaultValues(Hi)&&e.push(new _s({value:this.critical})),e.push(this.extnValue),new k({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==s.defaultValues(Hi)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Bs.CLASS_NAME="Extension";var Yd="extensions",yL=[Yd],Pt=class s extends q{constructor(e={}){super(),this.extensions=y(e,Yd,s.defaultValues(Yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yd:return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Bs.schema(r.extension||{})})]})}fromSchema(e){W(e,yL);let t=K(e,e,s.schema({names:{extensions:Yd}}));_.assertSchema(t,this.className),this.extensions=Array.from(t.result.extensions,r=>new Bs({schema:r}));}toSchema(){return new k({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Pt.CLASS_NAME="Extensions";var Zd="issuer",Xd="serialNumber",Co="issuerUID",wL=[Zd,Xd,Co],Ws=class s extends q{constructor(e={}){super(),this.issuer=y(e,Zd,s.defaultValues(Zd)),this.serialNumber=y(e,Xd,s.defaultValues(Xd)),Co in e&&(this.issuerUID=y(e,Co,s.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return new Lt;case Xd:return new L;case Co:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema(t.issuer||{}),new L({name:t.serialNumber||b}),new Ve({optional:!0,name:t.issuerUID||b})]})}fromSchema(e){W(e,wL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Zd}},serialNumber:Xd,issuerUID:Co}}));_.assertSchema(t,this.className),this.issuer=new Lt({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber,Co in t.result&&(this.issuerUID=t.result.issuerUID);}toSchema(){let e=new k({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Ws.CLASS_NAME="IssuerSerial";var Qd="version",No="baseCertificateID",ko="subjectName",em="issuer",tm="signature",sm="serialNumber",rm="attrCertValidityPeriod",nm="attributes",Po="issuerUniqueID",To="extensions",bL=[Qd,No,ko,em,tm,sm,rm,nm,Po,To],Zl=class s extends q{constructor(e={}){super(),this.version=y(e,Qd,s.defaultValues(Qd)),No in e&&(this.baseCertificateID=y(e,No,s.defaultValues(No))),ko in e&&(this.subjectName=y(e,ko,s.defaultValues(ko))),this.issuer=y(e,em,s.defaultValues(em)),this.signature=y(e,tm,s.defaultValues(tm)),this.serialNumber=y(e,sm,s.defaultValues(sm)),this.attrCertValidityPeriod=y(e,rm,s.defaultValues(rm)),this.attributes=y(e,nm,s.defaultValues(nm)),Po in e&&(this.issuerUniqueID=y(e,Po,s.defaultValues(Po))),To in e&&(this.extensions=y(e,To,s.defaultValues(To))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qd:return 0;case No:return new Ws;case ko:return new Lt;case em:return new Lt;case tm:return new j;case sm:return new L;case rm:return new Vn;case nm:return [];case Po:return new Ve;case To:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new it({value:[new V({name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({name:t.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value})]}),Lt.schema({names:{blockName:t.issuer||b}}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,bL);let t=K(e,e,s.schema({names:{version:Qd,baseCertificateID:No,subjectName:ko,issuer:em,signature:{names:{blockName:tm}},serialNumber:sm,attrCertValidityPeriod:{names:{blockName:rm}},attributes:nm,issuerUniqueID:Po,extensions:{names:{blockName:To}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,No in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),ko in t.result&&(this.subjectName=new Lt({schema:new k({value:t.result.subjectName.valueBlock.value})})),this.issuer=t.result.issuer,this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),Po in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),To in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new k({value:Array.from(this.attributes,t=>t.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,t=>t.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Zl.CLASS_NAME="AttributeCertificateInfoV1";var im="acinfo",am="signatureAlgorithm",om="signatureValue",SL=[im,om,am],ih=class s extends q{constructor(e={}){super(),this.acinfo=y(e,im,s.defaultValues(im)),this.signatureAlgorithm=y(e,am,s.defaultValues(am)),this.signatureValue=y(e,om,s.defaultValues(om)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case im:return new Zl;case am:return new j;case om:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Zl.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,SL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:im}},signatureAlgorithm:{names:{blockName:am}},signatureValue:om}}));_.assertSchema(t,this.className),this.acinfo=new Zl({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};ih.CLASS_NAME="AttributeCertificateV1";var cm="digestedObjectType",Bo="otherObjectTypeID",um="digestAlgorithm",lm="objectDigest",vL=[cm,Bo,um,lm],Dn=class s extends q{constructor(e={}){super(),this.digestedObjectType=y(e,cm,s.defaultValues(cm)),Bo in e&&(this.otherObjectTypeID=y(e,Bo,s.defaultValues(Bo))),this.digestAlgorithm=y(e,um,s.defaultValues(um)),this.objectDigest=y(e,lm,s.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cm:return new Or;case Bo:return new ie;case um:return new j;case lm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Or({name:t.digestedObjectType||b}),new ie({optional:!0,name:t.otherObjectTypeID||b}),j.schema(t.digestAlgorithm||{}),new Ve({name:t.objectDigest||b})]})}fromSchema(e){W(e,vL);let t=K(e,e,s.schema({names:{digestedObjectType:cm,otherObjectTypeID:Bo,digestAlgorithm:{names:{blockName:um}},objectDigest:lm}}));_.assertSchema(t,this.className),this.digestedObjectType=t.result.digestedObjectType,Bo in t.result&&(this.otherObjectTypeID=t.result.otherObjectTypeID),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.objectDigest=t.result.objectDigest;}toSchema(){let e=new k({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Dn.CLASS_NAME="ObjectDigestInfo";var Oo="issuerName",Ro="baseCertificateID",Vo="objectDigestInfo",EL=[Oo,Ro,Vo],v0=class s extends q{constructor(e={}){super(),Oo in e&&(this.issuerName=y(e,Oo,s.defaultValues(Oo))),Ro in e&&(this.baseCertificateID=y(e,Ro,s.defaultValues(Ro))),Vo in e&&(this.objectDigestInfo=y(e,Vo,s.defaultValues(Vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oo:return new Lt;case Ro:return new Ws;case Vo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema({names:{blockName:t.issuerName}},!0),new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,EL);let t=K(e,e,s.schema({names:{issuerName:Oo,baseCertificateID:Ro,objectDigestInfo:Vo}}));_.assertSchema(t,this.className),Oo in t.result&&(this.issuerName=new Lt({schema:t.result.issuerName})),Ro in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Vo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};v0.CLASS_NAME="V2Form";var Do="baseCertificateID",Uo="entityName",Lo="objectDigestInfo",xL=[Do,Uo,Lo],Xl=class s extends q{constructor(e={}){super(),Do in e&&(this.baseCertificateID=y(e,Do,s.defaultValues(Do))),Uo in e&&(this.entityName=y(e,Uo,s.defaultValues(Uo))),Lo in e&&(this.objectDigestInfo=y(e,Lo,s.defaultValues(Lo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Do:return new Ws;case Uo:return new Lt;case Lo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,xL);let t=K(e,e,s.schema({names:{baseCertificateID:Do,entityName:Uo,objectDigestInfo:Lo}}));_.assertSchema(t,this.className),Do in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Uo in t.result&&(this.entityName=new Lt({schema:new k({value:t.result.entityName.valueBlock.value})})),Lo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Xl.CLASS_NAME="Holder";var hm="version",fm="holder",dm="issuer",mm="signature",pm="serialNumber",gm="attrCertValidityPeriod",ym="attributes",jo="issuerUniqueID",Ho="extensions",AL=[hm,fm,dm,mm,pm,gm,ym,jo,Ho],Ql=class s extends q{constructor(e={}){super(),this.version=y(e,hm,s.defaultValues(hm)),this.holder=y(e,fm,s.defaultValues(fm)),this.issuer=y(e,dm,s.defaultValues(dm)),this.signature=y(e,mm,s.defaultValues(mm)),this.serialNumber=y(e,pm,s.defaultValues(pm)),this.attrCertValidityPeriod=y(e,gm,s.defaultValues(gm)),this.attributes=y(e,ym,s.defaultValues(ym)),jo in e&&(this.issuerUniqueID=y(e,jo,s.defaultValues(jo))),Ho in e&&(this.extensions=y(e,Ho,s.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hm:return 1;case fm:return new Xl;case dm:return {};case mm:return new j;case pm:return new L;case gm:return new Vn;case ym:return [];case jo:return new Ve;case Ho:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Xl.schema(t.holder||{}),new it({value:[Lt.schema({names:{blockName:t.issuer||b}}),new V({name:t.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:v0.schema().valueBlock.value})]}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,AL);let t=K(e,e,s.schema({names:{version:hm,holder:{names:{blockName:fm}},issuer:dm,signature:{names:{blockName:mm}},serialNumber:pm,attrCertValidityPeriod:{names:{blockName:gm}},attributes:ym,issuerUniqueID:jo,extensions:{names:{blockName:Ho}}}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.holder=new Xl({schema:t.result.holder}),t.result.issuer.idBlock.tagClass){case 3:this.issuer=new v0({schema:new k({value:t.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),jo in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),Ho in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version}),this.holder.toSchema(),new V({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new k({value:Array.from(this.attributes,t=>t.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,t=>t.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Ql.CLASS_NAME="AttributeCertificateInfoV2";var wm="acinfo",bm="signatureAlgorithm",Sm="signatureValue",IL=[wm,bm,Sm],Ur=class s extends q{constructor(e={}){super(),this.acinfo=y(e,wm,s.defaultValues(wm)),this.signatureAlgorithm=y(e,bm,s.defaultValues(bm)),this.signatureValue=y(e,Sm,s.defaultValues(Sm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wm:return new Ql;case bm:return new j;case Sm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Ql.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,IL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:wm}},signatureAlgorithm:{names:{blockName:bm}},signatureValue:Sm}}));_.assertSchema(t,this.className),this.acinfo=new Ql({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Ur.CLASS_NAME="AttributeCertificateV2";var _o="contentType",_u="content",CL=[_o,_u],mt=class s extends q{constructor(e={}){super(),this.contentType=y(e,_o,s.defaultValues(_o)),this.content=y(e,_u,s.defaultValues(_u)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _o:return b;case _u:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _o:return typeof t=="string"&&t===this.defaultValues(_o);case _u:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return "optional"in t||(t.optional=!1),new k({name:t.blockName||"ContentInfo",optional:t.optional,value:[new ie({name:t.contentType||_o}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.content||_u})]})]})}fromSchema(e){W(e,CL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.content=t.result.content;}toSchema(){return new k({value:[new ie({value:this.contentType}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};mt.CLASS_NAME="ContentInfo";mt.DATA=lI;mt.SIGNED_DATA=fP;mt.ENVELOPED_DATA=dP;mt.ENCRYPTED_DATA=mP;var cA="type",uA="value",BA="utcTimeName",OA="generalTimeName",NL=[BA,OA],Xk;(function(s){s[s.UTCTime=0]="UTCTime",s[s.GeneralizedTime=1]="GeneralizedTime",s[s.empty=2]="empty";})(Xk||(Xk={}));var jt=class s extends q{constructor(e={}){super(),this.type=y(e,cA,s.defaultValues(cA)),this.value=y(e,uA,s.defaultValues(uA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cA:return 0;case uA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new it({optional:t,value:[new fn({name:r.utcTimeName||b}),new nt({name:r.generalTimeName||b})]})}fromSchema(e){W(e,NL);let t=K(e,e,s.schema({names:{utcTimeName:BA,generalTimeName:OA}}));_.assertSchema(t,this.className),BA in t.result&&(this.type=0,this.value=t.result.utcTimeName.toDate()),OA in t.result&&(this.type=1,this.value=t.result.generalTimeName.toDate());}toSchema(){return this.type===0?new fn({valueDate:this.value}):this.type===1?new nt({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};jt.CLASS_NAME="Time";var lA="tbs",_i="version",ow="serialNumber",cw="signature",uw="issuer",lw="notBefore",hw="notAfter",fw="subject",dw="subjectPublicKeyInfo",vm="issuerUniqueID",Em="subjectUniqueID",xm="extensions",Am="signatureAlgorithm",Im="signatureValue",qs="tbsCertificate",Jw=`${qs}.${_i}`,fI=`${qs}.${ow}`,dI=`${qs}.${cw}`,mI=`${qs}.${uw}`,zw=`${qs}.${lw}`,Yw=`${qs}.${hw}`,pI=`${qs}.${fw}`,gI=`${qs}.${dw}`,Zw=`${qs}.${vm}`,Xw=`${qs}.${Em}`,r0=`${qs}.${xm}`,kL=[qs,Jw,fI,dI,mI,zw,Yw,pI,gI,Zw,Xw,r0,Am,Im];function PL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||qs,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:e.tbsCertificateVersion||Jw})]}),new L({name:e.tbsCertificateSerialNumber||fI}),j.schema(e.signature||{names:{blockName:dI}}),at.schema(e.issuer||{names:{blockName:mI}}),new k({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[jt.schema(e.notBefore||{names:{utcTimeName:zw,generalTimeName:zw}}),jt.schema(e.notAfter||{names:{utcTimeName:Yw,generalTimeName:Yw}})]}),at.schema(e.subject||{names:{blockName:pI}}),$s.schema(e.subjectPublicKeyInfo||{names:{blockName:gI}}),new ge({name:e.tbsCertificateIssuerUniqueID||Zw,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:e.tbsCertificateSubjectUniqueID||Xw,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Pt.schema(e.extensions||{names:{blockName:r0}})]})]})}var ts=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,lA,s.defaultValues(lA))),this.version=y(e,_i,s.defaultValues(_i)),this.serialNumber=y(e,ow,s.defaultValues(ow)),this.signature=y(e,cw,s.defaultValues(cw)),this.issuer=y(e,uw,s.defaultValues(uw)),this.notBefore=y(e,lw,s.defaultValues(lw)),this.notAfter=y(e,hw,s.defaultValues(hw)),this.subject=y(e,fw,s.defaultValues(fw)),this.subjectPublicKeyInfo=y(e,dw,s.defaultValues(dw)),vm in e&&(this.issuerUniqueID=y(e,vm,s.defaultValues(vm))),Em in e&&(this.subjectUniqueID=y(e,Em,s.defaultValues(Em))),xm in e&&(this.extensions=y(e,xm,s.defaultValues(xm))),this.signatureAlgorithm=y(e,Am,s.defaultValues(Am)),this.signatureValue=y(e,Im,s.defaultValues(Im)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lA:return It;case _i:return 0;case ow:return new L;case cw:return new j;case uw:return new at;case lw:return new jt;case hw:return new jt;case fw:return new at;case dw:return new $s;case vm:return It;case Em:return It;case xm:return [];case Am:return new j;case Im:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[PL(t.tbsCertificate),j.schema(t.signatureAlgorithm||{names:{blockName:Am}}),new Ve({name:t.signatureValue||Im})]})}fromSchema(e){W(e,kL);let t=K(e,e,s.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:r0}}}}}}));_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertificate.valueBeforeDecodeView,Jw in t.result&&(this.version=t.result[Jw].valueBlock.valueDec),this.serialNumber=t.result[fI],this.signature=new j({schema:t.result[dI]}),this.issuer=new at({schema:t.result[mI]}),this.notBefore=new jt({schema:t.result[zw]}),this.notAfter=new jt({schema:t.result[Yw]}),this.subject=new at({schema:t.result[pI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[gI]}),Zw in t.result&&(this.issuerUniqueID=t.result[Zw].valueBlock.valueHex),Xw in t.result&&(this.subjectUniqueID=t.result[Xw].valueBlock.valueHex),r0 in t.result&&(this.extensions=Array.from(t.result[r0],r=>new Bs({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return _i in this&&this.version!==s.defaultValues(_i)&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new k({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new k({value:Array.from(this.extensions,t=>t.toSchema())})]})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema().value[0];let r=kt(this.tbsView);_.assert(r,"TBS Certificate"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return _i in this&&this.version!==s.defaultValues(_i)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",t=Oe(!0)){return t.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e,t=Oe(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof $s))throw new Error("Please provide issuer certificate as a parameter");return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};ts.CLASS_NAME="Certificate";function SP(s,e=null){if(e&&s.issuer.isEqual(e.issuer)&&s.serialNumber.isEqual(e.serialNumber))return null;let t=!1;if(s.extensions){for(let r of s.extensions)if(r.extnID===aI&&r.parsedValue instanceof c0&&r.parsedValue.cA){t=!0;break}}return t?s:null}var Mu="certId",$u="certValue",Eu="parsedValue",TL=[Mu,$u],Qw=class s extends q{constructor(e={}){super(),this.certId=y(e,Mu,s.defaultValues(Mu)),this.certValue=y(e,$u,s.defaultValues($u)),Eu in e&&(this.parsedValue=y(e,Eu,s.defaultValues(Eu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return b;case $u:return new be;case Eu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Mu:return t===b;case $u:return t instanceof be;case Eu:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,TL);let t=K(e,e,s.schema({names:{id:Mu,value:$u}}));_.assertSchema(t,this.className),this.certId=t.result.certId.valueBlock.toString(),this.certValue=t.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case Rk:try{this.parsedValue=ts.fromBER(r);}catch{Ur.fromBER(r);}break;case Vk:this.parsedValue=Ur.fromBER(r);break;case UU:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Eu in this&&("acinfo"in this.parsedValue?this.certId=Vk:this.certId=Rk,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.certId}),new V({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};Qw.CLASS_NAME="CertBag";var Cm="userCertificate",qu="revocationDate",Mo="crlEntryExtensions",BL=[Cm,qu,Mo],eb=class s extends q{constructor(e={}){super(),this.userCertificate=y(e,Cm,s.defaultValues(Cm)),this.revocationDate=y(e,qu,s.defaultValues(qu)),Mo in e&&(this.crlEntryExtensions=y(e,Mo,s.defaultValues(Mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cm:return new L;case qu:return new jt;case Mo:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.userCertificate||Cm}),jt.schema({names:{utcTimeName:t.revocationDate||qu,generalTimeName:t.revocationDate||qu}}),Pt.schema({names:{blockName:t.crlEntryExtensions||Mo}},!0)]})}fromSchema(e){W(e,BL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.userCertificate=t.result.userCertificate,this.revocationDate=new jt({schema:t.result.revocationDate}),Mo in t.result&&(this.crlEntryExtensions=new Pt({schema:t.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new k({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};eb.CLASS_NAME="RevokedCertificate";var hA="tbs",Qf="version",fA="signature",dA="issuer",mA="thisUpdate",$y="nextUpdate",qy="revokedCertificates",Fy="crlExtensions",Nm="signatureAlgorithm",km="signatureValue",jn="tbsCertList",tb=`${jn}.version`,yI=`${jn}.signature`,wI=`${jn}.issuer`,sb=`${jn}.thisUpdate`,E0=`${jn}.nextUpdate`,rb=`${jn}.revokedCertificates`,nb=`${jn}.extensions`,OL=[jn,tb,yI,wI,sb,E0,rb,nb,Nm,km];function RL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||jn,value:[new L({optional:!0,name:e.tbsCertListVersion||tb,value:2}),j.schema(e.signature||{names:{blockName:yI}}),at.schema(e.issuer||{names:{blockName:wI}}),jt.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:sb,generalTimeName:sb}}),jt.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:E0,generalTimeName:E0}},!0),new k({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||rb,value:new k({value:[new L,jt.schema(),Pt.schema({},!0)]})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(e.crlExtensions||{names:{blockName:nb}})]})]})}var VL=[cI,nP,xU,AU,iP,oI,uI,IU,CU,aP],Ac=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,hA,s.defaultValues(hA))),this.version=y(e,Qf,s.defaultValues(Qf)),this.signature=y(e,fA,s.defaultValues(fA)),this.issuer=y(e,dA,s.defaultValues(dA)),this.thisUpdate=y(e,mA,s.defaultValues(mA)),$y in e&&(this.nextUpdate=y(e,$y,s.defaultValues($y))),qy in e&&(this.revokedCertificates=y(e,qy,s.defaultValues(qy))),Fy in e&&(this.crlExtensions=y(e,Fy,s.defaultValues(Fy))),this.signatureAlgorithm=y(e,Nm,s.defaultValues(Nm)),this.signatureValue=y(e,km,s.defaultValues(km)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hA:return It;case Qf:return 0;case fA:return new j;case dA:return new at;case mA:return new jt;case $y:return new jt;case qy:return [];case Fy:return new Pt;case Nm:return new j;case km:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"CertificateList",value:[RL(e),j.schema(t.signatureAlgorithm||{names:{blockName:Nm}}),new Ve({name:t.signatureValue||km})]})}fromSchema(e){W(e,OL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertList.valueBeforeDecodeView,tb in t.result&&(this.version=t.result[tb].valueBlock.valueDec),this.signature=new j({schema:t.result[yI]}),this.issuer=new at({schema:t.result[wI]}),this.thisUpdate=new jt({schema:t.result[sb]}),E0 in t.result&&(this.nextUpdate=new jt({schema:t.result[E0]})),rb in t.result&&(this.revokedCertificates=Array.from(t.result[rb],r=>new eb({schema:r}))),nb in t.result&&(this.crlExtensions=new Pt({schema:t.result[nb]})),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return this.version!==s.defaultValues(Qf)&&e.push(new L({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new k({value:Array.from(this.revokedCertificates,t=>t.toSchema())})),this.crlExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new k({value:e})}toSchema(e=!1){let t;if(e)t=this.encodeTBS();else {if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Certificate Revocation List"),t=r.result;}return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==s.defaultValues(Qf)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,t=>t.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let t of this.revokedCertificates)if(t.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!VL.includes(n.extnID))return !1}return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};Ac.CLASS_NAME="CertificateRevocationList";var Fu="crlId",Ku="crlValue",ed="parsedValue",DL=[Fu,Ku],ib=class s extends q{constructor(e={}){super(),this.crlId=y(e,Fu,s.defaultValues(Fu)),this.crlValue=y(e,Ku,s.defaultValues(Ku)),ed in e&&(this.parsedValue=y(e,ed,s.defaultValues(ed))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Fu:return b;case Ku:return new be;case ed:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Fu:return t===b;case Ku:return t instanceof be;case ed:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,DL);let t=K(e,e,s.schema({names:{id:Fu,value:Ku}}));switch(_.assertSchema(t,this.className),this.crlId=t.result.crlId.valueBlock.toString(),this.crlValue=t.result.crlValue,this.crlId){case Dk:this.parsedValue=Ac.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=Dk,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.crlId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};ib.CLASS_NAME="CRLBag";var Gu="version",Wu="encryptedContentInfo",Mi="unprotectedAttrs",UL=[Gu,Wu,Mi],Ic=class s extends q{constructor(e={}){super(),this.version=y(e,Gu,s.defaultValues(Gu)),this.encryptedContentInfo=y(e,Wu,s.defaultValues(Wu)),Mi in e&&(this.unprotectedAttrs=y(e,Mi,s.defaultValues(Mi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gu:return 0;case Wu:return new Gt;case Mi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Gu:return t===0;case Wu:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);case Mi:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,UL);let t=K(e,e,s.schema({names:{version:Gu,encryptedContentInfo:{names:{blockName:Wu}},unprotectedAttrs:Mi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Mi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}async encrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await t.encryptEncryptedContentInfo(r);}async decrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return t.decryptEncryptedContentInfo(r)}};Ic.CLASS_NAME="EncryptedData";var $o="encryptionAlgorithm",$i="encryptedData",td="parsedValue",LL=[$o,$i],ab=class s extends q{constructor(e={}){super(),this.encryptionAlgorithm=y(e,$o,s.defaultValues($o)),this.encryptedData=y(e,$i,s.defaultValues($i)),td in e&&(this.parsedValue=y(e,td,s.defaultValues(td))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $o:return new j;case $i:return new z;case td:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case $o:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case $i:return t.isEqual(s.defaultValues(e));case td:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.encryptionAlgorithm||{names:{blockName:$o}}),new it({value:[new z({name:t.encryptedData||$i}),new z({idBlock:{isConstructed:!0},name:t.encryptedData||$i})]})]})}fromSchema(e){W(e,LL);let t=K(e,e,s.schema({names:{encryptionAlgorithm:{names:{blockName:$o}},encryptedData:$i}}));_.assertSchema(t,this.className),this.encryptionAlgorithm=new j({schema:t.result.encryptionAlgorithm}),this.encryptedData=t.result.encryptedData;}toSchema(){return new k({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,t=Oe(!0)){let n=await new Ic({encryptedContentInfo:new Gt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,t);this.parsedValue=xc.fromBER(n);}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Ic,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,t),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};ab.CLASS_NAME="PKCS8ShroudedKeyBag";var Ju="secretTypeId",zu="secretValue",jL=[Ju,zu],ob=class s extends q{constructor(e={}){super(),this.secretTypeId=y(e,Ju,s.defaultValues(Ju)),this.secretValue=y(e,zu,s.defaultValues(zu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ju:return b;case zu:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ju:return t===b;case zu:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,jL);let t=K(e,e,s.schema({names:{id:Ju,value:zu}}));_.assertSchema(t,this.className),this.secretTypeId=t.result.secretTypeId.valueBlock.toString(),this.secretValue=t.result.secretValue;}toSchema(){return new k({value:[new ie({value:this.secretTypeId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};ob.CLASS_NAME="SecretBag";var RA=class s{static getItems(){return this.items||(this.items={},s.register("1.2.840.113549.1.12.10.1.1",xc),s.register("1.2.840.113549.1.12.10.1.2",ab),s.register("1.2.840.113549.1.12.10.1.3",Qw),s.register("1.2.840.113549.1.12.10.1.4",ib),s.register("1.2.840.113549.1.12.10.1.5",ob),s.register("1.2.840.113549.1.12.10.1.6",la)),this.items}static register(e,t){this.getItems()[e]=t;}static find(e){return this.getItems()[e]||null}},qo="bagId",Fo="bagValue",xn="bagAttributes",HL=[qo,Fo,xn],x0=class s extends q{constructor(e={}){super(),this.bagId=y(e,qo,s.defaultValues(qo)),this.bagValue=y(e,Fo,s.defaultValues(Fo)),xn in e&&(this.bagAttributes=y(e,xn,s.defaultValues(xn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case qo:return b;case Fo:return new be;case xn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case qo:return t===b;case Fo:return t instanceof be;case xn:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.bagId||qo}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.bagValue||Fo})]}),new dt({optional:!0,value:[new Ae({name:t.bagAttributes||xn,value:yt.schema()})]})]})}fromSchema(e){W(e,HL);let t=K(e,e,s.schema({names:{bagId:qo,bagValue:Fo,bagAttributes:xn}}));_.assertSchema(t,this.className),this.bagId=t.result.bagId.valueBlock.toString();let r=RA.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:t.result.bagValue}),xn in t.result&&(this.bagAttributes=Array.from(t.result.bagAttributes,n=>new yt({schema:n})));}toSchema(){let e=[new ie({value:this.bagId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new dt({value:Array.from(this.bagAttributes,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,t=>t.toJSON())),e}};x0.CLASS_NAME="SafeBag";var xu="safeBags",la=class s extends q{constructor(e={}){super(),this.safeBags=y(e,xu,s.defaultValues(xu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.safeBags||b,value:x0.schema()})]})}fromSchema(e){W(e,[xu]);let t=K(e,e,s.schema({names:{safeBags:xu}}));_.assertSchema(t,this.className),this.safeBags=Array.from(t.result.safeBags,r=>new x0({schema:r}));}toSchema(){return new k({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};la.CLASS_NAME="SafeContents";var Pm="otherCertFormat",Tm="otherCert",_L=[Pm,Tm],eh=class s extends q{constructor(e={}){super(),this.otherCertFormat=y(e,Pm,s.defaultValues(Pm)),this.otherCert=y(e,Tm,s.defaultValues(Tm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pm:return b;case Tm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherCertFormat||Pm}),new be({name:t.otherCert||Tm})]})}fromSchema(e){W(e,_L);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherCertFormat=t.result.otherCertFormat.valueBlock.toString(),this.otherCert=t.result.otherCert;}toSchema(){return new k({value:[new ie({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},Bm="certificates",ML=[Bm],Un=class s extends q{constructor(e={}){super(),this.certificates=y(e,Bm,s.defaultValues(Bm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bm:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.certificates||Bm,value:new it({value:[ts.schema(),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new k]}),new V({idBlock:{tagClass:3,tagNumber:2},value:Ur.schema().valueBlock.value}),new V({idBlock:{tagClass:3,tagNumber:3},value:eh.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,ML);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.certificates=Array.from(t.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new ts({schema:r});let i=new k({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Ur({schema:i}):new ih({schema:i});case 2:return new Ur({schema:i});case 3:return new eh({schema:i})}return r});}toSchema(){return new dt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof ts:return e.toSchema();case e instanceof ih:return new V({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Ur:return new V({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof eh:return new V({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};Un.CLASS_NAME="CertificateSet";var Om="otherRevInfoFormat",Rm="otherRevInfo",$L=[Om,Rm],yc=class s extends q{constructor(e={}){super(),this.otherRevInfoFormat=y(e,Om,s.defaultValues(Om)),this.otherRevInfo=y(e,Rm,s.defaultValues(Rm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Om:return b;case Rm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherRevInfoFormat||Om}),new be({name:t.otherRevInfo||Rm})]})}fromSchema(e){W(e,$L);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherRevInfoFormat=t.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=t.result.otherRevInfo;}toSchema(){return new k({value:[new ie({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};yc.CLASS_NAME="OtherRevocationInfoFormat";var Vm="crls",pA="otherRevocationInfos",qL=[Vm],wc=class s extends q{constructor(e={}){super(),this.crls=y(e,Vm,s.defaultValues(Vm)),this.otherRevocationInfos=y(e,pA,s.defaultValues(pA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vm:return [];case pA:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.crls||b,value:new it({value:[Ac.schema(),new V({idBlock:{tagClass:3,tagNumber:1},value:[new ie,new be]})]})})]})}fromSchema(e){W(e,qL);let t=K(e,e,s.schema({names:{crls:Vm}}));if(_.assertSchema(t,this.className),t.result.crls)for(let r of t.result.crls)r.idBlock.tagClass===1?this.crls.push(new Ac({schema:r})):this.otherRevocationInfos.push(new yc({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,t=>t.toSchema())),e.push(...Array.from(this.otherRevocationInfos,t=>{let r=t.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new dt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};wc.CLASS_NAME="RevocationInfoChoices";var Dm="certs",Ko="crls",FL=[Dm,Ko],th=class s extends q{constructor(e={}){super(),this.crls=y(e,Ko,s.defaultValues(Ko)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dm:return new Un;case Ko:return new wc;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dm:return t.certificates.length===0;case Ko:return t.crls.length===0&&t.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({name:t.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({name:t.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema().valueBlock.value})]})}fromSchema(e){W(e,FL);let t=K(e,e,s.schema({names:{certs:Dm,crls:Ko}}));_.assertSchema(t,this.className),Dm in t.result&&(this.certs=new Un({schema:new dt({value:t.result.certs.valueBlock.value})})),Ko in t.result&&(this.crls=new wc({schema:new dt({value:t.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new k({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};th.CLASS_NAME="OriginatorInfo";var Um="issuer",Lm="serialNumber",KL=[Um,Lm],Ht=class s extends q{constructor(e={}){super(),this.issuer=y(e,Um,s.defaultValues(Um)),this.serialNumber=y(e,Lm,s.defaultValues(Lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Um:return new at;case Lm:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[at.schema(t.issuer||{}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,KL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Um}},serialNumber:Lm}}));_.assertSchema(t,this.className),this.issuer=new at({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};Ht.CLASS_NAME="IssuerAndSerialNumber";var Ky="variant",sd="value",GL=["blockName"],cb=class s extends q{constructor(e={}){super(),this.variant=y(e,Ky,s.defaultValues(Ky)),sd in e&&(this.value=y(e,sd,s.defaultValues(sd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ky:return -1;case sd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ky:return t===-1;case sd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,GL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof Ht))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};cb.CLASS_NAME="RecipientIdentifier";var Go="version",Yu="rid",Zu="keyEncryptionAlgorithm",Xu="encryptedKey",Gy="recipientCertificate",WL=[Go,Yu,Zu,Xu],ah=class s extends q{constructor(e={}){super(),this.version=y(e,Go,s.defaultValues(Go)),this.rid=y(e,Yu,s.defaultValues(Yu)),this.keyEncryptionAlgorithm=y(e,Zu,s.defaultValues(Zu)),this.encryptedKey=y(e,Xu,s.defaultValues(Xu)),this.recipientCertificate=y(e,Gy,s.defaultValues(Gy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Go:return -1;case Yu:return {};case Zu:return new j;case Xu:return new z;case Gy:return new ts;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Go:return t===s.defaultValues(Go);case Yu:return Object.keys(t).length===0;case Zu:case Xu:return t.isEqual(s.defaultValues(e));case Gy:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),cb.schema(t.rid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,WL);let t=K(e,e,s.schema({names:{version:Go,rid:{names:{blockName:Yu}},keyEncryptionAlgorithm:{names:{blockName:Zu}},encryptedKey:Xu}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,t.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:t.result.rid.valueBlock.valueHex}):this.rid=new Ht({schema:t.result.rid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof Ht?(this.version=0,e.push(new L({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new L({value:this.version})),e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};ah.CLASS_NAME="KeyTransRecipientInfo";var Qu="algorithm",el="publicKey",JL=[Qu,el],oh=class s extends q{constructor(e={}){super(),this.algorithm=y(e,Qu,s.defaultValues(Qu)),this.publicKey=y(e,el,s.defaultValues(el)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qu:return new j;case el:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qu:case el:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.publicKey||b})]})}fromSchema(e){W(e,JL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Qu}},publicKey:el}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.publicKey=t.result.publicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};oh.CLASS_NAME="OriginatorPublicKey";var Wy="variant",rd="value",zL=["blockName"],bc=class s extends q{constructor(e={}){super(),this.variant=y(e,Wy,s.defaultValues(Wy)),rd in e&&(this.value=y(e,rd,s.defaultValues(rd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:return -1;case rd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wy:return t===-1;case rd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b}),new V({idBlock:{tagClass:3,tagNumber:1},name:t.blockName||b,value:oh.schema().valueBlock.value})]})}fromSchema(e){W(e,zL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):t.result.blockName.idBlock.tagNumber===0?(t.result.blockName.idBlock.tagClass=1,t.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=t.result.blockName):(this.variant=3,this.value=new oh({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};bc.CLASS_NAME="OriginatorIdentifierOrKey";var tl="keyAttrId",Vr="keyAttr",YL=[tl,Vr],Ln=class s extends q{constructor(e={}){super(),this.keyAttrId=y(e,tl,s.defaultValues(tl)),Vr in e&&(this.keyAttr=y(e,Vr,s.defaultValues(Vr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tl:return b;case Vr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tl:return typeof t=="string"&&t===b;case Vr:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({optional:t.optional||!0,name:t.blockName||b,value:[new ie({name:t.keyAttrId||b}),new be({optional:!0,name:t.keyAttr||b})]})}fromSchema(e){W(e,YL);let t=K(e,e,s.schema({names:{keyAttrId:tl,keyAttr:Vr}}));_.assertSchema(t,this.className),this.keyAttrId=t.result.keyAttrId.valueBlock.toString(),Vr in t.result&&(this.keyAttr=t.result.keyAttr);}toSchema(){let e=[];return e.push(new ie({value:this.keyAttrId})),Vr in this&&e.push(this.keyAttr),new k({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Vr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};Ln.CLASS_NAME="OtherKeyAttribute";var Wo="subjectKeyIdentifier",qi="date",Fi="other",ZL=[Wo,qi,Fi],ch=class s extends q{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Wo,s.defaultValues(Wo)),qi in e&&(this.date=y(e,qi,s.defaultValues(qi))),Fi in e&&(this.other=y(e,Fi,s.defaultValues(Fi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new z;case qi:return new nt;case Fi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wo:return t.isEqual(s.defaultValues(Wo));case qi:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Fi:return t.keyAttrId===b&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.subjectKeyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,ZL);let t=K(e,e,s.schema({names:{subjectKeyIdentifier:Wo,date:qi,other:{names:{blockName:Fi}}}}));_.assertSchema(t,this.className),this.subjectKeyIdentifier=t.result.subjectKeyIdentifier,qi in t.result&&(this.date=t.result.date),Fi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};ch.CLASS_NAME="RecipientKeyIdentifier";var Jy="variant",zy="value",XL=["blockName"],fa=class s extends q{constructor(e={}){super(),this.variant=y(e,Jy,s.defaultValues(Jy)),this.value=y(e,zy,s.defaultValues(zy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jy:return -1;case zy:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Jy:return t===-1;case zy:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema(t.issuerAndSerialNumber||{names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:ch.schema(t.rKeyId||{names:{blockName:t.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,XL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new ch({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new V({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};fa.CLASS_NAME="KeyAgreeRecipientIdentifier";var sl="rid",Jo="encryptedKey",QL=[sl,Jo],uh=class s extends q{constructor(e={}){super(),this.rid=y(e,sl,s.defaultValues(sl)),this.encryptedKey=y(e,Jo,s.defaultValues(Jo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sl:return new fa;case Jo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sl:return t.variant===-1&&!("value"in t);case Jo:return t.isEqual(s.defaultValues(Jo));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[fa.schema(t.rid||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,QL);let t=K(e,e,s.schema({names:{rid:{names:{blockName:sl}},encryptedKey:Jo}}));_.assertSchema(t,this.className),this.rid=new fa({schema:t.result.rid}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};uh.CLASS_NAME="RecipientEncryptedKey";var Yy="encryptedKeys",vP="RecipientEncryptedKeys",ej=[vP],Sc=class s extends q{constructor(e={}){super(),this.encryptedKeys=y(e,Yy,s.defaultValues(Yy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Yy:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.RecipientEncryptedKeys||b,value:uh.schema()})]})}fromSchema(e){W(e,ej);let t=K(e,e,s.schema({names:{RecipientEncryptedKeys:vP}}));_.assertSchema(t,this.className),this.encryptedKeys=Array.from(t.result.RecipientEncryptedKeys,r=>new uh({schema:r}));}toSchema(){return new k({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Sc.CLASS_NAME="RecipientEncryptedKeys";var rl="version",nl="originator",An="ukm",il="keyEncryptionAlgorithm",al="recipientEncryptedKeys",Zy="recipientCertificate",Xy="recipientPublicKey",tj=[rl,nl,An,il,al],lh=class s extends q{constructor(e={}){super(),this.version=y(e,rl,s.defaultValues(rl)),this.originator=y(e,nl,s.defaultValues(nl)),An in e&&(this.ukm=y(e,An,s.defaultValues(An))),this.keyEncryptionAlgorithm=y(e,il,s.defaultValues(il)),this.recipientEncryptedKeys=y(e,al,s.defaultValues(al)),this.recipientCertificate=y(e,Zy,s.defaultValues(Zy)),this.recipientPublicKey=y(e,Xy,s.defaultValues(Xy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rl:return 0;case nl:return new bc;case An:return new z;case il:return new j;case al:return new Sc;case Zy:return new ts;case Xy:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rl:return t===0;case nl:return t.variant===-1&&!("value"in t);case An:return t.isEqual(s.defaultValues(An));case il:return t.algorithmId===b&&!("algorithmParams"in t);case al:return t.encryptedKeys.length===0;case Zy:return !1;case Xy:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({idBlock:{tagClass:3,tagNumber:0},value:[bc.schema(t.originator||{})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:t.ukm||b})]}),j.schema(t.keyEncryptionAlgorithm||{}),Sc.schema(t.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,tj);let t=K(e,e,s.schema({names:{version:rl,originator:{names:{blockName:nl}},ukm:An,keyEncryptionAlgorithm:{names:{blockName:il}},recipientEncryptedKeys:{names:{blockName:al}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.originator=new bc({schema:t.result.originator}),An in t.result&&(this.ukm=t.result.ukm),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Sc({schema:t.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};lh.CLASS_NAME="KeyAgreeRecipientInfo";var zo="keyIdentifier",Ki="date",Gi="other",sj=[zo,Ki,Gi],vc=class s extends q{constructor(e={}){super(),this.keyIdentifier=y(e,zo,s.defaultValues(zo)),Ki in e&&(this.date=y(e,Ki,s.defaultValues(Ki))),Gi in e&&(this.other=y(e,Gi,s.defaultValues(Gi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zo:return new z;case Ki:return new nt;case Gi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case zo:return t.isEqual(s.defaultValues(zo));case Ki:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Gi:return t.compareWithDefault("keyAttrId",t.keyAttrId)&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.keyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,sj);let t=K(e,e,s.schema({names:{keyIdentifier:zo,date:Ki,other:{names:{blockName:Gi}}}}));_.assertSchema(t,this.className),this.keyIdentifier=t.result.keyIdentifier,Ki in t.result&&(this.date=t.result.date),Gi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};vc.CLASS_NAME="KEKIdentifier";var ol="version",cl="kekid",ul="keyEncryptionAlgorithm",Yo="encryptedKey",Qy="preDefinedKEK",rj=[ol,cl,ul,Yo],hh=class s extends q{constructor(e={}){super(),this.version=y(e,ol,s.defaultValues(ol)),this.kekid=y(e,cl,s.defaultValues(cl)),this.keyEncryptionAlgorithm=y(e,ul,s.defaultValues(ul)),this.encryptedKey=y(e,Yo,s.defaultValues(Yo)),this.preDefinedKEK=y(e,Qy,s.defaultValues(Qy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return 0;case cl:return new vc;case ul:return new j;case Yo:return new z;case Qy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"KEKRecipientInfo":return t===s.defaultValues(ol);case cl:return t.compareWithDefault("keyIdentifier",t.keyIdentifier)&&!("date"in t)&&!("other"in t);case ul:return t.algorithmId===b&&!("algorithmParams"in t);case Yo:return t.isEqual(s.defaultValues(Yo));case Qy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),vc.schema(t.kekid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,rj);let t=K(e,e,s.schema({names:{version:ol,kekid:{names:{blockName:cl}},keyEncryptionAlgorithm:{names:{blockName:ul}},encryptedKey:Yo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.kekid=new vc({schema:t.result.kekid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[new L({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};hh.CLASS_NAME="KEKRecipientInfo";var ll="version",Wi="keyDerivationAlgorithm",hl="keyEncryptionAlgorithm",Zo="encryptedKey",ew="password",nj=[ll,Wi,hl,Zo],fh=class s extends q{constructor(e={}){super(),this.version=y(e,ll,s.defaultValues(ll)),Wi in e&&(this.keyDerivationAlgorithm=y(e,Wi,s.defaultValues(Wi))),this.keyEncryptionAlgorithm=y(e,hl,s.defaultValues(hl)),this.encryptedKey=y(e,Zo,s.defaultValues(Zo)),this.password=y(e,ew,s.defaultValues(ew)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ll:return -1;case Wi:return new j;case hl:return new j;case Zo:return new z;case ew:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ll:return t===-1;case Wi:case hl:return t.algorithmId===b&&!("algorithmParams"in t);case Zo:return t.isEqual(s.defaultValues(Zo));case ew:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:j.schema().valueBlock.value}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,nj);let t=K(e,e,s.schema({names:{version:ll,keyDerivationAlgorithm:Wi,keyEncryptionAlgorithm:{names:{blockName:hl}},encryptedKey:Zo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Wi in t.result&&(this.keyDerivationAlgorithm=new j({schema:new k({value:t.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return e.push(new L({value:this.version})),this.keyDerivationAlgorithm&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};fh.CLASS_NAME="PasswordRecipientInfo";var fl="oriType",Xo="oriValue",ij=[fl,Xo],A0=class s extends q{constructor(e={}){super(),this.oriType=y(e,fl,s.defaultValues(fl)),this.oriValue=y(e,Xo,s.defaultValues(Xo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fl:return b;case Xo:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fl:return t===b;case Xo:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.oriType||b}),new be({name:t.oriValue||b})]})}fromSchema(e){W(e,ij);let t=K(e,e,s.schema({names:{oriType:fl,oriValue:Xo}}));_.assertSchema(t,this.className),this.oriType=t.result.oriType.valueBlock.toString(),this.oriValue=t.result.oriValue;}toSchema(){return new k({value:[new ie({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return s.compareWithDefault(Xo,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};A0.CLASS_NAME="OtherRecipientInfo";var tw="variant",nd="value",aj=["blockName"],Tn=class s extends q{constructor(e={}){super(),this.variant=y(e,tw,s.defaultValues(tw)),nd in e&&(this.value=y(e,nd,s.defaultValues(nd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tw:return -1;case nd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tw:return t===s.defaultValues(e);case nd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[ah.schema({names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:lh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:hh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:fh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:A0.schema().valueBlock.value})]})}fromSchema(e){W(e,aj);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));if(_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new ah({schema:t.result.blockName});else {let r=new k({value:t.result.blockName.valueBlock.value});switch(t.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new lh({schema:r});break;case 2:this.variant=3,this.value=new hh({schema:r});break;case 3:this.variant=4,this.value=new fh({schema:r});break;case 4:this.variant=5,this.value=new A0({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Je.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Tn.CLASS_NAME="RecipientInfo";var Ji="hashAlgorithm",zi="maskGenAlgorithm",Yi="pSourceAlgorithm",oj=[Ji,zi,Yi],sh=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Ji,s.defaultValues(Ji)),this.maskGenAlgorithm=y(e,zi,s.defaultValues(zi)),this.pSourceAlgorithm=y(e,Yi,s.defaultValues(Yi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ji:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case zi:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Yi:return new j({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[j.schema(t.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,oj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Ji}},maskGenAlgorithm:{names:{blockName:zi}},pSourceAlgorithm:{names:{blockName:Yi}}}}));_.assertSchema(t,this.className),Ji in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),zi in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Yi in t.result&&(this.pSourceAlgorithm=new j({schema:t.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};sh.CLASS_NAME="RSAESOAEPParams";var dl="keyInfo",Zi="entityUInfo",ml="suppPubInfo",cj=[dl,Zi,ml],I0=class s extends q{constructor(e={}){super(),this.keyInfo=y(e,dl,s.defaultValues(dl)),Zi in e&&(this.entityUInfo=y(e,Zi,s.defaultValues(Zi))),this.suppPubInfo=y(e,ml,s.defaultValues(ml)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return new j;case Zi:return new z;case ml:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dl:case Zi:case ml:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyInfo||{}),new V({name:t.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new V({name:t.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,cj);let t=K(e,e,s.schema({names:{keyInfo:{names:{blockName:dl}},entityUInfo:Zi,suppPubInfo:ml}}));_.assertSchema(t,this.className),this.keyInfo=new j({schema:t.result.keyInfo}),Zi in t.result&&(this.entityUInfo=t.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=t.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new k({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};I0.CLASS_NAME="ECCCMSSharedInfo";var pl="version",Xi="originatorInfo",gl="recipientInfos",yl="encryptedContentInfo",Qi="unprotectedAttrs",uj=[pl,Xi,gl,yl,Qi],Qk={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},lj={"P-256":256,"P-384":384,"P-521":528},C0=class s extends q{constructor(e={}){super(),this.version=y(e,pl,s.defaultValues(pl)),Xi in e&&(this.originatorInfo=y(e,Xi,s.defaultValues(Xi))),this.recipientInfos=y(e,gl,s.defaultValues(gl)),this.encryptedContentInfo=y(e,yl,s.defaultValues(yl)),Qi in e&&(this.unprotectedAttrs=y(e,Qi,s.defaultValues(Qi))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pl:return 0;case Xi:return new th;case gl:return [];case yl:return new Gt;case Qi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case pl:return t===s.defaultValues(e);case Xi:return t.certs.certificates.length===0&&t.crls.crls.length===0;case gl:case Qi:return t.length===0;case yl:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:th.schema().valueBlock.value}),new dt({value:[new Ae({name:t.recipientInfos||b,value:Tn.schema()})]}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,uj);let t=K(e,e,s.schema({names:{version:pl,originatorInfo:Xi,recipientInfos:gl,encryptedContentInfo:{names:{blockName:yl}},unprotectedAttrs:Qi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Xi in t.result&&(this.originatorInfo=new th({schema:new k({value:t.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(t.result.recipientInfos,r=>new Tn({schema:r})),this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Qi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),this.originatorInfo&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new dt({value:Array.from(this.recipientInfos,t=>t.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,t=>t.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}addRecipientByCertificate(e,t,r,n=Oe(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},Qk,t||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new j({algorithmId:u,algorithmParams:new ft});o=new sh({hashAlgorithm:l,maskGenAlgorithm:new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new ft;}let c=new ah({version:0,rid:new Ht({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new j({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Tn({variant:1,value:c}));}break;case 2:{let a=new fa({variant:1,value:new Ht({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,t={},r,n=Oe(!0)){if(et.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!t.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),t.keyIdentifier=i;}switch(t.hmacHashAlgorithm||(t.hmacHashAlgorithm="SHA-512"),t.iterationCount===void 0&&(t.iterationCount=2048),t.keyEncryptionAlgorithm||(t.keyEncryptionAlgorithm={name:"AES-KW",length:256}),t.keyEncryptionAlgorithmParams||(t.keyEncryptionAlgorithmParams=new ft),r){case 1:{let i=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new hh({version:4,kekid:new vc({keyIdentifier:new z({valueHex:t.keyIdentifier})}),keyEncryptionAlgorithm:new j({algorithmId:i,algorithmParams:t.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Tn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:t.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ha({salt:new z({valueHex:a}),iterationCount:t.iterationCount,prf:new j({algorithmId:c,algorithmParams:new ft})}),l=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),m=new fh({version:0,keyDerivationAlgorithm:new j({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new j({algorithmId:l,algorithmParams:t.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Tn({variant:4,value:m}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,t,r,n=Oe(!0)){let i=Object.assign({},Qk,r||{}),a=new fa({variant:2,value:new ch({subjectKeyIdentifier:new z({valueHex:t})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,t,r,n=Oe(!0)){let i=new uh({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:t.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new j({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:t.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let m={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new j({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Sc({encryptedKeys:[i]})},w=new lh(Object.assign(m,r));this.recipientInfos.push(new Tn({variant:2,value:w}));}async encrypt(e,t,r=Oe(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(t),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Gt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new j({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let m=async C=>{let D=this.recipientInfos[C].value,U,T;if(D.recipientPublicKey)U=D.recipientPublicKey.algorithm.namedCurve,T=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":U="P-256";break;case"1.3.132.0.34":U="P-384";break;case"1.3.132.0.35":U="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:U},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let P=lj[U],B=await r.generateKey({name:"ECDH",namedCurve:U},!0,["deriveBits"]),G=await r.exportKey("spki",B.publicKey),se=await r.deriveBits({name:"ECDH",public:T},B.privateKey,P),X=new j({schema:D.keyEncryptionAlgorithm.algorithmParams}),ae=r.getAlgorithmByOID(X.algorithmId,!0,"aesKWAlgorithm"),fe=ae.length,te=new ArrayBuffer(4),oe=new Uint8Array(te);for(let $=3;$>=0;$--)oe[$]=fe,fe>>=8;let _e=new I0({keyInfo:new j({algorithmId:X.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:te})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),Z=await _k(J.kdf,se,ae.length,_e,r),ce=await r.importKey("raw",Z,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ce,{name:"AES-KW"}),le=new bc;return le.variant=3,le.value=oh.fromBER(G),D.originator=le,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:B.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(U.name==="RSA-OAEP"){let T=D.keyEncryptionAlgorithm.algorithmParams,P=new sh({schema:T});if(U.hash=r.getAlgorithmByOID(P.hashAlgorithm.algorithmId),!("name"in U.hash))throw new Error(`Incorrect OID for hash algorithm: ${P.hashAlgorithm.algorithmId}`)}try{let T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:U,usages:["encrypt","wrapKey"]}},r),P=await r.encrypt(T.algorithm,T,l);D.encryptedKey=new z({valueHex:P});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),T=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),U,!0,["wrapKey"]),P=await r.wrapKey("raw",c,T,U);D.encryptedKey=new z({valueHex:P});},v=async C=>{let D=this.recipientInfos[C].value,U;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{U=new ha({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let T=new Uint8Array(D.password),P=await r.importKey("raw",T,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),G="SHA-1";U.prf&&(G=r.getAlgorithmByOID(U.prf.algorithmId,!0,"prfAlgorithm").hash.name);let se=new Uint8Array(U.salt.valueBlock.valueHex),X=U.iterationCount,ae=await r.deriveKey({name:"PBKDF2",hash:{name:G},salt:se,iterations:X},P,B,!0,["wrapKey"]),fe=await r.wrapKey("raw",c,ae,B);D.encryptedKey=new z({valueHex:fe});},A=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:A.push(await w(C));break;case 2:A.push(await m(C));break;case 3:A.push(await E(C));break;case 4:A.push(await v(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return A}async decrypt(e,t,r=Oe(!0)){let n=t||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async A=>{let C=this.recipientInfos[A].value,D,U,T,P=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${A}`);D=J.valueBlock.toString();}else if(P.value.algorithm.algorithmParams){let J=P.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect originator for index ${A}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":U="P-256",T=256;break;case"1.3.132.0.34":U="P-384",T=384;break;case"1.3.132.0.35":U="P-521",T=528;break;default:throw new Error(`Incorrect curve OID for index ${A}`)}let B,G=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?B=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:U},!0,["deriveBits"]):(B=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(G=n.crypto.subtle)),"algorithmParams"in P.value.algorithm||(P.value.algorithm.algorithmParams=new ie({value:D}));let se=P.value.toSchema().toBER(!1),X=await r.importKey("spki",se,{name:"ECDH",namedCurve:U},!0,[]),ae=await G.deriveBits({name:"ECDH",public:X},B,T);async function fe(J){J=J||!1;let Z=new j({schema:C.keyEncryptionAlgorithm.algorithmParams}),ce=r.getAlgorithmByOID(Z.algorithmId,!0,"kwAlgorithm"),Ee=ce.length,le=new ArrayBuffer(4),$=new Uint8Array(le);for(let Fe=3;Fe>=0;Fe--)$[Fe]=Ee,Ee>>=8;let ee={algorithmId:Z.algorithmId};J&&(ee.algorithmParams=new ft);let xe=new I0({keyInfo:new j(ee),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:le})}).toSchema().toBER(!1),ke=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!ke.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return _k(ke.kdf,ae,ce.length,xe,r)}let te=await fe(),oe=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),me=await oe(te),_e=async J=>{let Z=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ce=r.getAlgorithmByOID(Z,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ce,!0,["decrypt"])};try{return await _e(me)}catch{let J=await fe(!0),Z=await oe(J);return _e(Z)}},a=async A=>{let C=this.recipientInfos[A].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let se=C.keyEncryptionAlgorithm.algorithmParams,X=new sh({schema:se});if(D.hash=r.getAlgorithmByOID(X.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${X.hashAlgorithm.algorithmId}`)}let U,T=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?U=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(U=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(T=n.crypto.subtle));let P=await T.decrypt(U.algorithm,U,C.encryptedKey.valueBlock.valueHexView),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,G=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!("name"in G))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.importKey("raw",P,G,!0,["decrypt"])},o=async A=>{let C=this.recipientInfos[A].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),U=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),T=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,P=r.getAlgorithmByOID(T,!0,"contentEncryptionAlgorithm");if(!P.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${T}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,U,D,P,!0,["decrypt"])},c=async A=>{let C=this.recipientInfos[A].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ha({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let U=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),T=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),P=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",B=new Uint8Array(D.salt.valueBlock.valueHex),G=D.iterationCount,se=await r.deriveKey({name:"PBKDF2",hash:{name:P},salt:B,iterations:G},U,T,!0,["unwrapKey"]),X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ae=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,se,T,ae,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,m=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let v=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:m.name,iv:E},u,v)}};C0.CLASS_NAME="EnvelopedData";var Au="safeContents",id="parsedValue",eP="contentInfos",N0=class s extends q{constructor(e={}){super(),this.safeContents=y(e,Au,s.defaultValues(Au)),id in e&&(this.parsedValue=y(e,id,s.defaultValues(id))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Au:return [];case id:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Au:return t.length===0;case id:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.contentInfos||b,value:mt.schema()})]})}fromSchema(e){W(e,[eP]);let t=K(e,e,s.schema({names:{contentInfos:eP}}));_.assertSchema(t,this.className),this.safeContents=Array.from(t.result.contentInfos,r=>new mt({schema:r}));}toSchema(){return new k({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,t=Oe(!0)){if(Je.assert(e,Au),et.assert(e.safeContents,Au,"Array"),e.safeContents.length!==this.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case lI:{et.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:la.fromBER(o)});}break;case dP:{let o=new C0({schema:n.content});Je.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,m=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},t);this.parsedValue.safeContents.push({privacyMode:2,value:la.fromBER(m)});}break;case mP:{let o=new Ic({schema:n.content});Je.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},t);this.parsedValue.safeContents.push({privacyMode:1,value:la.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(et.assert(this.parsedValue,"this.parsedValue","object"),et.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),et.assert(e,"parameters","object"),Je.assert(e,"safeContents"),et.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Je.assert("content",n,"privacyMode","value"),et.assert(n.value,"content.value",la),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Ic,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new C0,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Je.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,t),await i.encrypt(c,a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};N0.CLASS_NAME="AuthenticatedSafe";var Qo="hashAlgorithm",wl="issuerNameHash",bl="issuerKeyHash",ec="serialNumber",hj=[Qo,wl,bl,ec],xs=class s extends q{static async create(e,t,r=Oe(!0)){let n=new s;return await n.createForCertificate(e,t,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,Qo,s.defaultValues(Qo)),this.issuerNameHash=y(e,wl,s.defaultValues(wl)),this.issuerKeyHash=y(e,bl,s.defaultValues(bl)),this.serialNumber=y(e,ec,s.defaultValues(ec)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qo:return new j;case wl:case bl:return new z;case ec:return new L;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qo:return t.algorithmId===b&&!("algorithmParams"in t);case wl:case bl:case ec:return t.isEqual(s.defaultValues(ec));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithmObject||{names:{blockName:t.hashAlgorithm||b}}),new z({name:t.issuerNameHash||b}),new z({name:t.issuerKeyHash||b}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,hj);let t=K(e,e,s.schema({names:{hashAlgorithm:Qo,issuerNameHash:wl,issuerKeyHash:bl,serialNumber:ec}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.issuerNameHash=t.result.issuerNameHash,this.issuerKeyHash=t.result.issuerKeyHash,this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,t,r=Oe(!0)){Je.assert(t,Qo,"issuerCertificate");let n=r.getOIDByAlgorithm({name:t.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new j({algorithmId:n,algorithmParams:new ft});let i=t.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:t.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:t.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};xs.CLASS_NAME="CertID";var Sl="certID",vl="certStatus",El="thisUpdate",ea="nextUpdate",tc="singleExtensions",fj=[Sl,vl,El,ea,tc],k0=class s extends q{constructor(e={}){super(),this.certID=y(e,Sl,s.defaultValues(Sl)),this.certStatus=y(e,vl,s.defaultValues(vl)),this.thisUpdate=y(e,El,s.defaultValues(El)),ea in e&&(this.nextUpdate=y(e,ea,s.defaultValues(ea))),tc in e&&(this.singleExtensions=y(e,tc,s.defaultValues(tc))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sl:return new xs;case vl:return {};case El:case ea:return new Date(0,0,0);case tc:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Sl:return xs.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&xs.compareWithDefault("issuerNameHash",t.issuerNameHash)&&xs.compareWithDefault("issuerKeyHash",t.issuerKeyHash)&&xs.compareWithDefault("serialNumber",t.serialNumber);case vl:return Object.keys(t).length===0;case El:case ea:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.certID||{}),new it({value:[new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new V({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new nt,new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Or]})]}),new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new nt({name:t.thisUpdate||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new nt({name:t.nextUpdate||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.singleExtensions||{})]})]})}fromSchema(e){W(e,fj);let t=K(e,e,s.schema({names:{certID:{names:{blockName:Sl}},certStatus:vl,thisUpdate:El,nextUpdate:ea,singleExtensions:{names:{blockName:tc}}}}));_.assertSchema(t,this.className),this.certID=new xs({schema:t.result.certID}),this.certStatus=t.result.certStatus,this.thisUpdate=t.result.thisUpdate.toDate(),ea in t.result&&(this.nextUpdate=t.result.nextUpdate.toDate()),tc in t.result&&(this.singleExtensions=Array.from(t.result.singleExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new nt({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new nt({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.singleExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,t=>t.toJSON())),e}};k0.CLASS_NAME="SingleResponse";var sw="tbs",sc="version",jm="responderID",Hm="producedAt",_m="responses",xl="responseExtensions",Cc="ResponseData",mw=`${Cc}.${sc}`,Al=`${Cc}.${jm}`,VA=`${Cc}.${Hm}`,DA=`${Cc}.${_m}`,pw=`${Cc}.${xl}`,dj=[Cc,mw,Al,VA,DA,pw],gr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,sw,s.defaultValues(sw))),sc in e&&(this.version=y(e,sc,s.defaultValues(sc))),this.responderID=y(e,jm,s.defaultValues(jm)),this.producedAt=y(e,Hm,s.defaultValues(Hm)),this.responses=y(e,_m,s.defaultValues(_m)),xl in e&&(this.responseExtensions=y(e,xl,s.defaultValues(xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sc:return 0;case sw:return It;case jm:return {};case Hm:return new Date(0,0,0);case _m:case xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sw:return t.byteLength===0;case jm:return Object.keys(t).length===0;case Hm:return t===s.defaultValues(e);case _m:case xl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||Cc,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.version||mw})]}),new it({value:[new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:1},value:[at.schema(t.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:t.ResponseDataByKey||"ResponseData.byKey"})]})]}),new nt({name:t.producedAt||VA}),new k({value:[new Ae({name:DA,value:k0.schema(t.response||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.extensions||{names:{blockName:pw}})]})]})}fromSchema(e){W(e,dj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.ResponseData.valueBeforeDecodeView,mw in t.result&&(this.version=t.result[mw].valueBlock.valueDec),t.result[Al].idBlock.tagNumber===1?this.responderID=new at({schema:t.result[Al].valueBlock.value[0]}):this.responderID=t.result[Al].valueBlock.value[0],this.producedAt=t.result[VA].toDate(),this.responses=Array.from(t.result[DA],r=>new k0({schema:r})),pw in t.result&&(this.responseExtensions=Array.from(t.result[pw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Response Data"),t=r.result;}else {let r=[];sc in this&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.responderID instanceof at?r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new nt({valueDate:this.producedAt})),r.push(new k({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return sc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,t=>t.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,t=>t.toJSON())),e}};gr.CLASS_NAME="ResponseData";var gA="trustedCerts",yA="certs",wA="crls",bA="ocsps",SA="checkDate",vA="findOrigin",EA="findIssuer",fc;(function(s){s[s.unknown=-1]="unknown",s[s.success=0]="success",s[s.noRevocation=11]="noRevocation",s[s.noPath=60]="noPath",s[s.noValidPath=97]="noValidPath";})(fc||(fc={}));var ca=class s extends Error{constructor(e,t){super(t),this.name=s.NAME,this.code=e,this.message=t;}};ca.NAME="ChainValidationError";function mj(s,e){for(let t=0;t<e.length;t++)if(Se.BufferSourceConverter.isEqual(s.tbsView,e[t].tbsView))return !0;return !1}var P0=class s{constructor(e={}){this.trustedCerts=y(e,gA,this.defaultValues(gA)),this.certs=y(e,yA,this.defaultValues(yA)),this.crls=y(e,wA,this.defaultValues(wA)),this.ocsps=y(e,bA,this.defaultValues(bA)),this.checkDate=y(e,SA,this.defaultValues(SA)),this.findOrigin=y(e,vA,this.defaultValues(vA)),this.findIssuer=y(e,EA,this.defaultValues(EA));}static defaultFindOrigin(e,t){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of t.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of t.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,t,r=Oe(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===cI&&u.parsedValue instanceof o0){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let m=!1;for(let w of u.extensions)if(w.extnID===SU&&w.parsedValue){m=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(m)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of t.trustedCerts)c(u);for(let u of t.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case gA:return [];case yA:return [];case wA:return [];case bA:return [];case SA:return new Date;case vA:return s.defaultFindOrigin;case EA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,t=Oe(!0)){let r=[],n=async(v,A)=>{let C=[];function D(T){let P=!0;for(let B=0;B<T.length;B++){for(let G=0;G<T.length;G++)if(G!==B&&T[B]===T[G]){P=!1;break}if(!P)break}return P}if(mj(v,this.trustedCerts))return [[v]];let U=await this.findIssuer(v,this,A);if(U.length===0)throw new Error("No valid certificate paths found");for(let T=0;T<U.length;T++){if(Se.BufferSourceConverter.isEqual(U[T].tbsView,v.tbsView)){C.push([U[T]]);continue}let P=await n(U[T],A);for(let B=0;B<P.length;B++){let G=P[B].slice();G.splice(0,0,U[T]),D(G)?C.push(G):C.push(P[B]);}}return C},i=async v=>{let A=[],C=[],D=[];if(A.push(...r.filter(U=>v.issuer.isEqual(U.subject))),A.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(U=>U.issuer.isEqual(v.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let U=0;U<C.length;U++){let T=C[U];if(!(T.nextUpdate&&T.nextUpdate.value<this.checkDate))for(let P=0;P<A.length;P++)try{if(await C[U].verify({issuerCertificate:A[P]},t)){D.push({crl:C[U],certificate:A[P]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(v,A)=>{let C=t.getAlgorithmByOID(v.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let T=await this.ocsps[D].getCertificateStatus(v,A,t);if(T.isForCertificate)return T.status===0?0:1}return 2};async function o(v,A=!1){let C=!1,D=!1,U=!1,T=!1;if(v.extensions){for(let P=0;P<v.extensions.length;P++){let B=v.extensions[P];if(B.critical&&!B.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${B.extnID}`};if(B.extnID===vU){U=!0;let G=new Uint8Array(B.parsedValue.valueBlock.valueHex);(G[0]&4)===4&&(D=!0),(G[0]&2)===2&&(T=!0);}B.extnID===aI&&"cA"in B.parsedValue&&B.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(U===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&U===!0&&A&&T===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(v,A)=>{for(let C=0;C<v.length;C++)if(v[C].notBefore.value>A||v[C].notAfter.value<A)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(v.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=v.length-2;C>=0;C--)if(v[C].issuer.isEqual(v[C].subject)===!1&&v[C].issuer.isEqual(v[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<v.length-1;C++){let D=2,U={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(v[C],v[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(U=await i(v[C]),U.status===0&&U.result)for(let T=0;T<U.result.length;T++){if(U.result[T].crl.isCertificateRevoked(v[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(U.result[T].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&U.status===2&&e){let T=v[C+1],P=!1;if(T.extensions)for(let B of T.extensions)switch(B.extnID){case cP:case oI:case uI:P=!0;break}if(P)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}}for(let[C,D]of v.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let v=0;v<r.length;v++)for(let A=0;A<r.length;A++)if(v!==A&&Se.BufferSourceConverter.isEqual(r[v].tbsView,r[A].tbsView)){r.splice(A,1),v=0;break}let u=r[r.length-1],l,m=[u];if(l=await n(u,t),l.length===0)throw new ca(fc.noPath,"Unable to find certificate path");for(let v=l.length-1;v>=0;v--){let A=!1;for(let C=0;C<l[v].length;C++){let D=l[v][C];for(let U=0;U<this.trustedCerts.length;U++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[U].tbsView)){A=!0;break}if(A)break}A||l.splice(v,1);}if(l.length===0)throw new ca(fc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let v=0;v<l.length;v++)l[v].length<w&&(w=l[v].length,E=v);for(let v=0;v<l[E].length;v++)m.push(l[E][v]);if(l=await c(m,this.checkDate),l.result===!1)throw l;return m}async verify(e={},t=Oe(!0)){function r(c,u){let l=oa(c),m=oa(u),w=l.split("."),E=m.split("."),v=w.length,A=E.length;if(v===0||A===0||v<A)return !1;for(let C=0;C<v;C++)if(w[C].length===0)return !1;for(let C=0;C<A;C++)if(E[C].length===0){if(C===0){if(A===1)return !1;continue}return !1}for(let C=0;C<A;C++)if(E[A-1-C].length!==0&&w[v-1-C].localeCompare(E[A-1-C])!==0)return !1;return !0}function n(c,u){let l=oa(c),m=oa(u),w=l.split("@"),E=m.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let A=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:A.length===C.length}return !1}return l.localeCompare(m)===0}function i(c,u){let l=oa(c),m=oa(u),w=l.split("/");if(m.split("/").length>1)return !1;if(w.length>1){for(let A=0;A<w.length;A++)if(w[A].length>0&&w[A].charAt(w[A].length-1)!==":"){l=w[A].split(":")[0];break}}if(r(l,m)){let A=l.split("."),C=m.split(".");return C[0].length===0?!0:A.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,m=u.valueBlock.valueHexView;if(l.length===4&&m.length===8){for(let w=0;w<4;w++)if((l[w]^m[w])&m[w+4])return !1;return !0}if(l.length===16&&m.length===32){for(let w=0;w<16;w++)if((l[w]^m[w])&m[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,m=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let v=m;v<c.typesAndValues.length;v++)if(E=c.typesAndValues[v].isEqual(u.typesAndValues[w]),c.typesAndValues[v].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(m===0||m===v){m=v+1;break}else return !1;if(E===!1)return !1}return m===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Gs],l=e.initialExplicitPolicy||!1,m=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],v=e.initialExcludedSubtreesSet||[],A=e.initialRequiredNameForms||[],C=l,D=m,U=w,T=[!1,!1,!1],P=0,B=0,G=0,se=E,X=v,ae=A,fe=1;this.certs=await this.sort(c,t);let te=[];te.push(Gs);let oe=[],me=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)me[$]=!0;oe.push(me);let _e=new Array(this.certs.length-1),J=new Array(this.certs.length-1),Z=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$];if(ee.extensions){for(let ne=0;ne<ee.extensions.length;ne++){let xe=ee.extensions[ne];if(xe.extnID===uP){J[$]=xe.parsedValue;for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){delete oe[ke][$];break}for(let ke=0;ke<xe.parsedValue.certificatePolicies.length;ke++){let Fe=-1,Rt=xe.parsedValue.certificatePolicies[ke].policyIdentifier;for(let Me=0;Me<te.length;Me++)if(Rt===te[Me]){Fe=Me;break}if(Fe===-1){te.push(Rt);let Me=new Array(this.certs.length-1);Me[$]=!0,oe.push(Me);}else oe[Fe][$]=!0;}}if(xe.extnID===lP){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};_e[$]=xe.parsedValue;}xe.extnID===hP&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,Z=$):T[0]===!1?(T[0]=!0,P=xe.parsedValue.requireExplicitPolicy):P=P>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:P,xe.parsedValue.inhibitPolicyMapping===0?D=!0:T[1]===!1?(T[1]=!0,B=xe.parsedValue.inhibitPolicyMapping+1):B=B>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:B),xe.extnID===PU&&U===!1&&(xe.parsedValue.valueBlock.valueDec===0?U=!0:T[2]===!1?(T[2]=!0,G=xe.parsedValue.valueBlock.valueDec):G=G>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:G);}if(U===!0){let ne=-1;for(let xe=0;xe<te.length;xe++)if(te[xe]===Gs){ne=xe;break}ne!==-1&&delete oe[0][$];}C===!1&&T[0]===!0&&(P--,P===0&&(C=!0,Z=$,T[0]=!1)),D===!1&&T[1]===!0&&(B--,B===0&&(D=!0,T[1]=!1)),U===!1&&T[2]===!0&&(G--,G===0&&(U=!0,T[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof _e[$+1]<"u")for(let ee=0;ee<_e[$+1].mappings.length;ee++){if(_e[$+1].mappings[ee].issuerDomainPolicy===Gs||_e[$+1].mappings[ee].subjectDomainPolicy===Gs)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ne=-1,xe=-1;for(let ke=0;ke<te.length;ke++)te[ke]===_e[$+1].mappings[ee].issuerDomainPolicy&&(ne=ke),te[ke]===_e[$+1].mappings[ee].subjectDomainPolicy&&(xe=ke);typeof oe[ne][$]<"u"&&delete oe[ne][$];for(let ke=0;ke<J[$].certificatePolicies.length;ke++)if(_e[$+1].mappings[ee].subjectDomainPolicy===J[$].certificatePolicies[ke].policyIdentifier&&ne!==-1&&xe!==-1)for(let Fe=0;Fe<=$;Fe++)typeof oe[xe][Fe]<"u"&&(oe[ne][Fe]=!0,delete oe[xe][Fe]);}for(let $=0;$<te.length;$++)if(te[$]===Gs)for(let ee=0;ee<Z;ee++)delete oe[$][ee];let ce=[];for(let $=0;$<oe.length;$++){let ee=!0;for(let ne=0;ne<this.certs.length-1;ne++){let xe=!1;if(ne<Z&&te[$]===Gs&&te.length>1){ee=!1;break}if(typeof oe[$][ne]>"u"){if(ne>=Z){for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){oe[ke][ne]===!0&&(xe=!0);break}}if(!xe){ee=!1;break}}}ee===!0&&ce.push(te[$]);}let Ee=[];if(u.length===1&&u[0]===Gs&&C===!1)Ee=u;else if(ce.length===1&&ce[0]===Gs)Ee=u;else for(let $=0;$<ce.length;$++)for(let ee=0;ee<u.length;ee++)if(u[ee]===ce[$]||u[ee]===Gs){Ee.push(ce[$]);break}let le={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ce,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:_e,certificatePath:this.certs};if(Ee.length===0||le.result===!1)return le;fe=1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$],ne=[],xe=[],ke=[];if(ee.extensions)for(let De=0;De<ee.extensions.length;De++){let he=ee.extensions[De];he.extnID===oP&&("permittedSubtrees"in he.parsedValue&&(xe=xe.concat(he.parsedValue.permittedSubtrees)),"excludedSubtrees"in he.parsedValue&&(ke=ke.concat(he.parsedValue.excludedSubtrees))),he.extnID===rP&&(ne=ne.concat(he.parsedValue.altNames));}let Fe=ae.length<=0;for(let De=0;De<ae.length;De++)switch(ae[De].base.type){case 4:{if(ae[De].base.value.typesAndValues.length!==ee.subject.typesAndValues.length)continue;Fe=!0;for(let he=0;he<ee.subject.typesAndValues.length;he++)if(ee.subject.typesAndValues[he].type!==ae[De].base.value.typesAndValues[he].type){Fe=!1;break}if(Fe===!0)break}break;default:}if(Fe===!1)throw le.result=!1,le.resultCode=21,le.resultMessage="No necessary name form found",le;let Rt=[[],[],[],[],[]];for(let De=0;De<se.length;De++)switch(se[De].base.type){case 1:Rt[0].push(se[De]);break;case 2:Rt[1].push(se[De]);break;case 4:Rt[2].push(se[De]);break;case 6:Rt[3].push(se[De]);break;case 7:Rt[4].push(se[De]);break;default:}for(let De=0;De<5;De++){let he=!1,ss=!1,ds=Rt[De];for(let Ct=0;Ct<ds.length;Ct++){switch(De){case 0:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===1&&(ss=!0,he=he||n(ne[He].value,ds[Ct].base.value));else for(let He=0;He<ee.subject.typesAndValues.length;He++)(ee.subject.typesAndValues[He].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[He].type==="0.9.2342.19200300.100.1.3")&&(ss=!0,he=he||n(ee.subject.typesAndValues[He].value.valueBlock.value,ds[Ct].base.value));break;case 1:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===2&&(ss=!0,he=he||r(ne[He].value,ds[Ct].base.value));break;case 2:ss=!0,he=o(ee.subject,ds[Ct].base.value);break;case 3:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===6&&(ss=!0,he=he||i(ne[He].value,ds[Ct].base.value));break;case 4:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===7&&(ss=!0,he=he||a(ne[He].value,ds[Ct].base.value));break;default:}if(he)break}if(he===!1&&ds.length>0&&ss)throw le.result=!1,le.resultCode=41,le.resultMessage='Failed to meet "permitted sub-trees" name constraint',le}let Me=!1;for(let De=0;De<X.length;De++){switch(X[De].base.type){case 1:if(ne.length>=0)for(let he=0;he<ne.length;he++)ne[he].type===1&&(Me=Me||n(ne[he].value,X[De].base.value));else for(let he=0;he<ee.subject.typesAndValues.length;he++)(ee.subject.typesAndValues[he].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[he].type==="0.9.2342.19200300.100.1.3")&&(Me=Me||n(ee.subject.typesAndValues[he].value.valueBlock.value,X[De].base.value));break;case 2:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===2&&(Me=Me||r(ne[he].value,X[De].base.value));break;case 4:Me=Me||o(ee.subject,X[De].base.value);break;case 6:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===6&&(Me=Me||i(ne[he].value,X[De].base.value));break;case 7:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===7&&(Me=Me||a(ne[he].value,X[De].base.value));break;default:}if(Me)break}if(Me===!0)throw le.result=!1,le.resultCode=42,le.resultMessage='Failed to meet "excluded sub-trees" name constraint',le;se=se.concat(xe),X=X.concat(ke);}return le}catch(c){return c instanceof Error?c instanceof ca?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:fc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},gw="tbsResponseData",Mm="signatureAlgorithm",$m="signature",Il="certs",T0="BasicOCSPResponse",UA=`${T0}.${gw}`,LA=`${T0}.${Mm}`,jA=`${T0}.${$m}`,yw=`${T0}.${Il}`,pj=[UA,LA,jA,yw],Ec=class s extends q{constructor(e={}){super(),this.tbsResponseData=y(e,gw,s.defaultValues(gw)),this.signatureAlgorithm=y(e,Mm,s.defaultValues(Mm)),this.signature=y(e,$m,s.defaultValues($m)),Il in e&&(this.certs=y(e,Il,s.defaultValues(Il))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gw:return new gr;case Mm:return new j;case $m:return new Ve;case Il:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"type":{let r=gr.compareWithDefault("tbs",t.tbs)&&gr.compareWithDefault("responderID",t.responderID)&&gr.compareWithDefault("producedAt",t.producedAt)&&gr.compareWithDefault("responses",t.responses);return "responseExtensions"in t&&(r=r&&gr.compareWithDefault("responseExtensions",t.responseExtensions)),r}case Mm:return t.algorithmId===b&&!("algorithmParams"in t);case $m:return t.isEqual(s.defaultValues(e));case Il:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||T0,value:[gr.schema(t.tbsResponseData||{names:{blockName:UA}}),j.schema(t.signatureAlgorithm||{names:{blockName:LA}}),new Ve({name:t.signature||jA}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:yw,value:ts.schema(t.certs||{})})]})]})]})}fromSchema(e){W(e,pj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsResponseData=new gr({schema:t.result[UA]}),this.signatureAlgorithm=new j({schema:t.result[LA]}),this.signature=t.result[jA],yw in t.result&&(this.certs=Array.from(t.result[yw],r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}async getCertificateStatus(e,t,r=Oe(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new xs;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:t},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof at:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let m=await t.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(m,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await SP(u,r);l&&a.push(l);}if(!(await new P0({certs:a,trustedCerts:i}).verify({},t)).result)throw new Error("Validation of signer's certificate failed");return t.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Ec.CLASS_NAME="BasicOCSPResponse";var xA="tbs",AA="version",IA="subject",CA="subjectPublicKeyInfo",Iu="attributes",qm="signatureAlgorithm",Fm="signatureValue",ph="CertificationRequestInfo",bI=`${ph}.version`,SI=`${ph}.subject`,vI=`${ph}.subjectPublicKeyInfo`,ub=`${ph}.attributes`,gj=[ph,bI,SI,vI,ub,qm,Fm];function yj(s={}){let e=y(s,"names",{});return new k({name:e.CertificationRequestInfo||ph,value:[new L({name:e.CertificationRequestInfoVersion||bI}),at.schema(e.subject||{names:{blockName:SI}}),$s.schema({names:{blockName:vI}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||ub,value:yt.schema(e.attributes||{})})]})]})}var HA=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,xA,s.defaultValues(xA))),this.version=y(e,AA,s.defaultValues(AA)),this.subject=y(e,IA,s.defaultValues(IA)),this.subjectPublicKeyInfo=y(e,CA,s.defaultValues(CA)),Iu in e&&(this.attributes=y(e,Iu,s.defaultValues(Iu))),this.signatureAlgorithm=y(e,qm,s.defaultValues(qm)),this.signatureValue=y(e,Fm,s.defaultValues(Fm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xA:return It;case AA:return 0;case IA:return new at;case CA:return new $s;case Iu:return [];case qm:return new j;case Fm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({value:[yj(t.certificationRequestInfo||{}),new k({name:t.signatureAlgorithm||qm,value:[new ie,new be({optional:!0})]}),new Ve({name:t.signatureValue||Fm})]})}fromSchema(e){W(e,gj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=t.result[bI].valueBlock.valueDec,this.subject=new at({schema:t.result[SI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[vI]}),ub in t.result&&(this.attributes=Array.from(t.result[ub],r=>new yt({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[new L({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Iu in this&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],t=>t.toSchema())})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);_.assert(r,"PKCS#10 Certificate Request"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Iu in this&&(e.attributes=Array.from(this.attributes||[],t=>t.toJSON())),e}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e=Oe(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};HA.CLASS_NAME="CertificationRequest";var rc="digestAlgorithm",nc="digest",wj=[rc,nc],On=class s extends q{constructor(e={}){super(),this.digestAlgorithm=y(e,rc,s.defaultValues(rc)),this.digest=y(e,nc,s.defaultValues(nc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rc:return new j;case nc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rc:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case nc:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.digestAlgorithm||{names:{blockName:rc}}),new z({name:t.digest||nc})]})}fromSchema(e){W(e,wj);let t=K(e,e,s.schema({names:{digestAlgorithm:{names:{blockName:rc}},digest:nc}}));_.assertSchema(t,this.className),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.digest=t.result.digest;}toSchema(){return new k({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};On.CLASS_NAME="DigestInfo";var Cl="eContentType",pr="eContent",bj=[Cl,pr],Rn=class s extends q{constructor(e={}){if(super(),this.eContentType=y(e,Cl,s.defaultValues(Cl)),pr in e&&(this.eContent=y(e,pr,s.defaultValues(pr)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return b;case pr:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cl:return t===b;case pr:return t.idBlock.tagClass===1&&t.idBlock.tagNumber===4?t.isEqual(s.defaultValues(pr)):!1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.eContentType||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.eContent||b})]})]})}fromSchema(e){W(e,bj);let t=K(e,e,s.schema({names:{eContentType:Cl,eContent:pr}}));_.assertSchema(t,this.className),this.eContentType=t.result.eContentType.valueBlock.toString(),pr in t.result&&(this.eContent=t.result.eContent);}toSchema(){let e=[];return e.push(new ie({value:this.eContentType})),this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new k({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Rn.CLASS_NAME="EncapsulatedContentInfo";var ic="mac",ac="macSalt",In="iterations",Sj=[ic,ac,In],Dr=class s extends q{constructor(e={}){super(),this.mac=y(e,ic,s.defaultValues(ic)),this.macSalt=y(e,ac,s.defaultValues(ac)),In in e&&(this.iterations=y(e,In,s.defaultValues(In))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ic:return new On;case ac:return new z;case In:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ic:return On.compareWithDefault("digestAlgorithm",t.digestAlgorithm)&&On.compareWithDefault("digest",t.digest);case ac:return t.isEqual(s.defaultValues(e));case In:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!0,value:[On.schema(t.mac||{names:{blockName:ic}}),new z({name:t.macSalt||ac}),new L({optional:!0,name:t.iterations||In})]})}fromSchema(e){W(e,Sj);let t=K(e,e,s.schema({names:{mac:{names:{blockName:ic}},macSalt:ac,iterations:In}}));_.assertSchema(t,this.className),this.mac=new On({schema:t.result.mac}),this.macSalt=t.result.macSalt,In in t.result&&(this.iterations=t.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new L({value:this.iterations})),new k({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};Dr.CLASS_NAME="MacData";var dc="hashAlgorithm",mc="hashedMessage",vj=[dc,mc],Ms=class s extends q{static async create(e,t,r=Oe(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,t);return new s({hashAlgorithm:new j({algorithmId:n,algorithmParams:new ft}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,dc,s.defaultValues(dc)),this.hashedMessage=y(e,mc,s.defaultValues(mc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dc:return new j;case mc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dc:return t.algorithmId===b&&!("algorithmParams"in t);case mc:return t.isEqual(s.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithm||{}),new z({name:t.hashedMessage||b})]})}fromSchema(e){W(e,vj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:dc}},hashedMessage:mc}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.hashedMessage=t.result.hashedMessage;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Ms.CLASS_NAME="MessageImprint";var Nl="reqCert",ta="singleRequestExtensions",Ej=[Nl,ta],dh=class s extends q{constructor(e={}){super(),this.reqCert=y(e,Nl,s.defaultValues(Nl)),ta in e&&(this.singleRequestExtensions=y(e,ta,s.defaultValues(ta))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nl:return new xs;case ta:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Nl:return t.isEqual(s.defaultValues(e));case ta:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.reqCert||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(t.extensions||{names:{blockName:t.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Ej);let t=K(e,e,s.schema({names:{reqCert:{names:{blockName:Nl}},extensions:{names:{blockName:ta}}}}));_.assertSchema(t,this.className),this.reqCert=new xs({schema:t.result.reqCert}),ta in t.result&&(this.singleRequestExtensions=Array.from(t.result.singleRequestExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.singleRequestExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,t=>t.toJSON())),e}};dh.CLASS_NAME="Request";var rw="tbs",kl="version",Pl="requestorName",nw="requestList",Tl="requestExtensions",gh="TBSRequest",ww=`${gh}.${kl}`,bw=`${gh}.${Pl}`,_A=`${gh}.requests`,Sw=`${gh}.${Tl}`,xj=[gh,ww,bw,_A,Sw],yr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,rw,s.defaultValues(rw))),kl in e&&(this.version=y(e,kl,s.defaultValues(kl))),Pl in e&&(this.requestorName=y(e,Pl,s.defaultValues(Pl))),this.requestList=y(e,nw,s.defaultValues(nw)),Tl in e&&(this.requestExtensions=y(e,Tl,s.defaultValues(Tl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rw:return It;case kl:return 0;case Pl:return new tt;case nw:case Tl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rw:return t.byteLength===0;case kl:return t===s.defaultValues(e);case Pl:return t.type===tt.defaultValues("type")&&Object.keys(t.value).length===0;case nw:case Tl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||gh,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.TBSRequestVersion||ww})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[tt.schema(t.requestorName||{names:{blockName:bw}})]}),new k({name:t.requestList||"TBSRequest.requestList",value:[new Ae({name:t.requests||_A,value:dh.schema(t.requestNames||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Pt.schema(t.extensions||{names:{blockName:t.requestExtensions||Sw}})]})]})}fromSchema(e){W(e,xj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.TBSRequest.valueBeforeDecodeView,ww in t.result&&(this.version=t.result[ww].valueBlock.valueDec),bw in t.result&&(this.requestorName=new tt({schema:t.result[bw]})),this.requestList=Array.from(t.result[_A],r=>new dh({schema:r})),Sw in t.result&&(this.requestExtensions=Array.from(t.result[Sw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);if(_.assert(r,"TBS Request"),!(r.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");t=r.result;}else {let r=[];this.version!==void 0&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.requestorName&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new k({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new k({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,t=>t.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,t=>t.toJSON())),e}};yr.CLASS_NAME="TBSRequest";var Cu="signatureAlgorithm",Nu="signature",Ei="certs",Bn=class s extends q{constructor(e={}){super(),this.signatureAlgorithm=y(e,Cu,s.defaultValues(Cu)),this.signature=y(e,Nu,s.defaultValues(Nu)),Ei in e&&(this.certs=y(e,Ei,s.defaultValues(Ei))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cu:return new j;case Nu:return new Ve;case Ei:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cu:return t.algorithmId===b&&!("algorithmParams"in t);case Nu:return t.isEqual(s.defaultValues(e));case Ei:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signature||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:t.certs||b,value:ts.schema({})})]})]})]})}fromSchema(e){W(e,[Cu,Nu,Ei]);let t=K(e,e,s.schema({names:{signatureAlgorithm:{names:{blockName:Cu}},signature:Nu,certs:Ei}}));_.assertSchema(t,this.className),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signature=t.result.signature,Ei in t.result&&(this.certs=Array.from(t.result.certs,r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}};Bn.CLASS_NAME="Signature";var Bl="tbsRequest",sa="optionalSignature",Aj=[Bl,sa],MA=class s extends q{constructor(e={}){super(),this.tbsRequest=y(e,Bl,s.defaultValues(Bl)),sa in e&&(this.optionalSignature=y(e,sa,s.defaultValues(sa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bl:return new yr;case sa:return new Bn;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Bl:return yr.compareWithDefault("tbs",t.tbs)&&yr.compareWithDefault("version",t.version)&&yr.compareWithDefault("requestorName",t.requestorName)&&yr.compareWithDefault("requestList",t.requestList)&&yr.compareWithDefault("requestExtensions",t.requestExtensions);case sa:return Bn.compareWithDefault("signatureAlgorithm",t.signatureAlgorithm)&&Bn.compareWithDefault("signature",t.signature)&&Bn.compareWithDefault("certs",t.certs);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPRequest",value:[yr.schema(t.tbsRequest||{names:{blockName:Bl}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Bn.schema(t.optionalSignature||{names:{blockName:sa}})]})]})}fromSchema(e){W(e,Aj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsRequest=new yr({schema:t.result.tbsRequest}),sa in t.result&&(this.optionalSignature=new Bn({schema:t.result.optionalSignature}));}toSchema(e=!1){let t=[];return t.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&t.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new k({value:t})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,t,r=Oe(!0)){let n=new xs;await n.createForCertificate(e,t,r),this.tbsRequest.requestList.push(new dh({reqCert:n}));}async sign(e,t="SHA-1",r=Oe(!0)){if(Je.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,t),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new Ve({valueHex:o});}verify(){}};MA.CLASS_NAME="OCSPRequest";var Ol="responseType",Rl="response",Ij=[Ol,Rl],ua=class s extends q{constructor(e={}){super(),this.responseType=y(e,Ol,s.defaultValues(Ol)),this.response=y(e,Rl,s.defaultValues(Rl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case Rl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ol:return t===b;case Rl:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.responseType||b}),new z({name:t.response||b})]})}fromSchema(e){W(e,Ij);let t=K(e,e,s.schema({names:{responseType:Ol,response:Rl}}));_.assertSchema(t,this.className),this.responseType=t.result.responseType.valueBlock.toString(),this.response=t.result.response;}toSchema(){return new k({value:[new ie({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};ua.CLASS_NAME="ResponseBytes";var ku="responseStatus",gn="responseBytes",$A=class s extends q{constructor(e={}){super(),this.responseStatus=y(e,ku,s.defaultValues(ku)),gn in e&&(this.responseBytes=y(e,gn,s.defaultValues(gn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return new Or;case gn:return new ua;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ku:return t.isEqual(s.defaultValues(e));case gn:return ua.compareWithDefault("responseType",t.responseType)&&ua.compareWithDefault("response",t.response);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPResponse",value:[new Or({name:t.responseStatus||ku}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[ua.schema(t.responseBytes||{names:{blockName:gn}})]})]})}fromSchema(e){W(e,[ku,gn]);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.responseStatus=t.result.responseStatus,gn in t.result&&(this.responseBytes=new ua({schema:t.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new k({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,t,r=Oe(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==aw)return i;try{let a=kt(this.responseBytes.response.valueBlock.valueHexView);_.assert(a,"Basic OCSP response"),n=new Ec({schema:a.result});}catch{return i}return n.getCertificateStatus(e,t,r)}async sign(e,t,r=Oe(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===aw)return Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,t,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,t=Oe(!0)){var r;if(!(gn in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===aw){let n=Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},t)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};$A.CLASS_NAME="OCSPResponse";var lo="type",Cn="attributes",iw="encodedValue",Cj=[Cn],fs=class s extends q{constructor(e={}){super(),this.type=y(e,lo,s.defaultValues(lo)),this.attributes=y(e,Cn,s.defaultValues(Cn)),this.encodedValue=y(e,iw,s.defaultValues(iw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lo:return -1;case Cn:return [];case iw:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lo:return t===s.defaultValues(lo);case Cn:return t.length===0;case iw:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new V({name:t.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:t.tagNumber||0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,Cj);let t=K(e,e,s.schema({names:{tagNumber:this.type,attributes:Cn}}));_.assertSchema(t,this.className),this.type=t.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(t.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(Cn in t.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(t.result.attributes,n=>new yt({schema:n}));}toSchema(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new V({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};fs.CLASS_NAME="SignedAndUnsignedAttributes";var Vl="version",oc="sid",Dl="digestAlgorithm",ra="signedAttrs",Ul="signatureAlgorithm",Km="signature",na="unsignedAttrs",ma="SignerInfo",qA=`${ma}.${Vl}`,Gm=`${ma}.${oc}`,FA=`${ma}.${Dl}`,vw=`${ma}.${ra}`,KA=`${ma}.${Ul}`,GA=`${ma}.${Km}`,Ew=`${ma}.${na}`,Nj=[qA,Gm,FA,vw,KA,GA,Ew],mh=class s extends q{constructor(e={}){super(),this.version=y(e,Vl,s.defaultValues(Vl)),this.sid=y(e,oc,s.defaultValues(oc)),this.digestAlgorithm=y(e,Dl,s.defaultValues(Dl)),ra in e&&(this.signedAttrs=y(e,ra,s.defaultValues(ra))),this.signatureAlgorithm=y(e,Ul,s.defaultValues(Ul)),this.signature=y(e,Km,s.defaultValues(Km)),na in e&&(this.unsignedAttrs=y(e,na,s.defaultValues(na))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vl:return 0;case oc:return new be;case Dl:return new j;case ra:return new fs({type:0});case Ul:return new j;case Km:return new z;case na:return new fs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vl:return s.defaultValues(Vl)===t;case oc:return t instanceof be;case Dl:return t instanceof j?t.isEqual(s.defaultValues(Dl)):!1;case ra:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);case Ul:return t instanceof j?t.isEqual(s.defaultValues(Ul)):!1;case Km:case na:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:ma,value:[new L({name:t.version||qA}),new it({value:[Ht.schema(t.sidSchema||{names:{blockName:Gm}}),new it({value:[new V({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new ge({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0}})]})]}),j.schema(t.digestAlgorithm||{names:{blockName:FA}}),fs.schema(t.signedAttrs||{names:{blockName:vw,tagNumber:0}}),j.schema(t.signatureAlgorithm||{names:{blockName:KA}}),new z({name:t.signature||GA}),fs.schema(t.unsignedAttrs||{names:{blockName:Ew,tagNumber:1}})]})}fromSchema(e){W(e,Nj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[qA].valueBlock.valueDec;let r=t.result[Gm];r.idBlock.tagClass===1?this.sid=new Ht({schema:r}):this.sid=r,this.digestAlgorithm=new j({schema:t.result[FA]}),vw in t.result&&(this.signedAttrs=new fs({type:0,schema:t.result[vw]})),this.signatureAlgorithm=new j({schema:t.result[KA]}),this.signature=t.result[GA],Ew in t.result&&(this.unsignedAttrs=new fs({type:1,schema:t.result[Ew]}));}toSchema(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new L({value:this.version})),this.sid instanceof Ht?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new k({value:e})}toJSON(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};mh.CLASS_NAME="SignerInfo";var Wm="version",Jm="policy",zm="messageImprint",Ym="serialNumber",Zm="genTime",cc="ordering",uc="nonce",Ll="accuracy",jl="tsa",Hl="extensions",br="TSTInfo",WA=`${br}.${Wm}`,JA=`${br}.${Jm}`,zA=`${br}.${zm}`,YA=`${br}.${Ym}`,ZA=`${br}.${Zm}`,xw=`${br}.${Ll}`,Aw=`${br}.${cc}`,Iw=`${br}.${uc}`,Cw=`${br}.${jl}`,Nw=`${br}.${Hl}`,kj=[WA,JA,zA,YA,ZA,xw,Aw,Iw,Cw,Nw],lb=class s extends q{constructor(e={}){super(),this.version=y(e,Wm,s.defaultValues(Wm)),this.policy=y(e,Jm,s.defaultValues(Jm)),this.messageImprint=y(e,zm,s.defaultValues(zm)),this.serialNumber=y(e,Ym,s.defaultValues(Ym)),this.genTime=y(e,Zm,s.defaultValues(Zm)),Ll in e&&(this.accuracy=y(e,Ll,s.defaultValues(Ll))),cc in e&&(this.ordering=y(e,cc,s.defaultValues(cc))),uc in e&&(this.nonce=y(e,uc,s.defaultValues(uc))),jl in e&&(this.tsa=y(e,jl,s.defaultValues(jl))),Hl in e&&(this.extensions=y(e,Hl,s.defaultValues(Hl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wm:return 0;case Jm:return b;case zm:return new Ms;case Ym:return new L;case Zm:return new Date(0,0,0);case Ll:return new Pn;case cc:return !1;case uc:return new L;case jl:return new tt;case Hl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wm:case Jm:case Zm:case cc:return t===s.defaultValues(cc);case zm:return Ms.compareWithDefault(dc,t.hashAlgorithm)&&Ms.compareWithDefault(mc,t.hashedMessage);case Ym:case uc:return t.isEqual(s.defaultValues(uc));case Ll:return Pn.compareWithDefault(xi,t.seconds)&&Pn.compareWithDefault(Ai,t.millis)&&Pn.compareWithDefault(Ii,t.micros);case jl:return tt.compareWithDefault(cd,t.type)&&tt.compareWithDefault(ud,t.value);case Hl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||br,value:[new L({name:t.version||WA}),new ie({name:t.policy||JA}),Ms.schema(t.messageImprint||{names:{blockName:zA}}),new L({name:t.serialNumber||YA}),new nt({name:t.genTime||ZA}),Pn.schema(t.accuracy||{names:{blockName:xw}}),new _s({name:t.ordering||Aw,optional:!0}),new L({name:t.nonce||Iw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[tt.schema(t.tsa||{names:{blockName:Cw}})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.extensions||Nw,value:Bs.schema(t.extension||{})})]})]})}fromSchema(e){W(e,kj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[WA].valueBlock.valueDec,this.policy=t.result[JA].valueBlock.toString(),this.messageImprint=new Ms({schema:t.result[zA]}),this.serialNumber=t.result[YA],this.genTime=t.result[ZA].toDate(),xw in t.result&&(this.accuracy=new Pn({schema:t.result[xw]})),Aw in t.result&&(this.ordering=t.result[Aw].valueBlock.value),Iw in t.result&&(this.nonce=t.result[Iw]),Cw in t.result&&(this.tsa=new tt({schema:t.result[Cw]})),Nw in t.result&&(this.extensions=Array.from(t.result[Nw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new ie({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new nt({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new _s({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async verify(e,t=Oe(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=t.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await t.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};lb.CLASS_NAME="TSTInfo";var _l="version",Xm="digestAlgorithms",Qm="encapContentInfo",Ml="certificates",$l="crls",e0="signerInfos",ad="ocsps",Nc="SignedData",XA=`${Nc}.${_l}`,kw=`${Nc}.${Xm}`,QA=`${Nc}.${Qm}`,Pw=`${Nc}.${Ml}`,Tw=`${Nc}.${$l}`,Bw=`${Nc}.${e0}`,Pj=[XA,kw,QA,Pw,Tw,Bw],Kt=class extends Error{constructor({message:e,code:t=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=t,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},da=class s extends q{constructor(e={}){super(),this.version=y(e,_l,s.defaultValues(_l)),this.digestAlgorithms=y(e,Xm,s.defaultValues(Xm)),this.encapContentInfo=y(e,Qm,s.defaultValues(Qm)),Ml in e&&(this.certificates=y(e,Ml,s.defaultValues(Ml))),$l in e&&(this.crls=y(e,$l,s.defaultValues($l))),ad in e&&(this.ocsps=y(e,ad,s.defaultValues(ad))),this.signerInfos=y(e,e0,s.defaultValues(e0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return 0;case Xm:return [];case Qm:return new Rn;case Ml:return [];case $l:return [];case ad:return [];case e0:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _l:return t===s.defaultValues(_l);case Qm:return Rn.compareWithDefault("eContentType",t.eContentType)&&Rn.compareWithDefault("eContent",t.eContent);case Xm:case Ml:case $l:case ad:case e0:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return t.optional===void 0&&(t.optional=!1),new k({name:t.blockName||Nc,optional:t.optional,value:[new L({name:t.version||XA}),new dt({value:[new Ae({name:t.digestAlgorithms||kw,value:j.schema()})]}),Rn.schema(t.encapContentInfo||{names:{blockName:QA}}),new V({name:t.certificates||Pw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema(t.crls||{names:{crls:Tw}}).valueBlock.value}),new dt({value:[new Ae({name:t.signerInfos||Bw,value:mh.schema()})]})]})}fromSchema(e){W(e,Pj);let t=K(e,e,s.schema());if(_.assertSchema(t,this.className),this.version=t.result[XA].valueBlock.valueDec,kw in t.result&&(this.digestAlgorithms=Array.from(t.result[kw],r=>new j({schema:r}))),this.encapContentInfo=new Rn({schema:t.result[QA]}),Pw in t.result){let r=new Un({schema:new dt({value:t.result[Pw].valueBlock.value})});this.certificates=r.certificates.slice(0);}Tw in t.result&&(this.crls=Array.from(t.result[Tw],r=>r.idBlock.tagClass===1?new Ac({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new yc({schema:r})))),Bw in t.result&&(this.signerInfos=Array.from(t.result[Bw],r=>new mh({schema:r})));}toSchema(e=!1){let t=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof eh)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof yc)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Ur)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof ih)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==s.ID_DATA?this.version=3:this.version=1,t.push(new L({value:this.version})),t.push(new dt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),t.push(this.encapContentInfo.toSchema()),this.certificates){let n=new Un({certificates:this.certificates}).toSchema();t.push(new V({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&t.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof yc){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),t.push(new dt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new k({value:t})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,t=>t.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,t=>t.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,t=>t.toJSON())),this.crls&&(e.crls=Array.from(this.crls,t=>t.toJSON())),e}async verify({signer:e=-1,data:t=It,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Oe(!0)){let m=null,w=null;try{let E=It,v=b,A=[],C=this.signerInfos[e];if(!C)throw new Kt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new Kt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof Ht){for(let P of this.certificates)if(P instanceof ts&&P.issuer.isEqual(C.sid.issuer)&&P.serialNumber.isEqual(C.sid.serialNumber)){m=P;break}}else {let P=C.sid,B=P.idBlock.isConstructed?P.valueBlock.value[0].valueBlock.valueHex:P.valueBlock.valueHex;for(let G of this.certificates){if(!(G instanceof ts))continue;let se=await l.digest({name:"sha-1"},G.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(se,B)){m=G;break}}}if(!m)throw new Kt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===DU){if(!this.encapContentInfo.eContent)throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});let P;try{P=lb.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(n=P.genTime,w=P.serialNumber.valueBlock.valueHexView.slice().buffer,t.byteLength===0)throw new Kt({date:n,code:4,message:"Missed detached data input array"});if(!await P.verify({data:t},l))throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(i){let P=this.certificates.filter(X=>X instanceof ts&&!!SP(X,m)),B={checkDate:n,certs:P,trustedCerts:r};u&&(B.findIssuer=u),c&&(B.findOrigin=c);let G=new P0(B);if(G.certs.push(m),this.crls)for(let X of this.crls)"thisUpdate"in X?G.crls.push(X):X.otherRevInfoFormat===aw&&G.ocsps.push(new Ec({schema:X.otherRevInfo}));this.ocsps&&G.ocsps.push(...this.ocsps);let se=await G.verify({passedWhenNotRevValues:a},l).catch(X=>{throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${X instanceof Object?X.resultMessage:X}`,signerCertificate:m,signerCertificateVerified:!1})});if(se.certificatePath&&(A=se.certificatePath),!se.result)throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed: ${se.resultMessage}`,signerCertificate:m,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new Kt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:m,signerCertificateVerified:!0});v=D.name;let U=this.encapContentInfo.eContent;if(U)U.idBlock.tagClass===1&&U.idBlock.tagNumber===4?t=U.getValue():t=U.valueBlock.valueBeforeDecodeView.slice().buffer;else if(t.byteLength===0)throw new Kt({date:n,code:8,message:"Missed detached data input array",signerCertificate:m,signerCertificateVerified:!0});if(C.signedAttrs){let P=!1,B=!1;for(let G of C.signedAttrs.attributes)if(G.type==="1.2.840.113549.1.9.3"&&(P=!0),G.type==="1.2.840.113549.1.9.4"&&(B=!0,E=G.values[0].valueBlock.valueHex),P&&B)break;if(P===!1)throw new Kt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:m,signerCertificateVerified:!0});if(B===!1)throw new Kt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:m,signerCertificateVerified:!0})}if(C.signedAttrs){let P=await l.digest(v,new Uint8Array(t));if(!fi(P,E))throw new Kt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});t=C.signedAttrs.encodedValue;}let T=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm,v):await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:T,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0,certificatePath:A}:T}catch(E){throw E instanceof Kt?E:new Kt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,t,r="SHA-1",n=It,i=Oe(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[t];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new j({algorithmId:c,algorithmParams:new ft})),o.digestAlgorithm=new j({algorithmId:c,algorithmParams:new ft});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let m=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:m});}};da.CLASS_NAME="SignedData";da.ID_DATA=lI;var lc="version",hc="authSafe",Nn="macData",od="parsedValue",Tj=[lc,hc,Nn],eI=class s extends q{constructor(e={}){super(),this.version=y(e,lc,s.defaultValues(lc)),this.authSafe=y(e,hc,s.defaultValues(hc)),Nn in e&&(this.macData=y(e,Nn,s.defaultValues(Nn))),od in e&&(this.parsedValue=y(e,od,s.defaultValues(od))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return 3;case hc:return new mt;case Nn:return new Dr;case od:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lc:return t===s.defaultValues(e);case hc:return mt.compareWithDefault("contentType",t.contentType)&&mt.compareWithDefault("content",t.content);case Nn:return Dr.compareWithDefault("mac",t.mac)&&Dr.compareWithDefault("macSalt",t.macSalt)&&Dr.compareWithDefault("iterations",t.iterations);case od:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||lc}),mt.schema(t.authSafe||{names:{blockName:hc}}),Dr.schema(t.macData||{names:{blockName:Nn,optional:!0}})]})}fromSchema(e){W(e,Tj);let t=K(e,e,s.schema({names:{version:lc,authSafe:{names:{blockName:hc}},macData:{names:{blockName:Nn}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.authSafe=new mt({schema:t.result.authSafe}),Nn in t.result&&(this.macData=new Dr({schema:t.result.macData}));}toSchema(){let e=[new L({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},t=Oe(!0)){if(et.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Je.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Je.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Je("iterations");Je.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Je.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Je.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);t.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new mt({contentType:mt.DATA,content:new z({valueHex:i})});let a=await t.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new Dr({mac:new On({digestAlgorithm:new j({algorithmId:t.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Je("signingCertificate");Je.assertEmpty(e.privateKey,"privateKey"),Je.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new da({version:1,encapContentInfo:new Rn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await t.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new yt({type:"1.2.840.113549.1.9.3",values:[new ie({value:"1.2.840.113549.1.7.1"})]})),a.push(new yt({type:"1.2.840.113549.1.9.5",values:[new fn({valueDate:new Date})]})),a.push(new yt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new mh({version:1,sid:new Ht({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new fs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,t),this.authSafe=new mt({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,t=Oe(!0)){switch(et.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case mt.DATA:{Je.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,et.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=t.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await t.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:rh.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:rh.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case mt.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new da({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Je.assert(n,"eContent","cmsSigned.encapContentInfo"),et.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(i),!await r.verify({signer:0,checkChain:!1},t))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};eI.CLASS_NAME="PFX";var ql="status",ia="statusStrings",aa="failInfo",Bj=[ql,ia,aa],tP;(function(s){s[s.granted=0]="granted",s[s.grantedWithMods=1]="grantedWithMods",s[s.rejection=2]="rejection",s[s.waiting=3]="waiting",s[s.revocationWarning=4]="revocationWarning",s[s.revocationNotification=5]="revocationNotification";})(tP||(tP={}));var gc=class s extends q{constructor(e={}){super(),this.status=y(e,ql,s.defaultValues(ql)),ia in e&&(this.statusStrings=y(e,ia,s.defaultValues(ia))),aa in e&&(this.failInfo=y(e,aa,s.defaultValues(aa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ql:return 2;case ia:return [];case aa:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ql:return t===s.defaultValues(e);case ia:return t.length===0;case aa:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.status||b}),new k({optional:!0,value:[new Ae({name:t.statusStrings||b,value:new Ps})]}),new Ve({name:t.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Bj);let t=K(e,e,s.schema({names:{status:ql,statusStrings:ia,failInfo:aa}}));_.assertSchema(t,this.className);let r=t.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,ia in t.result&&(this.statusStrings=t.result.statusStrings),aa in t.result&&(this.failInfo=t.result.failInfo);}toSchema(){let e=[];return e.push(new L({value:this.status})),this.statusStrings&&e.push(new k({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new k({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,t=>t.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};gc.CLASS_NAME="PKIStatusInfo";var t0="version",s0="messageImprint",Fl="reqPolicy",Kl="nonce",kn="certReq",Gl="extensions",kc="TimeStampReq",tI=`${kc}.${t0}`,sI=`${kc}.${s0}`,Ow=`${kc}.${Fl}`,Rw=`${kc}.${Kl}`,Vw=`${kc}.${kn}`,Dw=`${kc}.${Gl}`,Oj=[tI,sI,Ow,Rw,Vw,Dw],rI=class s extends q{constructor(e={}){super(),this.version=y(e,t0,s.defaultValues(t0)),this.messageImprint=y(e,s0,s.defaultValues(s0)),Fl in e&&(this.reqPolicy=y(e,Fl,s.defaultValues(Fl))),Kl in e&&(this.nonce=y(e,Kl,s.defaultValues(Kl))),kn in e&&(this.certReq=y(e,kn,s.defaultValues(kn))),Gl in e&&(this.extensions=y(e,Gl,s.defaultValues(Gl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return 0;case s0:return new Ms;case Fl:return b;case Kl:return new L;case kn:return !1;case Gl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case t0:case Fl:case kn:return t===s.defaultValues(e);case s0:return Ms.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&Ms.compareWithDefault("hashedMessage",t.hashedMessage);case Kl:return t.isEqual(s.defaultValues(e));case Gl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||kc,value:[new L({name:t.version||tI}),Ms.schema(t.messageImprint||{names:{blockName:sI}}),new ie({name:t.reqPolicy||Ow,optional:!0}),new L({name:t.nonce||Rw,optional:!0}),new _s({name:t.certReq||Vw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.extensions||Dw,value:Bs.schema()})]})]})}fromSchema(e){W(e,Oj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[tI].valueBlock.valueDec,this.messageImprint=new Ms({schema:t.result[sI]}),Ow in t.result&&(this.reqPolicy=t.result[Ow].valueBlock.toString()),Rw in t.result&&(this.nonce=t.result[Rw]),Vw in t.result&&(this.certReq=t.result[Vw].valueBlock.value),Dw in t.result&&(this.extensions=Array.from(t.result[Dw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ie({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),kn in this&&s.compareWithDefault(kn,this.certReq)===!1&&e.push(new _s({value:this.certReq})),this.extensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&s.compareWithDefault(kn,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}};rI.CLASS_NAME="TimeStampReq";var Wl="status",Jl="timeStampToken",EI="TimeStampResp",nI=`${EI}.${Wl}`,Uw=`${EI}.${Jl}`,Rj=[nI,Uw],iI=class s extends q{constructor(e={}){super(),this.status=y(e,Wl,s.defaultValues(Wl)),Jl in e&&(this.timeStampToken=y(e,Jl,s.defaultValues(Jl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wl:return new gc;case Jl:return new mt;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wl:return gc.compareWithDefault(Wl,t.status)&&!("statusStrings"in t)&&!("failInfo"in t);case Jl:return t.contentType===b&&t.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||EI,value:[gc.schema(t.status||{names:{blockName:nI}}),mt.schema(t.timeStampToken||{names:{blockName:Uw,optional:!0}})]})}fromSchema(e){W(e,Rj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.status=new gc({schema:t.result[nI]}),Uw in t.result&&(this.timeStampToken=new mt({schema:t.result[Uw]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new k({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,t,r=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).sign(e,0,t,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:It},t=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).verify(e,t)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==fP)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};iI.CLASS_NAME="TimeStampResp";function Vj(){if(typeof globalThis<"u"&&"crypto"in globalThis){let s="webcrypto";"webkitSubtle"in globalThis.crypto&&(s="safari"),Hk(s,new nh({name:s,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let s="NodeJS ^15",e=crypto.webcrypto;Hk(s,new nh({name:s,crypto:e}));}}Vj();d();f();d();f();d();f();d();f();var II=(s,e)=>e.some(t=>s instanceof t),EP,xP;function Dj(){return EP||(EP=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Uj(){return xP||(xP=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var CI=new WeakMap,xI=new WeakMap,hb=new WeakMap;function Lj(s){let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("success",i),s.removeEventListener("error",a);},i=()=>{t(Pc(s.result)),n();},a=()=>{r(s.error),n();};s.addEventListener("success",i),s.addEventListener("error",a);});return hb.set(e,s),e}function jj(s){if(CI.has(s))return;let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",a),s.removeEventListener("abort",a);},i=()=>{t(),n();},a=()=>{r(s.error||new DOMException("AbortError","AbortError")),n();};s.addEventListener("complete",i),s.addEventListener("error",a),s.addEventListener("abort",a);});CI.set(s,e);}var NI={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return CI.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Pc(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function NP(s){NI=s(NI);}function Hj(s){return Uj().includes(s)?function(...e){return s.apply(kI(this),e),Pc(this.request)}:function(...e){return Pc(s.apply(kI(this),e))}}function _j(s){return typeof s=="function"?Hj(s):(s instanceof IDBTransaction&&jj(s),II(s,Dj())?new Proxy(s,NI):s)}function Pc(s){if(s instanceof IDBRequest)return Lj(s);if(xI.has(s))return xI.get(s);let e=_j(s);return e!==s&&(xI.set(s,e),hb.set(e,s)),e}var kI=s=>hb.get(s);function kP(s,e,{blocked:t,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(s,e),o=Pc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Pc(a.result),c.oldVersion,c.newVersion,Pc(a.transaction),c);}),t&&a.addEventListener("blocked",c=>t(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var Mj=["get","getKey","getAll","getAllKeys","count"],$j=["put","add","delete","clear"],AI=new Map;function AP(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(AI.get(e))return AI.get(e);let t=e.replace(/FromIndex$/,""),r=e!==t,n=$j.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(n||Mj.includes(t)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[t](...o),n&&c.done]))[0]};return AI.set(e,i),i}NP(s=>({...s,get:(e,t,r)=>AP(e,t)||s.get(e,t,r),has:(e,t)=>!!AP(e,t)||s.has(e,t)}));var qj=["continue","continuePrimaryKey","advance"],IP={},PI=new WeakMap,PP=new WeakMap,Fj={get(s,e){if(!qj.includes(e))return s[e];let t=IP[e];return t||(t=IP[e]=function(...r){PI.set(this,PP.get(this)[e](...r));}),t}};async function*Kj(...s){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...s)),!e)return;e=e;let t=new Proxy(e,Fj);for(PP.set(t,e),hb.set(t,kI(e));e;)yield t,e=await(PI.get(t)||e.continue()),PI.delete(t);}function CP(s,e){return e===Symbol.asyncIterator&&II(s,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&II(s,[IDBIndex,IDBObjectStore])}NP(s=>({...s,get(e,t,r){return CP(e,t)?Kj:s.get(e,t,r)},has(e,t){return CP(e,t)||s.has(e,t)}}));function TP(s,e){if(s===e)return !0;if(s===null||e===null||typeof s!="object"||typeof e!="object")return !1;let t=Object.keys(s),r=Object.keys(e);if(t.length!==r.length)return !1;for(let n of t)if(!r.includes(n)||!TP(s[n],e[n]))return !1;return !0}var _t=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,t,r,n=[]){this.dbName=e,this.storeName=t,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await kP(this.dbName,e,{upgrade:(t,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(t,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let t=await this.openDB(),r=e[this.key],n=t.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?TP(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let t=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,t&&this.notifyUpdate(e,"removed",t,void 0);}notifyUpdate(e,t,r,n){this.listeners.forEach(i=>i(e,t,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:t,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(t=>t!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var TI="auth-commitments",B0=class extends _t{constructor(e="sequence-auth-commitments"){super(e,TI,"id",[(t,r,n)=>{t.objectStoreNames.contains(TI)||t.createObjectStore(TI);}]);}};d();f();var BI="auth-keys",O0=class extends _t{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,BI,"address",[(t,r,n)=>{t.objectStoreNames.contains(BI)||t.createObjectStore(BI).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let t of e)await this.scheduleExpiration(t);}async set(e){let t=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),t}async del(e){let t=await super.del(e.toLowerCase());return this.clearExpiration(e),t}async getBySigner(e,t=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(t<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,t+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${t}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let t=await this.getBySigner(e.toLowerCase());t&&await this.del(t.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let t=Date.now(),r=e.expiresAt.getTime()-t;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let t=this.expirationTimers.get(e.toLowerCase());t&&(window.clearTimeout(t),this.expirationTimers.delete(e.toLowerCase()));}};d();f();var OI="messages",R0=class extends _t{constructor(e="sequence-messages"){super(e,OI,"id",[(t,r,n)=>{t.objectStoreNames.contains(OI)||t.createObjectStore(OI);}]);}};d();f();var RI="envelopes",V0=class extends _t{constructor(e="sequence-signature-requests"){super(e,RI,"id",[(t,r,n)=>{t.objectStoreNames.contains(RI)||t.createObjectStore(RI);}]);}};d();f();var VI="transactions",D0=class extends _t{constructor(e="sequence-transactions"){super(e,VI,"id",[(t,r,n)=>{t.objectStoreNames.contains(VI)||t.createObjectStore(VI);}]);}};d();f();var DI="wallets",U0=class extends _t{constructor(e="sequence-manager"){super(e,DI,"address",[(t,r,n)=>{t.objectStoreNames.contains(DI)||t.createObjectStore(DI);}]);}};d();f();var UI="queued-recovery-payloads",L0=class extends _t{constructor(e="sequence-recovery"){super(e,UI,"id",[(t,r,n)=>{t.objectStoreNames.contains(UI)||t.createObjectStore(UI);}]);}};d();f();var LI="passkey-credentials",j0=class extends _t{constructor(e="sequence-passkey-credentials"){super(e,LI,"credentialId",[(t,r,n)=>{t.objectStoreNames.contains(LI)||t.createObjectStore(LI);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,t,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:t,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:t,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:t,walletAddress:r};await this.set(i);}}};d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();({verbose:!1,extensions:je.Rc5,context:Ka.Rc5,context4337:Ka.Rc5_4337,guest:Xe.DefaultGuestAddress,encryptedPksDb:new cr.Pk.Encrypted.EncryptedPksDb,managerDb:new U0,signaturesDb:new V0,transactionsDb:new D0,messagesDb:new R0,authCommitmentsDb:new B0,recoveryDb:new L0,authKeysDb:new O0,passkeyCredentialsDb:new j0,dbPruningInterval:1e3*60*60*24,stateProvider:new du.Sequence.Provider,networks:Wa.ALL,relayers:()=>typeof window<"u"?[Bf.LocalRelayer.createFromWindow(window)].filter(s=>s!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:Xe.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var H0=class{#e;#s;#r=null;#t=null;constructor(e,t){this.#e=e,this.#s=t;}async#a(){let e=await this.#e.getUser();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let t=await this.#a();return t.profile.sub!==e.userIdentifier&&(e=await this.#n(t)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e.forceUserRefresh();let t=e||await this.#a();if(!t.idToken)throw new ct("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=t,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:R.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Af(this.#s.identityInstrumentEndpoint,"@14:test"),m=new u1(i,a,r);await l.commitVerifier(za.toIdentityAuthKey(u),m);let E=(await l.completeAuth(za.toIdentityAuthKey(u),m)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:t.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(t){let r=`Identity Instrument: Failed to create signer: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,t,r){let n=await this.#i();return new za.IdentitySigner(n.identityInstrument,n.authKey).sign(e,t,r)}async signMessage(e){let t=await this.#i(),r=new za.IdentitySigner(t.identityInstrument,t.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(R.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();f();var _0=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e.getUser();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let t=await this.#t();return t.profile.sub!==e.userIdentifier&&(e=await this.#i(t)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let t=e||await this.#t(),r=keccak256(toBytes(`${t.profile.sub}-sequence`)),n=new cr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:t.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(t){let r=`Failed to create private key wallet: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,t,r){return (await this.#a()).signer.sign(e,t,r)}async signMessage(e){let t=await this.#a(),r=privateKeyToAccount(t.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};var cH="https://auth.dev.immutable.com";function UP(s,e,t={}){if(e.authenticationDomain===cH)return new _0(s);if(!t.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new H0(s,{identityInstrumentEndpoint:t.identityInstrumentEndpoint})}function pH(s){return s in qn}function gH(s){if(s.magicPublishableApiKey&&s.magicProviderId)return {magicPublishableApiKey:s.magicPublishableApiKey,magicProviderId:s.magicProviderId};let{chainId:e}=s;if(pH(e))return qn[e];throw new Error(`No Magic configuration available for chain ${s.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var yH="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",wH="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",bH="openid profile email offline_access transact",SH="platform_api",vH="https://auth.immutable.com/im-logged-in",EH="https://auth.immutable.com",xH=/(sandbox|testnet)/i,AH=[13371,13473,15003];function IH(s){return AH.includes(s.chainId)}function CH(s){if(s.chainId===13473)return !0;let e=s.apiUrl||s.passportDomain||"";return xH.test(e)}function NH(s){if(s.passportDomain)return s.passportDomain;if(s.apiUrl)try{let e=new URL(s.apiUrl),t=e.hostname.replace("api.","passport.");return `${e.protocol}//${t}`}catch{return s.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function kH(){return EH}function PH(){return vH}function TH(s){return CH(s)?wH:yH}function BH(s,e){let t=NH(s),r=kH(),n=PH();return new Auth({clientId:TH(s),redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:bH,audience:SH,authenticationDomain:r,passportDomain:t,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled})}async function OH(s={}){let e=s.chains&&s.chains.length>0?s.chains:np,t=s.initialChainId||e[0].chainId,r=e.find(v=>v.chainId===t);if(!r)throw new Error(`Initial chain ${t} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a=s.auth??BH(r,s);!s.auth&&typeof window<"u"&&window.addEventListener("message",async v=>{if(v.data.code&&v.data.state){let A=window.location.search,C=new URLSearchParams(A);C.set("code",v.data.code),C.set("state",v.data.state),window.history.replaceState(null,"",`?${C.toString()}`),await a.loginCallback(),C.delete("code"),C.delete("state"),window.history.replaceState(null,"",`?${C.toString()}`);}});let o=a.getConfig(),c=await a.getUser(),u=new Bh({passportDomain:r.passportDomain||r.apiUrl.replace("api.","passport."),zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:s.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:s.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:s.crossSdkBridgeEnabled,feeTokenSymbol:s.feeTokenSymbol}),l=s.passportEventEmitter||new TypedEventEmitter,m=new mr$1.GuardianApi(n),w=new Uc({config:u,auth:a,guardianApi:m,authConfig:o}),E;if(IH(r)){let v=gH(r),A=r.magicTeeBasePath||"https://tee.express.magiclabs.com",C=new MagicTeeApiClients({basePath:A,timeout:1e4,magicPublishableApiKey:v.magicPublishableApiKey,magicProviderId:v.magicProviderId}),D=new Lc(a,C),U=null;r.chainId===13371?U="https://api.immutable.com":r.chainId===13473?U="https://api.sandbox.immutable.com":r.apiUrl&&(U=r.apiUrl),E=new Ph({auth:a,config:u,multiRollupApiClients:i,passportEventEmitter:l,guardianClient:w,ethSigner:D,user:c,sessionActivityApiUrl:U});}else {let v=UP(a,o,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint});E=new Th({auth:a,chainConfig:r,multiRollupApiClients:i,guardianClient:w,ethSigner:v,passportEventEmitter:l});}return s.announceProvider!==!1&&qb({info:$b,provider:E}),E}d();f();function UH(s){return typeof s=="object"&&s!==null&&"code"in s&&"message"in s}async function LH(s,e){let t=await s.getUser();if(!t?.profile.sub)return [];let r={Authorization:`Bearer ${t.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function jH(s,e,t){let r=trackFlow("wallet","linkExternalWallet");try{let n=await s.getUser();if(!n)throw new ct("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ct("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:t.type,wallet_address:t.walletAddress,signature:t.signature,nonce:t.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),va(n)&&n.response){if(n.response.data&&UH(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ct(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ct(o,"WALLET_CONNECTION_ERROR");default:throw new ct(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ct(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ct(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
374
+ `)}`:`${t} :`}};ZN=V;ue.Constructed=ZN;V.NAME="CONSTRUCTED";var oy=class extends hs{fromBER(e,t,r){return t}toBER(e){return Rr}};oy.override="EndOfContentValueBlock";var XN,cy=class extends Qt{constructor(e={}){super(e,oy),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};XN=cy;ue.EndOfContent=XN;cy.NAME=qf;var QN,ft=class extends Qt{constructor(e={}){super(e,hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return t&&t.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};QN=ft;ue.Null=QN;ft.NAME="NULL";var uy=class extends mn(hs){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=qe.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);return dn(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,L2.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};uy.NAME="BooleanValueBlock";var ek,_s=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,uy),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};ek=_s;ue.Boolean=ek;_s.NAME="BOOLEAN";var ly=class extends mn(Br){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e;}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==WN)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,t,r),this.blockLength=r;return n}toBER(e,t){return this.isConstructed?Br.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};ly.NAME="OctetStringValueBlock";var _2,z=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},ly),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,t,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+r);try{if(i.byteLength){let a=Wf(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${t}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let t of this.valueBlock.value)t instanceof _2&&e.push(t.valueBlock.valueHexView);return qe.BufferSourceConverter.concat(e)}};_2=z;ue.OctetString=_2;z.NAME=WN;var hy=class extends mn(Br){constructor({unusedBits:e=0,isConstructed:t=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength;}fromBER(e,t,r){if(!r)return t;let n=-1;if(this.isConstructed){if(n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==JN)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=Wf(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,t+r}toBER(e,t){if(this.isConstructed)return Br.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};hy.NAME="BitStringValueBlock";var tk,Ve=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},hy),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let a of t)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};tk=Ve;ue.BitString=tk;Ve.NAME=JN;var sk;function VD(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,m=0;for(let w=l;w>=0;w--,m++){switch(!0){case m<o.length:u=i[a-m]+o[c-m]+t[0];break;default:u=i[a-m]+t[0];}switch(t[0]=u/10,!0){case m>=i.length:i=ey(new Uint8Array([u%10]),i);break;default:i[a-m]=u%10;}}return t[0]>0&&(i=ey(t,i)),i}function GN(s){if(s>=_f.length)for(let e=_f.length;e<=s;e++){let t=new Uint8Array([0]),r=_f[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10;}t[0]>0&&(r=ey(t,r)),_f.push(r);}return _f[s]}function DD(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let m=c;m>=0;m--,l++)switch(u=i[a-l]-o[c-l]-t,!0){case u<0:t=1,i[a-l]=u+10;break;default:t=0,i[a-l]=u;}if(t>0)for(let m=a-c+1;m>=0;m--,l++)if(u=i[a-l]-t,u<0)t=1,i[a-l]=u+10;else {t=0,i[a-l]=u;break}return i.slice()}var Ff=class extends mn(hs){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=L2.call(this)));}constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(HN(e));}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r;}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:t=DD(GN(r),t),a="-";break;default:t=VD(t,GN(r));}r++,n>>=1;}}for(let c=0;c<t.length;c++)t[c]&&(o=!0),o&&(a+=FN.charAt(t[c]));return o===!1&&(a+=FN.charAt(0)),a}};sk=Ff;Ff.NAME="IntegerValueBlock";Object.defineProperty(sk.prototype,"valueHex",{set:function(s){this.valueHexView=new Uint8Array(s),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Mf,L=class extends Qt{constructor(e={}){super(e,Ff),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return sy(),BigInt(this.valueBlock.toString())}static fromBigInt(e){sy();let t=BigInt(e),r=new $f,n=t.toString(16).replace(/^-/,""),i=new Uint8Array(qe.Convert.FromHex(n));if(t<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${qe.Convert.ToHex(o)}`)+t,l=qe.BufferSourceConverter.toUint8Array(qe.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Mf({valueHex:r.final()})}convertToDER(){let e=new Mf({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Mf({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Mf=L;ue.Integer=Mf;L.NAME="INTEGER";var rk,Or=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};rk=Or;ue.Enumerated=rk;Or.NAME="ENUMERATED";var Kf=class extends mn(hs){constructor({valueDec:e=-1,isFirstSid:t=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=t;}fromBER(e,t,r){if(!r)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){sy();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let r=new Uint8Array(t.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(t.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=qe.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Kf.NAME="sidBlock";var fy=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Kf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let t=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,Rr;t.push(n);}return H2(t)}fromString(e){this.value=[];let t=0,r=0,n="",i=!1;do if(r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new Kf;if(n>Number.MAX_SAFE_INTEGER){sy();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};fy.NAME="ObjectIdentifierValueBlock";var nk,ie=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,fy),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};nk=ie;ue.ObjectIdentifier=nk;ie.NAME="OBJECT IDENTIFIER";var Gf=class extends mn(ln){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e;}fromBER(e,t,r){if(r===0)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=qe.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};Gf.NAME="relativeSidBlock";var dy=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Gf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,t){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,Rr;r.push(i);}return H2(r)}fromString(e){this.value=[];let t=0,r=0,n="";do{r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1;let i=new Gf;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};dy.NAME="RelativeObjectIdentifierValueBlock";var ik,my=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,dy),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};ik=my;ue.RelativeObjectIdentifier=ik;my.NAME="RelativeObjectIdentifier";var ak,k=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};ak=k;ue.Sequence=ak;k.NAME="SEQUENCE";var ok,dt=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};ok=dt;ue.Set=ok;dt.NAME="SET";var py=class extends mn(hs){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=ks;}toJSON(){return {...super.toJSON(),value:this.value}}};py.NAME="StringValueBlock";var gy=class extends py{};gy.NAME="SimpleStringValueBlock";var Es=class extends iy{constructor({...e}={}){super(e,gy);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Es.NAME="SIMPLE STRING";var yy=class extends Es{fromBuffer(e){this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=qe.Convert.ToUtf8String(e);}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=qe.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};yy.NAME="Utf8StringValueBlock";var ck,Ps=class extends yy{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};ck=Ps;ue.Utf8String=ck;Ps.NAME="UTF8String";var wy=class extends Es{fromBuffer(e){this.valueBlock.value=qe.Convert.ToUtf16String(e),this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf16String(e));}};wy.NAME="BmpStringValueBlock";var uk,di=class extends wy{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};uk=di;ue.BmpString=uk;di.NAME="BMPString";var by=class extends Es{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(t);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let n=0;n<t;n++){let i=hr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};by.NAME="UniversalStringValueBlock";var lk,mi=class extends by{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};lk=mi;ue.UniversalString=lk;mi.NAME="UniversalString";var hk,hn=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};hk=hn;ue.NumericString=hk;hn.NAME="NumericString";var fk,Ts=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};fk=Ts;ue.PrintableString=fk;Ts.NAME="PrintableString";var dk,pi=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};dk=pi;ue.TeletexString=dk;pi.NAME="TeletexString";var mk,wu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};mk=wu;ue.VideotexString=mk;wu.NAME="VideotexString";var pk,ro=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};pk=ro;ue.IA5String=pk;ro.NAME="IA5String";var gk,bu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};gk=bu;ue.GraphicString=gk;bu.NAME="GraphicString";var yk,no=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};yk=no;ue.VisibleString=yk;no.NAME="VisibleString";var wk,Su=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};wk=Su;ue.GeneralString=wk;Su.NAME="GeneralString";var bk,vu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};bk=vu;ue.CharacterString=bk;vu.NAME="CharacterString";var Sk,fn=class extends no{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ns(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ns(this.month,2),t[2]=Ns(this.day,2),t[3]=Ns(this.hour,2),t[4]=Ns(this.minute,2),t[5]=Ns(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Sk=fn;ue.UTCTime=Sk;fn.NAME="UTCTime";var vk,nt=class extends fn{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let t=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else {let m=new Number(e[e.length-1]);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let m=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),m=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let v=parseInt(E.substring(0,2),10);if(isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");if(o=m*v,E.length===4){if(v=parseInt(E.substring(2,4),10),isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");c=m*v;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let m=new Number(`0${r.substring(u)}`);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");i=m.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.minute=Math.floor(m),m=60*(m-this.minute),this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=1e3*i;this.millisecond=Math.floor(m);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let m=1;m<l.length;m++)switch(m){case 1:this.year=parseInt(l[m],10);break;case 2:this.month=parseInt(l[m],10);break;case 3:this.day=parseInt(l[m],10);break;case 4:this.hour=parseInt(l[m],10)+o;break;case 5:this.minute=parseInt(l[m],10)+c;break;case 6:this.second=parseInt(l[m],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!1){let m=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=m.getUTCFullYear(),this.month=m.getUTCMonth(),this.day=m.getUTCDay(),this.hour=m.getUTCHours(),this.minute=m.getUTCMinutes(),this.second=m.getUTCSeconds(),this.millisecond=m.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let t=[];return t.push(Ns(this.year,4)),t.push(Ns(this.month,2)),t.push(Ns(this.day,2)),t.push(Ns(this.hour,2)),t.push(Ns(this.minute,2)),t.push(Ns(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Ns(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};vk=nt;ue.GeneralizedTime=vk;nt.NAME="GeneralizedTime";var Ek,Sy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};Ek=Sy;ue.DATE=Ek;Sy.NAME="DATE";var xk,vy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};xk=vy;ue.TimeOfDay=xk;vy.NAME="TimeOfDay";var Ak,Ey=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};Ak=Ey;ue.DateTime=Ak;Ey.NAME="DateTime";var Ik,xy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};Ik=xy;ue.Duration=Ik;xy.NAME="Duration";var Ck,Ay=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};Ck=Ay;ue.TIME=Ck;Ay.NAME="TIME";var be=class{constructor({name:e=ks,optional:t=!1}={}){this.name=e,this.optional=t;}},it=class extends be{constructor({value:e=[],...t}={}){super(t),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:t=!1,...r}={}){super(r),this.value=e,this.local=t;}},io=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}constructor({data:e=Iy}={}){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}fromBER(e,t,r){let n=t+r;return this.dataView=qe.BufferSourceConverter.toUint8Array(e).subarray(t,n),n}toBER(e){return this.dataView.slice().buffer}};function K(s,e,t){if(t instanceof it){for(let i of t.value)if(K(s,e,i).verified)return {verified:!0,result:s};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return t.hasOwnProperty(j2)&&(i.name=t.name),i}}if(t instanceof be)return t.hasOwnProperty(j2)&&(s[t.name]=e),{verified:!0,result:s};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(ID in t))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(PD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(TD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=t.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(t.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(t.idBlock.hasOwnProperty(CD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(ND)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(kD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:s};if(!(AD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:s};if(t.idBlock.isHexOnly){if(!(KN in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=t.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:s};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:s}}if(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(s[t.name]=e)),t instanceof ue.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=t.valueBlock.value.length;if(o>0&&t.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:s};if(e.valueBlock.value.length===0&&t.valueBlock.value.length!==0){let c=!0;for(let u=0;u<t.valueBlock.value.length;u++)c=c&&(t.valueBlock.value[u].optional||!1);return c?{verified:!0,result:s}:(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),s.error="Inconsistent object length",{verified:!1,result:s})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(t.valueBlock.value[c].optional===!1){let u={verified:!1,result:s};return s.error="Inconsistent length between ASN.1 data and schema",t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],u.name=t.name)),u}}else if(t.valueBlock.value[0]instanceof Ae){if(a=K(s,e.valueBlock.value[c],t.valueBlock.value[0].value),a.verified===!1)if(t.valueBlock.value[0].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(j2 in t.valueBlock.value[0]&&t.valueBlock.value[0].name.length>0){let u={};BD in t.valueBlock.value[0]&&t.valueBlock.value[0].local?u=e:u=s,typeof u[t.valueBlock.value[0].name]>"u"&&(u[t.valueBlock.value[0].name]=[]),u[t.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=K(s,e.valueBlock.value[c-i],t.valueBlock.value[c]),a.verified===!1)if(t.valueBlock.value[c].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(a.verified===!1){let c={verified:!1,result:s};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],c.name=t.name)),c}return {verified:!0,result:s}}if(t.primitiveSchema&&KN in e.valueBlock){let i=Wf(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],a.name=t.name)),a}return K(s,i.result,t.primitiveSchema)}return {verified:!0,result:s}}var Se=db(X1()),rh=db(X1());d();f();d();f();var es=class s{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let t=0;t<this._view.length;t++)this._view[t]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let t=e.length;this.length=t;for(let r=0;r<t;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let t=e.length;this.buffer=new ArrayBuffer(t>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<t;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,t=this.length-e){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,e+t)})}slice(e=0,t=this.length){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,t)})}realloc(e){let t=new ArrayBuffer(e),r=new Uint8Array(t);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=t,this._view=new Uint8Array(this._buffer);}append(e){let t=this.length,r=e.length,n=e._view.subarray();this.realloc(t+r),this._view.set(n,t);}insert(e,t=0,r=this.length-t){return t>this.length-1?!1:(r>this.length-t&&(r=this.length-t),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,t):this._view.set(e._view.subarray(0,r),t),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e.view[t])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e[t])return !1;return !0}findPattern(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let m=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){m=!1;break}if(m)return o?i-c-l:i+c+l}return -1}findFirstIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let m=!1,w=e[u].length;o?l-w>=c.position-c.length&&(m=!0):l-w<=c.position-c.length&&(m=!0),m&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,m=n+u;for(let w=0;w<o;w++)if(this.view[w+m]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new s},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new s({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new s({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new s};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new s};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new s({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={position:n,value:new s};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,t,r,n){let i=[];if(e.isEqual(t))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(t,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((m,w)=>m.left-w.left),i}findPairedArrays(e,t,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(t,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((m,w)=>m.left.position-w.left.position),o}replacePattern(e,t,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,v=>v.position));let m=e.length-t.length,w=new ArrayBuffer(this.view.length-a.length*m),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let v=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,v,a[o].position-e.length-v),v-o*m),E.set(t.view,a[o].position-e.length-o*m),c.replacePatternPositions.push(a[o].position-e.length-o*m);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+t.length-o*m),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,m=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+m]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let m=e[l].length,w=o?i-u-m:i+u,E=!0;for(let v=0;v<m;v++)if(this.view[v+w]!=e[l].view[v]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,t=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(t===null&&(t=e),t>e&&(t=e)):(t===null&&(t=this.length-e),t>this.length-e&&(t=this.length-e)),{start:e,length:t,backward:r}}};d();f();var LD=16777216,pn=class s{constructor(e={}){this._stream=new es,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new es({view:e.view}):"buffer"in e?this.stream=new es({buffer:e.buffer}):"string"in e?this.stream=new es({string:e.string}):"hexstring"in e?this.stream=new es({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new es,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-t)return -1}else if(r>this.start+e.length+t)return -1;return this.start=r,r}findFirstIn(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-t)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+t)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,t,this.length)}findFirstNotIn(e,t=null){(t==null||t>this._length)&&(t=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let t=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,t,this._length)}findFirstSequence(e,t=null,r=null){(t==null||t>this._length)&&(t=this._length),(r==null||r>t)&&(r=t);let n=this._stream.findFirstSequence(e,this._start,t,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new es}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new es};return this.start=n.position,n}findAllSequences(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,t,this.length)}findPairedPatterns(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-t.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-t[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,t){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,t,r,this.length)}skipPatterns(e){let t=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=t,t}skipNotPatterns(e){let t=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return t==-1?-1:(this.start=t,t)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let t=new Uint16Array([e]),r=new Uint8Array(t.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let t=new Int16Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let t=new Int32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,t=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return t&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let t=this.getBlock(2,e);return t.length<2?0:t[0]<<8|t[1]}getInt16(e=!0){let t=this.getUint16(e),r=32768;return t&r?-(r-(t^r)):t}getUint24(e=!0){let t=this.getBlock(4,e);return t.length<3?0:t[0]<<16|t[1]<<8|t[2]}getUint32(e=!0){let t=this.getBlock(4,e);return t.length<4?0:t[0]*LD+(t[1]<<16)+(t[2]<<8)+t[3]}getInt32(e=!0){let t=this.getUint32(e),r=2147483648;return t&r?-(r-(t^r)):t}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+s.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};pn.APPEND_BLOCK=1e3;d();f();d();f();d();f();d();f();d();f();d();f();d();f();function HD(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function M2(s,...e){if(!HD(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function $2(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Nk(s,e){M2(s);let t=e.outputLen;if(s.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}d();f();var Ny=s=>new DataView(s.buffer,s.byteOffset,s.byteLength),fr=(s,e)=>s<<32-e|s>>>e,ky=(s,e)=>s<<e|s>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function _D(s){if(typeof s!="string")throw new Error(`utf8ToBytes expected string, got ${typeof s}`);return new Uint8Array(new TextEncoder().encode(s))}function q2(s){return typeof s=="string"&&(s=_D(s)),M2(s),s}var Cy=class{clone(){return this._cloneInto()}};function ao(s){let e=r=>s().update(q2(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function MD(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}var Py=(s,e,t)=>s&e^~s&t,Ty=(s,e,t)=>s&e^s&t^e&t,gi=class extends Cy{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ny(this.buffer);}update(e){$2(this);let{view:t,buffer:r,blockLen:n}=this;e=q2(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Ny(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){$2(this),Nk(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;MD(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Ny(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%t&&e.buffer.set(r),e}};var Jf=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),yi=new Uint32Array(80),F2=class extends gi{constructor(){super(64,20,8,!1),this.A=Jf[0]|0,this.B=Jf[1]|0,this.C=Jf[2]|0,this.D=Jf[3]|0,this.E=Jf[4]|0;}get(){let{A:e,B:t,C:r,D:n,E:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,t){for(let c=0;c<16;c++,t+=4)yi[c]=e.getUint32(t,!1);for(let c=16;c<80;c++)yi[c]=ky(yi[c-3]^yi[c-8]^yi[c-14]^yi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=Py(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=Ty(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let m=ky(r,5)+u+o+l+yi[c]|0;o=a,a=i,i=ky(n,30),n=r,r=m;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){yi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},kk=ao(()=>new F2);d();f();d();f();var $D=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wi=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bi=new Uint32Array(64),K2=class extends gi{constructor(){super(64,32,8,!1),this.A=wi[0]|0,this.B=wi[1]|0,this.C=wi[2]|0,this.D=wi[3]|0,this.E=wi[4]|0,this.F=wi[5]|0,this.G=wi[6]|0,this.H=wi[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)bi[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=bi[m-15],E=bi[m-2],v=fr(w,7)^fr(w,18)^w>>>3,A=fr(E,17)^fr(E,19)^E>>>10;bi[m]=A+bi[m-7]+v+bi[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=fr(o,6)^fr(o,11)^fr(o,25),E=l+w+Py(o,c,u)+$D[m]+bi[m]|0,A=(fr(r,2)^fr(r,13)^fr(r,22))+Ty(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bi.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var G2=ao(()=>new K2);d();f();d();f();var By=BigInt(4294967295),W2=BigInt(32);function Pk(s,e=!1){return e?{h:Number(s&By),l:Number(s>>W2&By)}:{h:Number(s>>W2&By)|0,l:Number(s&By)|0}}function qD(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;n<s.length;n++){let{h:i,l:a}=Pk(s[n],e);[t[n],r[n]]=[i,a];}return [t,r]}var FD=(s,e)=>BigInt(s>>>0)<<W2|BigInt(e>>>0),KD=(s,e,t)=>s>>>t,GD=(s,e,t)=>s<<32-t|e>>>t,WD=(s,e,t)=>s>>>t|e<<32-t,JD=(s,e,t)=>s<<32-t|e>>>t,zD=(s,e,t)=>s<<64-t|e>>>t-32,YD=(s,e,t)=>s>>>t-32|e<<64-t,ZD=(s,e)=>e,XD=(s,e)=>s,QD=(s,e,t)=>s<<t|e>>>32-t,eU=(s,e,t)=>e<<t|s>>>32-t,tU=(s,e,t)=>e<<t-32|s>>>64-t,sU=(s,e,t)=>s<<t-32|e>>>64-t;function rU(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var nU=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),iU=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,aU=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),oU=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,cU=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),uU=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var lU={fromBig:Pk,split:qD,toBig:FD,shrSH:KD,shrSL:GD,rotrSH:WD,rotrSL:JD,rotrBH:zD,rotrBL:YD,rotr32H:ZD,rotr32L:XD,rotlSH:QD,rotlSL:eU,rotlBH:tU,rotlBL:sU,add:rU,add3L:nU,add3H:iU,add4L:aU,add4H:oU,add5H:uU,add5L:cU},Le=lU;var[hU,fU]=Le.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(s=>BigInt(s))),Si=new Uint32Array(80),vi=new Uint32Array(80),Oy=class extends gi{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209;}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)Si[T]=e.getUint32(t),vi[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=Si[T-15]|0,B=vi[T-15]|0,G=Le.rotrSH(P,B,1)^Le.rotrSH(P,B,8)^Le.shrSH(P,B,7),se=Le.rotrSL(P,B,1)^Le.rotrSL(P,B,8)^Le.shrSL(P,B,7),X=Si[T-2]|0,ae=vi[T-2]|0,fe=Le.rotrSH(X,ae,19)^Le.rotrBH(X,ae,61)^Le.shrSH(X,ae,6),te=Le.rotrSL(X,ae,19)^Le.rotrBL(X,ae,61)^Le.shrSL(X,ae,6),oe=Le.add4L(se,te,vi[T-7],vi[T-16]),pe=Le.add4H(oe,G,fe,Si[T-7],Si[T-16]);Si[T]=pe|0,vi[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Le.rotrSH(m,w,14)^Le.rotrSH(m,w,18)^Le.rotrBH(m,w,41),B=Le.rotrSL(m,w,14)^Le.rotrSL(m,w,18)^Le.rotrBL(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=Le.add5L(U,B,se,fU[T],vi[T]),ae=Le.add5H(X,D,P,G,hU[T],Si[T]),fe=X|0,te=Le.rotrSH(r,n,28)^Le.rotrBH(r,n,34)^Le.rotrBH(r,n,39),oe=Le.rotrSL(r,n,28)^Le.rotrBL(r,n,34)^Le.rotrBL(r,n,39),pe=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Le.add(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=Le.add3L(fe,oe,_e);r=Le.add3H(J,ae,te,pe),n=J|0;}(({h:r,l:n}=Le.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Le.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Le.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Le.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Le.add(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Le.add(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Le.add(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Le.add(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){Si.fill(0),vi.fill(0);}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}};var J2=class extends Oy{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},z2=ao(()=>new Oy);var Y2=ao(()=>new J2);var It=new ArrayBuffer(0),b="",et=class s extends TypeError{constructor(){super(...arguments),this.name=s.NAME;}static isType(e,t){if(typeof t=="string"){if(t==="Array"&&Array.isArray(e))return !0;if(t==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(t==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===t)return !0}else if(e instanceof t)return !0;return !1}static assert(e,t,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new s(`Parameter '${t}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};et.NAME="ArgumentError";var Je=class s extends TypeError{static assert(...e){let t=null,r,n;typeof e[0]=="string"?(t=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),et.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new s(i,t)}}static assertEmpty(e,t,r){if(e==null)throw new s(t,r)}constructor(e,t=null,r){super(),this.name=s.NAME,this.field=e,t&&(this.target=t),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${t?` in '${t}'`:b}`;}};Je.NAME="ParameterError";var _=class s extends Error{static assertSchema(e,t){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${t}`)}static assert(e,t){if(e.offset===-1)throw new s(`Error during parsing of ASN.1 data. Data is not correct for '${t}'.`)}constructor(e){super(e),this.name="AsnError";}},q=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let t=kt(e);_.assert(t,this.name);try{return new this({schema:t.result})}catch{throw new _(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let t;try{t=this.toSchema();}catch{t=this.toSchema(!0);}return Se.Convert.ToString(t.toBER(),e)}};q.CLASS_NAME="PkiObject";function oa(s){let e=!1,t=b,r=s.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(t+=" ",e=!1),t+=r[n]);return t.toLowerCase()}var zf="type",Z2="value",n0=class s extends q{constructor(e={}){super(),this.type=y(e,zf,s.defaultValues(zf)),this.value=y(e,Z2,s.defaultValues(Z2)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zf:return b;case Z2:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new be({name:t.value||b})]})}fromSchema(e){W(e,[zf,"typeValue"]);let t=K(e,e,s.schema({names:{type:zf,value:"typeValue"}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.value=t.result.typeValue;}toSchema(){return new k({value:[new ie({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let t=[Ps.blockName(),di.blockName(),mi.blockName(),hn.blockName(),Ts.blockName(),pi.blockName(),wu.blockName(),ro.blockName(),bu.blockName(),no.blockName(),Su.blockName(),vu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===s.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of t)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=oa(this.value.valueBlock.value),o=oa(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};n0.CLASS_NAME="AttributeTypeAndValue";var oo="typesAndValues",Ry="valueBeforeDecode",Tk="RDN",at=class s extends q{constructor(e={}){super(),this.typesAndValues=y(e,oo,s.defaultValues(oo)),this.valueBeforeDecode=y(e,Ry,s.defaultValues(Ry)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oo:return [];case Ry:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case oo:return t.length===0;case Ry:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.repeatedSequence||b,value:new dt({value:[new Ae({name:t.repeatedSet||b,value:n0.schema(t.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[Tk,oo]);let t=K(e,e,s.schema({names:{blockName:Tk,repeatedSet:oo}}));_.assertSchema(t,this.className),oo in t.result&&(this.typesAndValues=Array.from(t.result.typesAndValues,r=>new n0({schema:r}))),this.valueBeforeDecode=t.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new k({value:[new dt({value:Array.from(this.typesAndValues,t=>t.toSchema())})]});let e=kt(this.valueBeforeDecode);if(_.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof s){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[t,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[t])===!1)return !1;return !0}return e instanceof ArrayBuffer?fi(this.valueBeforeDecode,e):!1}};at.CLASS_NAME="RelativeDistinguishedNames";var cd="type",ud="value";function dU(s={},e=!1){let t=y(s,"names",{});return new k({optional:e,value:[new V({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:t.country_name||b,value:[new it({value:[new hn,new Ts]})]}),new V({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:t.administration_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:t.network_address||b,isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:t.terminal_identifier||b,isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:t.private_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:t.organization_name||b,isHexOnly:!0}),new ge({optional:!0,name:t.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new V({optional:!0,name:t.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new ge({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new V({optional:!0,name:t.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ts})]})]})}function mU(s=!1){return new k({optional:s,value:[new Ts,new Ts]})}function pU(s=!1){return new dt({optional:s,value:[new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var tt=class s extends q{constructor(e={}){super(),this.type=y(e,cd,s.defaultValues(cd)),this.value=y(e,ud,s.defaultValues(ud)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return 9;case ud:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case cd:return t===s.defaultValues(e);case ud:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[new V({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b,value:[new ie,new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new V({idBlock:{tagClass:3,tagNumber:3},name:t.blockName||b,value:[dU(t.builtInStandardAttributes||{},!1),mU(!0),pU(!0)]}),new V({idBlock:{tagClass:3,tagNumber:4},name:t.blockName||b,value:[at.schema(t.directoryName||{})]}),new V({idBlock:{tagClass:3,tagNumber:5},name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let t=K(e,e,s.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(_.assertSchema(t,this.className),this.type=t.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=t.result.blockName;break;case 1:case 2:case 6:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=t.result.blockName;break;case 4:this.value=new at({schema:t.result.directoryName});break;case 5:this.value=t.result.ediPartyName;break;case 7:this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex});break;case 8:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new V({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new ro({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new V({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ie({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return s.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};tt.CLASS_NAME="GeneralName";var ld="accessMethod",hd="accessLocation",gU=[ld,hd],i0=class s extends q{constructor(e={}){super(),this.accessMethod=y(e,ld,s.defaultValues(ld)),this.accessLocation=y(e,hd,s.defaultValues(hd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ld:return b;case hd:return new tt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.accessMethod||b}),tt.schema(t.accessLocation||{})]})}fromSchema(e){W(e,gU);let t=K(e,e,s.schema({names:{accessMethod:ld,accessLocation:{names:{blockName:hd}}}}));_.assertSchema(t,this.className),this.accessMethod=t.result.accessMethod.valueBlock.toString(),this.accessLocation=new tt({schema:t.result.accessLocation});}toSchema(){return new k({value:[new ie({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};i0.CLASS_NAME="AccessDescription";var xi="seconds",Ai="millis",Ii="micros",Pn=class s extends q{constructor(e={}){super(),xi in e&&(this.seconds=y(e,xi,s.defaultValues(xi))),Ai in e&&(this.millis=y(e,Ai,s.defaultValues(Ai))),Ii in e&&(this.micros=y(e,Ii,s.defaultValues(Ii))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xi:case Ai:case Ii:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xi:case Ai:case Ii:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:!0,value:[new L({optional:!0,name:t.seconds||b}),new ge({name:t.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[xi,Ai,Ii]);let t=K(e,e,s.schema({names:{seconds:xi,millis:Ai,micros:Ii}}));if(_.assertSchema(t,this.className),"seconds"in t.result&&(this.seconds=t.result.seconds.valueBlock.valueDec),"millis"in t.result){let r=new L({valueHex:t.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in t.result){let r=new L({valueHex:t.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new L({value:this.seconds})),this.millis!==void 0){let t=new L({value:this.millis});e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:t.valueBlock.valueHexView}));}if(this.micros!==void 0){let t=new L({value:this.micros});e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:t.valueBlock.valueHexView}));}return new k({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Pn.CLASS_NAME="Accuracy";var Vy="algorithmId",Yf="algorithmParams",tP="algorithm",CA="params",yU=[tP,CA],j=class s extends q{constructor(e={}){super(),this.algorithmId=y(e,Vy,s.defaultValues(Vy)),Yf in e&&(this.algorithmParams=y(e,Yf,s.defaultValues(Yf))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vy:return b;case Yf:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vy:return t===b;case Yf:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!1,value:[new ie({name:t.algorithmIdentifier||b}),new be({name:t.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,yU);let t=K(e,e,s.schema({names:{algorithmIdentifier:tP,algorithmParams:CA}}));_.assertSchema(t,this.className),this.algorithmId=t.result.algorithm.valueBlock.toString(),CA in t.result&&(this.algorithmParams=t.result.params);}toSchema(){let e=[];return e.push(new ie({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new k({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof s)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};j.CLASS_NAME="AlgorithmIdentifier";var Pu="altNames",wU=[Pu],a0=class s extends q{constructor(e={}){super(),this.altNames=y(e,Pu,s.defaultValues(Pu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pu:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.altNames||b,value:tt.schema()})]})}fromSchema(e){W(e,wU);let t=K(e,e,s.schema({names:{altNames:Pu}}));_.assertSchema(t,this.className),Pu in t.result&&(this.altNames=Array.from(t.result.altNames,r=>new tt({schema:r})));}toSchema(){return new k({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};a0.CLASS_NAME="AltName";var Tu="type",Bu="values",bU=[Tu,Bu],yt=class s extends q{constructor(e={}){super(),this.type=y(e,Tu,s.defaultValues(Tu)),this.values=y(e,Bu,s.defaultValues(Bu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Tu:return b;case Bu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Tu:return t===b;case Bu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new dt({name:t.setName||b,value:[new Ae({name:t.values||b,value:new be})]})]})}fromSchema(e){W(e,bU);let t=K(e,e,s.schema({names:{type:Tu,values:Bu}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.values=t.result.values;}toSchema(){return new k({value:[new ie({value:this.type}),new dt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};yt.CLASS_NAME="Attribute";var fd="notBeforeTime",dd="notAfterTime",SU=[fd,dd],Vn=class s extends q{constructor(e={}){super(),this.notBeforeTime=y(e,fd,s.defaultValues(fd)),this.notAfterTime=y(e,dd,s.defaultValues(dd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fd:case dd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new nt({name:t.notBeforeTime||b}),new nt({name:t.notAfterTime||b})]})}fromSchema(e){W(e,SU);let t=K(e,e,s.schema({names:{notBeforeTime:fd,notAfterTime:dd}}));_.assertSchema(t,this.className),this.notBeforeTime=t.result.notBeforeTime.toDate(),this.notAfterTime=t.result.notAfterTime.toDate();}toSchema(){return new k({value:[new nt({valueDate:this.notBeforeTime}),new nt({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};Vn.CLASS_NAME="AttCertValidityPeriod";var Zf="names",Bk="generalNames",Lt=class s extends q{constructor(e={}){super(),this.names=y(e,Zf,s.defaultValues(Zf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,Zf,{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:tt.schema()})]})}fromSchema(e){W(e,[Zf,Bk]);let t=K(e,e,s.schema({names:{blockName:Zf,generalNames:Bk}}));_.assertSchema(t,this.className),this.names=Array.from(t.result.generalNames,r=>new tt({schema:r}));}toSchema(){return new k({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Lt.CLASS_NAME="GeneralNames";var vU="2.5.29.9",EU="2.5.29.14",xU="2.5.29.15",AU="2.5.29.16",sP="2.5.29.17",rP="2.5.29.18",iI="2.5.29.19",IU="2.5.29.20",CU="2.5.29.27",NU="2.5.29.21",kU="2.5.29.24",nP="2.5.29.28",iP="2.5.29.29",aP="2.5.29.30",oP="2.5.29.31",aI="2.5.29.46",cP="2.5.29.32",Gs="2.5.29.32.0",PU="1.3.6.1.4.1.311.21.10",uP="2.5.29.33",oI="2.5.29.35",lP="2.5.29.36",TU="2.5.29.37",BU="2.5.29.54",cI="1.3.6.1.5.5.7.1.1",OU="1.3.6.1.5.5.7.1.11",RU="1.3.6.1.4.1.11129.2.4.2";var VU="1.3.6.1.4.1.311.21.7",DU="1.3.6.1.4.1.311.21.1",UU="1.3.6.1.5.5.7.1.3",uI="1.2.840.113549.1.7.1",hP="1.2.840.113549.1.7.2",fP="1.2.840.113549.1.7.3",dP="1.2.840.113549.1.7.6",LU="1.2.840.113549.1.9.16.1.4",Ok="1.2.840.113549.1.9.22.1",jU="1.2.840.113549.1.9.22.2",Rk="1.2.840.113549.1.9.22.3",Vk="1.2.840.113549.1.9.23.1",HU="1.3.6.1.5.5.7",lI=`${HU}.48`,iw=`${lI}.1.1`;var ho="keyIdentifier",fo="authorityCertIssuer",mo="authorityCertSerialNumber",_U=[ho,fo,mo],o0=class s extends q{constructor(e={}){super(),ho in e&&(this.keyIdentifier=y(e,ho,s.defaultValues(ho))),fo in e&&(this.authorityCertIssuer=y(e,fo,s.defaultValues(fo))),mo in e&&(this.authorityCertSerialNumber=y(e,mo,s.defaultValues(mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return new z;case fo:return [];case mo:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.authorityCertIssuer||b,value:tt.schema()})]}),new ge({name:t.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,_U);let t=K(e,e,s.schema({names:{keyIdentifier:ho,authorityCertIssuer:fo,authorityCertSerialNumber:mo}}));_.assertSchema(t,this.className),ho in t.result&&(this.keyIdentifier=new z({valueHex:t.result.keyIdentifier.valueBlock.valueHex})),fo in t.result&&(this.authorityCertIssuer=Array.from(t.result.authorityCertIssuer,r=>new tt({schema:r}))),mo in t.result&&(this.authorityCertSerialNumber=new L({valueHex:t.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,t=>t.toSchema())})),this.authorityCertSerialNumber&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,t=>t.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};o0.CLASS_NAME="AuthorityKeyIdentifier";var co="pathLenConstraint",uo="cA",c0=class s extends q{constructor(e={}){super(),this.cA=y(e,uo,!1),co in e&&(this.pathLenConstraint=y(e,co,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case uo:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new _s({optional:!0,name:t.cA||b}),new L({optional:!0,name:t.pathLenConstraint||b})]})}fromSchema(e){W(e,[uo,co]);let t=K(e,e,s.schema({names:{cA:uo,pathLenConstraint:co}}));_.assertSchema(t,this.className),uo in t.result&&(this.cA=t.result.cA.valueBlock.value),co in t.result&&(t.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=t.result.pathLenConstraint:this.pathLenConstraint=t.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==s.defaultValues(uo)&&e.push(new _s({value:this.cA})),co in this&&(this.pathLenConstraint instanceof L?e.push(this.pathLenConstraint):e.push(new L({value:this.pathLenConstraint}))),new k({value:e})}toJSON(){let e={};return this.cA!==s.defaultValues(uo)&&(e.cA=this.cA),co in this&&(this.pathLenConstraint instanceof L?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};c0.CLASS_NAME="BasicConstraints";var X2="certificateIndex",Q2="keyIndex",Uw=class s extends q{constructor(e={}){super(),this.certificateIndex=y(e,X2,s.defaultValues(X2)),this.keyIndex=y(e,Q2,s.defaultValues(Q2)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case X2:case Q2:return 0;default:return super.defaultValues(e)}}static schema(){return new L}fromSchema(e){if(e.constructor.blockName()!==L.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let t=e.valueBlock.valueHex.slice(0),r=new Uint8Array(t);switch(!0){case t.byteLength<4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r,4-t.byteLength),t=m.slice(0);}break;case t.byteLength>4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r.slice(0,4)),t=m.slice(0);}break}let n=t.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=t.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),t=new Uint16Array(e);t[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new L({valueHex:to(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};Uw.CLASS_NAME="CAVersion";var md="policyQualifierId",pd="qualifier",MU=[md,pd],u0=class s extends q{constructor(e={}){super(),this.policyQualifierId=y(e,md,s.defaultValues(md)),this.qualifier=y(e,pd,s.defaultValues(pd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case md:return b;case pd:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyQualifierId||b}),new be({name:t.qualifier||b})]})}fromSchema(e){W(e,MU);let t=K(e,e,s.schema({names:{policyQualifierId:md,qualifier:pd}}));_.assertSchema(t,this.className),this.policyQualifierId=t.result.policyQualifierId.valueBlock.toString(),this.qualifier=t.result.qualifier;}toSchema(){return new k({value:[new ie({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};u0.CLASS_NAME="PolicyQualifierInfo";var gd="policyIdentifier",po="policyQualifiers",$U=[gd,po],l0=class s extends q{constructor(e={}){super(),this.policyIdentifier=y(e,gd,s.defaultValues(gd)),po in e&&(this.policyQualifiers=y(e,po,s.defaultValues(po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gd:return b;case po:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyIdentifier||b}),new k({optional:!0,value:[new Ae({name:t.policyQualifiers||b,value:u0.schema()})]})]})}fromSchema(e){W(e,$U);let t=K(e,e,s.schema({names:{policyIdentifier:gd,policyQualifiers:po}}));_.assertSchema(t,this.className),this.policyIdentifier=t.result.policyIdentifier.valueBlock.toString(),po in t.result&&(this.policyQualifiers=Array.from(t.result.policyQualifiers,r=>new u0({schema:r})));}toSchema(){let e=[];return e.push(new ie({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new k({value:Array.from(this.policyQualifiers,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,t=>t.toJSON())),e}};l0.CLASS_NAME="PolicyInformation";var yd="certificatePolicies",qU=[yd],h0=class s extends q{constructor(e={}){super(),this.certificatePolicies=y(e,yd,s.defaultValues(yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.certificatePolicies||b,value:l0.schema()})]})}fromSchema(e){W(e,qU);let t=K(e,e,s.schema({names:{certificatePolicies:yd}}));_.assertSchema(t,this.className),this.certificatePolicies=Array.from(t.result.certificatePolicies,r=>new l0({schema:r}));}toSchema(){return new k({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};h0.CLASS_NAME="CertificatePolicies";var wd="templateID",yn="templateMajorVersion",wn="templateMinorVersion",FU=[wd,yn,wn],NA=class s extends q{constructor(e={}){super(),this.templateID=y(e,wd,s.defaultValues(wd)),yn in e&&(this.templateMajorVersion=y(e,yn,s.defaultValues(yn))),wn in e&&(this.templateMinorVersion=y(e,wn,s.defaultValues(wn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return b;case yn:case wn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.templateID||b}),new L({name:t.templateMajorVersion||b,optional:!0}),new L({name:t.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,FU);let t=K(e,e,s.schema({names:{templateID:wd,templateMajorVersion:yn,templateMinorVersion:wn}}));_.assertSchema(t,this.className),this.templateID=t.result.templateID.valueBlock.toString(),yn in t.result&&(this.templateMajorVersion=t.result.templateMajorVersion.valueBlock.valueDec),wn in t.result&&(this.templateMinorVersion=t.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ie({value:this.templateID})),yn in this&&e.push(new L({value:this.templateMajorVersion})),wn in this&&e.push(new L({value:this.templateMinorVersion})),new k({value:e})}toJSON(){let e={templateID:this.templateID};return yn in this&&(e.templateMajorVersion=this.templateMajorVersion),wn in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},go="distributionPoint",mP="distributionPointNames",yo="reasons",wo="cRLIssuer",pP="cRLIssuerNames",KU=[go,mP,yo,wo,pP],f0=class s extends q{constructor(e={}){super(),go in e&&(this.distributionPoint=y(e,go,s.defaultValues(go))),yo in e&&(this.reasons=y(e,yo,s.defaultValues(yo))),wo in e&&(this.cRLIssuer=y(e,wo,s.defaultValues(wo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return [];case yo:return new Ve;case wo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new V({name:t.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:t.cRLIssuerNames||b,value:tt.schema()})]})]})}fromSchema(e){W(e,KU);let t=K(e,e,s.schema({names:{distributionPoint:go,distributionPointNames:mP,reasons:yo,cRLIssuer:wo,cRLIssuerNames:pP}}));_.assertSchema(t,this.className),go in t.result&&(t.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}))),t.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})}))),yo in t.result&&(this.reasons=new Ve({valueHex:t.result.reasons.valueBlock.valueHex})),wo in t.result&&(this.cRLIssuer=Array.from(t.result.cRLIssuerNames,r=>new tt({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):t=new V({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}return this.reasons&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,t=>t.toJSON())),e}};f0.CLASS_NAME="DistributionPoint";var bd="distributionPoints",GU=[bd],d0=class s extends q{constructor(e={}){super(),this.distributionPoints=y(e,bd,s.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.distributionPoints||b,value:f0.schema()})]})}fromSchema(e){W(e,GU);let t=K(e,e,s.schema({names:{distributionPoints:bd}}));_.assertSchema(t,this.className),this.distributionPoints=Array.from(t.result.distributionPoints,r=>new f0({schema:r}));}toSchema(){return new k({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};d0.CLASS_NAME="CRLDistributionPoints";var Sd="keyPurposes",WU=[Sd],Lw=class s extends q{constructor(e={}){super(),this.keyPurposes=y(e,Sd,s.defaultValues(Sd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.keyPurposes||b,value:new ie})]})}fromSchema(e){W(e,WU);let t=K(e,e,s.schema({names:{keyPurposes:Sd}}));_.assertSchema(t,this.className),this.keyPurposes=Array.from(t.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new k({value:Array.from(this.keyPurposes,e=>new ie({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};Lw.CLASS_NAME="ExtKeyUsage";var Xf="accessDescriptions",m0=class s extends q{constructor(e={}){super(),this.accessDescriptions=y(e,Xf,s.defaultValues(Xf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xf:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.accessDescriptions||b,value:i0.schema()})]})}fromSchema(e){W(e,[Xf]);let t=K(e,e,s.schema({names:{accessDescriptions:Xf}}));_.assertSchema(t,this.className),this.accessDescriptions=Array.from(t.result.accessDescriptions,r=>new i0({schema:r}));}toSchema(){return new k({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};m0.CLASS_NAME="InfoAccess";var bo="distributionPoint",gP="distributionPointNames",Ci="onlyContainsUserCerts",Ni="onlyContainsCACerts",ki="onlySomeReasons",Pi="indirectCRL",Ti="onlyContainsAttributeCerts",JU=[bo,gP,Ci,Ni,ki,Pi,Ti],jw=class s extends q{constructor(e={}){super(),bo in e&&(this.distributionPoint=y(e,bo,s.defaultValues(bo))),this.onlyContainsUserCerts=y(e,Ci,s.defaultValues(Ci)),this.onlyContainsCACerts=y(e,Ni,s.defaultValues(Ni)),ki in e&&(this.onlySomeReasons=y(e,ki,s.defaultValues(ki))),this.indirectCRL=y(e,Pi,s.defaultValues(Pi)),this.onlyContainsAttributeCerts=y(e,Ti,s.defaultValues(Ti)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bo:return [];case Ci:return !1;case Ni:return !1;case ki:return 0;case Pi:return !1;case Ti:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new ge({name:t.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new ge({name:t.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new ge({name:t.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,JU);let t=K(e,e,s.schema({names:{distributionPoint:bo,distributionPointNames:gP,onlyContainsUserCerts:Ci,onlyContainsCACerts:Ni,onlySomeReasons:ki,indirectCRL:Pi,onlyContainsAttributeCerts:Ti}}));if(_.assertSchema(t,this.className),bo in t.result)switch(!0){case t.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}));break;case t.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Ci in t.result){let r=new Uint8Array(t.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ni in t.result){let r=new Uint8Array(t.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(ki in t.result){let r=new Uint8Array(t.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Pi in t.result){let r=new Uint8Array(t.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Ti in t.result){let r=new Uint8Array(t.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(t=this.distributionPoint.toSchema(),t.idBlock.tagClass=3,t.idBlock.tagNumber=1),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(this.onlyContainsUserCerts!==s.defaultValues(Ci)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==s.defaultValues(Ni)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let t=new ArrayBuffer(1),r=new Uint8Array(t);r[0]=this.onlySomeReasons,e.push(new ge({idBlock:{tagClass:3,tagNumber:3},valueHex:t}));}return this.indirectCRL!==s.defaultValues(Pi)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==s.defaultValues(Ci)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==s.defaultValues(Ni)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),ki in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==s.defaultValues(Pi)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};jw.CLASS_NAME="IssuingDistributionPoint";var vd="base",Ou="minimum",Bi="maximum",zU=[vd,Ou,Bi],pc=class s extends q{constructor(e={}){super(),this.base=y(e,vd,s.defaultValues(vd)),this.minimum=y(e,Ou,s.defaultValues(Ou)),Bi in e&&(this.maximum=y(e,Bi,s.defaultValues(Bi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vd:return new tt;case Ou:return 0;case Bi:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[tt.schema(t.base||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.minimum||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new L({name:t.maximum||b})]})]})}fromSchema(e){W(e,zU);let t=K(e,e,s.schema({names:{base:{names:{blockName:vd}},minimum:Ou,maximum:Bi}}));_.assertSchema(t,this.className),this.base=new tt({schema:t.result.base}),Ou in t.result&&(t.result.minimum.valueBlock.isHexOnly?this.minimum=t.result.minimum:this.minimum=t.result.minimum.valueBlock.valueDec),Bi in t.result&&(t.result.maximum.valueBlock.isHexOnly?this.maximum=t.result.maximum:this.maximum=t.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let t=0;this.minimum instanceof L?t=this.minimum:t=new L({value:this.minimum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(Bi in this){let t=0;this.maximum instanceof L?t=this.maximum:t=new L({value:this.maximum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[t]}));}return new k({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};pc.CLASS_NAME="GeneralSubtree";var So="permittedSubtrees",vo="excludedSubtrees",YU=[So,vo],Hw=class s extends q{constructor(e={}){super(),So in e&&(this.permittedSubtrees=y(e,So,s.defaultValues(So))),vo in e&&(this.excludedSubtrees=y(e,vo,s.defaultValues(vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case So:case vo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.permittedSubtrees||b,value:pc.schema()})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.excludedSubtrees||b,value:pc.schema()})]})]})}fromSchema(e){W(e,YU);let t=K(e,e,s.schema({names:{permittedSubtrees:So,excludedSubtrees:vo}}));_.assertSchema(t,this.className),So in t.result&&(this.permittedSubtrees=Array.from(t.result.permittedSubtrees,r=>new pc({schema:r}))),vo in t.result&&(this.excludedSubtrees=Array.from(t.result.excludedSubtrees,r=>new pc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,t=>t.toSchema())})),this.excludedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,t=>t.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,t=>t.toJSON())),e}};Hw.CLASS_NAME="NameConstraints";var bn="requireExplicitPolicy",Sn="inhibitPolicyMapping",ZU=[bn,Sn],_w=class s extends q{constructor(e={}){super(),bn in e&&(this.requireExplicitPolicy=y(e,bn,s.defaultValues(bn))),Sn in e&&(this.inhibitPolicyMapping=y(e,Sn,s.defaultValues(Sn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bn:return 0;case Sn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,ZU);let t=K(e,e,s.schema({names:{requireExplicitPolicy:bn,inhibitPolicyMapping:Sn}}));if(_.assertSchema(t,this.className),bn in t.result){let r=t.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Sn in t.result){let r=t.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(bn in this){let t=new L({value:this.requireExplicitPolicy});t.idBlock.tagClass=3,t.idBlock.tagNumber=0,e.push(t);}if(Sn in this){let t=new L({value:this.inhibitPolicyMapping});t.idBlock.tagClass=3,t.idBlock.tagNumber=1,e.push(t);}return new k({value:e})}toJSON(){let e={};return bn in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Sn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};_w.CLASS_NAME="PolicyConstraints";var Ed="issuerDomainPolicy",xd="subjectDomainPolicy",XU=[Ed,xd],p0=class s extends q{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Ed,s.defaultValues(Ed)),this.subjectDomainPolicy=y(e,xd,s.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:return b;case xd:return b;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.issuerDomainPolicy||b}),new ie({name:t.subjectDomainPolicy||b})]})}fromSchema(e){W(e,XU);let t=K(e,e,s.schema({names:{issuerDomainPolicy:Ed,subjectDomainPolicy:xd}}));_.assertSchema(t,this.className),this.issuerDomainPolicy=t.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=t.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new k({value:[new ie({value:this.issuerDomainPolicy}),new ie({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};p0.CLASS_NAME="PolicyMapping";var Ad="mappings",QU=[Ad],Mw=class s extends q{constructor(e={}){super(),this.mappings=y(e,Ad,s.defaultValues(Ad)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.mappings||b,value:p0.schema()})]})}fromSchema(e){W(e,QU);let t=K(e,e,s.schema({names:{mappings:Ad}}));_.assertSchema(t,this.className),this.mappings=Array.from(t.result.mappings,r=>new p0({schema:r}));}toSchema(){return new k({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};Mw.CLASS_NAME="PolicyMappings";var Oi="notBefore",Ri="notAfter",eL=[Oi,Ri],$w=class s extends q{constructor(e={}){super(),Oi in e&&(this.notBefore=y(e,Oi,s.defaultValues(Oi))),Ri in e&&(this.notAfter=y(e,Ri,s.defaultValues(Ri))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oi:return new Date;case Ri:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,eL);let t=K(e,e,s.schema({names:{notBefore:Oi,notAfter:Ri}}));if(_.assertSchema(t,this.className),Oi in t.result){let r=new nt;r.fromBuffer(t.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Ri in t.result){let r=new nt({valueHex:t.result.notAfter.valueBlock.valueHex});r.fromBuffer(t.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return Oi in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:new nt({valueDate:this.notBefore}).valueBlock.valueHexView})),Ri in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new nt({valueDate:this.notAfter}).valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};$w.CLASS_NAME="PrivateKeyUsagePeriod";var Ru="id",vn="type",Vu="values",tL=[Ru,vn],sL=[Vu],g0=class s extends q{constructor(e={}){super(),this.id=y(e,Ru,s.defaultValues(Ru)),vn in e&&(this.type=y(e,vn,s.defaultValues(vn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ru:return b;case vn:return new ft;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ru:return t===b;case vn:return t instanceof ft;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||b}),new be({name:t.type||b,optional:!0})]})}fromSchema(e){W(e,tL);let t=K(e,e,s.schema({names:{id:Ru,type:vn}}));_.assertSchema(t,this.className),this.id=t.result.id.valueBlock.toString(),vn in t.result&&(this.type=t.result.type);}toSchema(){let e=[new ie({value:this.id})];return vn in this&&e.push(this.type),new k({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};g0.CLASS_NAME="QCStatement";var qw=class s extends q{constructor(e={}){super(),this.values=y(e,Vu,s.defaultValues(Vu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.values||b,value:g0.schema(t.value||{})})]})}fromSchema(e){W(e,sL);let t=K(e,e,s.schema({names:{values:Vu}}));_.assertSchema(t,this.className),this.values=Array.from(t.result.values,r=>new g0({schema:r}));}toSchema(){return new k({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};qw.CLASS_NAME="QCStatements";var Eo,Lr=class{static register(e,t,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[t]={name:e,id:t,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};Eo=Lr;Lr.namedCurves={};Eo.register("P-256","1.2.840.10045.3.1.7",32),Eo.register("P-384","1.3.132.0.34",48),Eo.register("P-521","1.3.132.0.35",66),Eo.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),Eo.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),Eo.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Dy="x",Uy="y",Ly="namedCurve",wr=class s extends q{constructor(e={}){super(),this.x=y(e,Dy,s.defaultValues(Dy)),this.y=y(e,Uy,s.defaultValues(Uy)),this.namedCurve=y(e,Ly,s.defaultValues(Ly)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dy:case Uy:return It;case Ly:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dy:case Uy:return t instanceof ArrayBuffer&&fi(t,s.defaultValues(e));case Ly:return typeof t=="string"&&t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new io}fromSchema(e){let t=rh.BufferSourceConverter.toUint8Array(e);if(t[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=Lr.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(t.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=t.slice(1,n+1).buffer,this.y=t.slice(1+n,n*2+1).buffer;}toSchema(){return new io({data:to(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=Lr.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:ty(Hf(this.x),!0,!0,!1),y:ty(Hf(this.y),!0,!0,!1)}}fromJSON(e){Je.assert("json",e,"crv","x","y");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=so(yu(e.x,!0));if(n.byteLength<t){this.x=new ArrayBuffer(t);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,t);let i=so(yu(e.y,!0));if(i.byteLength<t){this.y=new ArrayBuffer(t);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,t);}};wr.CLASS_NAME="ECPublicKey";var Id="modulus",Cd="publicExponent",rL=[Id,Cd],y0=class s extends q{constructor(e={}){super(),this.modulus=y(e,Id,s.defaultValues(Id)),this.publicExponent=y(e,Cd,s.defaultValues(Cd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Id:return new L;case Cd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.modulus||b}),new L({name:t.publicExponent||b})]})}fromSchema(e){W(e,rL);let t=K(e,e,s.schema({names:{modulus:Id,publicExponent:Cd}}));_.assertSchema(t,this.className),this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent;}toSchema(){return new k({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"n","e");let t=so(yu(e.n,!0));this.modulus=new L({valueHex:t.slice(0,Math.pow(2,$N(t.byteLength)))}),this.publicExponent=new L({valueHex:so(yu(e.e,!0)).slice(0,3)});}};y0.CLASS_NAME="RSAPublicKey";var Nd="algorithm",kd="subjectPublicKey",nL=[Nd,kd],$s=class s extends q{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ie.blockName())try{this._parsedKey=new wr({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=kt(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new y0({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Nd,s.defaultValues(Nd)),this.subjectPublicKey=y(e,kd,s.defaultValues(kd));let t=y(e,"parsedKey",null);t&&(this.parsedKey=t),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return new j;case kd:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.subjectPublicKey||b})]})}fromSchema(e){W(e,nL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Nd}},subjectPublicKey:kd}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.subjectPublicKey=t.result.subjectPublicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new wr({json:e}),this.algorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new y0({json:e}),this.algorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new Ve({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,t=Oe(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await t.exportKey("spki",e),n=kt(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};$s.CLASS_NAME="PublicKeyInfo";var Du="version",Uu="privateKey",dr="namedCurve",Vi="publicKey",iL=[Du,Uu,dr,Vi],w0=class s extends q{constructor(e={}){super(),this.version=y(e,Du,s.defaultValues(Du)),this.privateKey=y(e,Uu,s.defaultValues(Uu)),dr in e&&(this.namedCurve=y(e,dr,s.defaultValues(dr))),Vi in e&&(this.publicKey=y(e,Vi,s.defaultValues(Vi))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return 1;case Uu:return new z;case dr:return b;case Vi:return new wr;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Du:return t===s.defaultValues(e);case Uu:return t.isEqual(s.defaultValues(e));case dr:return t===b;case Vi:return wr.compareWithDefault(dr,t.namedCurve)&&wr.compareWithDefault("x",t.x)&&wr.compareWithDefault("y",t.y);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ie({name:t.namedCurve||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ve({name:t.publicKey||b})]})]})}fromSchema(e){W(e,iL);let t=K(e,e,s.schema({names:{version:Du,privateKey:Uu,namedCurve:dr,publicKey:Vi}}));if(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKey=t.result.privateKey,dr in t.result&&(this.namedCurve=t.result.namedCurve.valueBlock.toString()),Vi in t.result){let r={schema:t.result.publicKey.valueBlock.valueHex};dr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new wr(r);}}toSchema(){let e=[new L({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new ie({value:this.namedCurve})]})),this.publicKey&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new Ve({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new k({value:e})}toJSON(){if(!this.namedCurve||s.compareWithDefault(dr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=Lr.find(this.namedCurve),t={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();t.x=r.x,t.y=r.y;}return t}fromJSON(e){Je.assert("json",e,"crv","d");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<t){let i=new ArrayBuffer(t),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,t)});e.x&&e.y&&(this.publicKey=new wr({json:e}));}};w0.CLASS_NAME="ECPrivateKey";var Pd="prime",Td="exponent",Bd="coefficient",aL=[Pd,Td,Bd],zl=class s extends q{constructor(e={}){super(),this.prime=y(e,Pd,s.defaultValues(Pd)),this.exponent=y(e,Td,s.defaultValues(Td)),this.coefficient=y(e,Bd,s.defaultValues(Bd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new L;case Td:return new L;case Bd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.prime||b}),new L({name:t.exponent||b}),new L({name:t.coefficient||b})]})}fromSchema(e){W(e,aL);let t=K(e,e,s.schema({names:{prime:Pd,exponent:Td,coefficient:Bd}}));_.assertSchema(t,this.className),this.prime=t.result.prime.convertFromDER(),this.exponent=t.result.exponent.convertFromDER(),this.coefficient=t.result.coefficient.convertFromDER();}toSchema(){return new k({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"r","d","r"),this.prime=new L({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.t)});}};zl.CLASS_NAME="OtherPrimeInfo";var Od="version",Rd="modulus",Vd="publicExponent",Dd="privateExponent",Ud="prime1",Ld="prime2",jd="exponent1",Hd="exponent2",_d="coefficient",xo="otherPrimeInfos",oL=[Od,Rd,Vd,Dd,Ud,Ld,jd,Hd,_d,xo],b0=class s extends q{constructor(e={}){super(),this.version=y(e,Od,s.defaultValues(Od)),this.modulus=y(e,Rd,s.defaultValues(Rd)),this.publicExponent=y(e,Vd,s.defaultValues(Vd)),this.privateExponent=y(e,Dd,s.defaultValues(Dd)),this.prime1=y(e,Ud,s.defaultValues(Ud)),this.prime2=y(e,Ld,s.defaultValues(Ld)),this.exponent1=y(e,jd,s.defaultValues(jd)),this.exponent2=y(e,Hd,s.defaultValues(Hd)),this.coefficient=y(e,_d,s.defaultValues(_d)),xo in e&&(this.otherPrimeInfos=y(e,xo,s.defaultValues(xo))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return 0;case Rd:return new L;case Vd:return new L;case Dd:return new L;case Ud:return new L;case Ld:return new L;case jd:return new L;case Hd:return new L;case _d:return new L;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new L({name:t.modulus||b}),new L({name:t.publicExponent||b}),new L({name:t.privateExponent||b}),new L({name:t.prime1||b}),new L({name:t.prime2||b}),new L({name:t.exponent1||b}),new L({name:t.exponent2||b}),new L({name:t.coefficient||b}),new k({optional:!0,value:[new Ae({name:t.otherPrimeInfosName||b,value:zl.schema(t.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,oL);let t=K(e,e,s.schema({names:{version:Od,modulus:Rd,publicExponent:Vd,privateExponent:Dd,prime1:Ud,prime2:Ld,exponent1:jd,exponent2:Hd,coefficient:_d,otherPrimeInfo:{names:{blockName:xo}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent,this.privateExponent=t.result.privateExponent.convertFromDER(256),this.prime1=t.result.prime1.convertFromDER(128),this.prime2=t.result.prime2.convertFromDER(128),this.exponent1=t.result.exponent1.convertFromDER(128),this.exponent2=t.result.exponent2.convertFromDER(128),this.coefficient=t.result.coefficient.convertFromDER(128),xo in t.result&&(this.otherPrimeInfos=Array.from(t.result.otherPrimeInfos,r=>new zl({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new k({value:Array.from(this.otherPrimeInfos,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,t=>t.toJSON())),e}fromJSON(e){Je.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new L({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new L({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new L({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new L({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new L({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new L({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,t=>new zl({json:t})));}};b0.CLASS_NAME="RSAPrivateKey";var Md="version",$d="privateKeyAlgorithm",qd="privateKey",Ao="attributes",jy="parsedKey",cL=[Md,$d,qd,Ao],xc=class s extends q{constructor(e={}){super(),this.version=y(e,Md,s.defaultValues(Md)),this.privateKeyAlgorithm=y(e,$d,s.defaultValues($d)),this.privateKey=y(e,qd,s.defaultValues(qd)),Ao in e&&(this.attributes=y(e,Ao,s.defaultValues(Ao))),jy in e&&(this.parsedKey=y(e,jy,s.defaultValues(jy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Md:return 0;case $d:return new j;case qd:return new z;case Ao:return [];case jy:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),j.schema(t.privateKeyAlgorithm||{}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})]})}fromSchema(e){W(e,cL);let t=K(e,e,s.schema({names:{version:Md,privateKeyAlgorithm:{names:{blockName:$d}},privateKey:qd,attributes:Ao}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new j({schema:t.result.privateKeyAlgorithm}),this.privateKey=t.result.privateKey,Ao in t.result&&(this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new b0({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ie){let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new w0({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new L({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,t=>t.toSchema())})),new k({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new w0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new b0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};xc.CLASS_NAME="PrivateKeyInfo";var Lu="contentType",ju="contentEncryptionAlgorithm",Io="encryptedContent",uL=[Lu,ju,Io],Dk=1024,Gt=class s extends q{constructor(e={}){if(super(),this.contentType=y(e,Lu,s.defaultValues(Lu)),this.contentEncryptionAlgorithm=y(e,ju,s.defaultValues(ju)),Io in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+Dk>n.byteLength?n.byteLength-r:Dk),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return b;case ju:return new j;case Io:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Lu:return t===b;case ju:return t.algorithmId===b&&!("algorithmParams"in t);case Io:return t.isEqual(s.defaultValues(Io));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.contentType||b}),j.schema(t.contentEncryptionAlgorithm||{}),new it({value:[new V({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new ge({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,uL);let t=K(e,e,s.schema({names:{contentType:Lu,contentEncryptionAlgorithm:{names:{blockName:ju}},encryptedContent:Io}}));_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new j({schema:t.result.contentEncryptionAlgorithm}),Io in t.result&&(this.encryptedContent=t.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},t=[];if(t.push(new ie({value:this.contentType})),t.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,t.push(r);}return new k({lenBlock:e,value:t})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Gt.CLASS_NAME="EncryptedContentInfo";var Di="hashAlgorithm",Ui="maskGenAlgorithm",Li="saltLength",ji="trailerField",lL=[Di,Ui,Li,ji],Yl=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Di,s.defaultValues(Di)),this.maskGenAlgorithm=y(e,Ui,s.defaultValues(Ui)),this.saltLength=y(e,Li,s.defaultValues(Li)),this.trailerField=y(e,ji,s.defaultValues(ji)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Di:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case Ui:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Li:return 20;case ji:return 1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new L({name:t.saltLength||b})]}),new V({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new L({name:t.trailerField||b})]})]})}fromSchema(e){W(e,lL);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Di}},maskGenAlgorithm:{names:{blockName:Ui}},saltLength:Li,trailerField:ji}}));_.assertSchema(t,this.className),Di in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),Ui in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Li in t.result&&(this.saltLength=t.result.saltLength.valueBlock.valueDec),ji in t.result&&(this.trailerField=t.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Di))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==s.defaultValues(Li)&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new L({value:this.saltLength})]})),this.trailerField!==s.defaultValues(ji)&&e.push(new V({idBlock:{tagClass:3,tagNumber:3},value:[new L({value:this.trailerField})]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Di))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==s.defaultValues(Li)&&(e.saltLength=this.saltLength),this.trailerField!==s.defaultValues(ji)&&(e.trailerField=this.trailerField),e}};Yl.CLASS_NAME="RSASSAPSSParams";var Hu="salt",Fd="iterationCount",mr="keyLength",En="prf",hL=[Hu,Fd,mr,En],ha=class s extends q{constructor(e={}){super(),this.salt=y(e,Hu,s.defaultValues(Hu)),this.iterationCount=y(e,Fd,s.defaultValues(Fd)),mr in e&&(this.keyLength=y(e,mr,s.defaultValues(mr))),En in e&&(this.prf=y(e,En,s.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return {};case Fd:return -1;case mr:return 0;case En:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new it({value:[new z({name:t.saltPrimitive||b}),j.schema(t.saltConstructed||{})]}),new L({name:t.iterationCount||b}),new L({name:t.keyLength||b,optional:!0}),j.schema(t.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,hL);let t=K(e,e,s.schema({names:{saltPrimitive:Hu,saltConstructed:{names:{blockName:Hu}},iterationCount:Fd,keyLength:mr,prf:{names:{blockName:En,optional:!0}}}}));_.assertSchema(t,this.className),this.salt=t.result.salt,this.iterationCount=t.result.iterationCount.valueBlock.valueDec,mr in t.result&&(this.keyLength=t.result.keyLength.valueBlock.valueDec),En in t.result&&(this.prf=new j({schema:t.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new L({value:this.iterationCount})),mr in this&&s.defaultValues(mr)!==this.keyLength&&e.push(new L({value:this.keyLength})),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new k({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return mr in this&&s.defaultValues(mr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ha.CLASS_NAME="PBKDF2Params";var Kd="keyDerivationFunc",Gd="encryptionScheme",fL=[Kd,Gd],S0=class s extends q{constructor(e={}){super(),this.keyDerivationFunc=y(e,Kd,s.defaultValues(Kd)),this.encryptionScheme=y(e,Gd,s.defaultValues(Gd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Kd:return new j;case Gd:return new j;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyDerivationFunc||{}),j.schema(t.encryptionScheme||{})]})}fromSchema(e){W(e,fL);let t=K(e,e,s.schema({names:{keyDerivationFunc:{names:{blockName:Kd}},encryptionScheme:{names:{blockName:Gd}}}}));_.assertSchema(t,this.className),this.keyDerivationFunc=new j({schema:t.result.keyDerivationFunc}),this.encryptionScheme=new j({schema:t.result.encryptionScheme});}toSchema(){return new k({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};S0.CLASS_NAME="PBES2Params";var kA=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function Uk(s,e,t,r,n){let i,a,o;switch(s.toUpperCase()){case"SHA-1":i=20,a=64,o=kk;break;case"SHA-256":i=32,a=64,o=G2;break;case"SHA-384":i=48,a=128,o=Y2;break;case"SHA-512":i=64,a=128,o=z2;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(t),u=new TextDecoder().decode(t);new TextEncoder().encode(u).some((P,B)=>P!==c[B])&&(u=String.fromCharCode(...c));let m=new Uint8Array(u.length*2+2),w=new DataView(m.buffer);for(let P=0;P<u.length;P++)w.setUint16(P*2,u.charCodeAt(P),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),v=new Uint8Array(r),A=new Uint8Array(a*Math.ceil(v.length/a)).map((P,B)=>v[B%v.length]),C=new Uint8Array(a*Math.ceil(m.length/a)).map((P,B)=>m[B%m.length]),D=new Uint8Array(A.length+C.length);D.set(A),D.set(C,A.length);let U=Math.ceil((e>>3)/i),T=[];for(let P=0;P<U;P++){let B=new Uint8Array(E.length+D.length);B.set(E),B.set(D,E.length);for(let ae=0;ae<n;ae++)B=o(B);let G=new Uint8Array(a).map((ae,fe)=>B[fe%B.length]),se=Math.ceil(v.length/a)+Math.ceil(m.length/a),X=[];for(let ae=0;ae<se;ae++){let fe=Array.from(D.slice(ae*a,(ae+1)*a)),te=511;for(let oe=G.length-1;oe>=0;oe--)te>>=8,te+=G[oe]+(fe[oe]||0),fe[oe]=te&255;X.push(...fe);}D=new Uint8Array(X),T.push(...B);}return new Uint8Array(T.slice(0,e>>3)).buffer}function yP(s){let e=typeof s=="string"?{name:s}:s;return "hash"in e?{...e,hash:yP(e.hash)}:e}var nh=class extends kA{async importKey(e,t,r,n,i){var a,o,c,u,l,m;let w={},E=yP(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",t,r,n,i);case"spki":{let v=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(v,"keyData");let A=new $s;try{A.fromSchema(v.result);}catch{throw new et("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,A.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},A.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);let C=A.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=A.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let v=new xc,A=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(A,"keyData");try{v.fromSchema(A.result);}catch{throw new Error("Incorrect keyData")}if(!v.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,v.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${v.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},v.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${v.privateKeyAlgorithm.algorithmId}`);let C=v.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(m=E.hash)===null||m===void 0?void 0:m.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=v.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=t;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",so(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,t){let r=await this.subtle.exportKey("jwk",t);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(Hf(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",t);case"spki":{let n=new $s;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new xc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,t,r,n,i,a){if(e.toLowerCase()===t.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(t,o)}getAlgorithmByOID(e,t=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(t)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,t=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&t)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,t){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(t.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(t.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let t=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":t="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":t="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":t="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":t="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new Yl({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)t=n.name;else return b}else t="SHA-1";}catch{}break}return t}async encryptEncryptedContentInfo(e){Je.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let t=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ha({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new j({algorithmId:n,algorithmParams:new ft})}),m=new Uint8Array(e.password),w=await this.importKey("raw",m,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),v=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),A=new S0({keyDerivationFunc:new j({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new j({algorithmId:t,algorithmParams:new z({valueHex:i})})});return new Gt({contentType:e.contentType,contentEncryptionAlgorithm:new j({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:A.toSchema()}),encryptedContent:new z({valueHex:v})})}async decryptEncryptedContentInfo(e){if(Je.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let t;try{t=new S0({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ha({schema:t.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(t.encryptionScheme.algorithmId,!0),i=t.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let m=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},m,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Je.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let t;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Uk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Je.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let t=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Uk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,t="SHA-1"){this.getOIDByAlgorithm({name:t},!0,"hashAlgorithm");let r=new j,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=t,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new j({algorithmId:c,algorithmParams:new ft}),a.maskGenAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new Yl(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,t,r){let n=await this.sign(r.algorithm,t,e);return r.algorithm.name==="ECDSA"?mL(n):n}fillPublicKeyParameters(e,t){let r={},n=this.getHashAlgorithm(t);if(n===b)throw new Error(`Unsupported signature algorithm: ${t.algorithmId}`);let i;t.algorithmId==="1.2.840.113549.1.1.10"?i=t.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,t,r){r||(r=this.fillPublicKeyParameters(e,t));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,t,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let m=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(m.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),m.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=t.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=Lr.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=kt(c);_.assert(l,"Signature value"),c=pL(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new Yl({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},wP={name:"none",crypto:null};function Lk(s){return !!(s&&typeof s=="object"&&"crypto"in s)}function jk(s,...e){let t=null;if(e.length<2)e.length?t=e[0]:t=typeof self<"u"&&self.crypto?new nh({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];Lk(n)?t=n:Lk(r)?t=r:"subtle"in r&&"getRandomValues"in r&&(t=new nh({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:s,crypto:t};}else wP={name:s,crypto:t};}function dL(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let s;try{s=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return s}return wP}function Oe(s=!1){let e=dL();if(!e.crypto&&s)throw new Error("Unable to create WebCrypto object");return e.crypto}function mL(s){if(s.byteLength%2!==0)return It;let e=s.byteLength/2,t=new ArrayBuffer(e);new Uint8Array(t).set(new Uint8Array(s,0,e));let n=new L({valueHex:t}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(s,e,e));let o=new L({valueHex:i});return new k({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function pL(s,e){if(!(s instanceof k&&s.valueBlock.value.length===2&&s.valueBlock.value[0]instanceof L&&s.valueBlock.value[1]instanceof L))return It;let t=s.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=s.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(t,e-t.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function gL(s,e,t,r,n){switch(s.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new et("'zBuffer' has zero length, error");if(et.assert(r,"SharedInfo","ArrayBuffer"),t>255)throw new et("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=t;let o=It;o=to(o,e),o=to(o,i),o=to(o,r);let c=await n.digest({name:s},o);return {counter:t,result:c}}async function Hk(s,e,t,r,n=Oe(!0)){let i=0,a=1;switch(s.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new et("'Zbuffer' has zero length, error");et.assert(r,"SharedInfo","ArrayBuffer");let o=t/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await gL(s,e,w,r,n));let u=It,l=1,m=!0;for(;m;){m=!1;for(let w of c)if(w.counter===l){u=to(u,w.result),m=!0;break}l++;}if(t>>=3,u.byteLength>t){let w=new ArrayBuffer(t),E=new Uint8Array(w),v=new Uint8Array(u);for(let A=0;A<t;A++)E[A]=v[A];return w}return u}var eA="version",tA="logID",sA="extensions",rA="timestamp",nA="hashAlgorithm",iA="signatureAlgorithm",aA="signature",_k="none",Mk="md5",$k="sha1",qk="sha224",Fk="sha256",Kk="sha384",Gk="sha512",Wk="anonymous",Jk="rsa",zk="dsa",Yk="ecdsa",Fw=class s extends q{constructor(e={}){super(),this.version=y(e,eA,s.defaultValues(eA)),this.logID=y(e,tA,s.defaultValues(tA)),this.timestamp=y(e,rA,s.defaultValues(rA)),this.extensions=y(e,sA,s.defaultValues(sA)),this.hashAlgorithm=y(e,nA,s.defaultValues(nA)),this.signatureAlgorithm=y(e,iA,s.defaultValues(iA)),this.signature=y(e,aA,s.defaultValues(aA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case eA:return 0;case tA:case sA:return It;case rA:return new Date(0);case nA:case iA:return b;case aA:return It;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof io))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let t=new pn({stream:new es({buffer:e.data})});this.fromStream(t);}fromStream(e){let t=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(un(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=_k;break;case 1:this.hashAlgorithm=Mk;break;case 2:this.hashAlgorithm=$k;break;case 3:this.hashAlgorithm=qk;break;case 4:this.hashAlgorithm=Fk;break;case 5:this.hashAlgorithm=Kk;break;case 6:this.hashAlgorithm=Gk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=Wk;break;case 1:this.signatureAlgorithm=Jk;break;case 2:this.signatureAlgorithm=zk;break;case 3:this.signatureAlgorithm=Yk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),t!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new io({data:e.stream.buffer})}toStream(){let e=new pn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let t=new ArrayBuffer(8),r=new Uint8Array(t),n=hr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case _k:i=0;break;case Mk:i=1;break;case $k:i=2;break;case qk:i=3;break;case Fk:i=4;break;case Kk:i=5;break;case Gk:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case Wk:a=0;break;case Jk:a=1;break;case zk:a=2;break;case Yk:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:Q1(this.logID),timestamp:this.timestamp,extensions:Q1(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:Q1(this.signature)}}async verify(e,t,r=0,n=Oe(!0)){let i=ty(Hf(this.logID)),a=null,o=new pn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=so(yu(a)),u=$s.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),m=new Uint8Array(l),w=hr(this.timestamp.valueOf(),8);return m.set(new Uint8Array(w),8-w.byteLength),o.appendView(m),o.appendUint16(r),r===0&&o.appendUint24(t.byteLength),o.appendView(new Uint8Array(t)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};Fw.CLASS_NAME="SignedCertificateTimestamp";var Hy="timestamps",Kw=class s extends q{constructor(e={}){super(),this.timestamps=y(e,Hy,s.defaultValues(Hy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Hy:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){var t;let r=y(e,"names",{});return (t=r.optional)!==null&&t!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let t=new pn({stream:new es({buffer:e.valueBlock.valueHex})});if(t.getUint16()!==t.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;t.length;)this.timestamps.push(new Fw({stream:t}));}toSchema(){let e=new pn,t=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),t+=i.stream.buffer.byteLength;}e.appendUint16(t);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};Kw.CLASS_NAME="SignedCertificateTimestampList";var Wd="attributes",yL=[Wd],Gw=class s extends q{constructor(e={}){super(),this.attributes=y(e,Wd,s.defaultValues(Wd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,yL);let t=K(e,e,s.schema({names:{attributes:Wd}}));_.assertSchema(t,this.className),this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}));}toSchema(){return new k({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};Gw.CLASS_NAME="SubjectDirectoryAttributes";var PA=class s{static getItems(){return this.types||(this.types={},s.register(sP,"SubjectAltName",a0),s.register(rP,"IssuerAltName",a0),s.register(oI,"AuthorityKeyIdentifier",o0),s.register(iI,"BasicConstraints",c0),s.register(DU,"MicrosoftCaVersion",Uw),s.register(cP,"CertificatePolicies",h0),s.register(PU,"CertificatePoliciesMicrosoft",h0),s.register(VU,"MicrosoftCertTemplateV2",NA),s.register(oP,"CRLDistributionPoints",d0),s.register(aI,"FreshestCRL",d0),s.register(TU,"ExtKeyUsage",Lw),s.register(iP,"CertificateIssuer",Lt),s.register(cI,"AuthorityInfoAccess",m0),s.register(OU,"SubjectInfoAccess",m0),s.register(nP,"IssuingDistributionPoint",jw),s.register(aP,"NameConstraints",Hw),s.register(lP,"PolicyConstraints",_w),s.register(uP,"PolicyMappings",Mw),s.register(AU,"PrivateKeyUsagePeriod",$w),s.register(UU,"QCStatements",qw),s.register(RU,"SignedCertificateTimestampList",Kw),s.register(vU,"SubjectDirectoryAttributes",Gw)),this.types}static fromBER(e,t){let r=kt(t);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,t,r){this.getItems()[e]={name:t,type:r};}},Jd="extnID",Hi="critical",zd="extnValue",_y="parsedValue",wL=[Jd,Hi,zd],Bs=class s extends q{get parsedValue(){if(this._parsedValue===void 0){let e=PA.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,Jd,s.defaultValues(Jd)),this.critical=y(e,Hi,s.defaultValues(Hi)),zd in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=s.defaultValues(zd),_y in e&&(this.parsedValue=y(e,_y,s.defaultValues(_y))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jd:return b;case Hi:return !1;case zd:return new z;case _y:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.extnID||b}),new _s({name:t.critical||b,optional:!0}),new z({name:t.extnValue||b})]})}fromSchema(e){W(e,wL);let t=K(e,e,s.schema({names:{extnID:Jd,critical:Hi,extnValue:zd}}));_.assertSchema(t,this.className),this.extnID=t.result.extnID.valueBlock.toString(),Hi in t.result&&(this.critical=t.result.critical.valueBlock.value),this.extnValue=t.result.extnValue;}toSchema(){let e=[];return e.push(new ie({value:this.extnID})),this.critical!==s.defaultValues(Hi)&&e.push(new _s({value:this.critical})),e.push(this.extnValue),new k({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==s.defaultValues(Hi)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Bs.CLASS_NAME="Extension";var Yd="extensions",bL=[Yd],Pt=class s extends q{constructor(e={}){super(),this.extensions=y(e,Yd,s.defaultValues(Yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yd:return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Bs.schema(r.extension||{})})]})}fromSchema(e){W(e,bL);let t=K(e,e,s.schema({names:{extensions:Yd}}));_.assertSchema(t,this.className),this.extensions=Array.from(t.result.extensions,r=>new Bs({schema:r}));}toSchema(){return new k({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Pt.CLASS_NAME="Extensions";var Zd="issuer",Xd="serialNumber",Co="issuerUID",SL=[Zd,Xd,Co],Ws=class s extends q{constructor(e={}){super(),this.issuer=y(e,Zd,s.defaultValues(Zd)),this.serialNumber=y(e,Xd,s.defaultValues(Xd)),Co in e&&(this.issuerUID=y(e,Co,s.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return new Lt;case Xd:return new L;case Co:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema(t.issuer||{}),new L({name:t.serialNumber||b}),new Ve({optional:!0,name:t.issuerUID||b})]})}fromSchema(e){W(e,SL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Zd}},serialNumber:Xd,issuerUID:Co}}));_.assertSchema(t,this.className),this.issuer=new Lt({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber,Co in t.result&&(this.issuerUID=t.result.issuerUID);}toSchema(){let e=new k({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Ws.CLASS_NAME="IssuerSerial";var Qd="version",No="baseCertificateID",ko="subjectName",em="issuer",tm="signature",sm="serialNumber",rm="attrCertValidityPeriod",nm="attributes",Po="issuerUniqueID",To="extensions",vL=[Qd,No,ko,em,tm,sm,rm,nm,Po,To],Zl=class s extends q{constructor(e={}){super(),this.version=y(e,Qd,s.defaultValues(Qd)),No in e&&(this.baseCertificateID=y(e,No,s.defaultValues(No))),ko in e&&(this.subjectName=y(e,ko,s.defaultValues(ko))),this.issuer=y(e,em,s.defaultValues(em)),this.signature=y(e,tm,s.defaultValues(tm)),this.serialNumber=y(e,sm,s.defaultValues(sm)),this.attrCertValidityPeriod=y(e,rm,s.defaultValues(rm)),this.attributes=y(e,nm,s.defaultValues(nm)),Po in e&&(this.issuerUniqueID=y(e,Po,s.defaultValues(Po))),To in e&&(this.extensions=y(e,To,s.defaultValues(To))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qd:return 0;case No:return new Ws;case ko:return new Lt;case em:return new Lt;case tm:return new j;case sm:return new L;case rm:return new Vn;case nm:return [];case Po:return new Ve;case To:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new it({value:[new V({name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({name:t.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value})]}),Lt.schema({names:{blockName:t.issuer||b}}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,vL);let t=K(e,e,s.schema({names:{version:Qd,baseCertificateID:No,subjectName:ko,issuer:em,signature:{names:{blockName:tm}},serialNumber:sm,attrCertValidityPeriod:{names:{blockName:rm}},attributes:nm,issuerUniqueID:Po,extensions:{names:{blockName:To}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,No in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),ko in t.result&&(this.subjectName=new Lt({schema:new k({value:t.result.subjectName.valueBlock.value})})),this.issuer=t.result.issuer,this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),Po in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),To in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new k({value:Array.from(this.attributes,t=>t.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,t=>t.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Zl.CLASS_NAME="AttributeCertificateInfoV1";var im="acinfo",am="signatureAlgorithm",om="signatureValue",EL=[im,om,am],ih=class s extends q{constructor(e={}){super(),this.acinfo=y(e,im,s.defaultValues(im)),this.signatureAlgorithm=y(e,am,s.defaultValues(am)),this.signatureValue=y(e,om,s.defaultValues(om)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case im:return new Zl;case am:return new j;case om:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Zl.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,EL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:im}},signatureAlgorithm:{names:{blockName:am}},signatureValue:om}}));_.assertSchema(t,this.className),this.acinfo=new Zl({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};ih.CLASS_NAME="AttributeCertificateV1";var cm="digestedObjectType",Bo="otherObjectTypeID",um="digestAlgorithm",lm="objectDigest",xL=[cm,Bo,um,lm],Dn=class s extends q{constructor(e={}){super(),this.digestedObjectType=y(e,cm,s.defaultValues(cm)),Bo in e&&(this.otherObjectTypeID=y(e,Bo,s.defaultValues(Bo))),this.digestAlgorithm=y(e,um,s.defaultValues(um)),this.objectDigest=y(e,lm,s.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cm:return new Or;case Bo:return new ie;case um:return new j;case lm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Or({name:t.digestedObjectType||b}),new ie({optional:!0,name:t.otherObjectTypeID||b}),j.schema(t.digestAlgorithm||{}),new Ve({name:t.objectDigest||b})]})}fromSchema(e){W(e,xL);let t=K(e,e,s.schema({names:{digestedObjectType:cm,otherObjectTypeID:Bo,digestAlgorithm:{names:{blockName:um}},objectDigest:lm}}));_.assertSchema(t,this.className),this.digestedObjectType=t.result.digestedObjectType,Bo in t.result&&(this.otherObjectTypeID=t.result.otherObjectTypeID),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.objectDigest=t.result.objectDigest;}toSchema(){let e=new k({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Dn.CLASS_NAME="ObjectDigestInfo";var Oo="issuerName",Ro="baseCertificateID",Vo="objectDigestInfo",AL=[Oo,Ro,Vo],v0=class s extends q{constructor(e={}){super(),Oo in e&&(this.issuerName=y(e,Oo,s.defaultValues(Oo))),Ro in e&&(this.baseCertificateID=y(e,Ro,s.defaultValues(Ro))),Vo in e&&(this.objectDigestInfo=y(e,Vo,s.defaultValues(Vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oo:return new Lt;case Ro:return new Ws;case Vo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema({names:{blockName:t.issuerName}},!0),new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,AL);let t=K(e,e,s.schema({names:{issuerName:Oo,baseCertificateID:Ro,objectDigestInfo:Vo}}));_.assertSchema(t,this.className),Oo in t.result&&(this.issuerName=new Lt({schema:t.result.issuerName})),Ro in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Vo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};v0.CLASS_NAME="V2Form";var Do="baseCertificateID",Uo="entityName",Lo="objectDigestInfo",IL=[Do,Uo,Lo],Xl=class s extends q{constructor(e={}){super(),Do in e&&(this.baseCertificateID=y(e,Do,s.defaultValues(Do))),Uo in e&&(this.entityName=y(e,Uo,s.defaultValues(Uo))),Lo in e&&(this.objectDigestInfo=y(e,Lo,s.defaultValues(Lo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Do:return new Ws;case Uo:return new Lt;case Lo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,IL);let t=K(e,e,s.schema({names:{baseCertificateID:Do,entityName:Uo,objectDigestInfo:Lo}}));_.assertSchema(t,this.className),Do in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Uo in t.result&&(this.entityName=new Lt({schema:new k({value:t.result.entityName.valueBlock.value})})),Lo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Xl.CLASS_NAME="Holder";var hm="version",fm="holder",dm="issuer",mm="signature",pm="serialNumber",gm="attrCertValidityPeriod",ym="attributes",jo="issuerUniqueID",Ho="extensions",CL=[hm,fm,dm,mm,pm,gm,ym,jo,Ho],Ql=class s extends q{constructor(e={}){super(),this.version=y(e,hm,s.defaultValues(hm)),this.holder=y(e,fm,s.defaultValues(fm)),this.issuer=y(e,dm,s.defaultValues(dm)),this.signature=y(e,mm,s.defaultValues(mm)),this.serialNumber=y(e,pm,s.defaultValues(pm)),this.attrCertValidityPeriod=y(e,gm,s.defaultValues(gm)),this.attributes=y(e,ym,s.defaultValues(ym)),jo in e&&(this.issuerUniqueID=y(e,jo,s.defaultValues(jo))),Ho in e&&(this.extensions=y(e,Ho,s.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hm:return 1;case fm:return new Xl;case dm:return {};case mm:return new j;case pm:return new L;case gm:return new Vn;case ym:return [];case jo:return new Ve;case Ho:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Xl.schema(t.holder||{}),new it({value:[Lt.schema({names:{blockName:t.issuer||b}}),new V({name:t.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:v0.schema().valueBlock.value})]}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,CL);let t=K(e,e,s.schema({names:{version:hm,holder:{names:{blockName:fm}},issuer:dm,signature:{names:{blockName:mm}},serialNumber:pm,attrCertValidityPeriod:{names:{blockName:gm}},attributes:ym,issuerUniqueID:jo,extensions:{names:{blockName:Ho}}}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.holder=new Xl({schema:t.result.holder}),t.result.issuer.idBlock.tagClass){case 3:this.issuer=new v0({schema:new k({value:t.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),jo in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),Ho in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version}),this.holder.toSchema(),new V({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new k({value:Array.from(this.attributes,t=>t.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,t=>t.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Ql.CLASS_NAME="AttributeCertificateInfoV2";var wm="acinfo",bm="signatureAlgorithm",Sm="signatureValue",NL=[wm,bm,Sm],Ur=class s extends q{constructor(e={}){super(),this.acinfo=y(e,wm,s.defaultValues(wm)),this.signatureAlgorithm=y(e,bm,s.defaultValues(bm)),this.signatureValue=y(e,Sm,s.defaultValues(Sm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wm:return new Ql;case bm:return new j;case Sm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Ql.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,NL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:wm}},signatureAlgorithm:{names:{blockName:bm}},signatureValue:Sm}}));_.assertSchema(t,this.className),this.acinfo=new Ql({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Ur.CLASS_NAME="AttributeCertificateV2";var _o="contentType",_u="content",kL=[_o,_u],mt=class s extends q{constructor(e={}){super(),this.contentType=y(e,_o,s.defaultValues(_o)),this.content=y(e,_u,s.defaultValues(_u)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _o:return b;case _u:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _o:return typeof t=="string"&&t===this.defaultValues(_o);case _u:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return "optional"in t||(t.optional=!1),new k({name:t.blockName||"ContentInfo",optional:t.optional,value:[new ie({name:t.contentType||_o}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.content||_u})]})]})}fromSchema(e){W(e,kL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.content=t.result.content;}toSchema(){return new k({value:[new ie({value:this.contentType}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};mt.CLASS_NAME="ContentInfo";mt.DATA=uI;mt.SIGNED_DATA=hP;mt.ENVELOPED_DATA=fP;mt.ENCRYPTED_DATA=dP;var oA="type",cA="value",TA="utcTimeName",BA="generalTimeName",PL=[TA,BA],Zk;(function(s){s[s.UTCTime=0]="UTCTime",s[s.GeneralizedTime=1]="GeneralizedTime",s[s.empty=2]="empty";})(Zk||(Zk={}));var jt=class s extends q{constructor(e={}){super(),this.type=y(e,oA,s.defaultValues(oA)),this.value=y(e,cA,s.defaultValues(cA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oA:return 0;case cA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new it({optional:t,value:[new fn({name:r.utcTimeName||b}),new nt({name:r.generalTimeName||b})]})}fromSchema(e){W(e,PL);let t=K(e,e,s.schema({names:{utcTimeName:TA,generalTimeName:BA}}));_.assertSchema(t,this.className),TA in t.result&&(this.type=0,this.value=t.result.utcTimeName.toDate()),BA in t.result&&(this.type=1,this.value=t.result.generalTimeName.toDate());}toSchema(){return this.type===0?new fn({valueDate:this.value}):this.type===1?new nt({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};jt.CLASS_NAME="Time";var uA="tbs",_i="version",aw="serialNumber",ow="signature",cw="issuer",uw="notBefore",lw="notAfter",hw="subject",fw="subjectPublicKeyInfo",vm="issuerUniqueID",Em="subjectUniqueID",xm="extensions",Am="signatureAlgorithm",Im="signatureValue",qs="tbsCertificate",Ww=`${qs}.${_i}`,hI=`${qs}.${aw}`,fI=`${qs}.${ow}`,dI=`${qs}.${cw}`,Jw=`${qs}.${uw}`,zw=`${qs}.${lw}`,mI=`${qs}.${hw}`,pI=`${qs}.${fw}`,Yw=`${qs}.${vm}`,Zw=`${qs}.${Em}`,r0=`${qs}.${xm}`,TL=[qs,Ww,hI,fI,dI,Jw,zw,mI,pI,Yw,Zw,r0,Am,Im];function BL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||qs,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:e.tbsCertificateVersion||Ww})]}),new L({name:e.tbsCertificateSerialNumber||hI}),j.schema(e.signature||{names:{blockName:fI}}),at.schema(e.issuer||{names:{blockName:dI}}),new k({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[jt.schema(e.notBefore||{names:{utcTimeName:Jw,generalTimeName:Jw}}),jt.schema(e.notAfter||{names:{utcTimeName:zw,generalTimeName:zw}})]}),at.schema(e.subject||{names:{blockName:mI}}),$s.schema(e.subjectPublicKeyInfo||{names:{blockName:pI}}),new ge({name:e.tbsCertificateIssuerUniqueID||Yw,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:e.tbsCertificateSubjectUniqueID||Zw,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Pt.schema(e.extensions||{names:{blockName:r0}})]})]})}var ts=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,uA,s.defaultValues(uA))),this.version=y(e,_i,s.defaultValues(_i)),this.serialNumber=y(e,aw,s.defaultValues(aw)),this.signature=y(e,ow,s.defaultValues(ow)),this.issuer=y(e,cw,s.defaultValues(cw)),this.notBefore=y(e,uw,s.defaultValues(uw)),this.notAfter=y(e,lw,s.defaultValues(lw)),this.subject=y(e,hw,s.defaultValues(hw)),this.subjectPublicKeyInfo=y(e,fw,s.defaultValues(fw)),vm in e&&(this.issuerUniqueID=y(e,vm,s.defaultValues(vm))),Em in e&&(this.subjectUniqueID=y(e,Em,s.defaultValues(Em))),xm in e&&(this.extensions=y(e,xm,s.defaultValues(xm))),this.signatureAlgorithm=y(e,Am,s.defaultValues(Am)),this.signatureValue=y(e,Im,s.defaultValues(Im)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case uA:return It;case _i:return 0;case aw:return new L;case ow:return new j;case cw:return new at;case uw:return new jt;case lw:return new jt;case hw:return new at;case fw:return new $s;case vm:return It;case Em:return It;case xm:return [];case Am:return new j;case Im:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[BL(t.tbsCertificate),j.schema(t.signatureAlgorithm||{names:{blockName:Am}}),new Ve({name:t.signatureValue||Im})]})}fromSchema(e){W(e,TL);let t=K(e,e,s.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:r0}}}}}}));_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertificate.valueBeforeDecodeView,Ww in t.result&&(this.version=t.result[Ww].valueBlock.valueDec),this.serialNumber=t.result[hI],this.signature=new j({schema:t.result[fI]}),this.issuer=new at({schema:t.result[dI]}),this.notBefore=new jt({schema:t.result[Jw]}),this.notAfter=new jt({schema:t.result[zw]}),this.subject=new at({schema:t.result[mI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[pI]}),Yw in t.result&&(this.issuerUniqueID=t.result[Yw].valueBlock.valueHex),Zw in t.result&&(this.subjectUniqueID=t.result[Zw].valueBlock.valueHex),r0 in t.result&&(this.extensions=Array.from(t.result[r0],r=>new Bs({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return _i in this&&this.version!==s.defaultValues(_i)&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new k({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new k({value:Array.from(this.extensions,t=>t.toSchema())})]})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema().value[0];let r=kt(this.tbsView);_.assert(r,"TBS Certificate"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return _i in this&&this.version!==s.defaultValues(_i)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",t=Oe(!0)){return t.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e,t=Oe(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof $s))throw new Error("Please provide issuer certificate as a parameter");return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};ts.CLASS_NAME="Certificate";function bP(s,e=null){if(e&&s.issuer.isEqual(e.issuer)&&s.serialNumber.isEqual(e.serialNumber))return null;let t=!1;if(s.extensions){for(let r of s.extensions)if(r.extnID===iI&&r.parsedValue instanceof c0&&r.parsedValue.cA){t=!0;break}}return t?s:null}var Mu="certId",$u="certValue",Eu="parsedValue",OL=[Mu,$u],Xw=class s extends q{constructor(e={}){super(),this.certId=y(e,Mu,s.defaultValues(Mu)),this.certValue=y(e,$u,s.defaultValues($u)),Eu in e&&(this.parsedValue=y(e,Eu,s.defaultValues(Eu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return b;case $u:return new be;case Eu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Mu:return t===b;case $u:return t instanceof be;case Eu:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,OL);let t=K(e,e,s.schema({names:{id:Mu,value:$u}}));_.assertSchema(t,this.className),this.certId=t.result.certId.valueBlock.toString(),this.certValue=t.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case Ok:try{this.parsedValue=ts.fromBER(r);}catch{Ur.fromBER(r);}break;case Rk:this.parsedValue=Ur.fromBER(r);break;case jU:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Eu in this&&("acinfo"in this.parsedValue?this.certId=Rk:this.certId=Ok,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.certId}),new V({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};Xw.CLASS_NAME="CertBag";var Cm="userCertificate",qu="revocationDate",Mo="crlEntryExtensions",RL=[Cm,qu,Mo],Qw=class s extends q{constructor(e={}){super(),this.userCertificate=y(e,Cm,s.defaultValues(Cm)),this.revocationDate=y(e,qu,s.defaultValues(qu)),Mo in e&&(this.crlEntryExtensions=y(e,Mo,s.defaultValues(Mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cm:return new L;case qu:return new jt;case Mo:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.userCertificate||Cm}),jt.schema({names:{utcTimeName:t.revocationDate||qu,generalTimeName:t.revocationDate||qu}}),Pt.schema({names:{blockName:t.crlEntryExtensions||Mo}},!0)]})}fromSchema(e){W(e,RL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.userCertificate=t.result.userCertificate,this.revocationDate=new jt({schema:t.result.revocationDate}),Mo in t.result&&(this.crlEntryExtensions=new Pt({schema:t.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new k({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};Qw.CLASS_NAME="RevokedCertificate";var lA="tbs",Qf="version",hA="signature",fA="issuer",dA="thisUpdate",My="nextUpdate",$y="revokedCertificates",qy="crlExtensions",Nm="signatureAlgorithm",km="signatureValue",jn="tbsCertList",eb=`${jn}.version`,gI=`${jn}.signature`,yI=`${jn}.issuer`,tb=`${jn}.thisUpdate`,E0=`${jn}.nextUpdate`,sb=`${jn}.revokedCertificates`,rb=`${jn}.extensions`,VL=[jn,eb,gI,yI,tb,E0,sb,rb,Nm,km];function DL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||jn,value:[new L({optional:!0,name:e.tbsCertListVersion||eb,value:2}),j.schema(e.signature||{names:{blockName:gI}}),at.schema(e.issuer||{names:{blockName:yI}}),jt.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:tb,generalTimeName:tb}}),jt.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:E0,generalTimeName:E0}},!0),new k({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||sb,value:new k({value:[new L,jt.schema(),Pt.schema({},!0)]})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(e.crlExtensions||{names:{blockName:rb}})]})]})}var UL=[oI,rP,IU,CU,nP,aI,cI,NU,kU,iP],Ac=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,lA,s.defaultValues(lA))),this.version=y(e,Qf,s.defaultValues(Qf)),this.signature=y(e,hA,s.defaultValues(hA)),this.issuer=y(e,fA,s.defaultValues(fA)),this.thisUpdate=y(e,dA,s.defaultValues(dA)),My in e&&(this.nextUpdate=y(e,My,s.defaultValues(My))),$y in e&&(this.revokedCertificates=y(e,$y,s.defaultValues($y))),qy in e&&(this.crlExtensions=y(e,qy,s.defaultValues(qy))),this.signatureAlgorithm=y(e,Nm,s.defaultValues(Nm)),this.signatureValue=y(e,km,s.defaultValues(km)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lA:return It;case Qf:return 0;case hA:return new j;case fA:return new at;case dA:return new jt;case My:return new jt;case $y:return [];case qy:return new Pt;case Nm:return new j;case km:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"CertificateList",value:[DL(e),j.schema(t.signatureAlgorithm||{names:{blockName:Nm}}),new Ve({name:t.signatureValue||km})]})}fromSchema(e){W(e,VL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertList.valueBeforeDecodeView,eb in t.result&&(this.version=t.result[eb].valueBlock.valueDec),this.signature=new j({schema:t.result[gI]}),this.issuer=new at({schema:t.result[yI]}),this.thisUpdate=new jt({schema:t.result[tb]}),E0 in t.result&&(this.nextUpdate=new jt({schema:t.result[E0]})),sb in t.result&&(this.revokedCertificates=Array.from(t.result[sb],r=>new Qw({schema:r}))),rb in t.result&&(this.crlExtensions=new Pt({schema:t.result[rb]})),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return this.version!==s.defaultValues(Qf)&&e.push(new L({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new k({value:Array.from(this.revokedCertificates,t=>t.toSchema())})),this.crlExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new k({value:e})}toSchema(e=!1){let t;if(e)t=this.encodeTBS();else {if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Certificate Revocation List"),t=r.result;}return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==s.defaultValues(Qf)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,t=>t.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let t of this.revokedCertificates)if(t.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!UL.includes(n.extnID))return !1}return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};Ac.CLASS_NAME="CertificateRevocationList";var Fu="crlId",Ku="crlValue",ed="parsedValue",LL=[Fu,Ku],nb=class s extends q{constructor(e={}){super(),this.crlId=y(e,Fu,s.defaultValues(Fu)),this.crlValue=y(e,Ku,s.defaultValues(Ku)),ed in e&&(this.parsedValue=y(e,ed,s.defaultValues(ed))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Fu:return b;case Ku:return new be;case ed:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Fu:return t===b;case Ku:return t instanceof be;case ed:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,LL);let t=K(e,e,s.schema({names:{id:Fu,value:Ku}}));switch(_.assertSchema(t,this.className),this.crlId=t.result.crlId.valueBlock.toString(),this.crlValue=t.result.crlValue,this.crlId){case Vk:this.parsedValue=Ac.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=Vk,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.crlId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};nb.CLASS_NAME="CRLBag";var Gu="version",Wu="encryptedContentInfo",Mi="unprotectedAttrs",jL=[Gu,Wu,Mi],Ic=class s extends q{constructor(e={}){super(),this.version=y(e,Gu,s.defaultValues(Gu)),this.encryptedContentInfo=y(e,Wu,s.defaultValues(Wu)),Mi in e&&(this.unprotectedAttrs=y(e,Mi,s.defaultValues(Mi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gu:return 0;case Wu:return new Gt;case Mi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Gu:return t===0;case Wu:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);case Mi:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,jL);let t=K(e,e,s.schema({names:{version:Gu,encryptedContentInfo:{names:{blockName:Wu}},unprotectedAttrs:Mi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Mi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}async encrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await t.encryptEncryptedContentInfo(r);}async decrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return t.decryptEncryptedContentInfo(r)}};Ic.CLASS_NAME="EncryptedData";var $o="encryptionAlgorithm",$i="encryptedData",td="parsedValue",HL=[$o,$i],ib=class s extends q{constructor(e={}){super(),this.encryptionAlgorithm=y(e,$o,s.defaultValues($o)),this.encryptedData=y(e,$i,s.defaultValues($i)),td in e&&(this.parsedValue=y(e,td,s.defaultValues(td))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $o:return new j;case $i:return new z;case td:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case $o:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case $i:return t.isEqual(s.defaultValues(e));case td:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.encryptionAlgorithm||{names:{blockName:$o}}),new it({value:[new z({name:t.encryptedData||$i}),new z({idBlock:{isConstructed:!0},name:t.encryptedData||$i})]})]})}fromSchema(e){W(e,HL);let t=K(e,e,s.schema({names:{encryptionAlgorithm:{names:{blockName:$o}},encryptedData:$i}}));_.assertSchema(t,this.className),this.encryptionAlgorithm=new j({schema:t.result.encryptionAlgorithm}),this.encryptedData=t.result.encryptedData;}toSchema(){return new k({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,t=Oe(!0)){let n=await new Ic({encryptedContentInfo:new Gt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,t);this.parsedValue=xc.fromBER(n);}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Ic,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,t),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};ib.CLASS_NAME="PKCS8ShroudedKeyBag";var Ju="secretTypeId",zu="secretValue",_L=[Ju,zu],ab=class s extends q{constructor(e={}){super(),this.secretTypeId=y(e,Ju,s.defaultValues(Ju)),this.secretValue=y(e,zu,s.defaultValues(zu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ju:return b;case zu:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ju:return t===b;case zu:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,_L);let t=K(e,e,s.schema({names:{id:Ju,value:zu}}));_.assertSchema(t,this.className),this.secretTypeId=t.result.secretTypeId.valueBlock.toString(),this.secretValue=t.result.secretValue;}toSchema(){return new k({value:[new ie({value:this.secretTypeId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};ab.CLASS_NAME="SecretBag";var OA=class s{static getItems(){return this.items||(this.items={},s.register("1.2.840.113549.1.12.10.1.1",xc),s.register("1.2.840.113549.1.12.10.1.2",ib),s.register("1.2.840.113549.1.12.10.1.3",Xw),s.register("1.2.840.113549.1.12.10.1.4",nb),s.register("1.2.840.113549.1.12.10.1.5",ab),s.register("1.2.840.113549.1.12.10.1.6",la)),this.items}static register(e,t){this.getItems()[e]=t;}static find(e){return this.getItems()[e]||null}},qo="bagId",Fo="bagValue",xn="bagAttributes",ML=[qo,Fo,xn],x0=class s extends q{constructor(e={}){super(),this.bagId=y(e,qo,s.defaultValues(qo)),this.bagValue=y(e,Fo,s.defaultValues(Fo)),xn in e&&(this.bagAttributes=y(e,xn,s.defaultValues(xn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case qo:return b;case Fo:return new be;case xn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case qo:return t===b;case Fo:return t instanceof be;case xn:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.bagId||qo}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.bagValue||Fo})]}),new dt({optional:!0,value:[new Ae({name:t.bagAttributes||xn,value:yt.schema()})]})]})}fromSchema(e){W(e,ML);let t=K(e,e,s.schema({names:{bagId:qo,bagValue:Fo,bagAttributes:xn}}));_.assertSchema(t,this.className),this.bagId=t.result.bagId.valueBlock.toString();let r=OA.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:t.result.bagValue}),xn in t.result&&(this.bagAttributes=Array.from(t.result.bagAttributes,n=>new yt({schema:n})));}toSchema(){let e=[new ie({value:this.bagId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new dt({value:Array.from(this.bagAttributes,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,t=>t.toJSON())),e}};x0.CLASS_NAME="SafeBag";var xu="safeBags",la=class s extends q{constructor(e={}){super(),this.safeBags=y(e,xu,s.defaultValues(xu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.safeBags||b,value:x0.schema()})]})}fromSchema(e){W(e,[xu]);let t=K(e,e,s.schema({names:{safeBags:xu}}));_.assertSchema(t,this.className),this.safeBags=Array.from(t.result.safeBags,r=>new x0({schema:r}));}toSchema(){return new k({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};la.CLASS_NAME="SafeContents";var Pm="otherCertFormat",Tm="otherCert",$L=[Pm,Tm],eh=class s extends q{constructor(e={}){super(),this.otherCertFormat=y(e,Pm,s.defaultValues(Pm)),this.otherCert=y(e,Tm,s.defaultValues(Tm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pm:return b;case Tm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherCertFormat||Pm}),new be({name:t.otherCert||Tm})]})}fromSchema(e){W(e,$L);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherCertFormat=t.result.otherCertFormat.valueBlock.toString(),this.otherCert=t.result.otherCert;}toSchema(){return new k({value:[new ie({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},Bm="certificates",qL=[Bm],Un=class s extends q{constructor(e={}){super(),this.certificates=y(e,Bm,s.defaultValues(Bm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bm:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.certificates||Bm,value:new it({value:[ts.schema(),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new k]}),new V({idBlock:{tagClass:3,tagNumber:2},value:Ur.schema().valueBlock.value}),new V({idBlock:{tagClass:3,tagNumber:3},value:eh.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,qL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.certificates=Array.from(t.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new ts({schema:r});let i=new k({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Ur({schema:i}):new ih({schema:i});case 2:return new Ur({schema:i});case 3:return new eh({schema:i})}return r});}toSchema(){return new dt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof ts:return e.toSchema();case e instanceof ih:return new V({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Ur:return new V({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof eh:return new V({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};Un.CLASS_NAME="CertificateSet";var Om="otherRevInfoFormat",Rm="otherRevInfo",FL=[Om,Rm],yc=class s extends q{constructor(e={}){super(),this.otherRevInfoFormat=y(e,Om,s.defaultValues(Om)),this.otherRevInfo=y(e,Rm,s.defaultValues(Rm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Om:return b;case Rm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherRevInfoFormat||Om}),new be({name:t.otherRevInfo||Rm})]})}fromSchema(e){W(e,FL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherRevInfoFormat=t.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=t.result.otherRevInfo;}toSchema(){return new k({value:[new ie({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};yc.CLASS_NAME="OtherRevocationInfoFormat";var Vm="crls",mA="otherRevocationInfos",KL=[Vm],wc=class s extends q{constructor(e={}){super(),this.crls=y(e,Vm,s.defaultValues(Vm)),this.otherRevocationInfos=y(e,mA,s.defaultValues(mA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vm:return [];case mA:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.crls||b,value:new it({value:[Ac.schema(),new V({idBlock:{tagClass:3,tagNumber:1},value:[new ie,new be]})]})})]})}fromSchema(e){W(e,KL);let t=K(e,e,s.schema({names:{crls:Vm}}));if(_.assertSchema(t,this.className),t.result.crls)for(let r of t.result.crls)r.idBlock.tagClass===1?this.crls.push(new Ac({schema:r})):this.otherRevocationInfos.push(new yc({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,t=>t.toSchema())),e.push(...Array.from(this.otherRevocationInfos,t=>{let r=t.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new dt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};wc.CLASS_NAME="RevocationInfoChoices";var Dm="certs",Ko="crls",GL=[Dm,Ko],th=class s extends q{constructor(e={}){super(),this.crls=y(e,Ko,s.defaultValues(Ko)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dm:return new Un;case Ko:return new wc;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dm:return t.certificates.length===0;case Ko:return t.crls.length===0&&t.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({name:t.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({name:t.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema().valueBlock.value})]})}fromSchema(e){W(e,GL);let t=K(e,e,s.schema({names:{certs:Dm,crls:Ko}}));_.assertSchema(t,this.className),Dm in t.result&&(this.certs=new Un({schema:new dt({value:t.result.certs.valueBlock.value})})),Ko in t.result&&(this.crls=new wc({schema:new dt({value:t.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new k({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};th.CLASS_NAME="OriginatorInfo";var Um="issuer",Lm="serialNumber",WL=[Um,Lm],Ht=class s extends q{constructor(e={}){super(),this.issuer=y(e,Um,s.defaultValues(Um)),this.serialNumber=y(e,Lm,s.defaultValues(Lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Um:return new at;case Lm:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[at.schema(t.issuer||{}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,WL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Um}},serialNumber:Lm}}));_.assertSchema(t,this.className),this.issuer=new at({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};Ht.CLASS_NAME="IssuerAndSerialNumber";var Fy="variant",sd="value",JL=["blockName"],ob=class s extends q{constructor(e={}){super(),this.variant=y(e,Fy,s.defaultValues(Fy)),sd in e&&(this.value=y(e,sd,s.defaultValues(sd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Fy:return -1;case sd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Fy:return t===-1;case sd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,JL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof Ht))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};ob.CLASS_NAME="RecipientIdentifier";var Go="version",Yu="rid",Zu="keyEncryptionAlgorithm",Xu="encryptedKey",Ky="recipientCertificate",zL=[Go,Yu,Zu,Xu],ah=class s extends q{constructor(e={}){super(),this.version=y(e,Go,s.defaultValues(Go)),this.rid=y(e,Yu,s.defaultValues(Yu)),this.keyEncryptionAlgorithm=y(e,Zu,s.defaultValues(Zu)),this.encryptedKey=y(e,Xu,s.defaultValues(Xu)),this.recipientCertificate=y(e,Ky,s.defaultValues(Ky)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Go:return -1;case Yu:return {};case Zu:return new j;case Xu:return new z;case Ky:return new ts;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Go:return t===s.defaultValues(Go);case Yu:return Object.keys(t).length===0;case Zu:case Xu:return t.isEqual(s.defaultValues(e));case Ky:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),ob.schema(t.rid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,zL);let t=K(e,e,s.schema({names:{version:Go,rid:{names:{blockName:Yu}},keyEncryptionAlgorithm:{names:{blockName:Zu}},encryptedKey:Xu}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,t.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:t.result.rid.valueBlock.valueHex}):this.rid=new Ht({schema:t.result.rid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof Ht?(this.version=0,e.push(new L({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new L({value:this.version})),e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};ah.CLASS_NAME="KeyTransRecipientInfo";var Qu="algorithm",el="publicKey",YL=[Qu,el],oh=class s extends q{constructor(e={}){super(),this.algorithm=y(e,Qu,s.defaultValues(Qu)),this.publicKey=y(e,el,s.defaultValues(el)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qu:return new j;case el:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qu:case el:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.publicKey||b})]})}fromSchema(e){W(e,YL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Qu}},publicKey:el}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.publicKey=t.result.publicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};oh.CLASS_NAME="OriginatorPublicKey";var Gy="variant",rd="value",ZL=["blockName"],bc=class s extends q{constructor(e={}){super(),this.variant=y(e,Gy,s.defaultValues(Gy)),rd in e&&(this.value=y(e,rd,s.defaultValues(rd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gy:return -1;case rd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Gy:return t===-1;case rd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b}),new V({idBlock:{tagClass:3,tagNumber:1},name:t.blockName||b,value:oh.schema().valueBlock.value})]})}fromSchema(e){W(e,ZL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):t.result.blockName.idBlock.tagNumber===0?(t.result.blockName.idBlock.tagClass=1,t.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=t.result.blockName):(this.variant=3,this.value=new oh({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};bc.CLASS_NAME="OriginatorIdentifierOrKey";var tl="keyAttrId",Vr="keyAttr",XL=[tl,Vr],Ln=class s extends q{constructor(e={}){super(),this.keyAttrId=y(e,tl,s.defaultValues(tl)),Vr in e&&(this.keyAttr=y(e,Vr,s.defaultValues(Vr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tl:return b;case Vr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tl:return typeof t=="string"&&t===b;case Vr:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({optional:t.optional||!0,name:t.blockName||b,value:[new ie({name:t.keyAttrId||b}),new be({optional:!0,name:t.keyAttr||b})]})}fromSchema(e){W(e,XL);let t=K(e,e,s.schema({names:{keyAttrId:tl,keyAttr:Vr}}));_.assertSchema(t,this.className),this.keyAttrId=t.result.keyAttrId.valueBlock.toString(),Vr in t.result&&(this.keyAttr=t.result.keyAttr);}toSchema(){let e=[];return e.push(new ie({value:this.keyAttrId})),Vr in this&&e.push(this.keyAttr),new k({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Vr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};Ln.CLASS_NAME="OtherKeyAttribute";var Wo="subjectKeyIdentifier",qi="date",Fi="other",QL=[Wo,qi,Fi],ch=class s extends q{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Wo,s.defaultValues(Wo)),qi in e&&(this.date=y(e,qi,s.defaultValues(qi))),Fi in e&&(this.other=y(e,Fi,s.defaultValues(Fi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new z;case qi:return new nt;case Fi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wo:return t.isEqual(s.defaultValues(Wo));case qi:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Fi:return t.keyAttrId===b&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.subjectKeyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,QL);let t=K(e,e,s.schema({names:{subjectKeyIdentifier:Wo,date:qi,other:{names:{blockName:Fi}}}}));_.assertSchema(t,this.className),this.subjectKeyIdentifier=t.result.subjectKeyIdentifier,qi in t.result&&(this.date=t.result.date),Fi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};ch.CLASS_NAME="RecipientKeyIdentifier";var Wy="variant",Jy="value",ej=["blockName"],fa=class s extends q{constructor(e={}){super(),this.variant=y(e,Wy,s.defaultValues(Wy)),this.value=y(e,Jy,s.defaultValues(Jy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:return -1;case Jy:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wy:return t===-1;case Jy:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema(t.issuerAndSerialNumber||{names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:ch.schema(t.rKeyId||{names:{blockName:t.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,ej);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new ch({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new V({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};fa.CLASS_NAME="KeyAgreeRecipientIdentifier";var sl="rid",Jo="encryptedKey",tj=[sl,Jo],uh=class s extends q{constructor(e={}){super(),this.rid=y(e,sl,s.defaultValues(sl)),this.encryptedKey=y(e,Jo,s.defaultValues(Jo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sl:return new fa;case Jo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sl:return t.variant===-1&&!("value"in t);case Jo:return t.isEqual(s.defaultValues(Jo));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[fa.schema(t.rid||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,tj);let t=K(e,e,s.schema({names:{rid:{names:{blockName:sl}},encryptedKey:Jo}}));_.assertSchema(t,this.className),this.rid=new fa({schema:t.result.rid}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};uh.CLASS_NAME="RecipientEncryptedKey";var zy="encryptedKeys",SP="RecipientEncryptedKeys",sj=[SP],Sc=class s extends q{constructor(e={}){super(),this.encryptedKeys=y(e,zy,s.defaultValues(zy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case zy:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.RecipientEncryptedKeys||b,value:uh.schema()})]})}fromSchema(e){W(e,sj);let t=K(e,e,s.schema({names:{RecipientEncryptedKeys:SP}}));_.assertSchema(t,this.className),this.encryptedKeys=Array.from(t.result.RecipientEncryptedKeys,r=>new uh({schema:r}));}toSchema(){return new k({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Sc.CLASS_NAME="RecipientEncryptedKeys";var rl="version",nl="originator",An="ukm",il="keyEncryptionAlgorithm",al="recipientEncryptedKeys",Yy="recipientCertificate",Zy="recipientPublicKey",rj=[rl,nl,An,il,al],lh=class s extends q{constructor(e={}){super(),this.version=y(e,rl,s.defaultValues(rl)),this.originator=y(e,nl,s.defaultValues(nl)),An in e&&(this.ukm=y(e,An,s.defaultValues(An))),this.keyEncryptionAlgorithm=y(e,il,s.defaultValues(il)),this.recipientEncryptedKeys=y(e,al,s.defaultValues(al)),this.recipientCertificate=y(e,Yy,s.defaultValues(Yy)),this.recipientPublicKey=y(e,Zy,s.defaultValues(Zy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rl:return 0;case nl:return new bc;case An:return new z;case il:return new j;case al:return new Sc;case Yy:return new ts;case Zy:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rl:return t===0;case nl:return t.variant===-1&&!("value"in t);case An:return t.isEqual(s.defaultValues(An));case il:return t.algorithmId===b&&!("algorithmParams"in t);case al:return t.encryptedKeys.length===0;case Yy:return !1;case Zy:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({idBlock:{tagClass:3,tagNumber:0},value:[bc.schema(t.originator||{})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:t.ukm||b})]}),j.schema(t.keyEncryptionAlgorithm||{}),Sc.schema(t.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,rj);let t=K(e,e,s.schema({names:{version:rl,originator:{names:{blockName:nl}},ukm:An,keyEncryptionAlgorithm:{names:{blockName:il}},recipientEncryptedKeys:{names:{blockName:al}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.originator=new bc({schema:t.result.originator}),An in t.result&&(this.ukm=t.result.ukm),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Sc({schema:t.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};lh.CLASS_NAME="KeyAgreeRecipientInfo";var zo="keyIdentifier",Ki="date",Gi="other",nj=[zo,Ki,Gi],vc=class s extends q{constructor(e={}){super(),this.keyIdentifier=y(e,zo,s.defaultValues(zo)),Ki in e&&(this.date=y(e,Ki,s.defaultValues(Ki))),Gi in e&&(this.other=y(e,Gi,s.defaultValues(Gi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zo:return new z;case Ki:return new nt;case Gi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case zo:return t.isEqual(s.defaultValues(zo));case Ki:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Gi:return t.compareWithDefault("keyAttrId",t.keyAttrId)&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.keyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,nj);let t=K(e,e,s.schema({names:{keyIdentifier:zo,date:Ki,other:{names:{blockName:Gi}}}}));_.assertSchema(t,this.className),this.keyIdentifier=t.result.keyIdentifier,Ki in t.result&&(this.date=t.result.date),Gi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};vc.CLASS_NAME="KEKIdentifier";var ol="version",cl="kekid",ul="keyEncryptionAlgorithm",Yo="encryptedKey",Xy="preDefinedKEK",ij=[ol,cl,ul,Yo],hh=class s extends q{constructor(e={}){super(),this.version=y(e,ol,s.defaultValues(ol)),this.kekid=y(e,cl,s.defaultValues(cl)),this.keyEncryptionAlgorithm=y(e,ul,s.defaultValues(ul)),this.encryptedKey=y(e,Yo,s.defaultValues(Yo)),this.preDefinedKEK=y(e,Xy,s.defaultValues(Xy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return 0;case cl:return new vc;case ul:return new j;case Yo:return new z;case Xy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"KEKRecipientInfo":return t===s.defaultValues(ol);case cl:return t.compareWithDefault("keyIdentifier",t.keyIdentifier)&&!("date"in t)&&!("other"in t);case ul:return t.algorithmId===b&&!("algorithmParams"in t);case Yo:return t.isEqual(s.defaultValues(Yo));case Xy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),vc.schema(t.kekid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,ij);let t=K(e,e,s.schema({names:{version:ol,kekid:{names:{blockName:cl}},keyEncryptionAlgorithm:{names:{blockName:ul}},encryptedKey:Yo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.kekid=new vc({schema:t.result.kekid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[new L({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};hh.CLASS_NAME="KEKRecipientInfo";var ll="version",Wi="keyDerivationAlgorithm",hl="keyEncryptionAlgorithm",Zo="encryptedKey",Qy="password",aj=[ll,Wi,hl,Zo],fh=class s extends q{constructor(e={}){super(),this.version=y(e,ll,s.defaultValues(ll)),Wi in e&&(this.keyDerivationAlgorithm=y(e,Wi,s.defaultValues(Wi))),this.keyEncryptionAlgorithm=y(e,hl,s.defaultValues(hl)),this.encryptedKey=y(e,Zo,s.defaultValues(Zo)),this.password=y(e,Qy,s.defaultValues(Qy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ll:return -1;case Wi:return new j;case hl:return new j;case Zo:return new z;case Qy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ll:return t===-1;case Wi:case hl:return t.algorithmId===b&&!("algorithmParams"in t);case Zo:return t.isEqual(s.defaultValues(Zo));case Qy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:j.schema().valueBlock.value}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,aj);let t=K(e,e,s.schema({names:{version:ll,keyDerivationAlgorithm:Wi,keyEncryptionAlgorithm:{names:{blockName:hl}},encryptedKey:Zo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Wi in t.result&&(this.keyDerivationAlgorithm=new j({schema:new k({value:t.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return e.push(new L({value:this.version})),this.keyDerivationAlgorithm&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};fh.CLASS_NAME="PasswordRecipientInfo";var fl="oriType",Xo="oriValue",oj=[fl,Xo],A0=class s extends q{constructor(e={}){super(),this.oriType=y(e,fl,s.defaultValues(fl)),this.oriValue=y(e,Xo,s.defaultValues(Xo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fl:return b;case Xo:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fl:return t===b;case Xo:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.oriType||b}),new be({name:t.oriValue||b})]})}fromSchema(e){W(e,oj);let t=K(e,e,s.schema({names:{oriType:fl,oriValue:Xo}}));_.assertSchema(t,this.className),this.oriType=t.result.oriType.valueBlock.toString(),this.oriValue=t.result.oriValue;}toSchema(){return new k({value:[new ie({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return s.compareWithDefault(Xo,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};A0.CLASS_NAME="OtherRecipientInfo";var ew="variant",nd="value",cj=["blockName"],Tn=class s extends q{constructor(e={}){super(),this.variant=y(e,ew,s.defaultValues(ew)),nd in e&&(this.value=y(e,nd,s.defaultValues(nd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ew:return -1;case nd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ew:return t===s.defaultValues(e);case nd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[ah.schema({names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:lh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:hh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:fh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:A0.schema().valueBlock.value})]})}fromSchema(e){W(e,cj);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));if(_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new ah({schema:t.result.blockName});else {let r=new k({value:t.result.blockName.valueBlock.value});switch(t.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new lh({schema:r});break;case 2:this.variant=3,this.value=new hh({schema:r});break;case 3:this.variant=4,this.value=new fh({schema:r});break;case 4:this.variant=5,this.value=new A0({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Je.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Tn.CLASS_NAME="RecipientInfo";var Ji="hashAlgorithm",zi="maskGenAlgorithm",Yi="pSourceAlgorithm",uj=[Ji,zi,Yi],sh=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Ji,s.defaultValues(Ji)),this.maskGenAlgorithm=y(e,zi,s.defaultValues(zi)),this.pSourceAlgorithm=y(e,Yi,s.defaultValues(Yi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ji:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case zi:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Yi:return new j({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[j.schema(t.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,uj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Ji}},maskGenAlgorithm:{names:{blockName:zi}},pSourceAlgorithm:{names:{blockName:Yi}}}}));_.assertSchema(t,this.className),Ji in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),zi in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Yi in t.result&&(this.pSourceAlgorithm=new j({schema:t.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};sh.CLASS_NAME="RSAESOAEPParams";var dl="keyInfo",Zi="entityUInfo",ml="suppPubInfo",lj=[dl,Zi,ml],I0=class s extends q{constructor(e={}){super(),this.keyInfo=y(e,dl,s.defaultValues(dl)),Zi in e&&(this.entityUInfo=y(e,Zi,s.defaultValues(Zi))),this.suppPubInfo=y(e,ml,s.defaultValues(ml)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return new j;case Zi:return new z;case ml:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dl:case Zi:case ml:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyInfo||{}),new V({name:t.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new V({name:t.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,lj);let t=K(e,e,s.schema({names:{keyInfo:{names:{blockName:dl}},entityUInfo:Zi,suppPubInfo:ml}}));_.assertSchema(t,this.className),this.keyInfo=new j({schema:t.result.keyInfo}),Zi in t.result&&(this.entityUInfo=t.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=t.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new k({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};I0.CLASS_NAME="ECCCMSSharedInfo";var pl="version",Xi="originatorInfo",gl="recipientInfos",yl="encryptedContentInfo",Qi="unprotectedAttrs",hj=[pl,Xi,gl,yl,Qi],Xk={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},fj={"P-256":256,"P-384":384,"P-521":528},C0=class s extends q{constructor(e={}){super(),this.version=y(e,pl,s.defaultValues(pl)),Xi in e&&(this.originatorInfo=y(e,Xi,s.defaultValues(Xi))),this.recipientInfos=y(e,gl,s.defaultValues(gl)),this.encryptedContentInfo=y(e,yl,s.defaultValues(yl)),Qi in e&&(this.unprotectedAttrs=y(e,Qi,s.defaultValues(Qi))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pl:return 0;case Xi:return new th;case gl:return [];case yl:return new Gt;case Qi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case pl:return t===s.defaultValues(e);case Xi:return t.certs.certificates.length===0&&t.crls.crls.length===0;case gl:case Qi:return t.length===0;case yl:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:th.schema().valueBlock.value}),new dt({value:[new Ae({name:t.recipientInfos||b,value:Tn.schema()})]}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,hj);let t=K(e,e,s.schema({names:{version:pl,originatorInfo:Xi,recipientInfos:gl,encryptedContentInfo:{names:{blockName:yl}},unprotectedAttrs:Qi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Xi in t.result&&(this.originatorInfo=new th({schema:new k({value:t.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(t.result.recipientInfos,r=>new Tn({schema:r})),this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Qi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),this.originatorInfo&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new dt({value:Array.from(this.recipientInfos,t=>t.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,t=>t.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}addRecipientByCertificate(e,t,r,n=Oe(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},Xk,t||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new j({algorithmId:u,algorithmParams:new ft});o=new sh({hashAlgorithm:l,maskGenAlgorithm:new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new ft;}let c=new ah({version:0,rid:new Ht({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new j({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Tn({variant:1,value:c}));}break;case 2:{let a=new fa({variant:1,value:new Ht({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,t={},r,n=Oe(!0)){if(et.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!t.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),t.keyIdentifier=i;}switch(t.hmacHashAlgorithm||(t.hmacHashAlgorithm="SHA-512"),t.iterationCount===void 0&&(t.iterationCount=2048),t.keyEncryptionAlgorithm||(t.keyEncryptionAlgorithm={name:"AES-KW",length:256}),t.keyEncryptionAlgorithmParams||(t.keyEncryptionAlgorithmParams=new ft),r){case 1:{let i=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new hh({version:4,kekid:new vc({keyIdentifier:new z({valueHex:t.keyIdentifier})}),keyEncryptionAlgorithm:new j({algorithmId:i,algorithmParams:t.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Tn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:t.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ha({salt:new z({valueHex:a}),iterationCount:t.iterationCount,prf:new j({algorithmId:c,algorithmParams:new ft})}),l=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),m=new fh({version:0,keyDerivationAlgorithm:new j({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new j({algorithmId:l,algorithmParams:t.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Tn({variant:4,value:m}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,t,r,n=Oe(!0)){let i=Object.assign({},Xk,r||{}),a=new fa({variant:2,value:new ch({subjectKeyIdentifier:new z({valueHex:t})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,t,r,n=Oe(!0)){let i=new uh({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:t.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new j({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:t.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let m={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new j({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Sc({encryptedKeys:[i]})},w=new lh(Object.assign(m,r));this.recipientInfos.push(new Tn({variant:2,value:w}));}async encrypt(e,t,r=Oe(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(t),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Gt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new j({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let m=async C=>{let D=this.recipientInfos[C].value,U,T;if(D.recipientPublicKey)U=D.recipientPublicKey.algorithm.namedCurve,T=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":U="P-256";break;case"1.3.132.0.34":U="P-384";break;case"1.3.132.0.35":U="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:U},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let P=fj[U],B=await r.generateKey({name:"ECDH",namedCurve:U},!0,["deriveBits"]),G=await r.exportKey("spki",B.publicKey),se=await r.deriveBits({name:"ECDH",public:T},B.privateKey,P),X=new j({schema:D.keyEncryptionAlgorithm.algorithmParams}),ae=r.getAlgorithmByOID(X.algorithmId,!0,"aesKWAlgorithm"),fe=ae.length,te=new ArrayBuffer(4),oe=new Uint8Array(te);for(let $=3;$>=0;$--)oe[$]=fe,fe>>=8;let _e=new I0({keyInfo:new j({algorithmId:X.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:te})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),Z=await Hk(J.kdf,se,ae.length,_e,r),ce=await r.importKey("raw",Z,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ce,{name:"AES-KW"}),le=new bc;return le.variant=3,le.value=oh.fromBER(G),D.originator=le,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:B.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(U.name==="RSA-OAEP"){let T=D.keyEncryptionAlgorithm.algorithmParams,P=new sh({schema:T});if(U.hash=r.getAlgorithmByOID(P.hashAlgorithm.algorithmId),!("name"in U.hash))throw new Error(`Incorrect OID for hash algorithm: ${P.hashAlgorithm.algorithmId}`)}try{let T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:U,usages:["encrypt","wrapKey"]}},r),P=await r.encrypt(T.algorithm,T,l);D.encryptedKey=new z({valueHex:P});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),T=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),U,!0,["wrapKey"]),P=await r.wrapKey("raw",c,T,U);D.encryptedKey=new z({valueHex:P});},v=async C=>{let D=this.recipientInfos[C].value,U;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{U=new ha({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let T=new Uint8Array(D.password),P=await r.importKey("raw",T,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),G="SHA-1";U.prf&&(G=r.getAlgorithmByOID(U.prf.algorithmId,!0,"prfAlgorithm").hash.name);let se=new Uint8Array(U.salt.valueBlock.valueHex),X=U.iterationCount,ae=await r.deriveKey({name:"PBKDF2",hash:{name:G},salt:se,iterations:X},P,B,!0,["wrapKey"]),fe=await r.wrapKey("raw",c,ae,B);D.encryptedKey=new z({valueHex:fe});},A=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:A.push(await w(C));break;case 2:A.push(await m(C));break;case 3:A.push(await E(C));break;case 4:A.push(await v(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return A}async decrypt(e,t,r=Oe(!0)){let n=t||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async A=>{let C=this.recipientInfos[A].value,D,U,T,P=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${A}`);D=J.valueBlock.toString();}else if(P.value.algorithm.algorithmParams){let J=P.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect originator for index ${A}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":U="P-256",T=256;break;case"1.3.132.0.34":U="P-384",T=384;break;case"1.3.132.0.35":U="P-521",T=528;break;default:throw new Error(`Incorrect curve OID for index ${A}`)}let B,G=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?B=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:U},!0,["deriveBits"]):(B=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(G=n.crypto.subtle)),"algorithmParams"in P.value.algorithm||(P.value.algorithm.algorithmParams=new ie({value:D}));let se=P.value.toSchema().toBER(!1),X=await r.importKey("spki",se,{name:"ECDH",namedCurve:U},!0,[]),ae=await G.deriveBits({name:"ECDH",public:X},B,T);async function fe(J){J=J||!1;let Z=new j({schema:C.keyEncryptionAlgorithm.algorithmParams}),ce=r.getAlgorithmByOID(Z.algorithmId,!0,"kwAlgorithm"),Ee=ce.length,le=new ArrayBuffer(4),$=new Uint8Array(le);for(let Fe=3;Fe>=0;Fe--)$[Fe]=Ee,Ee>>=8;let ee={algorithmId:Z.algorithmId};J&&(ee.algorithmParams=new ft);let xe=new I0({keyInfo:new j(ee),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:le})}).toSchema().toBER(!1),ke=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!ke.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return Hk(ke.kdf,ae,ce.length,xe,r)}let te=await fe(),oe=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),pe=await oe(te),_e=async J=>{let Z=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ce=r.getAlgorithmByOID(Z,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ce,!0,["decrypt"])};try{return await _e(pe)}catch{let J=await fe(!0),Z=await oe(J);return _e(Z)}},a=async A=>{let C=this.recipientInfos[A].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let se=C.keyEncryptionAlgorithm.algorithmParams,X=new sh({schema:se});if(D.hash=r.getAlgorithmByOID(X.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${X.hashAlgorithm.algorithmId}`)}let U,T=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?U=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(U=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(T=n.crypto.subtle));let P=await T.decrypt(U.algorithm,U,C.encryptedKey.valueBlock.valueHexView),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,G=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!("name"in G))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.importKey("raw",P,G,!0,["decrypt"])},o=async A=>{let C=this.recipientInfos[A].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),U=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),T=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,P=r.getAlgorithmByOID(T,!0,"contentEncryptionAlgorithm");if(!P.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${T}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,U,D,P,!0,["decrypt"])},c=async A=>{let C=this.recipientInfos[A].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ha({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let U=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),T=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),P=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",B=new Uint8Array(D.salt.valueBlock.valueHex),G=D.iterationCount,se=await r.deriveKey({name:"PBKDF2",hash:{name:P},salt:B,iterations:G},U,T,!0,["unwrapKey"]),X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ae=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,se,T,ae,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,m=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let v=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:m.name,iv:E},u,v)}};C0.CLASS_NAME="EnvelopedData";var Au="safeContents",id="parsedValue",Qk="contentInfos",N0=class s extends q{constructor(e={}){super(),this.safeContents=y(e,Au,s.defaultValues(Au)),id in e&&(this.parsedValue=y(e,id,s.defaultValues(id))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Au:return [];case id:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Au:return t.length===0;case id:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.contentInfos||b,value:mt.schema()})]})}fromSchema(e){W(e,[Qk]);let t=K(e,e,s.schema({names:{contentInfos:Qk}}));_.assertSchema(t,this.className),this.safeContents=Array.from(t.result.contentInfos,r=>new mt({schema:r}));}toSchema(){return new k({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,t=Oe(!0)){if(Je.assert(e,Au),et.assert(e.safeContents,Au,"Array"),e.safeContents.length!==this.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case uI:{et.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:la.fromBER(o)});}break;case fP:{let o=new C0({schema:n.content});Je.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,m=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},t);this.parsedValue.safeContents.push({privacyMode:2,value:la.fromBER(m)});}break;case dP:{let o=new Ic({schema:n.content});Je.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},t);this.parsedValue.safeContents.push({privacyMode:1,value:la.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(et.assert(this.parsedValue,"this.parsedValue","object"),et.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),et.assert(e,"parameters","object"),Je.assert(e,"safeContents"),et.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Je.assert("content",n,"privacyMode","value"),et.assert(n.value,"content.value",la),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Ic,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new C0,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Je.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,t),await i.encrypt(c,a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};N0.CLASS_NAME="AuthenticatedSafe";var Qo="hashAlgorithm",wl="issuerNameHash",bl="issuerKeyHash",ec="serialNumber",dj=[Qo,wl,bl,ec],xs=class s extends q{static async create(e,t,r=Oe(!0)){let n=new s;return await n.createForCertificate(e,t,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,Qo,s.defaultValues(Qo)),this.issuerNameHash=y(e,wl,s.defaultValues(wl)),this.issuerKeyHash=y(e,bl,s.defaultValues(bl)),this.serialNumber=y(e,ec,s.defaultValues(ec)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qo:return new j;case wl:case bl:return new z;case ec:return new L;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qo:return t.algorithmId===b&&!("algorithmParams"in t);case wl:case bl:case ec:return t.isEqual(s.defaultValues(ec));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithmObject||{names:{blockName:t.hashAlgorithm||b}}),new z({name:t.issuerNameHash||b}),new z({name:t.issuerKeyHash||b}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,dj);let t=K(e,e,s.schema({names:{hashAlgorithm:Qo,issuerNameHash:wl,issuerKeyHash:bl,serialNumber:ec}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.issuerNameHash=t.result.issuerNameHash,this.issuerKeyHash=t.result.issuerKeyHash,this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,t,r=Oe(!0)){Je.assert(t,Qo,"issuerCertificate");let n=r.getOIDByAlgorithm({name:t.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new j({algorithmId:n,algorithmParams:new ft});let i=t.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:t.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:t.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};xs.CLASS_NAME="CertID";var Sl="certID",vl="certStatus",El="thisUpdate",ea="nextUpdate",tc="singleExtensions",mj=[Sl,vl,El,ea,tc],k0=class s extends q{constructor(e={}){super(),this.certID=y(e,Sl,s.defaultValues(Sl)),this.certStatus=y(e,vl,s.defaultValues(vl)),this.thisUpdate=y(e,El,s.defaultValues(El)),ea in e&&(this.nextUpdate=y(e,ea,s.defaultValues(ea))),tc in e&&(this.singleExtensions=y(e,tc,s.defaultValues(tc))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sl:return new xs;case vl:return {};case El:case ea:return new Date(0,0,0);case tc:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Sl:return xs.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&xs.compareWithDefault("issuerNameHash",t.issuerNameHash)&&xs.compareWithDefault("issuerKeyHash",t.issuerKeyHash)&&xs.compareWithDefault("serialNumber",t.serialNumber);case vl:return Object.keys(t).length===0;case El:case ea:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.certID||{}),new it({value:[new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new V({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new nt,new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Or]})]}),new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new nt({name:t.thisUpdate||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new nt({name:t.nextUpdate||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.singleExtensions||{})]})]})}fromSchema(e){W(e,mj);let t=K(e,e,s.schema({names:{certID:{names:{blockName:Sl}},certStatus:vl,thisUpdate:El,nextUpdate:ea,singleExtensions:{names:{blockName:tc}}}}));_.assertSchema(t,this.className),this.certID=new xs({schema:t.result.certID}),this.certStatus=t.result.certStatus,this.thisUpdate=t.result.thisUpdate.toDate(),ea in t.result&&(this.nextUpdate=t.result.nextUpdate.toDate()),tc in t.result&&(this.singleExtensions=Array.from(t.result.singleExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new nt({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new nt({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.singleExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,t=>t.toJSON())),e}};k0.CLASS_NAME="SingleResponse";var tw="tbs",sc="version",jm="responderID",Hm="producedAt",_m="responses",xl="responseExtensions",Cc="ResponseData",dw=`${Cc}.${sc}`,Al=`${Cc}.${jm}`,RA=`${Cc}.${Hm}`,VA=`${Cc}.${_m}`,mw=`${Cc}.${xl}`,pj=[Cc,dw,Al,RA,VA,mw],gr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,tw,s.defaultValues(tw))),sc in e&&(this.version=y(e,sc,s.defaultValues(sc))),this.responderID=y(e,jm,s.defaultValues(jm)),this.producedAt=y(e,Hm,s.defaultValues(Hm)),this.responses=y(e,_m,s.defaultValues(_m)),xl in e&&(this.responseExtensions=y(e,xl,s.defaultValues(xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sc:return 0;case tw:return It;case jm:return {};case Hm:return new Date(0,0,0);case _m:case xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tw:return t.byteLength===0;case jm:return Object.keys(t).length===0;case Hm:return t===s.defaultValues(e);case _m:case xl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||Cc,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.version||dw})]}),new it({value:[new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:1},value:[at.schema(t.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:t.ResponseDataByKey||"ResponseData.byKey"})]})]}),new nt({name:t.producedAt||RA}),new k({value:[new Ae({name:VA,value:k0.schema(t.response||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.extensions||{names:{blockName:mw}})]})]})}fromSchema(e){W(e,pj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.ResponseData.valueBeforeDecodeView,dw in t.result&&(this.version=t.result[dw].valueBlock.valueDec),t.result[Al].idBlock.tagNumber===1?this.responderID=new at({schema:t.result[Al].valueBlock.value[0]}):this.responderID=t.result[Al].valueBlock.value[0],this.producedAt=t.result[RA].toDate(),this.responses=Array.from(t.result[VA],r=>new k0({schema:r})),mw in t.result&&(this.responseExtensions=Array.from(t.result[mw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Response Data"),t=r.result;}else {let r=[];sc in this&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.responderID instanceof at?r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new nt({valueDate:this.producedAt})),r.push(new k({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return sc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,t=>t.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,t=>t.toJSON())),e}};gr.CLASS_NAME="ResponseData";var pA="trustedCerts",gA="certs",yA="crls",wA="ocsps",bA="checkDate",SA="findOrigin",vA="findIssuer",fc;(function(s){s[s.unknown=-1]="unknown",s[s.success=0]="success",s[s.noRevocation=11]="noRevocation",s[s.noPath=60]="noPath",s[s.noValidPath=97]="noValidPath";})(fc||(fc={}));var ca=class s extends Error{constructor(e,t){super(t),this.name=s.NAME,this.code=e,this.message=t;}};ca.NAME="ChainValidationError";function gj(s,e){for(let t=0;t<e.length;t++)if(Se.BufferSourceConverter.isEqual(s.tbsView,e[t].tbsView))return !0;return !1}var P0=class s{constructor(e={}){this.trustedCerts=y(e,pA,this.defaultValues(pA)),this.certs=y(e,gA,this.defaultValues(gA)),this.crls=y(e,yA,this.defaultValues(yA)),this.ocsps=y(e,wA,this.defaultValues(wA)),this.checkDate=y(e,bA,this.defaultValues(bA)),this.findOrigin=y(e,SA,this.defaultValues(SA)),this.findIssuer=y(e,vA,this.defaultValues(vA));}static defaultFindOrigin(e,t){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of t.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of t.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,t,r=Oe(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===oI&&u.parsedValue instanceof o0){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let m=!1;for(let w of u.extensions)if(w.extnID===EU&&w.parsedValue){m=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(m)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of t.trustedCerts)c(u);for(let u of t.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case pA:return [];case gA:return [];case yA:return [];case wA:return [];case bA:return new Date;case SA:return s.defaultFindOrigin;case vA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,t=Oe(!0)){let r=[],n=async(v,A)=>{let C=[];function D(T){let P=!0;for(let B=0;B<T.length;B++){for(let G=0;G<T.length;G++)if(G!==B&&T[B]===T[G]){P=!1;break}if(!P)break}return P}if(gj(v,this.trustedCerts))return [[v]];let U=await this.findIssuer(v,this,A);if(U.length===0)throw new Error("No valid certificate paths found");for(let T=0;T<U.length;T++){if(Se.BufferSourceConverter.isEqual(U[T].tbsView,v.tbsView)){C.push([U[T]]);continue}let P=await n(U[T],A);for(let B=0;B<P.length;B++){let G=P[B].slice();G.splice(0,0,U[T]),D(G)?C.push(G):C.push(P[B]);}}return C},i=async v=>{let A=[],C=[],D=[];if(A.push(...r.filter(U=>v.issuer.isEqual(U.subject))),A.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(U=>U.issuer.isEqual(v.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let U=0;U<C.length;U++){let T=C[U];if(!(T.nextUpdate&&T.nextUpdate.value<this.checkDate))for(let P=0;P<A.length;P++)try{if(await C[U].verify({issuerCertificate:A[P]},t)){D.push({crl:C[U],certificate:A[P]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(v,A)=>{let C=t.getAlgorithmByOID(v.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let T=await this.ocsps[D].getCertificateStatus(v,A,t);if(T.isForCertificate)return T.status===0?0:1}return 2};async function o(v,A=!1){let C=!1,D=!1,U=!1,T=!1;if(v.extensions){for(let P=0;P<v.extensions.length;P++){let B=v.extensions[P];if(B.critical&&!B.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${B.extnID}`};if(B.extnID===xU){U=!0;let G=new Uint8Array(B.parsedValue.valueBlock.valueHex);(G[0]&4)===4&&(D=!0),(G[0]&2)===2&&(T=!0);}B.extnID===iI&&"cA"in B.parsedValue&&B.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(U===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&U===!0&&A&&T===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(v,A)=>{for(let C=0;C<v.length;C++)if(v[C].notBefore.value>A||v[C].notAfter.value<A)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(v.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=v.length-2;C>=0;C--)if(v[C].issuer.isEqual(v[C].subject)===!1&&v[C].issuer.isEqual(v[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<v.length-1;C++){let D=2,U={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(v[C],v[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(U=await i(v[C]),U.status===0&&U.result)for(let T=0;T<U.result.length;T++){if(U.result[T].crl.isCertificateRevoked(v[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(U.result[T].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&U.status===2&&e){let T=v[C+1],P=!1;if(T.extensions)for(let B of T.extensions)switch(B.extnID){case oP:case aI:case cI:P=!0;break}if(P)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}}for(let[C,D]of v.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let v=0;v<r.length;v++)for(let A=0;A<r.length;A++)if(v!==A&&Se.BufferSourceConverter.isEqual(r[v].tbsView,r[A].tbsView)){r.splice(A,1),v=0;break}let u=r[r.length-1],l,m=[u];if(l=await n(u,t),l.length===0)throw new ca(fc.noPath,"Unable to find certificate path");for(let v=l.length-1;v>=0;v--){let A=!1;for(let C=0;C<l[v].length;C++){let D=l[v][C];for(let U=0;U<this.trustedCerts.length;U++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[U].tbsView)){A=!0;break}if(A)break}A||l.splice(v,1);}if(l.length===0)throw new ca(fc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let v=0;v<l.length;v++)l[v].length<w&&(w=l[v].length,E=v);for(let v=0;v<l[E].length;v++)m.push(l[E][v]);if(l=await c(m,this.checkDate),l.result===!1)throw l;return m}async verify(e={},t=Oe(!0)){function r(c,u){let l=oa(c),m=oa(u),w=l.split("."),E=m.split("."),v=w.length,A=E.length;if(v===0||A===0||v<A)return !1;for(let C=0;C<v;C++)if(w[C].length===0)return !1;for(let C=0;C<A;C++)if(E[C].length===0){if(C===0){if(A===1)return !1;continue}return !1}for(let C=0;C<A;C++)if(E[A-1-C].length!==0&&w[v-1-C].localeCompare(E[A-1-C])!==0)return !1;return !0}function n(c,u){let l=oa(c),m=oa(u),w=l.split("@"),E=m.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let A=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:A.length===C.length}return !1}return l.localeCompare(m)===0}function i(c,u){let l=oa(c),m=oa(u),w=l.split("/");if(m.split("/").length>1)return !1;if(w.length>1){for(let A=0;A<w.length;A++)if(w[A].length>0&&w[A].charAt(w[A].length-1)!==":"){l=w[A].split(":")[0];break}}if(r(l,m)){let A=l.split("."),C=m.split(".");return C[0].length===0?!0:A.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,m=u.valueBlock.valueHexView;if(l.length===4&&m.length===8){for(let w=0;w<4;w++)if((l[w]^m[w])&m[w+4])return !1;return !0}if(l.length===16&&m.length===32){for(let w=0;w<16;w++)if((l[w]^m[w])&m[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,m=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let v=m;v<c.typesAndValues.length;v++)if(E=c.typesAndValues[v].isEqual(u.typesAndValues[w]),c.typesAndValues[v].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(m===0||m===v){m=v+1;break}else return !1;if(E===!1)return !1}return m===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Gs],l=e.initialExplicitPolicy||!1,m=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],v=e.initialExcludedSubtreesSet||[],A=e.initialRequiredNameForms||[],C=l,D=m,U=w,T=[!1,!1,!1],P=0,B=0,G=0,se=E,X=v,ae=A,fe=1;this.certs=await this.sort(c,t);let te=[];te.push(Gs);let oe=[],pe=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)pe[$]=!0;oe.push(pe);let _e=new Array(this.certs.length-1),J=new Array(this.certs.length-1),Z=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$];if(ee.extensions){for(let ne=0;ne<ee.extensions.length;ne++){let xe=ee.extensions[ne];if(xe.extnID===cP){J[$]=xe.parsedValue;for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){delete oe[ke][$];break}for(let ke=0;ke<xe.parsedValue.certificatePolicies.length;ke++){let Fe=-1,Rt=xe.parsedValue.certificatePolicies[ke].policyIdentifier;for(let Me=0;Me<te.length;Me++)if(Rt===te[Me]){Fe=Me;break}if(Fe===-1){te.push(Rt);let Me=new Array(this.certs.length-1);Me[$]=!0,oe.push(Me);}else oe[Fe][$]=!0;}}if(xe.extnID===uP){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};_e[$]=xe.parsedValue;}xe.extnID===lP&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,Z=$):T[0]===!1?(T[0]=!0,P=xe.parsedValue.requireExplicitPolicy):P=P>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:P,xe.parsedValue.inhibitPolicyMapping===0?D=!0:T[1]===!1?(T[1]=!0,B=xe.parsedValue.inhibitPolicyMapping+1):B=B>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:B),xe.extnID===BU&&U===!1&&(xe.parsedValue.valueBlock.valueDec===0?U=!0:T[2]===!1?(T[2]=!0,G=xe.parsedValue.valueBlock.valueDec):G=G>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:G);}if(U===!0){let ne=-1;for(let xe=0;xe<te.length;xe++)if(te[xe]===Gs){ne=xe;break}ne!==-1&&delete oe[0][$];}C===!1&&T[0]===!0&&(P--,P===0&&(C=!0,Z=$,T[0]=!1)),D===!1&&T[1]===!0&&(B--,B===0&&(D=!0,T[1]=!1)),U===!1&&T[2]===!0&&(G--,G===0&&(U=!0,T[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof _e[$+1]<"u")for(let ee=0;ee<_e[$+1].mappings.length;ee++){if(_e[$+1].mappings[ee].issuerDomainPolicy===Gs||_e[$+1].mappings[ee].subjectDomainPolicy===Gs)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ne=-1,xe=-1;for(let ke=0;ke<te.length;ke++)te[ke]===_e[$+1].mappings[ee].issuerDomainPolicy&&(ne=ke),te[ke]===_e[$+1].mappings[ee].subjectDomainPolicy&&(xe=ke);typeof oe[ne][$]<"u"&&delete oe[ne][$];for(let ke=0;ke<J[$].certificatePolicies.length;ke++)if(_e[$+1].mappings[ee].subjectDomainPolicy===J[$].certificatePolicies[ke].policyIdentifier&&ne!==-1&&xe!==-1)for(let Fe=0;Fe<=$;Fe++)typeof oe[xe][Fe]<"u"&&(oe[ne][Fe]=!0,delete oe[xe][Fe]);}for(let $=0;$<te.length;$++)if(te[$]===Gs)for(let ee=0;ee<Z;ee++)delete oe[$][ee];let ce=[];for(let $=0;$<oe.length;$++){let ee=!0;for(let ne=0;ne<this.certs.length-1;ne++){let xe=!1;if(ne<Z&&te[$]===Gs&&te.length>1){ee=!1;break}if(typeof oe[$][ne]>"u"){if(ne>=Z){for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){oe[ke][ne]===!0&&(xe=!0);break}}if(!xe){ee=!1;break}}}ee===!0&&ce.push(te[$]);}let Ee=[];if(u.length===1&&u[0]===Gs&&C===!1)Ee=u;else if(ce.length===1&&ce[0]===Gs)Ee=u;else for(let $=0;$<ce.length;$++)for(let ee=0;ee<u.length;ee++)if(u[ee]===ce[$]||u[ee]===Gs){Ee.push(ce[$]);break}let le={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ce,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:_e,certificatePath:this.certs};if(Ee.length===0||le.result===!1)return le;fe=1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$],ne=[],xe=[],ke=[];if(ee.extensions)for(let De=0;De<ee.extensions.length;De++){let he=ee.extensions[De];he.extnID===aP&&("permittedSubtrees"in he.parsedValue&&(xe=xe.concat(he.parsedValue.permittedSubtrees)),"excludedSubtrees"in he.parsedValue&&(ke=ke.concat(he.parsedValue.excludedSubtrees))),he.extnID===sP&&(ne=ne.concat(he.parsedValue.altNames));}let Fe=ae.length<=0;for(let De=0;De<ae.length;De++)switch(ae[De].base.type){case 4:{if(ae[De].base.value.typesAndValues.length!==ee.subject.typesAndValues.length)continue;Fe=!0;for(let he=0;he<ee.subject.typesAndValues.length;he++)if(ee.subject.typesAndValues[he].type!==ae[De].base.value.typesAndValues[he].type){Fe=!1;break}if(Fe===!0)break}break;default:}if(Fe===!1)throw le.result=!1,le.resultCode=21,le.resultMessage="No necessary name form found",le;let Rt=[[],[],[],[],[]];for(let De=0;De<se.length;De++)switch(se[De].base.type){case 1:Rt[0].push(se[De]);break;case 2:Rt[1].push(se[De]);break;case 4:Rt[2].push(se[De]);break;case 6:Rt[3].push(se[De]);break;case 7:Rt[4].push(se[De]);break;default:}for(let De=0;De<5;De++){let he=!1,ss=!1,ds=Rt[De];for(let Ct=0;Ct<ds.length;Ct++){switch(De){case 0:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===1&&(ss=!0,he=he||n(ne[He].value,ds[Ct].base.value));else for(let He=0;He<ee.subject.typesAndValues.length;He++)(ee.subject.typesAndValues[He].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[He].type==="0.9.2342.19200300.100.1.3")&&(ss=!0,he=he||n(ee.subject.typesAndValues[He].value.valueBlock.value,ds[Ct].base.value));break;case 1:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===2&&(ss=!0,he=he||r(ne[He].value,ds[Ct].base.value));break;case 2:ss=!0,he=o(ee.subject,ds[Ct].base.value);break;case 3:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===6&&(ss=!0,he=he||i(ne[He].value,ds[Ct].base.value));break;case 4:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===7&&(ss=!0,he=he||a(ne[He].value,ds[Ct].base.value));break;default:}if(he)break}if(he===!1&&ds.length>0&&ss)throw le.result=!1,le.resultCode=41,le.resultMessage='Failed to meet "permitted sub-trees" name constraint',le}let Me=!1;for(let De=0;De<X.length;De++){switch(X[De].base.type){case 1:if(ne.length>=0)for(let he=0;he<ne.length;he++)ne[he].type===1&&(Me=Me||n(ne[he].value,X[De].base.value));else for(let he=0;he<ee.subject.typesAndValues.length;he++)(ee.subject.typesAndValues[he].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[he].type==="0.9.2342.19200300.100.1.3")&&(Me=Me||n(ee.subject.typesAndValues[he].value.valueBlock.value,X[De].base.value));break;case 2:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===2&&(Me=Me||r(ne[he].value,X[De].base.value));break;case 4:Me=Me||o(ee.subject,X[De].base.value);break;case 6:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===6&&(Me=Me||i(ne[he].value,X[De].base.value));break;case 7:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===7&&(Me=Me||a(ne[he].value,X[De].base.value));break;default:}if(Me)break}if(Me===!0)throw le.result=!1,le.resultCode=42,le.resultMessage='Failed to meet "excluded sub-trees" name constraint',le;se=se.concat(xe),X=X.concat(ke);}return le}catch(c){return c instanceof Error?c instanceof ca?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:fc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},pw="tbsResponseData",Mm="signatureAlgorithm",$m="signature",Il="certs",T0="BasicOCSPResponse",DA=`${T0}.${pw}`,UA=`${T0}.${Mm}`,LA=`${T0}.${$m}`,gw=`${T0}.${Il}`,yj=[DA,UA,LA,gw],Ec=class s extends q{constructor(e={}){super(),this.tbsResponseData=y(e,pw,s.defaultValues(pw)),this.signatureAlgorithm=y(e,Mm,s.defaultValues(Mm)),this.signature=y(e,$m,s.defaultValues($m)),Il in e&&(this.certs=y(e,Il,s.defaultValues(Il))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pw:return new gr;case Mm:return new j;case $m:return new Ve;case Il:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"type":{let r=gr.compareWithDefault("tbs",t.tbs)&&gr.compareWithDefault("responderID",t.responderID)&&gr.compareWithDefault("producedAt",t.producedAt)&&gr.compareWithDefault("responses",t.responses);return "responseExtensions"in t&&(r=r&&gr.compareWithDefault("responseExtensions",t.responseExtensions)),r}case Mm:return t.algorithmId===b&&!("algorithmParams"in t);case $m:return t.isEqual(s.defaultValues(e));case Il:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||T0,value:[gr.schema(t.tbsResponseData||{names:{blockName:DA}}),j.schema(t.signatureAlgorithm||{names:{blockName:UA}}),new Ve({name:t.signature||LA}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:gw,value:ts.schema(t.certs||{})})]})]})]})}fromSchema(e){W(e,yj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsResponseData=new gr({schema:t.result[DA]}),this.signatureAlgorithm=new j({schema:t.result[UA]}),this.signature=t.result[LA],gw in t.result&&(this.certs=Array.from(t.result[gw],r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}async getCertificateStatus(e,t,r=Oe(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new xs;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:t},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof at:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let m=await t.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(m,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await bP(u,r);l&&a.push(l);}if(!(await new P0({certs:a,trustedCerts:i}).verify({},t)).result)throw new Error("Validation of signer's certificate failed");return t.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Ec.CLASS_NAME="BasicOCSPResponse";var EA="tbs",xA="version",AA="subject",IA="subjectPublicKeyInfo",Iu="attributes",qm="signatureAlgorithm",Fm="signatureValue",ph="CertificationRequestInfo",wI=`${ph}.version`,bI=`${ph}.subject`,SI=`${ph}.subjectPublicKeyInfo`,cb=`${ph}.attributes`,wj=[ph,wI,bI,SI,cb,qm,Fm];function bj(s={}){let e=y(s,"names",{});return new k({name:e.CertificationRequestInfo||ph,value:[new L({name:e.CertificationRequestInfoVersion||wI}),at.schema(e.subject||{names:{blockName:bI}}),$s.schema({names:{blockName:SI}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||cb,value:yt.schema(e.attributes||{})})]})]})}var jA=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,EA,s.defaultValues(EA))),this.version=y(e,xA,s.defaultValues(xA)),this.subject=y(e,AA,s.defaultValues(AA)),this.subjectPublicKeyInfo=y(e,IA,s.defaultValues(IA)),Iu in e&&(this.attributes=y(e,Iu,s.defaultValues(Iu))),this.signatureAlgorithm=y(e,qm,s.defaultValues(qm)),this.signatureValue=y(e,Fm,s.defaultValues(Fm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case EA:return It;case xA:return 0;case AA:return new at;case IA:return new $s;case Iu:return [];case qm:return new j;case Fm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({value:[bj(t.certificationRequestInfo||{}),new k({name:t.signatureAlgorithm||qm,value:[new ie,new be({optional:!0})]}),new Ve({name:t.signatureValue||Fm})]})}fromSchema(e){W(e,wj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=t.result[wI].valueBlock.valueDec,this.subject=new at({schema:t.result[bI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[SI]}),cb in t.result&&(this.attributes=Array.from(t.result[cb],r=>new yt({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[new L({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Iu in this&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],t=>t.toSchema())})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);_.assert(r,"PKCS#10 Certificate Request"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Iu in this&&(e.attributes=Array.from(this.attributes||[],t=>t.toJSON())),e}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e=Oe(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};jA.CLASS_NAME="CertificationRequest";var rc="digestAlgorithm",nc="digest",Sj=[rc,nc],On=class s extends q{constructor(e={}){super(),this.digestAlgorithm=y(e,rc,s.defaultValues(rc)),this.digest=y(e,nc,s.defaultValues(nc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rc:return new j;case nc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rc:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case nc:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.digestAlgorithm||{names:{blockName:rc}}),new z({name:t.digest||nc})]})}fromSchema(e){W(e,Sj);let t=K(e,e,s.schema({names:{digestAlgorithm:{names:{blockName:rc}},digest:nc}}));_.assertSchema(t,this.className),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.digest=t.result.digest;}toSchema(){return new k({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};On.CLASS_NAME="DigestInfo";var Cl="eContentType",pr="eContent",vj=[Cl,pr],Rn=class s extends q{constructor(e={}){if(super(),this.eContentType=y(e,Cl,s.defaultValues(Cl)),pr in e&&(this.eContent=y(e,pr,s.defaultValues(pr)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return b;case pr:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cl:return t===b;case pr:return t.idBlock.tagClass===1&&t.idBlock.tagNumber===4?t.isEqual(s.defaultValues(pr)):!1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.eContentType||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.eContent||b})]})]})}fromSchema(e){W(e,vj);let t=K(e,e,s.schema({names:{eContentType:Cl,eContent:pr}}));_.assertSchema(t,this.className),this.eContentType=t.result.eContentType.valueBlock.toString(),pr in t.result&&(this.eContent=t.result.eContent);}toSchema(){let e=[];return e.push(new ie({value:this.eContentType})),this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new k({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Rn.CLASS_NAME="EncapsulatedContentInfo";var ic="mac",ac="macSalt",In="iterations",Ej=[ic,ac,In],Dr=class s extends q{constructor(e={}){super(),this.mac=y(e,ic,s.defaultValues(ic)),this.macSalt=y(e,ac,s.defaultValues(ac)),In in e&&(this.iterations=y(e,In,s.defaultValues(In))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ic:return new On;case ac:return new z;case In:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ic:return On.compareWithDefault("digestAlgorithm",t.digestAlgorithm)&&On.compareWithDefault("digest",t.digest);case ac:return t.isEqual(s.defaultValues(e));case In:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!0,value:[On.schema(t.mac||{names:{blockName:ic}}),new z({name:t.macSalt||ac}),new L({optional:!0,name:t.iterations||In})]})}fromSchema(e){W(e,Ej);let t=K(e,e,s.schema({names:{mac:{names:{blockName:ic}},macSalt:ac,iterations:In}}));_.assertSchema(t,this.className),this.mac=new On({schema:t.result.mac}),this.macSalt=t.result.macSalt,In in t.result&&(this.iterations=t.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new L({value:this.iterations})),new k({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};Dr.CLASS_NAME="MacData";var dc="hashAlgorithm",mc="hashedMessage",xj=[dc,mc],Ms=class s extends q{static async create(e,t,r=Oe(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,t);return new s({hashAlgorithm:new j({algorithmId:n,algorithmParams:new ft}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,dc,s.defaultValues(dc)),this.hashedMessage=y(e,mc,s.defaultValues(mc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dc:return new j;case mc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dc:return t.algorithmId===b&&!("algorithmParams"in t);case mc:return t.isEqual(s.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithm||{}),new z({name:t.hashedMessage||b})]})}fromSchema(e){W(e,xj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:dc}},hashedMessage:mc}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.hashedMessage=t.result.hashedMessage;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Ms.CLASS_NAME="MessageImprint";var Nl="reqCert",ta="singleRequestExtensions",Aj=[Nl,ta],dh=class s extends q{constructor(e={}){super(),this.reqCert=y(e,Nl,s.defaultValues(Nl)),ta in e&&(this.singleRequestExtensions=y(e,ta,s.defaultValues(ta))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nl:return new xs;case ta:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Nl:return t.isEqual(s.defaultValues(e));case ta:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.reqCert||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(t.extensions||{names:{blockName:t.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Aj);let t=K(e,e,s.schema({names:{reqCert:{names:{blockName:Nl}},extensions:{names:{blockName:ta}}}}));_.assertSchema(t,this.className),this.reqCert=new xs({schema:t.result.reqCert}),ta in t.result&&(this.singleRequestExtensions=Array.from(t.result.singleRequestExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.singleRequestExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,t=>t.toJSON())),e}};dh.CLASS_NAME="Request";var sw="tbs",kl="version",Pl="requestorName",rw="requestList",Tl="requestExtensions",gh="TBSRequest",yw=`${gh}.${kl}`,ww=`${gh}.${Pl}`,HA=`${gh}.requests`,bw=`${gh}.${Tl}`,Ij=[gh,yw,ww,HA,bw],yr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,sw,s.defaultValues(sw))),kl in e&&(this.version=y(e,kl,s.defaultValues(kl))),Pl in e&&(this.requestorName=y(e,Pl,s.defaultValues(Pl))),this.requestList=y(e,rw,s.defaultValues(rw)),Tl in e&&(this.requestExtensions=y(e,Tl,s.defaultValues(Tl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sw:return It;case kl:return 0;case Pl:return new tt;case rw:case Tl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sw:return t.byteLength===0;case kl:return t===s.defaultValues(e);case Pl:return t.type===tt.defaultValues("type")&&Object.keys(t.value).length===0;case rw:case Tl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||gh,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.TBSRequestVersion||yw})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[tt.schema(t.requestorName||{names:{blockName:ww}})]}),new k({name:t.requestList||"TBSRequest.requestList",value:[new Ae({name:t.requests||HA,value:dh.schema(t.requestNames||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Pt.schema(t.extensions||{names:{blockName:t.requestExtensions||bw}})]})]})}fromSchema(e){W(e,Ij);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.TBSRequest.valueBeforeDecodeView,yw in t.result&&(this.version=t.result[yw].valueBlock.valueDec),ww in t.result&&(this.requestorName=new tt({schema:t.result[ww]})),this.requestList=Array.from(t.result[HA],r=>new dh({schema:r})),bw in t.result&&(this.requestExtensions=Array.from(t.result[bw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);if(_.assert(r,"TBS Request"),!(r.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");t=r.result;}else {let r=[];this.version!==void 0&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.requestorName&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new k({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new k({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,t=>t.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,t=>t.toJSON())),e}};yr.CLASS_NAME="TBSRequest";var Cu="signatureAlgorithm",Nu="signature",Ei="certs",Bn=class s extends q{constructor(e={}){super(),this.signatureAlgorithm=y(e,Cu,s.defaultValues(Cu)),this.signature=y(e,Nu,s.defaultValues(Nu)),Ei in e&&(this.certs=y(e,Ei,s.defaultValues(Ei))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cu:return new j;case Nu:return new Ve;case Ei:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cu:return t.algorithmId===b&&!("algorithmParams"in t);case Nu:return t.isEqual(s.defaultValues(e));case Ei:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signature||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:t.certs||b,value:ts.schema({})})]})]})]})}fromSchema(e){W(e,[Cu,Nu,Ei]);let t=K(e,e,s.schema({names:{signatureAlgorithm:{names:{blockName:Cu}},signature:Nu,certs:Ei}}));_.assertSchema(t,this.className),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signature=t.result.signature,Ei in t.result&&(this.certs=Array.from(t.result.certs,r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}};Bn.CLASS_NAME="Signature";var Bl="tbsRequest",sa="optionalSignature",Cj=[Bl,sa],_A=class s extends q{constructor(e={}){super(),this.tbsRequest=y(e,Bl,s.defaultValues(Bl)),sa in e&&(this.optionalSignature=y(e,sa,s.defaultValues(sa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bl:return new yr;case sa:return new Bn;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Bl:return yr.compareWithDefault("tbs",t.tbs)&&yr.compareWithDefault("version",t.version)&&yr.compareWithDefault("requestorName",t.requestorName)&&yr.compareWithDefault("requestList",t.requestList)&&yr.compareWithDefault("requestExtensions",t.requestExtensions);case sa:return Bn.compareWithDefault("signatureAlgorithm",t.signatureAlgorithm)&&Bn.compareWithDefault("signature",t.signature)&&Bn.compareWithDefault("certs",t.certs);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPRequest",value:[yr.schema(t.tbsRequest||{names:{blockName:Bl}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Bn.schema(t.optionalSignature||{names:{blockName:sa}})]})]})}fromSchema(e){W(e,Cj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsRequest=new yr({schema:t.result.tbsRequest}),sa in t.result&&(this.optionalSignature=new Bn({schema:t.result.optionalSignature}));}toSchema(e=!1){let t=[];return t.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&t.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new k({value:t})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,t,r=Oe(!0)){let n=new xs;await n.createForCertificate(e,t,r),this.tbsRequest.requestList.push(new dh({reqCert:n}));}async sign(e,t="SHA-1",r=Oe(!0)){if(Je.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,t),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new Ve({valueHex:o});}verify(){}};_A.CLASS_NAME="OCSPRequest";var Ol="responseType",Rl="response",Nj=[Ol,Rl],ua=class s extends q{constructor(e={}){super(),this.responseType=y(e,Ol,s.defaultValues(Ol)),this.response=y(e,Rl,s.defaultValues(Rl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case Rl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ol:return t===b;case Rl:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.responseType||b}),new z({name:t.response||b})]})}fromSchema(e){W(e,Nj);let t=K(e,e,s.schema({names:{responseType:Ol,response:Rl}}));_.assertSchema(t,this.className),this.responseType=t.result.responseType.valueBlock.toString(),this.response=t.result.response;}toSchema(){return new k({value:[new ie({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};ua.CLASS_NAME="ResponseBytes";var ku="responseStatus",gn="responseBytes",MA=class s extends q{constructor(e={}){super(),this.responseStatus=y(e,ku,s.defaultValues(ku)),gn in e&&(this.responseBytes=y(e,gn,s.defaultValues(gn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return new Or;case gn:return new ua;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ku:return t.isEqual(s.defaultValues(e));case gn:return ua.compareWithDefault("responseType",t.responseType)&&ua.compareWithDefault("response",t.response);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPResponse",value:[new Or({name:t.responseStatus||ku}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[ua.schema(t.responseBytes||{names:{blockName:gn}})]})]})}fromSchema(e){W(e,[ku,gn]);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.responseStatus=t.result.responseStatus,gn in t.result&&(this.responseBytes=new ua({schema:t.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new k({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,t,r=Oe(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==iw)return i;try{let a=kt(this.responseBytes.response.valueBlock.valueHexView);_.assert(a,"Basic OCSP response"),n=new Ec({schema:a.result});}catch{return i}return n.getCertificateStatus(e,t,r)}async sign(e,t,r=Oe(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===iw)return Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,t,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,t=Oe(!0)){var r;if(!(gn in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===iw){let n=Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},t)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};MA.CLASS_NAME="OCSPResponse";var lo="type",Cn="attributes",nw="encodedValue",kj=[Cn],fs=class s extends q{constructor(e={}){super(),this.type=y(e,lo,s.defaultValues(lo)),this.attributes=y(e,Cn,s.defaultValues(Cn)),this.encodedValue=y(e,nw,s.defaultValues(nw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lo:return -1;case Cn:return [];case nw:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lo:return t===s.defaultValues(lo);case Cn:return t.length===0;case nw:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new V({name:t.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:t.tagNumber||0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,kj);let t=K(e,e,s.schema({names:{tagNumber:this.type,attributes:Cn}}));_.assertSchema(t,this.className),this.type=t.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(t.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(Cn in t.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(t.result.attributes,n=>new yt({schema:n}));}toSchema(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new V({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};fs.CLASS_NAME="SignedAndUnsignedAttributes";var Vl="version",oc="sid",Dl="digestAlgorithm",ra="signedAttrs",Ul="signatureAlgorithm",Km="signature",na="unsignedAttrs",ma="SignerInfo",$A=`${ma}.${Vl}`,Gm=`${ma}.${oc}`,qA=`${ma}.${Dl}`,Sw=`${ma}.${ra}`,FA=`${ma}.${Ul}`,KA=`${ma}.${Km}`,vw=`${ma}.${na}`,Pj=[$A,Gm,qA,Sw,FA,KA,vw],mh=class s extends q{constructor(e={}){super(),this.version=y(e,Vl,s.defaultValues(Vl)),this.sid=y(e,oc,s.defaultValues(oc)),this.digestAlgorithm=y(e,Dl,s.defaultValues(Dl)),ra in e&&(this.signedAttrs=y(e,ra,s.defaultValues(ra))),this.signatureAlgorithm=y(e,Ul,s.defaultValues(Ul)),this.signature=y(e,Km,s.defaultValues(Km)),na in e&&(this.unsignedAttrs=y(e,na,s.defaultValues(na))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vl:return 0;case oc:return new be;case Dl:return new j;case ra:return new fs({type:0});case Ul:return new j;case Km:return new z;case na:return new fs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vl:return s.defaultValues(Vl)===t;case oc:return t instanceof be;case Dl:return t instanceof j?t.isEqual(s.defaultValues(Dl)):!1;case ra:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);case Ul:return t instanceof j?t.isEqual(s.defaultValues(Ul)):!1;case Km:case na:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:ma,value:[new L({name:t.version||$A}),new it({value:[Ht.schema(t.sidSchema||{names:{blockName:Gm}}),new it({value:[new V({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new ge({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0}})]})]}),j.schema(t.digestAlgorithm||{names:{blockName:qA}}),fs.schema(t.signedAttrs||{names:{blockName:Sw,tagNumber:0}}),j.schema(t.signatureAlgorithm||{names:{blockName:FA}}),new z({name:t.signature||KA}),fs.schema(t.unsignedAttrs||{names:{blockName:vw,tagNumber:1}})]})}fromSchema(e){W(e,Pj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[$A].valueBlock.valueDec;let r=t.result[Gm];r.idBlock.tagClass===1?this.sid=new Ht({schema:r}):this.sid=r,this.digestAlgorithm=new j({schema:t.result[qA]}),Sw in t.result&&(this.signedAttrs=new fs({type:0,schema:t.result[Sw]})),this.signatureAlgorithm=new j({schema:t.result[FA]}),this.signature=t.result[KA],vw in t.result&&(this.unsignedAttrs=new fs({type:1,schema:t.result[vw]}));}toSchema(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new L({value:this.version})),this.sid instanceof Ht?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new k({value:e})}toJSON(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};mh.CLASS_NAME="SignerInfo";var Wm="version",Jm="policy",zm="messageImprint",Ym="serialNumber",Zm="genTime",cc="ordering",uc="nonce",Ll="accuracy",jl="tsa",Hl="extensions",br="TSTInfo",GA=`${br}.${Wm}`,WA=`${br}.${Jm}`,JA=`${br}.${zm}`,zA=`${br}.${Ym}`,YA=`${br}.${Zm}`,Ew=`${br}.${Ll}`,xw=`${br}.${cc}`,Aw=`${br}.${uc}`,Iw=`${br}.${jl}`,Cw=`${br}.${Hl}`,Tj=[GA,WA,JA,zA,YA,Ew,xw,Aw,Iw,Cw],ub=class s extends q{constructor(e={}){super(),this.version=y(e,Wm,s.defaultValues(Wm)),this.policy=y(e,Jm,s.defaultValues(Jm)),this.messageImprint=y(e,zm,s.defaultValues(zm)),this.serialNumber=y(e,Ym,s.defaultValues(Ym)),this.genTime=y(e,Zm,s.defaultValues(Zm)),Ll in e&&(this.accuracy=y(e,Ll,s.defaultValues(Ll))),cc in e&&(this.ordering=y(e,cc,s.defaultValues(cc))),uc in e&&(this.nonce=y(e,uc,s.defaultValues(uc))),jl in e&&(this.tsa=y(e,jl,s.defaultValues(jl))),Hl in e&&(this.extensions=y(e,Hl,s.defaultValues(Hl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wm:return 0;case Jm:return b;case zm:return new Ms;case Ym:return new L;case Zm:return new Date(0,0,0);case Ll:return new Pn;case cc:return !1;case uc:return new L;case jl:return new tt;case Hl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wm:case Jm:case Zm:case cc:return t===s.defaultValues(cc);case zm:return Ms.compareWithDefault(dc,t.hashAlgorithm)&&Ms.compareWithDefault(mc,t.hashedMessage);case Ym:case uc:return t.isEqual(s.defaultValues(uc));case Ll:return Pn.compareWithDefault(xi,t.seconds)&&Pn.compareWithDefault(Ai,t.millis)&&Pn.compareWithDefault(Ii,t.micros);case jl:return tt.compareWithDefault(cd,t.type)&&tt.compareWithDefault(ud,t.value);case Hl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||br,value:[new L({name:t.version||GA}),new ie({name:t.policy||WA}),Ms.schema(t.messageImprint||{names:{blockName:JA}}),new L({name:t.serialNumber||zA}),new nt({name:t.genTime||YA}),Pn.schema(t.accuracy||{names:{blockName:Ew}}),new _s({name:t.ordering||xw,optional:!0}),new L({name:t.nonce||Aw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[tt.schema(t.tsa||{names:{blockName:Iw}})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.extensions||Cw,value:Bs.schema(t.extension||{})})]})]})}fromSchema(e){W(e,Tj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[GA].valueBlock.valueDec,this.policy=t.result[WA].valueBlock.toString(),this.messageImprint=new Ms({schema:t.result[JA]}),this.serialNumber=t.result[zA],this.genTime=t.result[YA].toDate(),Ew in t.result&&(this.accuracy=new Pn({schema:t.result[Ew]})),xw in t.result&&(this.ordering=t.result[xw].valueBlock.value),Aw in t.result&&(this.nonce=t.result[Aw]),Iw in t.result&&(this.tsa=new tt({schema:t.result[Iw]})),Cw in t.result&&(this.extensions=Array.from(t.result[Cw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new ie({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new nt({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new _s({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async verify(e,t=Oe(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=t.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await t.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};ub.CLASS_NAME="TSTInfo";var _l="version",Xm="digestAlgorithms",Qm="encapContentInfo",Ml="certificates",$l="crls",e0="signerInfos",ad="ocsps",Nc="SignedData",ZA=`${Nc}.${_l}`,Nw=`${Nc}.${Xm}`,XA=`${Nc}.${Qm}`,kw=`${Nc}.${Ml}`,Pw=`${Nc}.${$l}`,Tw=`${Nc}.${e0}`,Bj=[ZA,Nw,XA,kw,Pw,Tw],Kt=class extends Error{constructor({message:e,code:t=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=t,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},da=class s extends q{constructor(e={}){super(),this.version=y(e,_l,s.defaultValues(_l)),this.digestAlgorithms=y(e,Xm,s.defaultValues(Xm)),this.encapContentInfo=y(e,Qm,s.defaultValues(Qm)),Ml in e&&(this.certificates=y(e,Ml,s.defaultValues(Ml))),$l in e&&(this.crls=y(e,$l,s.defaultValues($l))),ad in e&&(this.ocsps=y(e,ad,s.defaultValues(ad))),this.signerInfos=y(e,e0,s.defaultValues(e0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return 0;case Xm:return [];case Qm:return new Rn;case Ml:return [];case $l:return [];case ad:return [];case e0:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _l:return t===s.defaultValues(_l);case Qm:return Rn.compareWithDefault("eContentType",t.eContentType)&&Rn.compareWithDefault("eContent",t.eContent);case Xm:case Ml:case $l:case ad:case e0:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return t.optional===void 0&&(t.optional=!1),new k({name:t.blockName||Nc,optional:t.optional,value:[new L({name:t.version||ZA}),new dt({value:[new Ae({name:t.digestAlgorithms||Nw,value:j.schema()})]}),Rn.schema(t.encapContentInfo||{names:{blockName:XA}}),new V({name:t.certificates||kw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema(t.crls||{names:{crls:Pw}}).valueBlock.value}),new dt({value:[new Ae({name:t.signerInfos||Tw,value:mh.schema()})]})]})}fromSchema(e){W(e,Bj);let t=K(e,e,s.schema());if(_.assertSchema(t,this.className),this.version=t.result[ZA].valueBlock.valueDec,Nw in t.result&&(this.digestAlgorithms=Array.from(t.result[Nw],r=>new j({schema:r}))),this.encapContentInfo=new Rn({schema:t.result[XA]}),kw in t.result){let r=new Un({schema:new dt({value:t.result[kw].valueBlock.value})});this.certificates=r.certificates.slice(0);}Pw in t.result&&(this.crls=Array.from(t.result[Pw],r=>r.idBlock.tagClass===1?new Ac({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new yc({schema:r})))),Tw in t.result&&(this.signerInfos=Array.from(t.result[Tw],r=>new mh({schema:r})));}toSchema(e=!1){let t=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof eh)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof yc)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Ur)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof ih)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==s.ID_DATA?this.version=3:this.version=1,t.push(new L({value:this.version})),t.push(new dt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),t.push(this.encapContentInfo.toSchema()),this.certificates){let n=new Un({certificates:this.certificates}).toSchema();t.push(new V({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&t.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof yc){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),t.push(new dt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new k({value:t})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,t=>t.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,t=>t.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,t=>t.toJSON())),this.crls&&(e.crls=Array.from(this.crls,t=>t.toJSON())),e}async verify({signer:e=-1,data:t=It,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Oe(!0)){let m=null,w=null;try{let E=It,v=b,A=[],C=this.signerInfos[e];if(!C)throw new Kt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new Kt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof Ht){for(let P of this.certificates)if(P instanceof ts&&P.issuer.isEqual(C.sid.issuer)&&P.serialNumber.isEqual(C.sid.serialNumber)){m=P;break}}else {let P=C.sid,B=P.idBlock.isConstructed?P.valueBlock.value[0].valueBlock.valueHex:P.valueBlock.valueHex;for(let G of this.certificates){if(!(G instanceof ts))continue;let se=await l.digest({name:"sha-1"},G.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(se,B)){m=G;break}}}if(!m)throw new Kt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===LU){if(!this.encapContentInfo.eContent)throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});let P;try{P=ub.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(n=P.genTime,w=P.serialNumber.valueBlock.valueHexView.slice().buffer,t.byteLength===0)throw new Kt({date:n,code:4,message:"Missed detached data input array"});if(!await P.verify({data:t},l))throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(i){let P=this.certificates.filter(X=>X instanceof ts&&!!bP(X,m)),B={checkDate:n,certs:P,trustedCerts:r};u&&(B.findIssuer=u),c&&(B.findOrigin=c);let G=new P0(B);if(G.certs.push(m),this.crls)for(let X of this.crls)"thisUpdate"in X?G.crls.push(X):X.otherRevInfoFormat===iw&&G.ocsps.push(new Ec({schema:X.otherRevInfo}));this.ocsps&&G.ocsps.push(...this.ocsps);let se=await G.verify({passedWhenNotRevValues:a},l).catch(X=>{throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${X instanceof Object?X.resultMessage:X}`,signerCertificate:m,signerCertificateVerified:!1})});if(se.certificatePath&&(A=se.certificatePath),!se.result)throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed: ${se.resultMessage}`,signerCertificate:m,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new Kt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:m,signerCertificateVerified:!0});v=D.name;let U=this.encapContentInfo.eContent;if(U)U.idBlock.tagClass===1&&U.idBlock.tagNumber===4?t=U.getValue():t=U.valueBlock.valueBeforeDecodeView.slice().buffer;else if(t.byteLength===0)throw new Kt({date:n,code:8,message:"Missed detached data input array",signerCertificate:m,signerCertificateVerified:!0});if(C.signedAttrs){let P=!1,B=!1;for(let G of C.signedAttrs.attributes)if(G.type==="1.2.840.113549.1.9.3"&&(P=!0),G.type==="1.2.840.113549.1.9.4"&&(B=!0,E=G.values[0].valueBlock.valueHex),P&&B)break;if(P===!1)throw new Kt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:m,signerCertificateVerified:!0});if(B===!1)throw new Kt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:m,signerCertificateVerified:!0})}if(C.signedAttrs){let P=await l.digest(v,new Uint8Array(t));if(!fi(P,E))throw new Kt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});t=C.signedAttrs.encodedValue;}let T=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm,v):await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:T,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0,certificatePath:A}:T}catch(E){throw E instanceof Kt?E:new Kt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,t,r="SHA-1",n=It,i=Oe(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[t];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new j({algorithmId:c,algorithmParams:new ft})),o.digestAlgorithm=new j({algorithmId:c,algorithmParams:new ft});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let m=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:m});}};da.CLASS_NAME="SignedData";da.ID_DATA=uI;var lc="version",hc="authSafe",Nn="macData",od="parsedValue",Oj=[lc,hc,Nn],QA=class s extends q{constructor(e={}){super(),this.version=y(e,lc,s.defaultValues(lc)),this.authSafe=y(e,hc,s.defaultValues(hc)),Nn in e&&(this.macData=y(e,Nn,s.defaultValues(Nn))),od in e&&(this.parsedValue=y(e,od,s.defaultValues(od))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return 3;case hc:return new mt;case Nn:return new Dr;case od:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lc:return t===s.defaultValues(e);case hc:return mt.compareWithDefault("contentType",t.contentType)&&mt.compareWithDefault("content",t.content);case Nn:return Dr.compareWithDefault("mac",t.mac)&&Dr.compareWithDefault("macSalt",t.macSalt)&&Dr.compareWithDefault("iterations",t.iterations);case od:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||lc}),mt.schema(t.authSafe||{names:{blockName:hc}}),Dr.schema(t.macData||{names:{blockName:Nn,optional:!0}})]})}fromSchema(e){W(e,Oj);let t=K(e,e,s.schema({names:{version:lc,authSafe:{names:{blockName:hc}},macData:{names:{blockName:Nn}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.authSafe=new mt({schema:t.result.authSafe}),Nn in t.result&&(this.macData=new Dr({schema:t.result.macData}));}toSchema(){let e=[new L({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},t=Oe(!0)){if(et.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Je.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Je.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Je("iterations");Je.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Je.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Je.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);t.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new mt({contentType:mt.DATA,content:new z({valueHex:i})});let a=await t.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new Dr({mac:new On({digestAlgorithm:new j({algorithmId:t.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Je("signingCertificate");Je.assertEmpty(e.privateKey,"privateKey"),Je.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new da({version:1,encapContentInfo:new Rn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await t.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new yt({type:"1.2.840.113549.1.9.3",values:[new ie({value:"1.2.840.113549.1.7.1"})]})),a.push(new yt({type:"1.2.840.113549.1.9.5",values:[new fn({valueDate:new Date})]})),a.push(new yt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new mh({version:1,sid:new Ht({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new fs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,t),this.authSafe=new mt({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,t=Oe(!0)){switch(et.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case mt.DATA:{Je.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,et.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=t.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await t.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:rh.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:rh.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case mt.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new da({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Je.assert(n,"eContent","cmsSigned.encapContentInfo"),et.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(i),!await r.verify({signer:0,checkChain:!1},t))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};QA.CLASS_NAME="PFX";var ql="status",ia="statusStrings",aa="failInfo",Rj=[ql,ia,aa],eP;(function(s){s[s.granted=0]="granted",s[s.grantedWithMods=1]="grantedWithMods",s[s.rejection=2]="rejection",s[s.waiting=3]="waiting",s[s.revocationWarning=4]="revocationWarning",s[s.revocationNotification=5]="revocationNotification";})(eP||(eP={}));var gc=class s extends q{constructor(e={}){super(),this.status=y(e,ql,s.defaultValues(ql)),ia in e&&(this.statusStrings=y(e,ia,s.defaultValues(ia))),aa in e&&(this.failInfo=y(e,aa,s.defaultValues(aa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ql:return 2;case ia:return [];case aa:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ql:return t===s.defaultValues(e);case ia:return t.length===0;case aa:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.status||b}),new k({optional:!0,value:[new Ae({name:t.statusStrings||b,value:new Ps})]}),new Ve({name:t.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Rj);let t=K(e,e,s.schema({names:{status:ql,statusStrings:ia,failInfo:aa}}));_.assertSchema(t,this.className);let r=t.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,ia in t.result&&(this.statusStrings=t.result.statusStrings),aa in t.result&&(this.failInfo=t.result.failInfo);}toSchema(){let e=[];return e.push(new L({value:this.status})),this.statusStrings&&e.push(new k({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new k({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,t=>t.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};gc.CLASS_NAME="PKIStatusInfo";var t0="version",s0="messageImprint",Fl="reqPolicy",Kl="nonce",kn="certReq",Gl="extensions",kc="TimeStampReq",eI=`${kc}.${t0}`,tI=`${kc}.${s0}`,Bw=`${kc}.${Fl}`,Ow=`${kc}.${Kl}`,Rw=`${kc}.${kn}`,Vw=`${kc}.${Gl}`,Vj=[eI,tI,Bw,Ow,Rw,Vw],sI=class s extends q{constructor(e={}){super(),this.version=y(e,t0,s.defaultValues(t0)),this.messageImprint=y(e,s0,s.defaultValues(s0)),Fl in e&&(this.reqPolicy=y(e,Fl,s.defaultValues(Fl))),Kl in e&&(this.nonce=y(e,Kl,s.defaultValues(Kl))),kn in e&&(this.certReq=y(e,kn,s.defaultValues(kn))),Gl in e&&(this.extensions=y(e,Gl,s.defaultValues(Gl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return 0;case s0:return new Ms;case Fl:return b;case Kl:return new L;case kn:return !1;case Gl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case t0:case Fl:case kn:return t===s.defaultValues(e);case s0:return Ms.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&Ms.compareWithDefault("hashedMessage",t.hashedMessage);case Kl:return t.isEqual(s.defaultValues(e));case Gl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||kc,value:[new L({name:t.version||eI}),Ms.schema(t.messageImprint||{names:{blockName:tI}}),new ie({name:t.reqPolicy||Bw,optional:!0}),new L({name:t.nonce||Ow,optional:!0}),new _s({name:t.certReq||Rw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.extensions||Vw,value:Bs.schema()})]})]})}fromSchema(e){W(e,Vj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[eI].valueBlock.valueDec,this.messageImprint=new Ms({schema:t.result[tI]}),Bw in t.result&&(this.reqPolicy=t.result[Bw].valueBlock.toString()),Ow in t.result&&(this.nonce=t.result[Ow]),Rw in t.result&&(this.certReq=t.result[Rw].valueBlock.value),Vw in t.result&&(this.extensions=Array.from(t.result[Vw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ie({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),kn in this&&s.compareWithDefault(kn,this.certReq)===!1&&e.push(new _s({value:this.certReq})),this.extensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&s.compareWithDefault(kn,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}};sI.CLASS_NAME="TimeStampReq";var Wl="status",Jl="timeStampToken",vI="TimeStampResp",rI=`${vI}.${Wl}`,Dw=`${vI}.${Jl}`,Dj=[rI,Dw],nI=class s extends q{constructor(e={}){super(),this.status=y(e,Wl,s.defaultValues(Wl)),Jl in e&&(this.timeStampToken=y(e,Jl,s.defaultValues(Jl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wl:return new gc;case Jl:return new mt;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wl:return gc.compareWithDefault(Wl,t.status)&&!("statusStrings"in t)&&!("failInfo"in t);case Jl:return t.contentType===b&&t.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||vI,value:[gc.schema(t.status||{names:{blockName:rI}}),mt.schema(t.timeStampToken||{names:{blockName:Dw,optional:!0}})]})}fromSchema(e){W(e,Dj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.status=new gc({schema:t.result[rI]}),Dw in t.result&&(this.timeStampToken=new mt({schema:t.result[Dw]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new k({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,t,r=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).sign(e,0,t,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:It},t=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).verify(e,t)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==hP)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};nI.CLASS_NAME="TimeStampResp";function Uj(){if(typeof globalThis<"u"&&"crypto"in globalThis){let s="webcrypto";"webkitSubtle"in globalThis.crypto&&(s="safari"),jk(s,new nh({name:s,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let s="NodeJS ^15",e=crypto.webcrypto;jk(s,new nh({name:s,crypto:e}));}}Uj();d();f();d();f();d();f();d();f();var AI=(s,e)=>e.some(t=>s instanceof t),vP,EP;function Lj(){return vP||(vP=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function jj(){return EP||(EP=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var II=new WeakMap,EI=new WeakMap,lb=new WeakMap;function Hj(s){let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("success",i),s.removeEventListener("error",a);},i=()=>{t(Pc(s.result)),n();},a=()=>{r(s.error),n();};s.addEventListener("success",i),s.addEventListener("error",a);});return lb.set(e,s),e}function _j(s){if(II.has(s))return;let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",a),s.removeEventListener("abort",a);},i=()=>{t(),n();},a=()=>{r(s.error||new DOMException("AbortError","AbortError")),n();};s.addEventListener("complete",i),s.addEventListener("error",a),s.addEventListener("abort",a);});II.set(s,e);}var CI={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return II.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Pc(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function CP(s){CI=s(CI);}function Mj(s){return jj().includes(s)?function(...e){return s.apply(NI(this),e),Pc(this.request)}:function(...e){return Pc(s.apply(NI(this),e))}}function $j(s){return typeof s=="function"?Mj(s):(s instanceof IDBTransaction&&_j(s),AI(s,Lj())?new Proxy(s,CI):s)}function Pc(s){if(s instanceof IDBRequest)return Hj(s);if(EI.has(s))return EI.get(s);let e=$j(s);return e!==s&&(EI.set(s,e),lb.set(e,s)),e}var NI=s=>lb.get(s);function NP(s,e,{blocked:t,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(s,e),o=Pc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Pc(a.result),c.oldVersion,c.newVersion,Pc(a.transaction),c);}),t&&a.addEventListener("blocked",c=>t(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var qj=["get","getKey","getAll","getAllKeys","count"],Fj=["put","add","delete","clear"],xI=new Map;function xP(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(xI.get(e))return xI.get(e);let t=e.replace(/FromIndex$/,""),r=e!==t,n=Fj.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(n||qj.includes(t)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[t](...o),n&&c.done]))[0]};return xI.set(e,i),i}CP(s=>({...s,get:(e,t,r)=>xP(e,t)||s.get(e,t,r),has:(e,t)=>!!xP(e,t)||s.has(e,t)}));var Kj=["continue","continuePrimaryKey","advance"],AP={},kI=new WeakMap,kP=new WeakMap,Gj={get(s,e){if(!Kj.includes(e))return s[e];let t=AP[e];return t||(t=AP[e]=function(...r){kI.set(this,kP.get(this)[e](...r));}),t}};async function*Wj(...s){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...s)),!e)return;e=e;let t=new Proxy(e,Gj);for(kP.set(t,e),lb.set(t,NI(e));e;)yield t,e=await(kI.get(t)||e.continue()),kI.delete(t);}function IP(s,e){return e===Symbol.asyncIterator&&AI(s,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&AI(s,[IDBIndex,IDBObjectStore])}CP(s=>({...s,get(e,t,r){return IP(e,t)?Wj:s.get(e,t,r)},has(e,t){return IP(e,t)||s.has(e,t)}}));function PP(s,e){if(s===e)return !0;if(s===null||e===null||typeof s!="object"||typeof e!="object")return !1;let t=Object.keys(s),r=Object.keys(e);if(t.length!==r.length)return !1;for(let n of t)if(!r.includes(n)||!PP(s[n],e[n]))return !1;return !0}var _t=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,t,r,n=[]){this.dbName=e,this.storeName=t,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await NP(this.dbName,e,{upgrade:(t,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(t,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let t=await this.openDB(),r=e[this.key],n=t.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?PP(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let t=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,t&&this.notifyUpdate(e,"removed",t,void 0);}notifyUpdate(e,t,r,n){this.listeners.forEach(i=>i(e,t,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:t,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(t=>t!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var PI="auth-commitments",B0=class extends _t{constructor(e="sequence-auth-commitments"){super(e,PI,"id",[(t,r,n)=>{t.objectStoreNames.contains(PI)||t.createObjectStore(PI);}]);}};d();f();var TI="auth-keys",O0=class extends _t{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,TI,"address",[(t,r,n)=>{t.objectStoreNames.contains(TI)||t.createObjectStore(TI).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let t of e)await this.scheduleExpiration(t);}async set(e){let t=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),t}async del(e){let t=await super.del(e.toLowerCase());return this.clearExpiration(e),t}async getBySigner(e,t=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(t<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,t+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${t}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let t=await this.getBySigner(e.toLowerCase());t&&await this.del(t.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let t=Date.now(),r=e.expiresAt.getTime()-t;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let t=this.expirationTimers.get(e.toLowerCase());t&&(window.clearTimeout(t),this.expirationTimers.delete(e.toLowerCase()));}};d();f();var BI="messages",R0=class extends _t{constructor(e="sequence-messages"){super(e,BI,"id",[(t,r,n)=>{t.objectStoreNames.contains(BI)||t.createObjectStore(BI);}]);}};d();f();var OI="envelopes",V0=class extends _t{constructor(e="sequence-signature-requests"){super(e,OI,"id",[(t,r,n)=>{t.objectStoreNames.contains(OI)||t.createObjectStore(OI);}]);}};d();f();var RI="transactions",D0=class extends _t{constructor(e="sequence-transactions"){super(e,RI,"id",[(t,r,n)=>{t.objectStoreNames.contains(RI)||t.createObjectStore(RI);}]);}};d();f();var VI="wallets",U0=class extends _t{constructor(e="sequence-manager"){super(e,VI,"address",[(t,r,n)=>{t.objectStoreNames.contains(VI)||t.createObjectStore(VI);}]);}};d();f();var DI="queued-recovery-payloads",L0=class extends _t{constructor(e="sequence-recovery"){super(e,DI,"id",[(t,r,n)=>{t.objectStoreNames.contains(DI)||t.createObjectStore(DI);}]);}};d();f();var UI="passkey-credentials",j0=class extends _t{constructor(e="sequence-passkey-credentials"){super(e,UI,"credentialId",[(t,r,n)=>{t.objectStoreNames.contains(UI)||t.createObjectStore(UI);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,t,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:t,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:t,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:t,walletAddress:r};await this.set(i);}}};d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();({verbose:!1,extensions:je.Rc5,context:Ka.Rc5,context4337:Ka.Rc5_4337,guest:Xe.DefaultGuestAddress,encryptedPksDb:new cr.Pk.Encrypted.EncryptedPksDb,managerDb:new U0,signaturesDb:new V0,transactionsDb:new D0,messagesDb:new R0,authCommitmentsDb:new B0,recoveryDb:new L0,authKeysDb:new O0,passkeyCredentialsDb:new j0,dbPruningInterval:1e3*60*60*24,stateProvider:new du.Sequence.Provider,networks:Wa.ALL,relayers:()=>typeof window<"u"?[Bf.LocalRelayer.createFromWindow(window)].filter(s=>s!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:Xe.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var H0=class{#e;#s;#r=null;#t=null;constructor(e,t){this.#e=e,this.#s=t;}async#a(){let e=await this.#e();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let t=await this.#a();return t.profile.sub!==e.userIdentifier&&(e=await this.#n(t)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e(!0);let t=e||await this.#a();if(!t.idToken)throw new ct("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=t,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:R.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Af(this.#s.identityInstrumentEndpoint,"@14:test"),m=new c1(i,a,r);await l.commitVerifier(za.toIdentityAuthKey(u),m);let E=(await l.completeAuth(za.toIdentityAuthKey(u),m)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:t.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(t){let r=`Identity Instrument: Failed to create signer: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,t,r){let n=await this.#i();return new za.IdentitySigner(n.identityInstrument,n.authKey).sign(e,t,r)}async signMessage(e){let t=await this.#i(),r=new za.IdentitySigner(t.identityInstrument,t.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(R.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();f();var _0=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let t=await this.#t();return t.profile.sub!==e.userIdentifier&&(e=await this.#i(t)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let t=e||await this.#t(),r=keccak256(toBytes(`${t.profile.sub}-sequence`)),n=new cr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:t.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(t){let r=`Failed to create private key wallet: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,t,r){return (await this.#a()).signer.sign(e,t,r)}async signMessage(e){let t=await this.#a(),r=privateKeyToAccount(t.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};function DP(s,e={}){if(e.isDevEnvironment)return new _0(s);if(!e.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new H0(s,{identityInstrumentEndpoint:e.identityInstrumentEndpoint})}function gH(s){return s in qn}function yH(s){if(s.magicPublishableApiKey&&s.magicProviderId)return {magicPublishableApiKey:s.magicPublishableApiKey,magicProviderId:s.magicProviderId};let{chainId:e}=s;if(gH(e))return qn[e];throw new Error(`No Magic configuration available for chain ${s.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var wH="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",bH="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",SH="openid profile email offline_access transact",vH="platform_api",EH="https://auth.immutable.com/im-logged-in",xH="https://auth.immutable.com",AH=/(sandbox|testnet)/i,IH=[13371,13473,15003];function CH(s){return IH.includes(s.chainId)}function NH(s){if(s.chainId===13473)return !0;let e=s.apiUrl||s.passportDomain||"";return AH.test(e)}function kH(s){if(s.passportDomain)return s.passportDomain;if(s.apiUrl)try{let e=new URL(s.apiUrl),t=e.hostname.replace("api.","passport.");return `${e.protocol}//${t}`}catch{return s.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function PH(){return xH}function TH(){return EH}function UP(s){return NH(s)?bH:wH}function BH(s,e){let t=kH(s),r=PH(),n=TH(),i=e.clientId||UP(s),a=new Auth({clientId:i,redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:SH,audience:vH,authenticationDomain:r,passportDomain:t,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled});return typeof window<"u"&&window.addEventListener("message",async o=>{if(o.data.code&&o.data.state){let c=window.location.search,u=new URLSearchParams(c);u.set("code",o.data.code),u.set("state",o.data.state),window.history.replaceState(null,"",`?${u.toString()}`),await a.loginCallback(),u.delete("code"),u.delete("state"),window.history.replaceState(null,"",`?${u.toString()}`);}}),{getUser:async()=>a.getUserOrLogin(),clientId:i}}async function OH(s={}){let e=s.chains&&s.chains.length>0?s.chains:np,t=s.initialChainId||e[0].chainId,r=e.find(A=>A.chainId===t);if(!r)throw new Error(`Initial chain ${t} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a,o;if(s.getUser)a=s.getUser,o=s.clientId||UP(r);else {let A=BH(r,s);a=A.getUser,o=A.clientId;}let c=await a().catch(()=>null),u=r.passportDomain||r.apiUrl.replace("api.","passport."),l=new Bh({passportDomain:u,zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:s.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:s.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:s.crossSdkBridgeEnabled,feeTokenSymbol:s.feeTokenSymbol}),m=s.passportEventEmitter||new TypedEventEmitter,w=new mr$1.GuardianApi(n),E=new Uc({config:l,getUser:a,guardianApi:w,passportDomain:u,clientId:o}),v;if(CH(r)){let A=yH(r),C=r.magicTeeBasePath||"https://tee.express.magiclabs.com",D=new MagicTeeApiClients({basePath:C,timeout:1e4,magicPublishableApiKey:A.magicPublishableApiKey,magicProviderId:A.magicProviderId}),U=new Lc(a,D),T=null;r.chainId===13371?T="https://api.immutable.com":r.chainId===13473?T="https://api.sandbox.immutable.com":r.apiUrl&&(T=r.apiUrl),v=new Ph({getUser:a,clientId:o,config:l,multiRollupApiClients:i,walletEventEmitter:m,guardianClient:E,ethSigner:U,user:c,sessionActivityApiUrl:T});}else {let A=u.includes(".dev.")||r.apiUrl.includes(".dev."),C=DP(a,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint,isDevEnvironment:A});v=new Th({getUser:a,chainConfig:r,multiRollupApiClients:i,guardianClient:E,ethSigner:C,passportEventEmitter:m});}return s.announceProvider!==!1&&$b({info:Mb,provider:v}),v}d();f();function UH(s){return typeof s=="object"&&s!==null&&"code"in s&&"message"in s}async function LH(s,e){let t=await s.getUser();if(!t?.profile.sub)return [];let r={Authorization:`Bearer ${t.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function jH(s,e,t){let r=trackFlow("wallet","linkExternalWallet");try{let n=await s.getUser();if(!n)throw new ct("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ct("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:t.type,wallet_address:t.walletAddress,signature:t.signature,nonce:t.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),va(n)&&n.response){if(n.response.data&&UH(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ct(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ct(o,"WALLET_CONNECTION_ERROR");default:throw new ct(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ct(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ct(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
375
375
  /*! Bundled license information:
376
376
 
377
377
  pvtsutils/build/index.js:
@@ -506,4 +506,4 @@ pkijs/build/index.es.js:
506
506
  *)
507
507
  */
508
508
 
509
- export { DT as ARBITRUM_ONE, sp as ARBITRUM_ONE_CHAIN, Tb as ARBITRUM_ONE_CHAIN_ID, UT as ARBITRUM_SEPOLIA, rp as ARBITRUM_SEPOLIA_CHAIN, Bb as ARBITRUM_SEPOLIA_CHAIN_ID, Dc as ConfirmationScreen, np as DEFAULT_CHAINS, K0 as EvmChain, Uc as GuardianClient, OT as IMMUTABLE_ZKEVM_MAINNET, Ih as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Ah as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, VT as IMMUTABLE_ZKEVM_MULTICHAIN, RT as IMMUTABLE_ZKEVM_TESTNET, Ch as IMMUTABLE_ZKEVM_TESTNET_CHAIN, ba as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, pe as JsonRpcError, Lc as MagicTEESigner, vh as ProviderErrorCode, zI as ProviderEvent, Sh as RelayerClient, lT as RelayerTransactionStatus, zs as RpcErrorCode, Th as SequenceProvider, Bh as WalletConfiguration, ct as WalletError, Sa as WalletErrorType, JI as WalletEvents, Ph as ZkEvmProvider, qb as announceProvider, OH as connectWallet, _T as getChainConfig, Vc as getEvmChainFromChainId, LH as getLinkedAddresses, jH as linkExternalWallet, $b as passportProviderInfo, ap as retryWithDelay, a6 as walletHelpers };
509
+ export { UT as ARBITRUM_ONE, sp as ARBITRUM_ONE_CHAIN, kb as ARBITRUM_ONE_CHAIN_ID, LT as ARBITRUM_SEPOLIA, rp as ARBITRUM_SEPOLIA_CHAIN, Pb as ARBITRUM_SEPOLIA_CHAIN_ID, Dc as ConfirmationScreen, np as DEFAULT_CHAINS, K0 as EvmChain, Uc as GuardianClient, RT as IMMUTABLE_ZKEVM_MAINNET, Ih as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Ah as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, DT as IMMUTABLE_ZKEVM_MULTICHAIN, VT as IMMUTABLE_ZKEVM_TESTNET, Ch as IMMUTABLE_ZKEVM_TESTNET_CHAIN, ba as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, de as JsonRpcError, Lc as MagicTEESigner, vh as ProviderErrorCode, JI as ProviderEvent, Sh as RelayerClient, lT as RelayerTransactionStatus, zs as RpcErrorCode, Th as SequenceProvider, Bh as WalletConfiguration, ct as WalletError, Sa as WalletErrorType, WI as WalletEvents, Ph as ZkEvmProvider, $b as announceProvider, OH as connectWallet, MT as getChainConfig, Vc as getEvmChainFromChainId, LH as getLinkedAddresses, jH as linkExternalWallet, Mb as passportProviderInfo, ap as retryWithDelay, i6 as walletHelpers };