@imtbl/wallet 2.12.5-alpha.8 → 2.12.5

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.
Files changed (37) hide show
  1. package/dist/browser/index.js +202 -29
  2. package/dist/node/index.cjs +241 -56
  3. package/dist/node/index.js +202 -29
  4. package/dist/types/confirmation/confirmation.d.ts +1 -1
  5. package/dist/types/connectWallet.d.ts +2 -3
  6. package/dist/types/constants.d.ts +7 -0
  7. package/dist/types/index.d.ts +4 -2
  8. package/dist/types/network/chainRegistry.d.ts +13 -0
  9. package/dist/types/{presets.d.ts → network/presets.d.ts} +37 -1
  10. package/dist/types/sequence/sequenceProvider.d.ts +21 -0
  11. package/dist/types/sequence/signer/identityInstrumentSigner.d.ts +15 -0
  12. package/dist/types/sequence/signer/index.d.ts +20 -0
  13. package/dist/types/sequence/signer/privateKeySigner.d.ts +15 -0
  14. package/dist/types/sequence/signer/types.d.ts +14 -0
  15. package/dist/types/sequence/user/index.d.ts +2 -0
  16. package/dist/types/sequence/user/registerUser.d.ts +18 -0
  17. package/dist/types/types.d.ts +22 -1
  18. package/dist/types/zkEvm/types.d.ts +3 -10
  19. package/package.json +9 -4
  20. package/src/confirmation/confirmation.ts +14 -4
  21. package/src/connectWallet.test.ts +62 -3
  22. package/src/connectWallet.ts +82 -45
  23. package/src/constants.ts +10 -0
  24. package/src/guardian/index.ts +2 -0
  25. package/src/index.ts +14 -2
  26. package/src/network/chainRegistry.test.ts +64 -0
  27. package/src/network/chainRegistry.ts +74 -0
  28. package/src/{presets.ts → network/presets.ts} +64 -2
  29. package/src/sequence/sequenceProvider.ts +276 -0
  30. package/src/sequence/signer/identityInstrumentSigner.ts +193 -0
  31. package/src/sequence/signer/index.ts +45 -0
  32. package/src/sequence/signer/privateKeySigner.ts +111 -0
  33. package/src/sequence/signer/types.ts +24 -0
  34. package/src/sequence/user/index.ts +2 -0
  35. package/src/sequence/user/registerUser.ts +100 -0
  36. package/src/types.ts +26 -2
  37. package/src/zkEvm/types.ts +4 -10
@@ -1,17 +1,19 @@
1
- import { TypedEventEmitter, AuthEvents, isUserZkEvm, Auth } from '@imtbl/auth';
1
+ import { TypedEventEmitter, AuthEvents, isUserZkEvm, Auth, decodeJwtPayload } from '@imtbl/auth';
2
2
  export { AuthEvents, TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
3
- import * as nt from '@imtbl/generated-clients';
4
- import { createConfig, MultiRollupApiClients, mr, MagicTeeApiClients } from '@imtbl/generated-clients';
3
+ import * as w6 from '@imtbl/generated-clients';
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
- import { parseAbiParameters, zeroAddress, encodeAbiParameters, keccak256, getContract, encodePacked, toBytes, encodeFunctionData, hashTypedData, hashMessage, createPublicClient, http, toHex, getAddress, parseAbi } from 'viem';
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';
8
+ import { privateKeyToAccount } from 'viem/accounts';
7
9
 
8
- var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enumerable:!0});};var Le=(e=>(e.ACCOUNTS_REQUESTED="accountsRequested",e))(Le||{}),It=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(It||{}),St=(s=>(s.PENDING="PENDING",s.SUBMITTED="SUBMITTED",s.SUCCESSFUL="SUCCESSFUL",s.REVERTED="REVERTED",s.FAILED="FAILED",s.CANCELLED="CANCELLED",s))(St||{});var qe={};Rt(qe,{coerceNonceSpace:()=>$e,digestOfTransactionsAndNonce:()=>Ge,encodeMessageSubDigest:()=>j,encodeNonce:()=>Ze,encodedTransactions:()=>fe,getEip155ChainId:()=>C,getNonce:()=>D,getNormalisedTransactions:()=>q,packSignatures:()=>z,signAndPackTypedData:()=>Ee,signERC191Message:()=>Ce,signMetaTransactions:()=>J});var ue={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 He=r=>{let e=toBytes(r),t=e[0]<<8|e[1],i=[];for(let n=2;n<e.length;){let a=e[n++],s=e[n++];if(a===0)i.push({unrecovered:!0,weight:s,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(a===1)i.push({weight:s,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(a===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,i.push({unrecovered:!0,weight:s,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${a}`)}return {version:1,threshold:t,signers:i}},ge=r=>{let{signers:e,threshold:t}=r,i=e.map(n=>{let a=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,a,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let s=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,a,o,s.length,toHex(s)])}return encodePacked(["uint8","uint8","bytes"],[0,a,n.signature])});return encodePacked(["uint16",...new Array(i.length).fill("bytes")],[t,...i])};var Be=1,Dt=1,Lt=2,Ve="02",Ut="",We=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),q=r=>r.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"})),Ge=(r,e)=>{let t=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),i=encodeAbiParameters([{type:"uint256"},...We],[r,t]);return keccak256(i)},fe=r=>{let e=r.map(t=>({delegateCall:t.delegateCall,revertOnError:t.revertOnError,gasLimit:t.gasLimit,target:t.target,value:t.value,data:t.data}));return encodeAbiParameters(We,[e])},$e=r=>r||0n,Ze=(r,e)=>{let t=BigInt(r)*2n**96n;return BigInt(e)+t},D=async(r,e,t)=>{try{let i=getContract({address:e,abi:ue.mainModule.abi,client:r}),n=$e(t),a=await i.read.readNonce([n]);if(typeof a=="bigint")return Ze(n,a);throw new Error("Unexpected result from contract.readNonce() call.")}catch(i){if(i instanceof Error&&(i.message.includes("returned no data")||i.message.includes("execution reverted")||i.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw i}},j=(r,e,t)=>encodePacked(["string","uint256","address","bytes32"],[Ut,r,e,t]),J=async(r,e,t,i,n)=>{let a=q(r),s=Ge(e,a),o=j(t,i,s),c=keccak256(o),d=toBytes(c),g=`${await n.signMessage(d)}${Ve}`,h=ge({version:1,threshold:Dt,signers:[{isDynamic:!1,unrecovered:!0,weight:Be,signature:g}]}),T=a.map(E=>({delegateCall:E.delegateCall,revertOnError:E.revertOnError,gasLimit:E.gasLimit,target:E.target,value:E.value,data:E.data}));return encodeFunctionData({abi:ue.mainModule.abi,functionName:"execute",args:[T,e,h]})},kt=r=>{let e=`0x0000${r}`;return He(e)},z=(r,e,t)=>{let i=`${r}${Ve}`,{signers:n}=kt(t),s=[...n,{isDynamic:!1,unrecovered:!0,weight:Be,signature:i,address:e}].sort((o,c)=>{let d=BigInt(o.address??0),u=BigInt(c.address??0);return d<=u?-1:d===u?0:1});return ge({version:1,threshold:Lt,signers:s})},Ee=async(r,e,t,i,n)=>{let a={...r.types},{EIP712Domain:s,...o}=a,c=hashTypedData({domain:r.domain,types:o,primaryType:r.primaryType,message:r.message}),d=j(t,i,c),u=keccak256(d),g=toBytes(u),h=await n.signMessage(g),T=await n.getAddress();return z(h,T,e)},Ce=async(r,e,t,i)=>{let n=hashMessage(e),a=j(r,i,n),s=keccak256(a),o=toBytes(s);return t.signMessage(o)},C=r=>`eip155:${r}`;var L=class r{config;rpcProvider;auth;constructor({config:e,rpcProvider:t,auth:i}){this.config=e,this.rpcProvider=t,this.auth=i;}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},i=await this.auth.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${i.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await n.text();if(!n.ok){let o=r.getResponsePreview(a);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let s;try{s=JSON.parse(a);}catch(o){let c=r.getResponsePreview(a);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(s.error)throw new Error(s.error);return s}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,t){let i=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:t,chainId:C(Number(i))}]},{result:a}=await this.postToRelayer(n);return a}async imGetTransactionByHash(e){let t={method:"im_getTransactionByHash",params:[e]},{result:i}=await this.postToRelayer(t);return i}async imGetFeeOptions(e,t){let i=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:t,chainId:C(Number(i))}]},{result:a}=await this.postToRelayer(n);return a}async imSignTypedData(e,t){let i=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:t,chainId:C(Number(i))}]},{result:a}=await this.postToRelayer(n);return a}async imSign(e,t){let i=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:t,chainId:C(Number(i))}]},{result:a}=await this.postToRelayer(n);return a}};var K=(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))(K||{}),w=(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))(w||{}),l=class extends Error{message;code;constructor(e,t){super(t),this.message=t,this.code=e;}};function Ht(r){return r.startsWith("0x")?r:`0x${r}`}function Ft(r){return r.startsWith("0x")?r.slice(2):r}function ye(r,e){return r.padStart(e,"0")}function Bt(r){let e=ye(r.r.toString(16),64),t=ye(r.s.toString(16),64),i=ye(r.recoveryParam?.toString(16)||"",2);return Ht(e+t+i)}function Vt(r){if(!r.trim())return;let e=parseInt(r,16);return e>=27?e-27:e}function Wt(r,e=64){let t=Ft(r);return {r:BigInt(`0x${t.substring(0,e)}`),s:BigInt(`0x${t.substring(e,e*2)}`),recoveryParam:Vt(t.substring(e*2,e*2+2))}}async function je(r,e){let t=await e.signMessage(r),i=Wt(t);return Bt(i)}var Gt="Only sign this message from Immutable Passport";async function Je({auth:r,ethSigner:e,multiRollupApiClients:t,accessToken:i,rpcProvider:n,flow:a}){let s=e.getAddress();s.then(()=>a.addEvent("endGetAddress"));let o=je(Gt,e);o.then(()=>a.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>a.addEvent("endDetectNetwork"));let d=t.chainsApi.listChains();d.then(()=>a.addEvent("endListChains"));let[u,g,h,T]=await Promise.all([s,o,c,d]),E=C(Number(h)),A=T.data?.result?.find(y=>y.id===E)?.name;if(!A)throw new l(-32603,`Chain name does not exist on for chain id ${h}`);try{let y=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:u,ethereum_signature:g}},{headers:{Authorization:`Bearer ${i}`}});return a.addEvent("endCreateCounterfactualAddress"),r.forceUserRefreshInBackground(),y.data.counterfactual_address}catch(y){throw new l(-32603,`Failed to create counterfactual address: ${y}`)}}var U="imx_passport_confirmation";var Y=({url:r,title:e,width:t,height:i})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-t)/2)),a=Math.max(0,Math.round(window.screenY+(window.outerHeight-i)/2)),s=window.open(r,e,`
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,`
9
11
  scrollbars=yes,
10
12
  width=${t},
11
- height=${i},
12
- top=${a},
13
+ height=${r},
14
+ top=${i},
13
15
  left=${n}
14
- `);if(!s)throw new Error("Failed to open confirmation screen");return s.focus(),s};var k="passport-overlay",ze="passport-overlay-contents",X=`${k}-close`,Q=`${k}-try-again`,Ke=`
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=`
15
17
  <svg
16
18
  viewBox="0 0 20 20"
17
19
  fill="none"
@@ -23,7 +25,7 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
23
25
  fill="#F3F3F3"
24
26
  />
25
27
  </svg>
26
- `,Ye=`
28
+ `,h6=`
27
29
  <svg
28
30
  viewBox="0 0 17 16"
29
31
  fill="none"
@@ -37,7 +39,7 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
37
39
  fill="#E01A3D"
38
40
  />
39
41
  </svg>
40
- `,Te=`
42
+ `,Pb=`
41
43
  <svg
42
44
  style="
43
45
  max-width: 123px !important;
@@ -220,9 +222,9 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
220
222
  </clipPath>
221
223
  </defs>
222
224
  </svg>
223
- `;var $t=()=>`
225
+ `;d();f();var kT=()=>`
224
226
  <button
225
- id="${X}"
227
+ id="${Q0}"
226
228
  style="
227
229
  background: #f3f3f326 !important;
228
230
  border: none !important;
@@ -238,11 +240,11 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
238
240
  justify-content: center !important;
239
241
  "
240
242
  >
241
- ${Ke}
243
+ ${l6}
242
244
  </button>
243
- `,Xe=()=>`
245
+ `,f6=()=>`
244
246
  <button
245
- id="${Q}"
247
+ id="${ep}"
246
248
  style="
247
249
  margin-top: 27px !important;
248
250
  color: #f3f3f3 !important;
@@ -257,8 +259,8 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
257
259
  >
258
260
  Try again
259
261
  </button>
260
- `,Zt=()=>`
261
- ${Te}
262
+ `,PT=()=>`
263
+ ${Pb}
262
264
  <div
263
265
  style="
264
266
  color: #e01a3d !important;
@@ -268,7 +270,7 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
268
270
  margin-bottom: 10px !important;
269
271
  "
270
272
  >
271
- ${Ye}
273
+ ${h6}
272
274
  Pop-up blocked
273
275
  </div>
274
276
  <p style="
@@ -281,9 +283,9 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
281
283
  If the problem continues, adjust your<br />
282
284
  browser settings.
283
285
  </p>
284
- ${Xe()}
285
- `,qt=()=>`
286
- ${Te}
286
+ ${f6()}
287
+ `,TT=()=>`
288
+ ${Pb}
287
289
  <p style="
288
290
  color: #b6b6b6 !important;
289
291
  text-align: center !important;
@@ -292,10 +294,10 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
292
294
  >
293
295
  Secure pop-up not showing?<br />We'll help you re-launch
294
296
  </p>
295
- ${Xe()}
296
- `,Qe=r=>`
297
+ ${f6()}
298
+ `,d6=s=>`
297
299
  <div
298
- id="${k}"
300
+ id="${xh}"
299
301
  style="
300
302
  position: fixed !important;
301
303
  top: 0 !important;
@@ -318,9 +320,9 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
318
320
  z-index: 2147483647 !important;
319
321
  "
320
322
  >
321
- ${$t()}
323
+ ${kT()}
322
324
  <div
323
- id="${ze}"
325
+ id="${u6}"
324
326
  style="
325
327
  display: flex !important;
326
328
  flex-direction: column !important;
@@ -328,9 +330,180 @@ var vt=Object.defineProperty;var Rt=(r,e)=>{for(var t in e)vt(r,t,{get:e[t],enum
328
330
  max-width: 400px !important;
329
331
  "
330
332
  >
331
- ${r??""}
333
+ ${s??""}
332
334
  </div>
333
335
  </div>
334
- `;function ee({id:r,href:e,rel:t,crossOrigin:i}){let n=`${k}-${r}`;if(!document.getElementById(n)){let a=document.createElement("link");a.id=n,a.href=e,t&&(a.rel=t),i&&(a.crossOrigin=i),document.head.appendChild(a);}}var et=()=>Qe(Zt()),tt=()=>Qe(qt());var b=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){ee({id:"link-googleapis",href:"https://fonts.googleapis.com"}),ee({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),ee({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?et():tt(),document.body.insertAdjacentElement("beforeend",t),this.overlay=t;}}updateTryAgainButton(e){let t=document.getElementById(Q);t&&(this.tryAgainListener&&t.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,t.addEventListener("click",e));}updateCloseButton(e){let t=document.getElementById(X);t&&(this.onCloseListener&&t.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,t.addEventListener("click",e));}};var Ae="Confirm this transaction",we=720,ve=480,rt=1e3;var N=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let i=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(a=>`${a}=${t[a]}`).join("&"):"";i=`${i}?${n}`;}return i}requestConfirmation(e,t,i,n){return new Promise((a,s)=>{let o=({data:d,origin:u})=>{if(!(u!==this.config.passportDomain||d.eventType!==U))switch(d.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:U,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),a({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),a({confirmed:!1});break}case"transaction_error":{this.closeWindow(),s(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),s(new Error("Unsupported message type"));}},c="";i===nt.mr.TransactionApprovalRequestChainTypeEnum.Starkex?c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:i}):c=this.getHref("zkevm/transaction",{transactionID:e,etherAddress:t,chainType:i,chainID:n}),window.addEventListener("message",o),this.showConfirmationScreen(c,o,a);})}requestMessageConfirmation(e,t,i){return new Promise((n,a)=>{let s=({data:c,origin:d})=>{if(!(d!==this.config.passportDomain||c.eventType!==U))switch(c.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:U,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),n({confirmed:!0});break}case"message_rejected":{this.closeWindow(),n({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",s);let o=this.getHref("zkevm/message",{messageID:e,etherAddress:t,...i?{messageType:i}:{}});this.showConfirmationScreen(o,s,n);})}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=Y({url:this.getHref("loading"),title:Ae,width:e?.width||ve,height:e?.height||we}),this.overlay=new b(this.config.popupOverlayOptions||{});}catch(t){let i=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(i)),this.overlay=new b(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=Y({url:this.getHref("loading"),title:Ae,width:this.popupOptions?.width||ve,height:this.popupOptions?.height||we});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,i){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,i({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),i({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,rt),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=Y({url:e,title:Ae,width:this.popupOptions?.width||ve,height:this.popupOptions?.height||we}),this.timer=setInterval(t,rt);}catch{}}};var H=(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))(H||{}),f=class extends Error{type;constructor(e,t){super(e),this.name="WalletError",this.type=t;}};var I=r=>typeof r=="object"&&r!==null&&"isAxiosError"in r;var Re="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",te=r=>BigInt(r).toString(),zt=r=>{try{return r.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?te(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?te(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let t=e instanceof Error?e.message:String(e);throw new l(-32602,`Transaction failed to parsing: ${t}`)}},O=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;auth;constructor({config:e,auth:t,guardianApi:i,authConfig:n}){this.confirmationScreen=new N(n),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=i,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(i){throw i instanceof f&&i.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),i):(this.confirmationScreen.closeWindow(),i)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:i}){let n=await this.auth.getUserZkEvm(),a={Authorization:`Bearer ${n.accessToken}`},s=zt(i);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:t,userAddress:n.zkEvm.ethAddress,metaTransactions:s}}},{headers:a})).data}catch(o){if(I(o)&&o.response?.status===403)throw new f("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new l(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:t,metaTransactions:i,isBackgroundTransaction:n}){let a=await this.evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:i}),{confirmationRequired:s,transactionId:o}=a;if(s&&this.crossSdkBridgeEnabled)throw new l(-32003,Re);if(s&&o){let c=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,nt.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new l(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:t}){try{let i=await this.auth.getUserZkEvm();if(i===null)throw new l(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:t}},{headers:{Authorization:`Bearer ${i.accessToken}`}})).data}catch(i){let n=i instanceof Error?i.message:String(i);throw new l(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:t}){let{messageId:i,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new l(-32003,Re);if(n&&i){let a=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(i,a.zkEvm.ethAddress,"eip712")).confirmed)throw new l(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:t}){try{let i=await this.auth.getUserZkEvm();if(i===null)throw new l(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:C(Number(e)),payload:t}},{headers:{Authorization:`Bearer ${i.accessToken}`}})).data}catch(i){let n=i instanceof Error?i.message:String(i);throw new l(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:t}){let{messageId:i,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new l(-32003,Re);if(n&&i){let a=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(i,a.zkEvm.ethAddress,"erc191")).confirmed)throw new l(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};var Kt=r=>new Promise(e=>{setTimeout(()=>e(),r);}),re=async(r,e)=>{let{retries:t=3,interval:i=1e3,finalErr:n=Error("Retry failed"),finallyFn:a=()=>{}}=e||{};try{return await r()}catch{return t<=0?Promise.reject(n):(await Kt(i),re(r,{retries:t-1,finalErr:n,finallyFn:a}))}finally{t<=0&&a();}};var Yt=30,Xt=1e3,Qt=async(r,e,t)=>{let i=q([r]),n=fe(i),a=await t.imGetFeeOptions(e,n);if(!a||!Array.isArray(a))throw new Error("Invalid fee options received from relayer");let s=t.getPreferredFeeTokenSymbol(),o=a.find(c=>c.tokenSymbol===s);if(!o)throw new Error(`Failed to retrieve fees for ${s} token`);return o},er=async(r,e,t,i,n)=>{if(!r.to)throw new l(-32602,'eth_sendTransaction requires a "to" field');let a={to:r.to.toString(),data:r.data,nonce:BigInt(0),value:r.value,revertOnError:!0},[s,o]=await Promise.all([D(e,i,n),Qt(a,i,t)]),c=[{...a,nonce:s}],d=BigInt(o.tokenPrice);return d!==BigInt(0)&&c.push({nonce:s,to:o.recipientAddress,value:d,revertOnError:!0}),c},ne=async(r,e,t)=>{let n=await re(async()=>{let a=await r.imGetTransactionByHash(e);if(a.status==="PENDING")throw new Error;return a},{retries:Yt,interval:Xt,finalErr:new l(-32e3,"transaction hash not generated in time")});if(t.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let a=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(a+=` Error message: ${n.statusMessage}`),new l(-32e3,a)}return n},ie=async({transactionRequest:r,ethSigner:e,rpcProvider:t,guardianClient:i,relayerClient:n,zkEvmAddress:a,flow:s,nonceSpace:o,isBackgroundTransaction:c})=>{let d=await t.getChainId(),u=BigInt(d);s.addEvent("endDetectNetwork");let g=await er(r,t,n,a,o);s.addEvent("endBuildMetaTransactions");let{nonce:h}=g[0];if(typeof h>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let T=async()=>{await i.validateEVMTransaction({chainId:C(Number(d)),nonce:te(h),metaTransactions:g,isBackgroundTransaction:c}),s.addEvent("endValidateEVMTransaction");},E=async()=>{let de=await J(g,h,u,a,e);return s.addEvent("endGetSignedMetaTransactions"),de},[,A]=await Promise.all([T(),E()]),y=await n.ethSendTransaction(a,A);return s.addEvent("endRelayerSendTransaction"),{signedTransactions:A,relayerId:y,nonce:h}},tr=async r=>{if(!r.to)throw new l(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof r.nonce>"u")throw new l(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!r.chainId)throw new l(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:r.to.toString(),data:r.data,nonce:r.nonce??void 0,value:r.value,revertOnError:!0}]},at=async({transactionRequest:r,ethSigner:e,zkEvmAddress:t,flow:i})=>{let n=await tr(r);i.addEvent("endBuildMetaTransactions");let a=await J(n,r.nonce,BigInt(r.chainId??0),t,e);return i.addEvent("endGetSignedMetaTransactions"),{to:t,data:a,chainId:C(Number(r.chainId??0))}};var Ie=async({params:r,ethSigner:e,rpcProvider:t,relayerClient:i,guardianClient:n,zkEvmAddress:a,flow:s,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let d=r[0],{relayerId:u}=await ie({transactionRequest:d,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:i,zkEvmAddress:a,flow:s,nonceSpace:o,isBackgroundTransaction:c}),{hash:g}=await ne(i,u,s);return g};var st=["types","domain","primaryType","message"],rr=r=>st.every(e=>e in r),nr=(r,e)=>{let t;if(typeof r=="string")try{t=JSON.parse(r);}catch(n){throw new l(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof r=="object")t=r;else throw new l(-32602,`Invalid typed data argument: ${r}`);if(!rr(t))throw new l(-32602,`Invalid typed data argument. The following properties are required: ${st.join(", ")}`);let i=t.domain?.chainId;if(i){let n;if(typeof i=="string"?i.startsWith("0x")?n=parseInt(i,16):n=parseInt(i,10):n=Number(i),t.domain.chainId=n,BigInt(n)!==e)throw new l(-32602,`Invalid chainId, expected ${e}`)}return t},ot=async({params:r,method:e,ethSigner:t,rpcProvider:i,relayerClient:n,guardianClient:a,flow:s})=>{let o=r[0],c=r[1];if(!o||!c)throw new l(-32602,`${e} requires an address and a typed data JSON`);let d=await i.getChainId(),u=nr(c,BigInt(d));s.addEvent("endDetectNetwork"),await a.evaluateEIP712Message({chainID:String(d),payload:u}),s.addEvent("endValidateMessage");let g=await n.imSignTypedData(o,u);s.addEvent("endRelayerSignTypedData");let h=await Ee(u,g,BigInt(d),o,t);return s.addEvent("getSignedTypedData"),h};var ar=r=>{let e=0;for(;e<r.length&&r[e]===0;)e++;return r.slice(e)},sr=r=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(r);let e="";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return decodeURIComponent(escape(e))},ct=r=>{if(!r)return r;try{let e=toBytes(r),t=ar(e);return sr(t)}catch{return r}};var ae=async({params:r,ethSigner:e,zkEvmAddress:t,rpcProvider:i,guardianClient:n,relayerClient:a,flow:s})=>{let o=r[0],c=r[1];if(!c||!o)throw new l(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==t.toLowerCase())throw new l(-32602,"personal_sign requires the signer to be the from address");let d=ct(o),u=await i.getChainId();s.addEvent("endDetectNetwork");let g=BigInt(u),h=Ce(g,d,e,c);h.then(()=>s.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:g,payload:d}),s.addEvent("endEvaluateERC191Message");let[T,E]=await Promise.all([h,a.imSign(c,d)]);s.addEvent("endRelayerSign");let A=await e.getAddress();return s.addEvent("endGetEOAAddress"),z(T,A,E)};var or="/v1/sdk/session-activity/check",se,lt=r=>{se||(se=r);},cr=r=>{let e=new URL(or,se);return Object.entries(r).forEach(([t,i])=>{i!=null&&e.searchParams.append(t,String(i));}),e.toString()};async function dt(r){if(!se)throw new Error("Client not initialised");let e=await fetch(cr(r));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}function mt(r,e){return (...t)=>{try{let i=r(...t);return i instanceof Promise?i.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):i}catch(i){return i instanceof Error&&trackError("passport","sessionActivityError",i),e}}}var{getItem:ut,setItem:Se}=utils.localStorage,_e="sessionActivitySendCount",gt="sessionActivityDate",Pe={},v={},oe={},ht=()=>{v=ut(_e)||{};let r=ut(gt),e=new Date,t=e.getFullYear(),i=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),a=`${t}-${i}-${n}`;(!r||r!==a)&&(v={}),Se(gt,a),Se(_e,v);};ht();var gr=r=>{ht(),v[r]||(v[r]=0),v[r]++,Se(_e,v),Pe[r]=0;},hr=async r=>new Promise(e=>{setTimeout(e,r*1e3);}),fr=async r=>{let e=r.flow||trackFlow("passport","sendSessionActivity"),t=r.passportClient;if(!t)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(oe[t])return;oe[t]=!0;let{sendTransaction:i,sessionActivityApiUrl:n}=r;if(!i)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");lt(n);let a=r.walletAddress;if(!a)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let s;try{if(s=await dt({clientId:t,wallet:a,checkCount:Pe[t]||0,sendCount:v[t]||0}),Pe[t]++,!s)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(s&&s.contractAddress&&s.functionName){let o=parseAbi([`function ${s.functionName}()`]),c=encodeFunctionData({abi:o,functionName:s.functionName}),d=s.contractAddress;try{e.addEvent("Start Sending Transaction");let u=await r.sendTransaction([{to:d,from:a,data:c}],e);gr(t),e.addEvent("Transaction Sent",{tx:u});}catch(u){e.addEvent("Failed to send Transaction");let g=new Error("Failed to send transaction",{cause:u});trackError("passport","sessionActivityError",g,{flowId:e.details.flowId});}}s&&s.delay&&s.delay>0&&(e.addEvent("Delaying Transaction",{delay:s.delay}),await hr(s.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),oe[t]=!1,ft({...r,flow:e});},0));},ft=r=>mt(fr)(r).then(()=>{oe[r.passportClient]=!1;}),Et=ft;var Ct=async({params:r,ethSigner:e,rpcProvider:t,relayerClient:i,guardianClient:n,zkEvmAddress:a,flow:s})=>{let o={to:a,value:0n},{relayerId:c}=await ie({transactionRequest:o,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:i,zkEvmAddress:a,flow:s});return n.withConfirmationScreen()(async()=>{let d=await ae({params:r,ethSigner:e,zkEvmAddress:a,rpcProvider:t,guardianClient:n,relayerClient:i,flow:s});return await ne(i,c,s),d})};var yt=async({params:r,ethSigner:e,zkEvmAddress:t,flow:i})=>{if(!r||r.length!==1)throw new l(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=r[0];return await at({transactionRequest:n,ethSigner:e,zkEvmAddress:t,flow:i})};var ce=r=>"zkEvm"in r,V=class{#i;#o;#l;#s;#d;#t;#e;#p;#a;#r;isPassport=!0;constructor({auth:e,config:t,multiRollupApiClients:i,passportEventEmitter:n,guardianClient:a,ethSigner:s,user:o,sessionActivityApiUrl:c}){this.#i=e,this.#o=t,this.#t=a,this.#d=n,this.#l=c,this.#r=s,this.#e=createPublicClient({transport:http(this.#o.zkEvmRpcUrl)}),this.#a=new L({config:this.#o,rpcProvider:this.#e,auth:this.#i}),this.#p=i,this.#s=new TypedEventEmitter,o&&ce(o)&&this.#c(o.zkEvm.ethAddress),n.on(AuthEvents.LOGGED_IN,d=>{ce(d)&&this.#c(d.zkEvm.ethAddress);}),n.on(AuthEvents.LOGGED_OUT,this.#m),n.on("accountsRequested",Et);}#m=()=>{this.#s.emit("accountsChanged",[]);};async#c(e,t){if(!this.#l)return;let i=BigInt(1),n=async(a,s)=>await Ie({params:a,ethSigner:this.#r,guardianClient:this.#t,rpcProvider:this.#e,relayerClient:this.#a,zkEvmAddress:e,flow:s,nonceSpace:i,isBackgroundTransaction:!0});this.#d.emit("accountsRequested",{sessionActivityApiUrl:this.#l,sendTransaction:n,walletAddress:e,passportClient:t||await this.#i.getClientId()});}async#n(){try{let e=await this.#i.getUser();return e&&ce(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#u(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#n();if(t)return [t];let i=trackFlow("passport","ethRequestAccounts");try{let n=await this.#i.getUserOrLogin();i.addEvent("endGetUserOrLogin");let a;return ce(n)?a=n.zkEvm.ethAddress:(i.addEvent("startUserRegistration"),a=await Je({ethSigner:this.#r,auth:this.#i,multiRollupApiClients:this.#p,accessToken:n.accessToken,rpcProvider:this.#e,flow:i}),i.addEvent("endUserRegistration")),this.#s.emit("accountsChanged",[a]),identify({passportId:n.profile.sub}),this.#c(a),[a]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:i.details.flowId}):i.addEvent("errored"),n}finally{i.addEvent("End");}}case"eth_sendTransaction":{let t=await this.#n();if(!t)throw new l(4100,"Unauthorised - call eth_requestAccounts first");let i=trackFlow("passport","ethSendTransaction");try{return await this.#t.withConfirmationScreen({width:480,height:720})(async()=>await Ie({params:e.params||[],ethSigner:this.#r,guardianClient:this.#t,rpcProvider:this.#e,relayerClient:this.#a,zkEvmAddress:t,flow:i}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:i.details.flowId}):i.addEvent("errored"),n}finally{i.addEvent("End");}}case"eth_accounts":{let t=await this.#n();return t?[t]:[]}case"personal_sign":{let t=await this.#n();if(!t)throw new l(4100,"Unauthorised - call eth_requestAccounts first");let i=trackFlow("passport","personalSign");try{return await this.#t.withConfirmationScreen({width:480,height:720})(async()=>this.#o.forceScwDeployBeforeMessageSignature&&!(await D(this.#e,t)>BigInt(0))?await Ct({params:e.params||[],zkEvmAddress:t,ethSigner:this.#r,rpcProvider:this.#e,guardianClient:this.#t,relayerClient:this.#a,flow:i}):await ae({params:e.params||[],zkEvmAddress:t,ethSigner:this.#r,rpcProvider:this.#e,guardianClient:this.#t,relayerClient:this.#a,flow:i}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:i.details.flowId}):i.addEvent("errored"),n}finally{i.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#n())throw new l(4100,"Unauthorised - call eth_requestAccounts first");let i=trackFlow("passport","ethSignTypedDataV4");try{return await this.#t.withConfirmationScreen({width:480,height:720})(async()=>await ot({method:e.method,params:e.params||[],ethSigner:this.#r,rpcProvider:this.#e,relayerClient:this.#a,guardianClient:this.#t,flow:i}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:i.details.flowId}):i.addEvent("errored"),n}finally{i.addEvent("End");}}case"eth_chainId":{let t=await this.#e.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,i]=e.params||[];return this.#e.request({method:e.method,params:[t,i||"latest"]})}case"eth_getStorageAt":{let[t,i,n]=e.params||[];return this.#e.request({method:"eth_getStorageAt",params:[t,i,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,i]=e.params||[];return this.#e.request({method:e.method,params:[t,i||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#e.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let t=await this.#n();if(!t)throw new l(4100,"Unauthorised - call eth_requestAccounts first");let i=trackFlow("passport","imSignEjectionTransaction");try{return await yt({params:e.params||[],ethSigner:this.#r,zkEvmAddress:t,flow:i})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:i.details.flowId}):i.addEvent("errored"),n}finally{i.addEvent("End");}}case"im_addSessionActivity":{let[t]=e.params||[],i=await this.#n();return i&&this.#c(i,t),null}default:throw new l(4200,"Method not supported")}}async request(e){try{return this.#u(e)}catch(t){throw t instanceof l?t:t instanceof Error?new l(-32603,t.message):new l(-32603,"Internal error")}}on(e,t){this.#s.on(e,t);}removeListener(e,t){this.#s.removeListener(e,t);}};var W=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";}};var be=async(r,e,t=!0,i=!0)=>{let n=trackFlow("passport",e,t);try{return await r(n)}catch(a){throw a instanceof Error?trackError("passport",e,a,{flowId:n.details.flowId}):n.addEvent("errored"),a}finally{i&&n.addEvent("End");}};var At="ETH",Rr=r=>r.reduce((e,t)=>`${e}${t.toString(16).padStart(2,"0")}`,""),Ir=r=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(r);let e=unescape(encodeURIComponent(r)),t=new Uint8Array(e.length);for(let i=0;i<e.length;i+=1)t[i]=e.charCodeAt(i);return t},Sr=r=>{let e=Ir(r),t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="";for(let n=0;n<e.length;n+=3){let a=e[n],s=e[n+1],o=e[n+2],c=a<<16|(s??0)<<8|(o??0),d=c>>18&63,u=c>>12&63,g=c>>6&63,h=c&63;i+=t[d]+t[u],i+=Number.isFinite(s)?t[g]:"=",i+=Number.isFinite(o)?t[h]:"=";}return i},M=class r{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 f(`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,i)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),a=r.getHeaders(n);await be(async s=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:At},{headers:a});return trackDuration("passport",s.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 I(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,i(new Error(c))}},"magicCreateWallet");}catch(n){i(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.auth.getUser();if(!e)throw new f("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new f("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${Rr(e)}`:e,i=await this.getUserOrThrow(),n=r.getHeaders(i);return be(async a=>{try{let s=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:Sr(t)},xMagicChain:At},{headers:n});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-s)),o.data.signature}catch(s){let o="MagicTEE: Failed to sign message using EOA";throw I(s)?s.response?o+=` with status ${s.response.status}: ${JSON.stringify(s.response.data)}`:o+=`: ${s.message}`:o+=`: ${s.message}`,new Error(o)}},"magicSignMessage")}};var Ne={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 Oe(r){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(r)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",t);}var G=13371,S=13473,R={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Me={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:R[13371].magicPublishableApiKey,magicProviderId:R[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},xe={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:R[13473].magicPublishableApiKey,magicProviderId:R[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},le=[xe,Me],_r={chains:[Me]},Pr={chains:[xe]},br={chains:le};function Ur(r){return r in R}function kr(r){if(r.magicPublishableApiKey&&r.magicProviderId)return {magicPublishableApiKey:r.magicPublishableApiKey,magicProviderId:r.magicProviderId};let{chainId:e}=r;if(Ur(e))return R[e];throw new Error(`No Magic configuration available for chain ${r.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var Hr="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",Fr="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",Br="openid profile email offline_access transact",Vr="platform_api",Wr="https://auth.immutable.com/im-logged-in",Gr="https://auth.immutable.com",$r=/(sandbox|testnet)/i;function Zr(r){if(r.chainId===13473)return !0;let e=r.apiUrl||r.passportDomain||"";return $r.test(e)}function qr(r){if(r.passportDomain)return r.passportDomain;if(r.apiUrl)try{let e=new URL(r.apiUrl),t=e.hostname.replace("api.","passport.");return `${e.protocol}//${t}`}catch{return r.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function jr(){return Gr}function Jr(){return Wr}function zr(r){return Zr(r)?Fr:Hr}function Kr(r,e){let t=qr(r),i=jr(),n=Jr();return new Auth({clientId:zr(r),redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:Br,audience:Vr,authenticationDomain:i,passportDomain:t,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled})}async function Yr(r={}){let e=r.chains&&r.chains.length>0?r.chains:le,t=r.initialChainId||e[0].chainId,i=e.find(_=>_.chainId===t);if(!i)throw new Error(`Initial chain ${t} not found in chains configuration`);let n=createConfig({basePath:i.apiUrl}),a=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),s=r.auth??Kr(i,r);!r.auth&&typeof window<"u"&&window.addEventListener("message",async _=>{if(_.data.code&&_.data.state){let wt=window.location.search,P=new URLSearchParams(wt);P.set("code",_.data.code),P.set("state",_.data.state),window.history.replaceState(null,"",`?${P.toString()}`),await s.loginCallback(),P.delete("code"),P.delete("state"),window.history.replaceState(null,"",`?${P.toString()}`);}});let o=s.getConfig(),c=await s.getUser(),d=new W({passportDomain:i.passportDomain||i.apiUrl.replace("api.","passport."),zkEvmRpcUrl:i.rpcUrl,relayerUrl:i.relayerUrl,indexerMrBasePath:i.apiUrl,jsonRpcReferrer:r.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:r.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:r.crossSdkBridgeEnabled,feeTokenSymbol:r.feeTokenSymbol}),u=new mr.GuardianApi(n),g=new O({config:d,auth:s,guardianApi:u,authConfig:o}),h=kr(i),T=i.magicTeeBasePath||"https://tee.express.magiclabs.com",E=new MagicTeeApiClients({basePath:T,timeout:1e4,magicPublishableApiKey:h.magicPublishableApiKey,magicProviderId:h.magicProviderId}),A=new M(s,E),y=null;i.chainId===13371?y="https://api.immutable.com":i.chainId===13473?y="https://api.sandbox.immutable.com":i.apiUrl&&(y=i.apiUrl);let de=r.passportEventEmitter||new TypedEventEmitter,De=new V({auth:s,config:d,multiRollupApiClients:a,passportEventEmitter:de,guardianClient:g,ethSigner:A,user:c,sessionActivityApiUrl:y});return r.announceProvider!==!1&&Oe({info:Ne,provider:De}),De}function tn(r){return typeof r=="object"&&r!==null&&"code"in r&&"message"in r}async function rn(r,e){let t=await r.getUser();if(!t?.profile.sub)return [];let i={Authorization:`Bearer ${t.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:i});return n.linked_addresses}async function nn(r,e,t){let i=trackFlow("wallet","linkExternalWallet");try{let n=await r.getUser();if(!n)throw new f("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new f("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let s={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:s})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):i.addEvent("errored"),I(n)&&n.response){if(n.response.data&&tn(n.response.data)){let{code:s,message:o}=n.response.data;switch(s){case"ALREADY_LINKED":throw new f(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new f(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new f(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new f(o,"WALLET_CONNECTION_ERROR");default:throw new f(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new f(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let a="Link wallet request failed";throw n instanceof Error&&(a+=`: ${n.message}`),new f(a,"WALLET_CONNECTION_ERROR")}finally{i.addEvent("End");}}
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:
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
+ `),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
+ `),p.fromHex(s.digest)));if(sr(s))return ye.keccak256(p.concat(p.fromString(`Sequence any address subdigest:
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}
350
+ [${D}] reference returned: ${m}
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
+ [${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}
354
+ [${C}] reference returned: ${m}
355
+ [${C}] ${w} returned: ${x1(A)}`):console.trace(`[${C}] calling ${c}: ${u}
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+=`'
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
+ `;}}}else for(let l=i+1;l<n.length;l+=8)r+=c,r+=Xt(n.subarray(l,l+8)),r+=`
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
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(`
371
+ `).map(n=>` ${n}`).join(`
372
+ `));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
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> */
375
+ /*! Bundled license information:
335
376
 
336
- export { N as ConfirmationScreen, le as DEFAULT_CHAINS, O as GuardianClient, _r as IMMUTABLE_ZKEVM_MAINNET, Me as IMMUTABLE_ZKEVM_MAINNET_CHAIN, G as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, br as IMMUTABLE_ZKEVM_MULTICHAIN, Pr as IMMUTABLE_ZKEVM_TESTNET, xe as IMMUTABLE_ZKEVM_TESTNET_CHAIN, S as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, l as JsonRpcError, M as MagicTEESigner, K as ProviderErrorCode, It as ProviderEvent, L as RelayerClient, St as RelayerTransactionStatus, w as RpcErrorCode, W as WalletConfiguration, f as WalletError, H as WalletErrorType, Le as WalletEvents, V as ZkEvmProvider, Oe as announceProvider, Yr as connectWallet, rn as getLinkedAddresses, nn as linkExternalWallet, Ne as passportProviderInfo, re as retryWithDelay, qe as walletHelpers };
377
+ pvtsutils/build/index.js:
378
+ (*!
379
+ * MIT License
380
+ *
381
+ * Copyright (c) 2017-2024 Peculiar Ventures, LLC
382
+ *
383
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
384
+ * of this software and associated documentation files (the "Software"), to deal
385
+ * in the Software without restriction, including without limitation the rights
386
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
387
+ * copies of the Software, and to permit persons to whom the Software is
388
+ * furnished to do so, subject to the following conditions:
389
+ *
390
+ * The above copyright notice and this permission notice shall be included in all
391
+ * copies or substantial portions of the Software.
392
+ *
393
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
394
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
395
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
396
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
397
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
398
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
399
+ * SOFTWARE.
400
+ *
401
+ *)
402
+
403
+ @noble/hashes/esm/utils.js:
404
+ (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
405
+
406
+ @noble/curves/esm/abstract/utils.js:
407
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
408
+
409
+ @noble/curves/esm/abstract/modular.js:
410
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
411
+
412
+ @noble/curves/esm/abstract/curve.js:
413
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
414
+
415
+ @noble/curves/esm/abstract/weierstrass.js:
416
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
417
+
418
+ @noble/curves/esm/_shortw_utils.js:
419
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
420
+
421
+ @noble/curves/esm/secp256k1.js:
422
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
423
+
424
+ @noble/curves/esm/nist.js:
425
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
426
+
427
+ @noble/curves/esm/p256.js:
428
+ (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
429
+
430
+ pvutils/build/utils.es.js:
431
+ (*!
432
+ Copyright (c) Peculiar Ventures, LLC
433
+ *)
434
+
435
+ asn1js/build/index.es.js:
436
+ (*!
437
+ * Copyright (c) 2014, GMO GlobalSign
438
+ * Copyright (c) 2015-2022, Peculiar Ventures
439
+ * All rights reserved.
440
+ *
441
+ * Author 2014-2019, Yury Strozhevsky
442
+ *
443
+ * Redistribution and use in source and binary forms, with or without modification,
444
+ * are permitted provided that the following conditions are met:
445
+ *
446
+ * * Redistributions of source code must retain the above copyright notice, this
447
+ * list of conditions and the following disclaimer.
448
+ *
449
+ * * Redistributions in binary form must reproduce the above copyright notice, this
450
+ * list of conditions and the following disclaimer in the documentation and/or
451
+ * other materials provided with the distribution.
452
+ *
453
+ * * Neither the name of the copyright holder nor the names of its
454
+ * contributors may be used to endorse or promote products derived from
455
+ * this software without specific prior written permission.
456
+ *
457
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
458
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
459
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
460
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
461
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
462
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
463
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
464
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
465
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
466
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
467
+ *
468
+ *)
469
+
470
+ @noble/hashes/esm/utils.js:
471
+ (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
472
+
473
+ pkijs/build/index.es.js:
474
+ (*!
475
+ * Copyright (c) 2014, GlobalSign
476
+ * Copyright (c) 2015-2019, Peculiar Ventures
477
+ * All rights reserved.
478
+ *
479
+ * Author 2014-2019, Yury Strozhevsky
480
+ *
481
+ * Redistribution and use in source and binary forms, with or without modification,
482
+ * are permitted provided that the following conditions are met:
483
+ *
484
+ * * Redistributions of source code must retain the above copyright notice, this
485
+ * list of conditions and the following disclaimer.
486
+ *
487
+ * * Redistributions in binary form must reproduce the above copyright notice, this
488
+ * list of conditions and the following disclaimer in the documentation and/or
489
+ * other materials provided with the distribution.
490
+ *
491
+ * * Neither the name of the {organization} nor the names of its
492
+ * contributors may be used to endorse or promote products derived from
493
+ * this software without specific prior written permission.
494
+ *
495
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
496
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
497
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
498
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
499
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
500
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
501
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
502
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
503
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
504
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
505
+ *
506
+ *)
507
+ */
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 };