@protontech/openpgp 5.11.1-0 → 5.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/lightweight/argon2id.min.mjs +1 -1
- package/dist/lightweight/argon2id.mjs +1 -1
- package/dist/lightweight/bn.interface.min.mjs +1 -1
- package/dist/lightweight/bn.interface.mjs +1 -1
- package/dist/lightweight/bn.min.mjs +1 -1
- package/dist/lightweight/bn.mjs +1 -1
- package/dist/lightweight/elliptic.min.mjs +1 -1
- package/dist/lightweight/elliptic.mjs +1 -1
- package/dist/lightweight/openpgp.min.mjs +2 -2
- package/dist/lightweight/openpgp.min.mjs.map +1 -1
- package/dist/lightweight/openpgp.mjs +12 -8
- package/dist/lightweight/ponyfill.es6.min.mjs +1 -1
- package/dist/lightweight/ponyfill.es6.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.min.mjs +1 -1
- package/dist/lightweight/web-streams-adapter.mjs +1 -1
- package/dist/node/openpgp.js +12 -8
- package/dist/node/openpgp.min.js +2 -2
- package/dist/node/openpgp.min.js.map +1 -1
- package/dist/node/openpgp.min.mjs +2 -2
- package/dist/node/openpgp.min.mjs.map +1 -1
- package/dist/node/openpgp.mjs +12 -8
- package/dist/openpgp.js +12 -8
- package/dist/openpgp.min.js +2 -2
- package/dist/openpgp.min.js.map +1 -1
- package/dist/openpgp.min.mjs +2 -2
- package/dist/openpgp.min.mjs.map +1 -1
- package/dist/openpgp.mjs +12 -8
- package/package.json +1 -1
package/dist/node/openpgp.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! OpenPGP.js v5.11.1
|
|
2
|
-
"use strict";const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};Object.defineProperty(exports,"__esModule",{value:!0});var t=require("buffer"),r=require("stream"),i=require("crypto"),n=require("zlib"),a=require("os"),s=require("util"),o=require("asn1.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/c(t),h=/*#__PURE__*/c(r),f=/*#__PURE__*/c(i),d=/*#__PURE__*/c(n),l=/*#__PURE__*/c(a),p=/*#__PURE__*/c(s),y=/*#__PURE__*/c(o);const g=Symbol("doneWritingPromise"),b=Symbol("doneWritingResolve"),m=Symbol("doneWritingReject"),w=Symbol("readingIndex");class A extends Array{constructor(){super(),this[g]=new Promise(((e,t)=>{this[b]=e,this[m]=t})),this[g].catch((()=>{}))}}function v(e){return e&&e.getReader&&Array.isArray(e)}function k(e){if(!v(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}A.prototype.getReader=function(){return void 0===this[w]&&(this[w]=0),{read:async()=>(await this[g],this[w]===this.length?{value:void 0,done:!0}:{value:this[this[w]++],done:!1})}},A.prototype.readToEnd=async function(e){await this[g];const t=e(this.slice(this[w]));return this.length=0,t},A.prototype.clone=function(){const e=new A;return e[g]=this[g].then((()=>{e.push(...this)})),e},k.prototype.write=async function(e){this.stream.push(e)},k.prototype.close=async function(){this.stream[b]()},k.prototype.abort=async function(e){return this.stream[m](e),e},k.prototype.releaseLock=function(){};const _="object"==typeof e.process&&"object"==typeof e.process.versions,E=_&&h.default.Readable;function S(t){return v(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":Q&&Q.prototype.isPrototypeOf(t)?"ponyfill":E&&E.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function C(e){return Uint8Array.prototype.isPrototypeOf(e)}function I(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!C(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let i=0;return e.forEach((function(e){r.set(e,i),i+=e.length})),r}const B=_&&u.default.Buffer,P=_&&h.default.Readable;let x,M;if(P){x=function(e){let t=!1;return new Q({start(r){e.pause(),e.on("data",(i=>{t||(B.isBuffer(i)&&(i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),r.enqueue(i),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends P{constructor(e,t){super(t),this._reader=j(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t))break}}catch(e){this.destroy(e)}}async _destroy(e,t){this._reader.cancel(e).then(t,t)}}M=function(t,r){return new e(t,r)}}const D=new WeakSet,K=Symbol("externalBuffer");function U(e){if(this.stream=e,e[K]&&(this[K]=e[K].slice()),v(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=async()=>{})}let t=S(e);if("node"===t&&(e=x(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||D.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{D.add(e)}catch(e){}}}U.prototype.read=async function(){if(this[K]&&this[K].length){return{done:!1,value:this[K].shift()}}return this._read()},U.prototype.releaseLock=function(){this[K]&&(this.stream[K]=this[K]),this._releaseLock()},U.prototype.cancel=function(e){return this._cancel(e)},U.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:i}=await this.read();if(i+="",r)return t.length?H(t):void 0;const n=i.indexOf("\n")+1;n&&(e=H(t.concat(i.substr(0,n))),t=[]),n!==i.length&&t.push(i.substr(n))}return this.unshift(...t),e},U.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(re(t,1)),r},U.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:i,value:n}=await this.read();if(i)return t.length?H(t):void 0;if(t.push(n),r+=n.length,r>=e){const r=H(t);return this.unshift(re(r,e)),re(r,0,e)}}},U.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},U.prototype.unshift=function(...e){this[K]||(this[K]=[]),1===e.length&&C(e[0])&&this[K].length&&e[0].length&&this[K][0].byteOffset>=e[0].length?this[K][0]=new Uint8Array(this[K][0].buffer,this[K][0].byteOffset-e[0].length,this[K][0].byteLength+e[0].length):this[K].unshift(...e.filter((e=>e&&e.length)))},U.prototype.readToEnd=async function(e=H){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let R,T,{ReadableStream:Q,WritableStream:z,TransformStream:F}=e;async function L(){if(F)return;const[t,r]=await Promise.all([Promise.resolve().then((function(){return Wp})),Promise.resolve().then((function(){return py}))]);({ReadableStream:Q,WritableStream:z,TransformStream:F}=t);const{createReadableStreamWrapper:i}=r;e.ReadableStream&&Q!==e.ReadableStream&&(R=i(Q),T=i(e.ReadableStream))}const N=_&&u.default.Buffer;function q(e){let t=S(e);return"node"===t?x(e):"web"===t&&R?R(e):t?e:new Q({start(t){t.enqueue(e),t.close()}})}function O(e){if(S(e))return e;const t=new A;return(async()=>{const r=G(t);await r.write(e),await r.close()})(),t}function H(e){return e.some((e=>S(e)&&!v(e)))?function(e){e=e.map(q);const t=J((async function(e){await Promise.all(i.map((t=>ne(t,e))))}));let r=Promise.resolve();const i=e.map(((i,n)=>Z(i,((i,a)=>(r=r.then((()=>W(i,t.writable,{preventClose:n!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>v(e)))?function(e){const t=new A;let r=Promise.resolve();return e.forEach(((i,n)=>(r=r.then((()=>W(i,t,{preventClose:n!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):N&&N.isBuffer(e[0])?N.concat(e):I(e)}function j(e){return new U(e)}function G(e){return new k(e)}async function W(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:n=!1}={}){if(S(e)&&!v(e)){e=q(e);try{if(e[K]){const r=G(t);for(let t=0;t<e[K].length;t++)await r.ready,await r.write(e[K][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:i,preventCancel:n})}catch(e){}return}const a=j(e=O(e)),s=G(t);try{for(;;){await s.ready;const{done:e,value:t}=await a.read();if(e){r||await s.close();break}await s.write(t)}}catch(e){i||await s.abort(e)}finally{a.releaseLock(),s.releaseLock()}}function V(e,t){const r=new F(t);return W(e,r.writable),r.readable}function J(e){let t,r,i=!1;return{readable:new Q({start(e){r=e},pull(){t?t():i=!0},cancel:e},{highWaterMark:0}),writable:new z({write:async function(e){r.enqueue(e),i?i=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function Y(e,t=(()=>{}),r=(()=>{})){if(v(e)){const i=new A;return(async()=>{const n=G(i);try{const i=await ie(e),a=t(i),s=r();let o;o=void 0!==a&&void 0!==s?H([a,s]):void 0!==a?a:s,await n.write(o),await n.close()}catch(e){await n.abort(e)}})(),i}if(S(e))return V(e,{async transform(e,r){try{const i=await t(e);void 0!==i&&r.enqueue(i)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const i=t(e),n=r();return void 0!==i&&void 0!==n?H([i,n]):void 0!==i?i:n}function Z(e,t){if(S(e)&&!v(e)){let r;const i=new F({start(e){r=e}}),n=W(e,i.writable),a=J((async function(e){r.error(e),await n,await new Promise(setTimeout)}));return t(i.readable,a.writable),a.readable}e=O(e);const r=new A;return t(e,r),r}function X(e,t){let r;const i=Z(e,((e,n)=>{const a=j(e);a.remainder=()=>(a.releaseLock(),W(e,n),i),r=t(a)}));return r}function $(e){if(v(e))return e.clone();if(S(e)){const t=function(e){if(v(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(S(e)){const t=q(e).tee();return t[0][K]=t[1][K]=e[K],t}return[re(e),re(e)]}(e);return te(e,t[0]),t[1]}return re(e)}function ee(e){return v(e)?$(e):S(e)?new Q({start(t){const r=Z(e,(async(e,r)=>{const i=j(e),n=G(r);try{for(;;){await n.ready;const{done:e,value:r}=await i.read();if(e){try{t.close()}catch(e){}return void await n.close()}try{t.enqueue(r)}catch(e){}await n.write(r)}}catch(e){t.error(e),await n.abort(e)}}));te(e,r)}}):re(e)}function te(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,i])=>{"constructor"!==r&&(i.value?i.value=i.value.bind(t):i.get=i.get.bind(t),Object.defineProperty(e,r,i))}))}function re(e,t=0,r=1/0){if(v(e))throw Error("Not implemented");if(S(e)){if(t>=0&&r>=0){let i=0;return V(e,{transform(e,n){i<r?(i+e.length>=t&&n.enqueue(re(e,Math.max(t-i,0),r-i)),i+=e.length):n.terminate()}})}if(t<0&&(r<0||r===1/0)){let i=[];return Y(e,(e=>{e.length>=-t?i=[e]:i.push(e)}),(()=>re(H(i),t,r)))}if(0===t&&r<0){let i;return Y(e,(e=>{const n=i?H([i,e]):e;if(n.length>=-r)return i=re(n,r),re(n,t,r);i=n}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),ae((async()=>re(await ie(e),t,r)))}return e[K]&&(e=H(e[K].concat([e]))),!C(e)||N&&N.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function ie(e,t=H){return v(e)?e.readToEnd(t):S(e)?j(e).readToEnd(t):e}async function ne(e,t){if(S(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function ae(e){const t=new A;return(async()=>{const r=G(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class se{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const i=t[e].toString(16);r[e]=t[e]<=15?"0"+i:i}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new se(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new se(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,i=this.value;i%=t.value;let n=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=n*i%t.value;n=e?a:n,i=i*i%t.value}return new se(n)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),i=BigInt(1),n=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=i-s*t,i=o,o=r,r=n-s*r,n=o,o=e,e=a%e,a=o}return{x:new se(i),y:new se(n),gcd:new se(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new se(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new se(0),t=new se(1),r=new se(-1),i=this.isNegative()?r:e;let n=1;const a=this.clone();for(;!a.irightShift(t).equal(i);)n++;return n}byteLength(){const e=new se(0),t=new se(-1),r=this.isNegative()?t:e,i=new se(8);let n=1;const a=this.clone();for(;!a.irightShift(i).equal(r);)n++;return n}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const i=r.length/2,n=new Uint8Array(t||i),a=t?t-i:0;let s=0;for(;s<i;)n[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&n.reverse(),n}}const oe=()=>"undefined"!=typeof BigInt;const ce=Symbol("byValue");var ue={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ed25519Legacy:"ed25519",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",curve25519Legacy:"curve25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,ed25519Legacy:22,eddsa:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[ce]||(e[ce]=[],Object.entries(e).forEach((([t,r])=>{e[ce][r]=t}))),void 0!==e[ce][t])return e[ce][t];throw Error("Invalid enum value.")}};const he=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),fe={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:C,isStream:S,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e>>8*(t-i-1)&255;return r},readDate:function(e){const t=fe.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return fe.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),i=t-e.length;return r.set(e,i),r},uint8ArrayToMPI:function(e){const t=fe.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),i=new Uint8Array([(65280&t)>>8,255&t]);return fe.concatUint8Array([i,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+fe.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let i,n=0;for(;n<r;){for(i=e[n++].toString(16);i.length<2;)i="0"+i;t.push(""+i)}return t.join("")},stringToUint8Array:function(e){return Y(e,(e=>{if(!fe.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,i=(e=new Uint8Array(e)).length;for(let n=0;n<i;n+=r)t.push(String.fromCharCode.apply(String,e.subarray(n,n+r<i?n+r:i)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return Y(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return Y(e,r,(()=>r(new Uint8Array,!0)))},concat:H,concatUint8Array:I,equalsUint8Array:function(e,t){if(!fe.isUint8Array(e)||!fe.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return fe.writeNumber(t,2)},printDebug:function(e){he&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){he&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let i=0;i<r;i++)t[i]=e[i]<<1^e[i+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(oe())return se;{const{default:e}=await Promise.resolve().then((function(){return wy}));return e}},getNodeCrypto:function(){return f.default},getNodeZlib:function(){return d.default},getNodeBuffer:function(){return(u.default||{}).Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return l.default.cpus().length},isEmailAddress:function(e){if(!fe.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return Y(e,(e=>{let r;t&&(e=fe.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const i=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&i.push(r);if(!i.length)return e;const n=new Uint8Array(e.length+i.length);let a=0;for(let t=0;t<i.length;t++){const r=e.subarray(i[t-1]||0,i[t]);n.set(r,a),a+=r.length,n[a-1]=13,n[a]=10,a++}return n.set(e.subarray(i[i.length-1]||0),a),n}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return Y(e,(e=>{let r;13===(e=t&&10!==e[0]?fe.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let i=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const n=r-(10===e[r]?1:0);t&&e.copyWithin(i,t,n),i+=n-t}return e.subarray(0,i)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let i;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){i=e}}))),r(i)}))},selectUint8Array:function(e,t,r){const i=Math.max(t.length,r.length),n=new Uint8Array(i);let a=0;for(let i=0;i<n.length;i++)n[i]=t[i]&256-e|r[i]&255+e,a+=e&i<t.length|1-e&i<r.length;return n.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===ue.symmetric.aes128||e===ue.symmetric.aes192||e===ue.symmetric.aes256}},de=fe.getNodeBuffer();let le,pe;function ye(e){let t=new Uint8Array;return Y(e,(e=>{t=fe.concatUint8Array([t,e]);const r=[],i=Math.floor(t.length/45),n=45*i,a=le(t.subarray(0,n));for(let e=0;e<i;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(n),r.join("")}),(()=>t.length?le(t)+"\n":""))}function ge(e){let t="";return Y(e,(e=>{t+=e;let r=0;const i=[" ","\t","\r","\n"];for(let e=0;e<i.length;e++){const n=i[e];for(let e=t.indexOf(n);-1!==e;e=t.indexOf(n,e+1))r++}let n=t.length;for(;n>0&&(n-r)%4!=0;n--)i.includes(t[n])&&r--;const a=pe(t.substr(0,n));return t=t.substr(n),a}),(()=>pe(t)))}function be(e){return ge(e.replace(/-/g,"+").replace(/_/g,"/"))}function me(e,t){let r=ye(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}de?(le=e=>de.from(e).toString("base64"),pe=e=>{const t=de.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(le=e=>btoa(fe.uint8ArrayToString(e)),pe=e=>fe.stringToUint8Array(atob(e)));var we={preferredHashAlgorithm:ue.hash.sha256,preferredSymmetricAlgorithm:ue.symmetric.aes256,preferredCompressionAlgorithm:ue.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ue.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:ue.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([ue.symmetric.aes128,ue.symmetric.aes192,ue.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.11.1-0",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ue.hash.md5,ue.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ue.hash.md5,ue.hash.ripemd,ue.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ue.publicKey.elgamal,ue.publicKey.dsa]),rejectCurves:new Set([ue.curve.secp256k1]),checkEdDSAFaultySignatures:!0};function Ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?ue.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?ue.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?ue.armor.signed:/MESSAGE/.test(t[1])?ue.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?ue.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?ue.armor.privateKey:/SIGNATURE/.test(t[1])?ue.armor.signature:void 0}function ve(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function ke(e){return ye(function(e){let t=13501623;return Y(e,(e=>{const r=Ee?Math.floor(e.length/4):0,i=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=i[e],t=_e[0][t>>24&255]^_e[1][t>>16&255]^_e[2][t>>8&255]^_e[3][t>>0&255];for(let i=4*r;i<e.length;i++)t=t>>8^_e[0][255&t^e[i]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const _e=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);_e[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)_e[1][e]=_e[0][e]>>8^_e[0][255&_e[0][e]];for(let e=0;e<=255;e++)_e[2][e]=_e[1][e]>>8^_e[0][255&_e[1][e]];for(let e=0;e<=255;e++)_e[3][e]=_e[2][e]>>8^_e[0][255&_e[2][e]];const Ee=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function Se(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||fe.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||fe.printDebugError(Error("Unknown header: "+e[t]))}function Ce(e){let t=e,r="";const i=e.lastIndexOf("=");return i>=0&&i!==e.length-1&&(t=e.slice(0,i),r=e.slice(i+1).substr(0,4)),{body:t,checksum:r}}function Ie(e,t=we){return new Promise((async(r,i)=>{try{const n=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,u,h,f=o,d=[],l=ge(Z(e,(async(e,t)=>{const p=j(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=fe.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)u||2!==s||(n.test(e)?(d=d.join("\r\n"),u=!0,Se(f),f=[],c=!1):d.push(e.replace(/^- /,"")));else if(n.test(e)&&i(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(Se(f),c=!0,u||2!==s){r({text:d,data:l,headers:o,type:s});break}}else f.push(e);else n.test(e)&&(s=Ae(e))}}catch(e){return void i(e)}const y=G(t);try{for(;;){await y.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=fe.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=Ce(t[0].slice(0,-1));h=i.checksum,await y.write(i.body);break}await y.write(r)}await y.ready,await y.close()}catch(e){await y.abort(e)}})));l=Z(l,(async(e,r)=>{const i=ie(ke(ee(e)));i.catch((()=>{})),await W(e,r,{preventClose:!0});const n=G(r);try{const e=(await i).replace("\n","");if(h!==e&&(h||t.checksumRequired))throw Error("Ascii armor integrity check failed");await n.ready,await n.close()}catch(e){await n.abort(e)}}))}catch(e){i(e)}})).then((async e=>(v(e.data)&&(e.data=await ie(e.data)),e)))}function Be(e,t,r,i,n,a=we){let s,o;e===ue.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=ee(t),u=[];switch(e){case ue.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+i+"-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE, PART "+r+"/"+i+"-----\n");break;case ue.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case ue.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push("Hash: "+o+"\n\n"),u.push(s.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP SIGNATURE-----\n");break;case ue.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE-----\n");break;case ue.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ue.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ue.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP SIGNATURE-----\n")}return fe.concat(u)}class Pe{constructor(){this.bytes=""}read(e){return this.bytes=fe.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return fe.stringToUint8Array(this.bytes)}toHex(){return fe.uint8ArrayToHex(fe.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Pe;return t.read(fe.hexToUint8Array(e)),t}static wildcard(){const e=new Pe;return e.read(new Uint8Array(8)),e}}var xe=function(){var e,t,r=!1;function i(r,i){var n=e[(t[r]+t[i])%255];return 0!==r&&0!==i||(n=0),n}var n,a,s,o,c=!1;function u(){function u(r){var i,n,a;for(n=a=function(r){var i=e[255-t[r]];return 0===r&&(i=0),i}(r),i=0;i<4;i++)a^=n=255&(n<<1|n>>>7);return a^=99}r||function(){e=[],t=[];var i,n,a=1;for(i=0;i<255;i++)e[i]=a,n=128&a,a<<=1,a&=255,128===n&&(a^=27),a^=e[i],t[e[i]]=i;e[255]=e[0],t[0]=0,r=!0}(),n=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var h=0;h<256;h++){var f=u(h);n[h]=f,a[f]=h,s[0][h]=i(2,f)<<24|f<<16|f<<8|i(3,f),o[0][f]=i(14,h)<<24|i(9,h)<<16|i(13,h)<<8|i(11,h);for(var d=1;d<4;d++)s[d][h]=s[d-1][h]>>>8|s[d-1][h]<<24,o[d][f]=o[d-1][f]>>>8|o[d-1][f]<<24}c=!0}var h=function(e,t){c||u();var r=new Uint32Array(t);r.set(n,512),r.set(a,768);for(var i=0;i<4;i++)r.set(s[i],4096+1024*i>>2),r.set(o[i],8192+1024*i>>2);var h=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0;var E=new e.Uint32Array(r),S=new e.Uint8Array(r);function C(e,t,r,o,c,u,h,f){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;u=u|0;h=h|0;f=f|0;var d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;d=r|0x400,l=r|0x800,p=r|0xc00;c=c^E[(e|0)>>2],u=u^E[(e|4)>>2],h=h^E[(e|8)>>2],f=f^E[(e|12)>>2];for(w=16;(w|0)<=o<<4;w=w+16|0){y=E[(r|c>>22&1020)>>2]^E[(d|u>>14&1020)>>2]^E[(l|h>>6&1020)>>2]^E[(p|f<<2&1020)>>2]^E[(e|w|0)>>2],g=E[(r|u>>22&1020)>>2]^E[(d|h>>14&1020)>>2]^E[(l|f>>6&1020)>>2]^E[(p|c<<2&1020)>>2]^E[(e|w|4)>>2],b=E[(r|h>>22&1020)>>2]^E[(d|f>>14&1020)>>2]^E[(l|c>>6&1020)>>2]^E[(p|u<<2&1020)>>2]^E[(e|w|8)>>2],m=E[(r|f>>22&1020)>>2]^E[(d|c>>14&1020)>>2]^E[(l|u>>6&1020)>>2]^E[(p|h<<2&1020)>>2]^E[(e|w|12)>>2];c=y,u=g,h=b,f=m}i=E[(t|c>>22&1020)>>2]<<24^E[(t|u>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|f<<2&1020)>>2]^E[(e|w|0)>>2],n=E[(t|u>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|f>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(e|w|4)>>2],a=E[(t|h>>22&1020)>>2]<<24^E[(t|f>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|u<<2&1020)>>2]^E[(e|w|8)>>2],s=E[(t|f>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|u>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(e|w|12)>>2]}function I(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;C(0x0000,0x0800,0x1000,_,e,t,r,i)}function B(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var a=0;C(0x0400,0x0c00,0x2000,_,e,i,r,t);a=n,n=s,s=a}function P(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o^e,c^t,u^r,h^f);o=i,c=n,u=a,h=s}function x(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;var d=0;C(0x0400,0x0c00,0x2000,_,e,f,r,t);d=n,n=s,s=d;i=i^o,n=n^c,a=a^u,s=s^h;o=e,c=t,u=r,h=f}function M(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);o=i=i^e,c=n=n^t,u=a=a^r,h=s=s^f}function D(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);i=i^e,n=n^t,a=a^r,s=s^f;o=e,c=t,u=r,h=f}function K(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);o=i,c=n,u=a,h=s;i=i^e,n=n^t,a=a^r,s=s^f}function U(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;C(0x0000,0x0800,0x1000,_,f,d,l,p);p=~m&p|m&p+1;l=~b&l|b&l+((p|0)==0);d=~g&d|g&d+((l|0)==0);f=~y&f|y&f+((d|0)==0);i=i^e;n=n^t;a=a^r;s=s^o}function R(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,a=0,s=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0;e=e^o,t=t^c,r=r^u,i=i^h;n=w|0,a=A|0,s=v|0,f=k|0;for(;(g|0)<128;g=g+1|0){if(n>>>31){d=d^e,l=l^t,p=p^r,y=y^i}n=n<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|f>>>31,f=f<<1;b=i&1;i=i>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(b)e=e^0xe1000000}o=d,c=l,u=p,h=y}function T(e){e=e|0;_=e}function Q(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;i=e,n=t,a=r,s=o}function z(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;o=e,c=t,u=r,h=i}function F(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;f=e,d=t,l=r,p=i}function L(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;y=e,g=t,b=r,m=i}function N(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;p=~m&p|m&i,l=~b&l|b&r,d=~g&d|g&t,f=~y&f|y&e}function q(e){e=e|0;if(e&15)return-1;S[e|0]=i>>>24,S[e|1]=i>>>16&255,S[e|2]=i>>>8&255,S[e|3]=i&255,S[e|4]=n>>>24,S[e|5]=n>>>16&255,S[e|6]=n>>>8&255,S[e|7]=n&255,S[e|8]=a>>>24,S[e|9]=a>>>16&255,S[e|10]=a>>>8&255,S[e|11]=a&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function O(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=c>>>24,S[e|5]=c>>>16&255,S[e|6]=c>>>8&255,S[e|7]=c&255,S[e|8]=u>>>24,S[e|9]=u>>>16&255,S[e|10]=u>>>8&255,S[e|11]=u&255,S[e|12]=h>>>24,S[e|13]=h>>>16&255,S[e|14]=h>>>8&255,S[e|15]=h&255;return 16}function H(){I(0,0,0,0);w=i,A=n,v=a,k=s}function j(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){W[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=i>>>24,S[t|1]=i>>>16&255,S[t|2]=i>>>8&255,S[t|3]=i&255,S[t|4]=n>>>24,S[t|5]=n>>>16&255,S[t|6]=n>>>8&255,S[t|7]=n&255,S[t|8]=a>>>24,S[t|9]=a>>>16&255,S[t|10]=a>>>8&255,S[t|11]=a&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function G(e,t,r){e=e|0;t=t|0;r=r|0;var i=0;if(t&15)return-1;while((r|0)>=16){V[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);i=i+16|0,t=t+16|0,r=r-16|0}return i|0}var W=[I,B,P,x,M,D,K,U];var V=[P,R];return{set_rounds:T,set_state:Q,set_iv:z,set_nonce:F,set_mask:L,set_counter:N,get_state:q,get_iv:O,gcm_init:H,cipher:j,mac:G}}({Uint8Array,Uint32Array},e,t);return h.set_key=function(e,t,i,a,s,c,u,f,d){var l=r.subarray(0,60),p=r.subarray(256,316);l.set([t,i,a,s,c,u,f,d]);for(var y=e,g=1;y<4*e+28;y++){var b=l[y-1];(y%e==0||8===e&&y%e==4)&&(b=n[b>>>24]<<24^n[b>>>16&255]<<16^n[b>>>8&255]<<8^n[255&b]),y%e==0&&(b=b<<8^b>>>24^g<<24,g=g<<1^(128&g?27:0)),l[y]=l[y-e]^b}for(var m=0;m<y;m+=4)for(var w=0;w<4;w++){b=l[y-(4+m)+(4-w)%4];p[m+w]=m<4||m>=y-4?b:o[0][n[b>>>24]]^o[1][n[b>>>16&255]]^o[2][n[b>>>8&255]]^o[3][n[255&b]]}h.set_rounds(e+5)},h};return h.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},h.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},h.MAC={CBC:0,GCM:1},h.HEAP_DATA=16384,h}();function Me(e){return e instanceof Uint8Array}function De(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function Ke(e,t,r,i,n){const a=e.length-t,s=a<n?a:n;return e.set(r.subarray(i,i+s),t),s}function Ue(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let i=0;for(let t=0;t<e.length;t++)r.set(e[t],i),i+=e[t].length;return r}class Re extends Error{constructor(...e){super(...e)}}class Te extends Error{constructor(...e){super(...e)}}class Qe extends Error{constructor(...e){super(...e)}}const ze=[],Fe=[];class Le{constructor(e,t,r=!0,i,n,a){this.pos=0,this.len=0,this.mode=i,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(n,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||ze.pop()||De().subarray(xe.HEAP_DATA),this.asm=t||Fe.pop()||new xe(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(ze.push(this.heap),Fe.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),i=e.length;if(16!==i&&24!==i&&32!==i)throw new Te("illegal key size");const n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(i>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),i>16?n.getUint32(16):0,i>16?n.getUint32(20):0,i>24?n.getUint32(24):0,i>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new Te("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!Me(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=xe.ENC[this.mode],n=xe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=0,f=new Uint8Array(s+c&-16);for(;c>0;)h=Ke(t,a+s,e,o,c),s+=h,o+=h,c-=h,h=r.cipher(i,n+a,s),h&&f.set(t.subarray(a,a+h),u),u+=h,h<s?(a+=h,s-=h):(a=0,s=0);return this.pos=a,this.len=s,f}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=xe.ENC[this.mode],i=xe.HEAP_DATA,n=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[n+a+t]=s;a+=s,o=a}else if(a%16)throw new Te("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,i+n,a),o&&c.set(e.subarray(n,n+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!Me(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=xe.DEC[this.mode],n=xe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=s+c&-16,f=0,d=0;this.padding&&(f=s+c-h||16,h-=f);const l=new Uint8Array(h);for(;c>0;)d=Ke(t,a+s,e,o,c),s+=d,o+=d,c-=d,d=r.cipher(i,n+a,s-(c?0:f)),d&&l.set(t.subarray(a,a+d),u),u+=d,d<s?(a+=d,s-=d):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=xe.DEC[this.mode],i=xe.HEAP_DATA,n=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new Te("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+n,a),this.hasOwnProperty("padding")&&this.padding){let t=e[n+s-1];if(t<1||t>16||t>s)throw new Qe("bad padding");let r=0;for(let i=t;i>1;i--)r|=t^e[n+s-i];if(r)throw new Qe("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(n,n+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Ne{static encrypt(e,t,r=!1){return new Ne(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Ne(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Le(e,void 0,t,"ECB")}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function qe(e){const t=function(e){const t=new Ne(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Oe(e,t,r,i,n,a){const s=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],u=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],h=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],f=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],d=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],l=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,y,g,b,m,w,A,v,k,_,E,S,C,I,B=0,P=t.length;const x=32===e.length?3:9;v=3===x?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let i;if(2===t&&r<8)i=32;else if(1===t)i=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}i=0}const n=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)n[t]=e[t];for(let t=0;t<r;t++)n[e.length+t]=i;return n}(t,a),P=t.length);let M=new Uint8Array(P),D=0;for(1===i&&(k=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],E=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],B=0);B<P;){for(w=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],A=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],1===i&&(r?(w^=k,A^=E):(_=k,S=E,k=w,E=A)),g=252645135&(w>>>4^A),A^=g,w^=g<<4,g=65535&(w>>>16^A),A^=g,w^=g<<16,g=858993459&(A>>>2^w),w^=g,A^=g<<2,g=16711935&(A>>>8^w),w^=g,A^=g<<8,g=1431655765&(w>>>1^A),A^=g,w^=g<<1,w=w<<1|w>>>31,A=A<<1|A>>>31,y=0;y<x;y+=3){for(C=v[y+1],I=v[y+2],p=v[y];p!==C;p+=I)b=A^e[p],m=(A>>>4|A<<28)^e[p+1],g=w,w=A,A=g^(o[b>>>24&63]|u[b>>>16&63]|f[b>>>8&63]|l[63&b]|s[m>>>24&63]|c[m>>>16&63]|h[m>>>8&63]|d[63&m]);g=w,w=A,A=g}w=w>>>1|w<<31,A=A>>>1|A<<31,g=1431655765&(w>>>1^A),A^=g,w^=g<<1,g=16711935&(A>>>8^w),w^=g,A^=g<<8,g=858993459&(A>>>2^w),w^=g,A^=g<<2,g=65535&(w>>>16^A),A^=g,w^=g<<16,g=252645135&(w>>>4^A),A^=g,w^=g<<4,1===i&&(r?(k=w,E=A):(w^=_,A^=S)),M[D++]=w>>>24,M[D++]=w>>>16&255,M[D++]=w>>>8&255,M[D++]=255&w,M[D++]=A>>>24,M[D++]=A>>>16&255,M[D++]=A>>>8&255,M[D++]=255&A}return r||(M=function(e,t){let r,i=null;if(2===t)r=32;else if(1===t)i=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!i){for(i=1;e[e.length-i]===r;)i++;i--}return e.subarray(0,e.length-i)}(M,a)),M}function He(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],n=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],a=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],l=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length>8?3:1,g=Array(32*y),b=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,A,v=0,k=0;for(let _=0;_<y;_++){let y=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++],_=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++];A=252645135&(y>>>4^_),_^=A,y^=A<<4,A=65535&(_>>>-16^y),y^=A,_^=A<<-16,A=858993459&(y>>>2^_),_^=A,y^=A<<2,A=65535&(_>>>-16^y),y^=A,_^=A<<-16,A=1431655765&(y>>>1^_),_^=A,y^=A<<1,A=16711935&(_>>>8^y),y^=A,_^=A<<8,A=1431655765&(y>>>1^_),_^=A,y^=A<<1,A=y<<8|_>>>20&240,y=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=A;for(let e=0;e<16;e++)b[e]?(y=y<<2|y>>>26,_=_<<2|_>>>26):(y=y<<1|y>>>27,_=_<<1|_>>>27),y&=-15,_&=-15,m=t[y>>>28]|r[y>>>24&15]|i[y>>>20&15]|n[y>>>16&15]|a[y>>>12&15]|s[y>>>8&15]|o[y>>>4&15],w=c[_>>>28]|u[_>>>24&15]|h[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|l[_>>>8&15]|p[_>>>4&15],A=65535&(w>>>16^m),g[k++]=m^A,g[k++]=w^A<<16}return g}function je(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Oe(He(this.key[2]),Oe(He(this.key[1]),Oe(He(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function Ge(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const i=t+e,n=i<<r|i>>>32-r;return(a[0][n>>>24]^a[1][n>>>16&255])-a[2][n>>>8&255]+a[3][255&n]}function i(e,t,r){const i=t^e,n=i<<r|i>>>32-r;return a[0][n>>>24]-a[1][n>>>16&255]+a[2][n>>>8&255]^a[3][255&n]}function n(e,t,r){const i=t-e,n=i<<r|i>>>32-r;return(a[0][n>>>24]+a[1][n>>>16&255]^a[2][n>>>8&255])-a[3][255&n]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const i=[,,,,,,,,],n=Array(32);let s;for(let e=0;e<4;e++)s=4*e,i[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=i[t[1]],c^=a[4][i[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][i[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][i[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][i[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][i[t[6]>>>2]>>>24-8*(3&t[6])&255],i[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][i[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][i[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][i[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][i[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][i[e[4]>>>2]>>>24-8*(3&e[4])&255],n[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=n[e],this.rotate[e]=31&n[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function We(e){this.cast5=new Ge,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}je.keySize=je.prototype.keySize=24,je.blockSize=je.prototype.blockSize=8,We.blockSize=We.prototype.blockSize=8,We.keySize=We.prototype.keySize=16;const Ve=4294967295;function Je(e,t){return(e<<t|e>>>32-t)&Ve}function Ye(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Ze(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Xe(e,t){return e>>>8*t&255}function $e(e){this.tf=function(){let e=null,t=null,r=-1,i=[],n=[[],[],[],[]];function a(e){return n[0][Xe(e,0)]^n[1][Xe(e,1)]^n[2][Xe(e,2)]^n[3][Xe(e,3)]}function s(e){return n[0][Xe(e,3)]^n[1][Xe(e,0)]^n[2][Xe(e,1)]^n[3][Xe(e,2)]}function o(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Je(t[2]^r+n+i[4*e+8]&Ve,31),t[3]=Je(t[3],1)^r+2*n+i[4*e+9]&Ve,r=a(t[2]),n=s(t[3]),t[0]=Je(t[0]^r+n+i[4*e+10]&Ve,31),t[1]=Je(t[1],1)^r+2*n+i[4*e+11]&Ve}function c(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Je(t[2],1)^r+n+i[4*e+10]&Ve,t[3]=Je(t[3]^r+2*n+i[4*e+11]&Ve,31),r=a(t[2]),n=s(t[3]),t[0]=Je(t[0],1)^r+n+i[4*e+8]&Ve,t[1]=Je(t[1]^r+2*n+i[4*e+9]&Ve,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const u=[],h=[],f=[];let d;const l=[];let p,y,g;const b=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],A=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],k=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],_=[[],[]],E=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function I(e,t){let r,i,n;for(r=0;r<8;r++)i=t>>>24,t=t<<8&Ve|e>>>24,e=e<<8&Ve,n=i<<1,128&i&&(n^=333),t^=i^n<<16,n^=i>>>1,1&i&&(n^=166),t^=n<<24|n<<8;return t}function B(e,t){const r=t>>4,i=15&t,n=b[e][r^i],a=m[e][v[i]^k[r]];return A[e][v[a]^k[n]]<<4|w[e][n^a]}function P(e,t){let r=Xe(e,0),i=Xe(e,1),n=Xe(e,2),a=Xe(e,3);switch(d){case 4:r=_[1][r]^Xe(t[3],0),i=_[0][i]^Xe(t[3],1),n=_[0][n]^Xe(t[3],2),a=_[1][a]^Xe(t[3],3);case 3:r=_[1][r]^Xe(t[2],0),i=_[1][i]^Xe(t[2],1),n=_[0][n]^Xe(t[2],2),a=_[0][a]^Xe(t[2],3);case 2:r=_[0][_[0][r]^Xe(t[1],0)]^Xe(t[0],0),i=_[0][_[1][i]^Xe(t[1],1)]^Xe(t[0],1),n=_[1][_[0][n]^Xe(t[1],2)]^Xe(t[0],2),a=_[1][_[1][a]^Xe(t[1],3)]^Xe(t[0],3)}return E[0][r]^E[1][i]^E[2][n]^E[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)f[r>>2]=Ye(e,r);for(r=0;r<256;r++)_[0][r]=B(0,r),_[1][r]=B(1,r);for(r=0;r<256;r++)p=_[1][r],y=S(p),g=C(p),E[0][r]=p+(y<<8)+(g<<16)+(g<<24),E[2][r]=y+(g<<8)+(p<<16)+(g<<24),p=_[0][r],y=S(p),g=C(p),E[1][r]=g+(g<<8)+(y<<16)+(p<<24),E[3][r]=y+(p<<8)+(g<<16)+(y<<24);for(d=f.length/2,r=0;r<d;r++)a=f[r+r],u[r]=a,s=f[r+r+1],h[r]=s,l[d-r-1]=I(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=P(a,u),s=Je(P(s,h),8),i[r]=a+s&Ve,i[r+1]=Je(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,d){case 4:a=_[1][a]^Xe(l[3],0),s=_[0][s]^Xe(l[3],1),o=_[0][o]^Xe(l[3],2),c=_[1][c]^Xe(l[3],3);case 3:a=_[1][a]^Xe(l[2],0),s=_[1][s]^Xe(l[2],1),o=_[0][o]^Xe(l[2],2),c=_[0][c]^Xe(l[2],3);case 2:n[0][r]=E[0][_[0][_[0][a]^Xe(l[1],0)]^Xe(l[0],0)],n[1][r]=E[1][_[0][_[1][s]^Xe(l[1],1)]^Xe(l[0],1)],n[2][r]=E[2][_[1][_[0][o]^Xe(l[1],2)]^Xe(l[0],2)],n[3][r]=E[3][_[1][_[1][c]^Xe(l[1],3)]^Xe(l[0],3)]}},close:function(){i=[],n=[[],[],[],[]]},encrypt:function(e,n){t=e,r=n;const a=[Ye(t,r)^i[0],Ye(t,r+4)^i[1],Ye(t,r+8)^i[2],Ye(t,r+12)^i[3]];for(let e=0;e<8;e++)o(e,a);return Ze(t,r,a[2]^i[4]),Ze(t,r+4,a[3]^i[5]),Ze(t,r+8,a[0]^i[6]),Ze(t,r+12,a[1]^i[7]),r+=16,t},decrypt:function(e,n){t=e,r=n;const a=[Ye(t,r)^i[4],Ye(t,r+4)^i[5],Ye(t,r+8)^i[6],Ye(t,r+12)^i[7]];for(let e=7;e>=0;e--)c(e,a);Ze(t,r,a[2]^i[0]),Ze(t,r+4,a[3]^i[1]),Ze(t,r+8,a[0]^i[2]),Ze(t,r+12,a[1]^i[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function et(){}function tt(e){this.bf=new et,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}$e.keySize=$e.prototype.keySize=32,$e.blockSize=$e.prototype.blockSize=16,et.prototype.BLOCKSIZE=8,et.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],et.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],et.prototype.NN=16,et.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},et.prototype._F=function(e){let t;const r=255&e,i=255&(e>>>=8),n=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][n],t^=this.sboxes[2][i],t+=this.sboxes[3][r],t},et.prototype._encryptBlock=function(e){let t,r=e[0],i=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[this.NN+0],i^=this.parray[this.NN+1],e[0]=this._clean(i),e[1]=this._clean(r)},et.prototype.encryptBlock=function(e){let t;const r=[0,0],i=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+i];this._encryptBlock(r);const n=[];for(t=0;t<this.BLOCKSIZE/2;++t)n[t+0]=r[0]>>>24-8*t&255,n[t+i]=r[1]>>>24-8*t&255;return n},et.prototype._decryptBlock=function(e){let t,r=e[0],i=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[1],i^=this.parray[0],e[0]=this._clean(i),e[1]=this._clean(r)},et.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let i=0;for(let t=0;t<4;++t)i=i<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^i}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const i=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(i),this.parray[t+0]=i[0],this.parray[t+1]=i[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(i),this.sboxes[t][r+0]=i[0],this.sboxes[t][r+1]=i[1]},tt.keySize=tt.prototype.keySize=16,tt.blockSize=tt.prototype.blockSize=8;const rt=qe(128),it=qe(192),nt=qe(256),at=function(e){this.key=e,this.encrypt=function(e,t){return Oe(He(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Oe(He(this.key),e,!1,0,null,t)}};var st=/*#__PURE__*/Object.freeze({__proto__:null,aes128:rt,aes192:it,aes256:nt,des:at,tripledes:je,cast5:We,twofish:$e,blowfish:tt,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),ot=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0;var h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;var A=new e.Uint8Array(r);function v(e,t,r,c,u,h,f,d,l,p,y,g,b,m,w,A){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;h=h|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;A=A|0;var v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0,D=0,K=0,U=0,R=0,T=0,Q=0,z=0,F=0,L=0,N=0,q=0,O=0,H=0,j=0,G=0,W=0,V=0,J=0,Y=0,Z=0,X=0,$=0,ee=0,te=0,re=0,ie=0,ne=0,ae=0,se=0,oe=0,ce=0,ue=0,he=0,fe=0,de=0,le=0,pe=0,ye=0,ge=0,be=0,me=0,we=0,Ae=0,ve=0,ke=0,_e=0,Ee=0,Se=0,Ce=0,Ie=0,Be=0,Pe=0,xe=0,Me=0,De=0,Ke=0,Ue=0,Re=0,Te=0,Qe=0;v=i;k=n;_=a;E=s;S=o;I=e+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=t+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=r+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=c+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=u+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=h+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=f+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=d+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=l+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=p+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=y+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=g+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=b+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=m+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=w+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=A+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=m^l^r^e;B=C<<1|C>>>31;I=B+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=w^p^c^t;P=C<<1|C>>>31;I=P+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=A^y^u^r;x=C<<1|C>>>31;I=x+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=B^g^h^c;M=C<<1|C>>>31;I=M+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=P^b^f^u;D=C<<1|C>>>31;I=D+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=x^m^d^h;K=C<<1|C>>>31;I=K+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=M^w^l^f;U=C<<1|C>>>31;I=U+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=D^A^p^d;R=C<<1|C>>>31;I=R+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=K^B^y^l;T=C<<1|C>>>31;I=T+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=U^P^g^p;Q=C<<1|C>>>31;I=Q+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=R^x^b^y;z=C<<1|C>>>31;I=z+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=T^M^m^g;F=C<<1|C>>>31;I=F+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Q^D^w^b;L=C<<1|C>>>31;I=L+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=z^K^A^m;N=C<<1|C>>>31;I=N+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=F^U^B^w;q=C<<1|C>>>31;I=q+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=L^R^P^A;O=C<<1|C>>>31;I=O+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=N^T^x^B;H=C<<1|C>>>31;I=H+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=q^Q^M^P;j=C<<1|C>>>31;I=j+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=O^z^D^x;G=C<<1|C>>>31;I=G+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=H^F^K^M;W=C<<1|C>>>31;I=W+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=j^L^U^D;V=C<<1|C>>>31;I=V+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=G^N^R^K;J=C<<1|C>>>31;I=J+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=W^q^T^U;Y=C<<1|C>>>31;I=Y+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=V^O^Q^R;Z=C<<1|C>>>31;I=Z+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=J^H^z^T;X=C<<1|C>>>31;I=X+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Y^j^F^Q;$=C<<1|C>>>31;I=$+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Z^G^L^z;ee=C<<1|C>>>31;I=ee+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=X^W^N^F;te=C<<1|C>>>31;I=te+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=$^V^q^L;re=C<<1|C>>>31;I=re+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ee^J^O^N;ie=C<<1|C>>>31;I=ie+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=te^Y^H^q;ne=C<<1|C>>>31;I=ne+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=re^Z^j^O;ae=C<<1|C>>>31;I=ae+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ie^X^G^H;se=C<<1|C>>>31;I=se+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ne^$^W^j;oe=C<<1|C>>>31;I=oe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ae^ee^V^G;ce=C<<1|C>>>31;I=ce+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=se^te^J^W;ue=C<<1|C>>>31;I=ue+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=oe^re^Y^V;he=C<<1|C>>>31;I=he+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ce^ie^Z^J;fe=C<<1|C>>>31;I=fe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ue^ne^X^Y;de=C<<1|C>>>31;I=de+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=he^ae^$^Z;le=C<<1|C>>>31;I=le+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=fe^se^ee^X;pe=C<<1|C>>>31;I=pe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=de^oe^te^$;ye=C<<1|C>>>31;I=ye+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=le^ce^re^ee;ge=C<<1|C>>>31;I=ge+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=pe^ue^ie^te;be=C<<1|C>>>31;I=be+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ye^he^ne^re;me=C<<1|C>>>31;I=me+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ge^fe^ae^ie;we=C<<1|C>>>31;I=we+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=be^de^se^ne;Ae=C<<1|C>>>31;I=Ae+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=me^le^oe^ae;ve=C<<1|C>>>31;I=ve+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=we^pe^ce^se;ke=C<<1|C>>>31;I=ke+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ae^ye^ue^oe;_e=C<<1|C>>>31;I=_e+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ve^ge^he^ce;Ee=C<<1|C>>>31;I=Ee+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ke^be^fe^ue;Se=C<<1|C>>>31;I=Se+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=_e^me^de^he;Ce=C<<1|C>>>31;I=Ce+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ee^we^le^fe;Ie=C<<1|C>>>31;I=Ie+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Se^Ae^pe^de;Be=C<<1|C>>>31;I=Be+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ce^ve^ye^le;Pe=C<<1|C>>>31;I=Pe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ie^ke^ge^pe;xe=C<<1|C>>>31;I=xe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Be^_e^be^ye;Me=C<<1|C>>>31;I=Me+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Pe^Ee^me^ge;De=C<<1|C>>>31;I=De+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=xe^Se^we^be;Ke=C<<1|C>>>31;I=Ke+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Me^Ce^Ae^me;Ue=C<<1|C>>>31;I=Ue+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=De^Ie^ve^we;Re=C<<1|C>>>31;I=Re+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ke^Be^ke^Ae;Te=C<<1|C>>>31;I=Te+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ue^Pe^_e^ve;Qe=C<<1|C>>>31;I=Qe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;i=i+v|0;n=n+k|0;a=a+_|0;s=s+E|0;o=o+S|0}function k(e){e=e|0;v(A[e|0]<<24|A[e|1]<<16|A[e|2]<<8|A[e|3],A[e|4]<<24|A[e|5]<<16|A[e|6]<<8|A[e|7],A[e|8]<<24|A[e|9]<<16|A[e|10]<<8|A[e|11],A[e|12]<<24|A[e|13]<<16|A[e|14]<<8|A[e|15],A[e|16]<<24|A[e|17]<<16|A[e|18]<<8|A[e|19],A[e|20]<<24|A[e|21]<<16|A[e|22]<<8|A[e|23],A[e|24]<<24|A[e|25]<<16|A[e|26]<<8|A[e|27],A[e|28]<<24|A[e|29]<<16|A[e|30]<<8|A[e|31],A[e|32]<<24|A[e|33]<<16|A[e|34]<<8|A[e|35],A[e|36]<<24|A[e|37]<<16|A[e|38]<<8|A[e|39],A[e|40]<<24|A[e|41]<<16|A[e|42]<<8|A[e|43],A[e|44]<<24|A[e|45]<<16|A[e|46]<<8|A[e|47],A[e|48]<<24|A[e|49]<<16|A[e|50]<<8|A[e|51],A[e|52]<<24|A[e|53]<<16|A[e|54]<<8|A[e|55],A[e|56]<<24|A[e|57]<<16|A[e|58]<<8|A[e|59],A[e|60]<<24|A[e|61]<<16|A[e|62]<<8|A[e|63])}function _(e){e=e|0;A[e|0]=i>>>24;A[e|1]=i>>>16&255;A[e|2]=i>>>8&255;A[e|3]=i&255;A[e|4]=n>>>24;A[e|5]=n>>>16&255;A[e|6]=n>>>8&255;A[e|7]=n&255;A[e|8]=a>>>24;A[e|9]=a>>>16&255;A[e|10]=a>>>8&255;A[e|11]=a&255;A[e|12]=s>>>24;A[e|13]=s>>>16&255;A[e|14]=s>>>8&255;A[e|15]=s&255;A[e|16]=o>>>24;A[e|17]=o>>>16&255;A[e|18]=o>>>8&255;A[e|19]=o&255}function E(){i=0x67452301;n=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=u=0}function S(e,t,r,h,f,d,l){e=e|0;t=t|0;r=r|0;h=h|0;f=f|0;d=d|0;l=l|0;i=e;n=t;a=r;s=h;o=f;c=d;u=l}function C(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)u=u+1|0;return r|0}function I(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=C(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;c=c+t|0;if(c>>>0<t>>>0)u=u+1|0;A[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)A[e|n]=0x00;k(e);t=0;A[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)A[e|n]=0;A[e|56]=u>>>21&255;A[e|57]=u>>>13&255;A[e|58]=u>>>5&255;A[e|59]=u<<3&255|c>>>29;A[e|60]=c>>>21&255;A[e|61]=c>>>13&255;A[e|62]=c>>>5&255;A[e|63]=c<<3&255;k(e);if(~r)_(r);return i|0}function B(){i=h;n=f;a=d;s=l;o=p;c=64;u=0}function P(){i=y;n=g;a=b;s=m;o=w;c=64;u=0}function x(e,t,r,A,k,_,S,C,I,B,P,x,M,D,K,U){e=e|0;t=t|0;r=r|0;A=A|0;k=k|0;_=_|0;S=S|0;C=C|0;I=I|0;B=B|0;P=P|0;x=x|0;M=M|0;D=D|0;K=K|0;U=U|0;E();v(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,A^0x5c5c5c5c,k^0x5c5c5c5c,_^0x5c5c5c5c,S^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,P^0x5c5c5c5c,x^0x5c5c5c5c,M^0x5c5c5c5c,D^0x5c5c5c5c,K^0x5c5c5c5c,U^0x5c5c5c5c);y=i;g=n;b=a;m=s;w=o;E();v(e^0x36363636,t^0x36363636,r^0x36363636,A^0x36363636,k^0x36363636,_^0x36363636,S^0x36363636,C^0x36363636,I^0x36363636,B^0x36363636,P^0x36363636,x^0x36363636,M^0x36363636,D^0x36363636,K^0x36363636,U^0x36363636);h=i;f=n;d=a;l=s;p=o;c=64;u=0}function M(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,u=0,h=0,f=0,d=0,l=0;if(e&63)return-1;if(~r)if(r&31)return-1;l=I(e,t,-1)|0;c=i,u=n,h=a,f=s,d=o;P();v(c,u,h,f,d,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)_(r);return l|0}function D(e,t,r,c,u){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;var h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;if(e&63)return-1;if(~u)if(u&31)return-1;A[e+t|0]=r>>>24;A[e+t+1|0]=r>>>16&255;A[e+t+2|0]=r>>>8&255;A[e+t+3|0]=r&255;M(e,t+4|0,-1)|0;h=y=i,f=g=n,d=b=a,l=m=s,p=w=o;c=c-1|0;while((c|0)>0){B();v(y,g,b,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,g=n,b=a,m=s,w=o;P();v(y,g,b,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,g=n,b=a,m=s,w=o;h=h^i;f=f^n;d=d^a;l=l^s;p=p^o;c=c-1|0}i=h;n=f;a=d;s=l;o=p;if(~u)_(u);return 0}return{reset:E,init:S,process:C,finish:I,hmac_reset:B,hmac_init:x,hmac_finish:M,pbkdf2_generate_block:D}};class ct{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new Re("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let i=this.pos,n=this.len,a=0,s=e.length,o=0;for(;s>0;)o=Ke(r,i+n,e,a,s),n+=o,a+=o,s-=o,o=t.process(i,n),i+=o,n-=o,n||(i=0);return this.pos=i,this.len=n,this}finish(){if(null!==this.result)throw new Re("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const ut=[],ht=[];class ft extends ct{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=ut.pop()||De(),this.asm=ht.pop()||ot({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(ut.push(this.heap),ht.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new ft).process(e).finish().result}}ft.NAME="sha1",ft.heap_pool=[],ft.asm_pool=[],ft.asm_function=ot;const dt=[],lt=[];class pt extends ct{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=dt.pop()||De(),this.asm=lt.pop()||function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=new e.Uint8Array(r);function x(e,t,r,f,d,l,p,y,g,b,m,w,A,v,k,_){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;A=A|0;v=v|0;k=k|0;_=_|0;var E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0;E=i;S=n;C=a;I=s;B=o;P=c;x=u;M=h;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x428a2f98|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x71374491|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb5c0fbcf|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xe9b5dba5|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x3956c25b|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x59f111f1|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x923f82a4|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xab1c5ed5|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xd807aa98|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x12835b01|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x243185be|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x550c7dc3|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x72be5d74|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x80deb1fe|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x9bdc06a7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xc19bf174|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xe49b69c1|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xefbe4786|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x0fc19dc6|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x240ca1cc|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x2de92c6f|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x4a7484aa|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x5cb0a9dc|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x76f988da|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x983e5152|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa831c66d|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb00327c8|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xbf597fc7|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xc6e00bf3|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xd5a79147|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x06ca6351|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x14292967|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x27b70a85|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x2e1b2138|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x4d2c6dfc|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x53380d13|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x650a7354|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x766a0abb|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x81c2c92e|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x92722c85|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xa2bfe8a1|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa81a664b|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xc24b8b70|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xc76c51a3|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xd192e819|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xd6990624|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0xf40e3585|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x106aa070|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x19a4c116|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x1e376c08|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x2748774c|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x34b0bcb5|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x391c0cb3|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x4ed8aa4a|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x5b9cca4f|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x682e6ff3|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x748f82ee|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x78a5636f|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x84c87814|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x8cc70208|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x90befffa|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xa4506ceb|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0xbef9a3f7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xc67178f2|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;i=i+E|0;n=n+S|0;a=a+C|0;s=s+I|0;o=o+B|0;c=c+P|0;u=u+x|0;h=h+M|0}function M(e){e=e|0;x(P[e|0]<<24|P[e|1]<<16|P[e|2]<<8|P[e|3],P[e|4]<<24|P[e|5]<<16|P[e|6]<<8|P[e|7],P[e|8]<<24|P[e|9]<<16|P[e|10]<<8|P[e|11],P[e|12]<<24|P[e|13]<<16|P[e|14]<<8|P[e|15],P[e|16]<<24|P[e|17]<<16|P[e|18]<<8|P[e|19],P[e|20]<<24|P[e|21]<<16|P[e|22]<<8|P[e|23],P[e|24]<<24|P[e|25]<<16|P[e|26]<<8|P[e|27],P[e|28]<<24|P[e|29]<<16|P[e|30]<<8|P[e|31],P[e|32]<<24|P[e|33]<<16|P[e|34]<<8|P[e|35],P[e|36]<<24|P[e|37]<<16|P[e|38]<<8|P[e|39],P[e|40]<<24|P[e|41]<<16|P[e|42]<<8|P[e|43],P[e|44]<<24|P[e|45]<<16|P[e|46]<<8|P[e|47],P[e|48]<<24|P[e|49]<<16|P[e|50]<<8|P[e|51],P[e|52]<<24|P[e|53]<<16|P[e|54]<<8|P[e|55],P[e|56]<<24|P[e|57]<<16|P[e|58]<<8|P[e|59],P[e|60]<<24|P[e|61]<<16|P[e|62]<<8|P[e|63])}function D(e){e=e|0;P[e|0]=i>>>24;P[e|1]=i>>>16&255;P[e|2]=i>>>8&255;P[e|3]=i&255;P[e|4]=n>>>24;P[e|5]=n>>>16&255;P[e|6]=n>>>8&255;P[e|7]=n&255;P[e|8]=a>>>24;P[e|9]=a>>>16&255;P[e|10]=a>>>8&255;P[e|11]=a&255;P[e|12]=s>>>24;P[e|13]=s>>>16&255;P[e|14]=s>>>8&255;P[e|15]=s&255;P[e|16]=o>>>24;P[e|17]=o>>>16&255;P[e|18]=o>>>8&255;P[e|19]=o&255;P[e|20]=c>>>24;P[e|21]=c>>>16&255;P[e|22]=c>>>8&255;P[e|23]=c&255;P[e|24]=u>>>24;P[e|25]=u>>>16&255;P[e|26]=u>>>8&255;P[e|27]=u&255;P[e|28]=h>>>24;P[e|29]=h>>>16&255;P[e|30]=h>>>8&255;P[e|31]=h&255}function K(){i=0x6a09e667;n=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;u=0x1f83d9ab;h=0x5be0cd19;f=d=0}function U(e,t,r,l,p,y,g,b,m,w){e=e|0;t=t|0;r=r|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;i=e;n=t;a=r;s=l;o=p;c=y;u=g;h=b;f=m;d=w}function R(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){M(e);e=e+64|0;t=t-64|0;r=r+64|0}f=f+r|0;if(f>>>0<r>>>0)d=d+1|0;return r|0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=R(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;f=f+t|0;if(f>>>0<t>>>0)d=d+1|0;P[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)P[e|n]=0x00;M(e);t=0;P[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)P[e|n]=0;P[e|56]=d>>>21&255;P[e|57]=d>>>13&255;P[e|58]=d>>>5&255;P[e|59]=d<<3&255|f>>>29;P[e|60]=f>>>21&255;P[e|61]=f>>>13&255;P[e|62]=f>>>5&255;P[e|63]=f<<3&255;M(e);if(~r)D(r);return i|0}function Q(){i=l;n=p;a=y;s=g;o=b;c=m;u=w;h=A;f=64;d=0}function z(){i=v;n=k;a=_;s=E;o=S;c=C;u=I;h=B;f=64;d=0}function F(e,t,r,P,M,D,U,R,T,Q,z,F,L,N,q,O){e=e|0;t=t|0;r=r|0;P=P|0;M=M|0;D=D|0;U=U|0;R=R|0;T=T|0;Q=Q|0;z=z|0;F=F|0;L=L|0;N=N|0;q=q|0;O=O|0;K();x(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,P^0x5c5c5c5c,M^0x5c5c5c5c,D^0x5c5c5c5c,U^0x5c5c5c5c,R^0x5c5c5c5c,T^0x5c5c5c5c,Q^0x5c5c5c5c,z^0x5c5c5c5c,F^0x5c5c5c5c,L^0x5c5c5c5c,N^0x5c5c5c5c,q^0x5c5c5c5c,O^0x5c5c5c5c);v=i;k=n;_=a;E=s;S=o;C=c;I=u;B=h;K();x(e^0x36363636,t^0x36363636,r^0x36363636,P^0x36363636,M^0x36363636,D^0x36363636,U^0x36363636,R^0x36363636,T^0x36363636,Q^0x36363636,z^0x36363636,F^0x36363636,L^0x36363636,N^0x36363636,q^0x36363636,O^0x36363636);l=i;p=n;y=a;g=s;b=o;m=c;w=u;A=h;f=64;d=0}function L(e,t,r){e=e|0;t=t|0;r=r|0;var f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;if(e&63)return-1;if(~r)if(r&31)return-1;w=T(e,t,-1)|0;f=i,d=n,l=a,p=s,y=o,g=c,b=u,m=h;z();x(f,d,l,p,y,g,b,m,0x80000000,0,0,0,0,0,0,768);if(~r)D(r);return w|0}function N(e,t,r,f,d){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;var l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0;if(e&63)return-1;if(~d)if(d&31)return-1;P[e+t|0]=r>>>24;P[e+t+1|0]=r>>>16&255;P[e+t+2|0]=r>>>8&255;P[e+t+3|0]=r&255;L(e,t+4|0,-1)|0;l=v=i,p=k=n,y=_=a,g=E=s,b=S=o,m=C=c,w=I=u,A=B=h;f=f-1|0;while((f|0)>0){Q();x(v,k,_,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,k=n,_=a,E=s,S=o,C=c,I=u,B=h;z();x(v,k,_,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,k=n,_=a,E=s,S=o,C=c,I=u,B=h;l=l^i;p=p^n;y=y^a;g=g^s;b=b^o;m=m^c;w=w^u;A=A^h;f=f-1|0}i=l;n=p;a=y;s=g;o=b;c=m;u=w;h=A;if(~d)D(d);return 0}return{reset:K,init:U,process:R,finish:T,hmac_reset:Q,hmac_init:F,hmac_finish:L,pbkdf2_generate_block:N}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(dt.push(this.heap),lt.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new pt).process(e).finish().result}}pt.NAME="sha256";var yt=gt;function gt(e,t){if(!e)throw Error(t||"Assertion failed")}gt.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var bt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function mt(e,t){return e(t={exports:{}},t.exports),t.exports}function wt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var At=mt((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}})),vt=mt((function(e){try{var t=p.default;if("function"!=typeof t.inherits)throw"";e.exports=t.inherits}catch(t){e.exports=At}}));var kt=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r};var _t=function(e){for(var t="",r=0;r<e.length;r++)t+=Ct(e[r].toString(16));return t};function Et(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var St=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=Et(n)),r+=It(n.toString(16))}return r};function Ct(e){return 1===e.length?"0"+e:e}function It(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var Bt=function(e,t,r,i){var n=r-t;yt(n%4==0);for(var a=Array(n/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===i?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var Pt=function(e,t){for(var r=Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var a=e[i];"big"===t?(r[n]=a>>>24,r[n+1]=a>>>16&255,r[n+2]=a>>>8&255,r[n+3]=255&a):(r[n+3]=a>>>24,r[n+2]=a>>>16&255,r[n+1]=a>>>8&255,r[n]=255&a)}return r};var xt={inherits:vt,toArray:kt,toHex:_t,htonl:Et,toHex32:St,zero2:Ct,zero8:It,join32:Bt,split32:Pt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,i){return e+t+r+i>>>0},sum32_5:function(e,t,r,i,n){return e+t+r+i+n>>>0},sum64:function(e,t,r,i){var n=e[t],a=i+e[t+1]>>>0,s=(a<i?1:0)+r+n;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,i){return t+i>>>0},sum64_4_hi:function(e,t,r,i,n,a,s,o){var c=0,u=t;return c+=(u=u+i>>>0)<t?1:0,c+=(u=u+a>>>0)<a?1:0,e+r+n+s+(c+=(u=u+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,i,n,a,s,o){return t+i+a+o>>>0},sum64_5_hi:function(e,t,r,i,n,a,s,o,c,u){var h=0,f=t;return h+=(f=f+i>>>0)<t?1:0,h+=(f=f+a>>>0)<a?1:0,h+=(f=f+o>>>0)<o?1:0,e+r+n+s+c+(h+=(f=f+u>>>0)<u?1:0)>>>0},sum64_5_lo:function(e,t,r,i,n,a,s,o,c,u){return t+i+a+o+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function Mt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var Dt=Mt;Mt.prototype.update=function(e,t){if(e=xt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=xt.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},Mt.prototype.digest=function(e){return this.update(this._pad()),yt(null===this.pending),this._digest(e)},Mt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var Kt={BlockHash:Dt},Ut=xt.rotr32;var Rt=function(e,t,r,i){return 0===e?Tt(t,r,i):1===e||3===e?zt(t,r,i):2===e?Qt(t,r,i):void 0};function Tt(e,t,r){return e&t^~e&r}function Qt(e,t,r){return e&t^e&r^t&r}function zt(e,t,r){return e^t^r}var Ft={ft_1:Rt,ch32:Tt,maj32:Qt,p32:zt,s0_256:function(e){return Ut(e,2)^Ut(e,13)^Ut(e,22)},s1_256:function(e){return Ut(e,6)^Ut(e,11)^Ut(e,25)},g0_256:function(e){return Ut(e,7)^Ut(e,18)^e>>>3},g1_256:function(e){return Ut(e,17)^Ut(e,19)^e>>>10}},Lt=xt.sum32,Nt=xt.sum32_4,qt=xt.sum32_5,Ot=Ft.ch32,Ht=Ft.maj32,jt=Ft.s0_256,Gt=Ft.s1_256,Wt=Ft.g0_256,Vt=Ft.g1_256,Jt=Kt.BlockHash,Yt=[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];function Zt(){if(!(this instanceof Zt))return new Zt;Jt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Yt,this.W=Array(64)}xt.inherits(Zt,Jt);var Xt=Zt;function $t(){if(!(this instanceof $t))return new $t;Xt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Zt.blockSize=512,Zt.outSize=256,Zt.hmacStrength=192,Zt.padLength=64,Zt.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=Nt(Vt(r[i-2]),r[i-7],Wt(r[i-15]),r[i-16]);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],u=this.h[5],h=this.h[6],f=this.h[7];for(yt(this.k.length===r.length),i=0;i<r.length;i++){var d=qt(f,Gt(c),Ot(c,u,h),this.k[i],r[i]),l=Lt(jt(n),Ht(n,a,s));f=h,h=u,u=c,c=Lt(o,d),o=s,s=a,a=n,n=Lt(d,l)}this.h[0]=Lt(this.h[0],n),this.h[1]=Lt(this.h[1],a),this.h[2]=Lt(this.h[2],s),this.h[3]=Lt(this.h[3],o),this.h[4]=Lt(this.h[4],c),this.h[5]=Lt(this.h[5],u),this.h[6]=Lt(this.h[6],h),this.h[7]=Lt(this.h[7],f)},Zt.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"big"):xt.split32(this.h,"big")},xt.inherits($t,Xt);var er=$t;$t.blockSize=512,$t.outSize=224,$t.hmacStrength=192,$t.padLength=64,$t.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h.slice(0,7),"big"):xt.split32(this.h.slice(0,7),"big")};var tr=xt.rotr64_hi,rr=xt.rotr64_lo,ir=xt.shr64_hi,nr=xt.shr64_lo,ar=xt.sum64,sr=xt.sum64_hi,or=xt.sum64_lo,cr=xt.sum64_4_hi,ur=xt.sum64_4_lo,hr=xt.sum64_5_hi,fr=xt.sum64_5_lo,dr=Kt.BlockHash,lr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function pr(){if(!(this instanceof pr))return new pr;dr.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=lr,this.W=Array(160)}xt.inherits(pr,dr);var yr=pr;function gr(e,t,r,i,n){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function br(e,t,r,i,n,a){var s=t&i^~t&a;return s<0&&(s+=4294967296),s}function mr(e,t,r,i,n){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function wr(e,t,r,i,n,a){var s=t&i^t&a^i&a;return s<0&&(s+=4294967296),s}function Ar(e,t){var r=tr(e,t,28)^tr(t,e,2)^tr(t,e,7);return r<0&&(r+=4294967296),r}function vr(e,t){var r=rr(e,t,28)^rr(t,e,2)^rr(t,e,7);return r<0&&(r+=4294967296),r}function kr(e,t){var r=tr(e,t,14)^tr(e,t,18)^tr(t,e,9);return r<0&&(r+=4294967296),r}function _r(e,t){var r=rr(e,t,14)^rr(e,t,18)^rr(t,e,9);return r<0&&(r+=4294967296),r}function Er(e,t){var r=tr(e,t,1)^tr(e,t,8)^ir(e,t,7);return r<0&&(r+=4294967296),r}function Sr(e,t){var r=rr(e,t,1)^rr(e,t,8)^nr(e,t,7);return r<0&&(r+=4294967296),r}function Cr(e,t){var r=tr(e,t,19)^tr(t,e,29)^ir(e,t,6);return r<0&&(r+=4294967296),r}function Ir(e,t){var r=rr(e,t,19)^rr(t,e,29)^nr(e,t,6);return r<0&&(r+=4294967296),r}function Br(){if(!(this instanceof Br))return new Br;yr.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}pr.blockSize=1024,pr.outSize=512,pr.hmacStrength=192,pr.padLength=128,pr.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=Cr(r[i-4],r[i-3]),a=Ir(r[i-4],r[i-3]),s=r[i-14],o=r[i-13],c=Er(r[i-30],r[i-29]),u=Sr(r[i-30],r[i-29]),h=r[i-32],f=r[i-31];r[i]=cr(n,a,s,o,c,u,h,f),r[i+1]=ur(n,a,s,o,c,u,h,f)}},pr.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],u=this.h[6],h=this.h[7],f=this.h[8],d=this.h[9],l=this.h[10],p=this.h[11],y=this.h[12],g=this.h[13],b=this.h[14],m=this.h[15];yt(this.k.length===r.length);for(var w=0;w<r.length;w+=2){var A=b,v=m,k=kr(f,d),_=_r(f,d),E=gr(f,d,l,p,y),S=br(f,d,l,p,y,g),C=this.k[w],I=this.k[w+1],B=r[w],P=r[w+1],x=hr(A,v,k,_,E,S,C,I,B,P),M=fr(A,v,k,_,E,S,C,I,B,P);A=Ar(i,n),v=vr(i,n),k=mr(i,n,a,s,o),_=wr(i,n,a,s,o,c);var D=sr(A,v,k,_),K=or(A,v,k,_);b=y,m=g,y=l,g=p,l=f,p=d,f=sr(u,h,x,M),d=or(h,h,x,M),u=o,h=c,o=a,c=s,a=i,s=n,i=sr(x,M,D,K),n=or(x,M,D,K)}ar(this.h,0,i,n),ar(this.h,2,a,s),ar(this.h,4,o,c),ar(this.h,6,u,h),ar(this.h,8,f,d),ar(this.h,10,l,p),ar(this.h,12,y,g),ar(this.h,14,b,m)},pr.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"big"):xt.split32(this.h,"big")},xt.inherits(Br,yr);var Pr=Br;Br.blockSize=1024,Br.outSize=384,Br.hmacStrength=192,Br.padLength=128,Br.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h.slice(0,12),"big"):xt.split32(this.h.slice(0,12),"big")};var xr=xt.rotl32,Mr=xt.sum32,Dr=xt.sum32_3,Kr=xt.sum32_4,Ur=Kt.BlockHash;function Rr(){if(!(this instanceof Rr))return new Rr;Ur.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}xt.inherits(Rr,Ur);var Tr=Rr;function Qr(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function zr(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function Fr(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}Rr.blockSize=512,Rr.outSize=160,Rr.hmacStrength=192,Rr.padLength=64,Rr.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],s=this.h[4],o=r,c=i,u=n,h=a,f=s,d=0;d<80;d++){var l=Mr(xr(Kr(r,Qr(d,i,n,a),e[Lr[d]+t],zr(d)),qr[d]),s);r=s,s=a,a=xr(n,10),n=i,i=l,l=Mr(xr(Kr(o,Qr(79-d,c,u,h),e[Nr[d]+t],Fr(d)),Or[d]),f),o=f,f=h,h=xr(u,10),u=c,c=l}l=Dr(this.h[1],n,h),this.h[1]=Dr(this.h[2],a,f),this.h[2]=Dr(this.h[3],s,o),this.h[3]=Dr(this.h[4],r,c),this.h[4]=Dr(this.h[0],i,u),this.h[0]=l},Rr.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"little"):xt.split32(this.h,"little")};var Lr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Nr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],qr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Or=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Hr={ripemd160:Tr};function jr(e,t){let r=e[0],i=e[1],n=e[2],a=e[3];r=Wr(r,i,n,a,t[0],7,-680876936),a=Wr(a,r,i,n,t[1],12,-389564586),n=Wr(n,a,r,i,t[2],17,606105819),i=Wr(i,n,a,r,t[3],22,-1044525330),r=Wr(r,i,n,a,t[4],7,-176418897),a=Wr(a,r,i,n,t[5],12,1200080426),n=Wr(n,a,r,i,t[6],17,-1473231341),i=Wr(i,n,a,r,t[7],22,-45705983),r=Wr(r,i,n,a,t[8],7,1770035416),a=Wr(a,r,i,n,t[9],12,-1958414417),n=Wr(n,a,r,i,t[10],17,-42063),i=Wr(i,n,a,r,t[11],22,-1990404162),r=Wr(r,i,n,a,t[12],7,1804603682),a=Wr(a,r,i,n,t[13],12,-40341101),n=Wr(n,a,r,i,t[14],17,-1502002290),i=Wr(i,n,a,r,t[15],22,1236535329),r=Vr(r,i,n,a,t[1],5,-165796510),a=Vr(a,r,i,n,t[6],9,-1069501632),n=Vr(n,a,r,i,t[11],14,643717713),i=Vr(i,n,a,r,t[0],20,-373897302),r=Vr(r,i,n,a,t[5],5,-701558691),a=Vr(a,r,i,n,t[10],9,38016083),n=Vr(n,a,r,i,t[15],14,-660478335),i=Vr(i,n,a,r,t[4],20,-405537848),r=Vr(r,i,n,a,t[9],5,568446438),a=Vr(a,r,i,n,t[14],9,-1019803690),n=Vr(n,a,r,i,t[3],14,-187363961),i=Vr(i,n,a,r,t[8],20,1163531501),r=Vr(r,i,n,a,t[13],5,-1444681467),a=Vr(a,r,i,n,t[2],9,-51403784),n=Vr(n,a,r,i,t[7],14,1735328473),i=Vr(i,n,a,r,t[12],20,-1926607734),r=Jr(r,i,n,a,t[5],4,-378558),a=Jr(a,r,i,n,t[8],11,-2022574463),n=Jr(n,a,r,i,t[11],16,1839030562),i=Jr(i,n,a,r,t[14],23,-35309556),r=Jr(r,i,n,a,t[1],4,-1530992060),a=Jr(a,r,i,n,t[4],11,1272893353),n=Jr(n,a,r,i,t[7],16,-155497632),i=Jr(i,n,a,r,t[10],23,-1094730640),r=Jr(r,i,n,a,t[13],4,681279174),a=Jr(a,r,i,n,t[0],11,-358537222),n=Jr(n,a,r,i,t[3],16,-722521979),i=Jr(i,n,a,r,t[6],23,76029189),r=Jr(r,i,n,a,t[9],4,-640364487),a=Jr(a,r,i,n,t[12],11,-421815835),n=Jr(n,a,r,i,t[15],16,530742520),i=Jr(i,n,a,r,t[2],23,-995338651),r=Yr(r,i,n,a,t[0],6,-198630844),a=Yr(a,r,i,n,t[7],10,1126891415),n=Yr(n,a,r,i,t[14],15,-1416354905),i=Yr(i,n,a,r,t[5],21,-57434055),r=Yr(r,i,n,a,t[12],6,1700485571),a=Yr(a,r,i,n,t[3],10,-1894986606),n=Yr(n,a,r,i,t[10],15,-1051523),i=Yr(i,n,a,r,t[1],21,-2054922799),r=Yr(r,i,n,a,t[8],6,1873313359),a=Yr(a,r,i,n,t[15],10,-30611744),n=Yr(n,a,r,i,t[6],15,-1560198380),i=Yr(i,n,a,r,t[13],21,1309151649),r=Yr(r,i,n,a,t[4],6,-145523070),a=Yr(a,r,i,n,t[11],10,-1120210379),n=Yr(n,a,r,i,t[2],15,718787259),i=Yr(i,n,a,r,t[9],21,-343485551),e[0]=ei(r,e[0]),e[1]=ei(i,e[1]),e[2]=ei(n,e[2]),e[3]=ei(a,e[3])}function Gr(e,t,r,i,n,a){return t=ei(ei(t,e),ei(i,a)),ei(t<<n|t>>>32-n,r)}function Wr(e,t,r,i,n,a,s){return Gr(t&r|~t&i,e,t,n,a,s)}function Vr(e,t,r,i,n,a,s){return Gr(t&i|r&~i,e,t,n,a,s)}function Jr(e,t,r,i,n,a,s){return Gr(t^r^i,e,t,n,a,s)}function Yr(e,t,r,i,n,a,s){return Gr(r^(t|~i),e,t,n,a,s)}function Zr(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const Xr="0123456789abcdef".split("");function $r(e){let t="",r=0;for(;r<4;r++)t+=Xr[e>>8*r+4&15]+Xr[e>>8*r&15];return t}function ei(e,t){return e+t&4294967295}const ti=fe.getWebCrypto(),ri=fe.getNodeCrypto(),ii=ri&&ri.getHashes();function ni(e){if(ri&&ii.includes(e))return async function(t){const r=ri.createHash(e);return Y(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function ai(e,t){return async function(r,i=we){if(v(r)&&(r=await ie(r)),!fe.isStream(r)&&ti&&t&&r.length>=i.minBytesForWebCrypto)return new Uint8Array(await ti.digest(t,r));const n=e();return Y(r,(e=>{n.update(e)}),(()=>new Uint8Array(n.digest())))}}function si(e,t){return async function(r,i=we){if(v(r)&&(r=await ie(r)),fe.isStream(r)){const t=new e;return Y(r,(e=>{t.process(e)}),(()=>t.finish().result))}return ti&&t&&r.length>=i.minBytesForWebCrypto?new Uint8Array(await ti.digest(t,r)):e.bytes(r)}}const oi={md5:ni("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let i;for(i=64;i<=e.length;i+=64)jr(r,Zr(e.substring(i-64,i)));e=e.substring(i-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<e.length;i++)n[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(n[i>>2]|=128<<(i%4<<3),i>55)for(jr(r,n),i=0;i<16;i++)n[i]=0;return n[14]=8*t,jr(r,n),r}(fe.uint8ArrayToString(e));return fe.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=$r(e[t]);return e.join("")}(t))},sha1:ni("sha1")||si(ft,"SHA-1"),sha224:ni("sha224")||ai(er),sha256:ni("sha256")||si(pt,"SHA-256"),sha384:ni("sha384")||ai(Pr,"SHA-384"),sha512:ni("sha512")||ai(yr,"SHA-512"),ripemd:ni("ripemd160")||ai(Tr)};var ci={md5:oi.md5,sha1:oi.sha1,sha224:oi.sha224,sha256:oi.sha256,sha384:oi.sha384,sha512:oi.sha512,ripemd:oi.ripemd,digest:function(e,t){switch(e){case ue.hash.md5:return this.md5(t);case ue.hash.sha1:return this.sha1(t);case ue.hash.ripemd:return this.ripemd(t);case ue.hash.sha256:return this.sha256(t);case ue.hash.sha384:return this.sha384(t);case ue.hash.sha512:return this.sha512(t);case ue.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case ue.hash.md5:return 16;case ue.hash.sha1:case ue.hash.ripemd:return 20;case ue.hash.sha256:return 32;case ue.hash.sha384:return 48;case ue.hash.sha512:return 64;case ue.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case ue.hash.md5:case ue.hash.sha1:case ue.hash.ripemd:case ue.hash.sha224:case ue.hash.sha256:return 64;case ue.hash.sha384:case ue.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class ui{static encrypt(e,t,r){return new ui(t,r).encrypt(e)}static decrypt(e,t,r){return new ui(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Le(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function hi(e){const t=ue.read(ue.symmetric,e);return st[t]}const fi=fe.getWebCrypto(),di=fe.getNodeCrypto(),li=di?di.getCiphers():[],pi={idea:li.includes("idea-cfb")?"idea-cfb":void 0,tripledes:li.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:li.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:li.includes("bf-cfb")?"bf-cfb":void 0,aes128:li.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:li.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:li.includes("aes-256-cfb")?"aes-256-cfb":void 0};var yi=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i,n){const a=ue.read(ue.symmetric,e);if(fe.getNodeCrypto()&&pi[a])return function(e,t,r,i){const n=ue.read(ue.symmetric,e),a=new di.createCipheriv(pi[n],t,i);return Y(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if(fe.isAES(e))return function(e,t,r,i,n){if(fe.getWebCrypto()&&24!==t.length&&!fe.isStream(r)&&r.length>=3e3*n.minBytesForWebCrypto)return async function(e,t,r,i){const n="AES-CBC",a=await fi.importKey("raw",t,{name:n},!1,["encrypt"]),{blockSize:s}=hi(e),o=fe.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await fi.encrypt({name:n,iv:i},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,i);const a=new ui(t,i);return Y(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,i,n);const s=new(hi(e))(t),o=s.blockSize,c=i.slice();let u=new Uint8Array;const h=e=>{e&&(u=fe.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,i=0;for(;e?u.length>=o:u.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[i++]=c[r];u=u.subarray(o)}return t.subarray(0,i)};return Y(r,h,h)},decrypt:async function(e,t,r,i){const n=ue.read(ue.symmetric,e);if(fe.getNodeCrypto()&&pi[n])return function(e,t,r,i){const n=ue.read(ue.symmetric,e),a=new di.createDecipheriv(pi[n],t,i);return Y(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if(fe.isAES(e))return function(e,t,r,i){if(fe.isStream(r)){const e=new ui(t,i);return Y(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return ui.decrypt(r,t,i)}(0,t,r,i);const a=new(hi(e))(t),s=a.blockSize;let o=i,c=new Uint8Array;const u=e=>{e&&(c=fe.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,i=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c.subarray(0,s),r=0;r<s;r++)t[i++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,i)};return Y(r,u,u)}});class gi{static encrypt(e,t,r){return new gi(t,r).encrypt(e)}static decrypt(e,t,r){return new gi(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Le(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:i}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new Te("illegal counter size");let e=Math.pow(2,r)-1;i.set_mask(0,0,e/4294967296|0,0|e)}else r=48,i.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new Te("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),i.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new Te("illegal counter value");i.set_counter(0,0,t/4294967296|0,0|t)}}}class bi{static encrypt(e,t,r=!0,i){return new bi(t,i,r).encrypt(e)}static decrypt(e,t,r=!0,i){return new bi(t,i,r).decrypt(e)}constructor(e,t,r=!0,i){this.aes=i||new Le(e,t,r,"CBC")}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const mi=fe.getWebCrypto(),wi=fe.getNodeCrypto(),Ai=16;function vi(e,t){const r=e.length-Ai;for(let i=0;i<Ai;i++)e[i+r]^=t[i];return e}const ki=new Uint8Array(Ai);async function _i(e){const t=await async function(e){if(fe.getWebCrypto()&&24!==e.length)return e=await mi.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await mi.encrypt({name:"AES-CBC",iv:ki,length:8*Ai},e,t);return new Uint8Array(r).subarray(0,r.byteLength-Ai)};if(fe.getNodeCrypto())return async function(t){const r=new wi.createCipheriv("aes-"+8*e.length+"-cbc",e,ki).update(t);return new Uint8Array(r)};return async function(t){return bi.encrypt(t,e,!1,ki)}}(e),r=fe.double(await t(ki)),i=fe.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%Ai==0)return vi(e,t);const i=new Uint8Array(e.length+(Ai-e.length%Ai));return i.set(e),i[e.length]=128,vi(i,r)}(e,r,i))).subarray(-Ai)}}const Ei=fe.getWebCrypto(),Si=fe.getNodeCrypto(),Ci=fe.getNodeBuffer(),Ii=16,Bi=Ii,Pi=Ii,xi=new Uint8Array(Ii),Mi=new Uint8Array(Ii);Mi[Ii-1]=1;const Di=new Uint8Array(Ii);async function Ki(e){const t=await _i(e);return function(e,r){return t(fe.concatUint8Array([e,r]))}}async function Ui(e){return fe.getWebCrypto()&&24!==e.length?(e=await Ei.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const i=await Ei.encrypt({name:"AES-CTR",counter:r,length:8*Ii},e,t);return new Uint8Array(i)}):fe.getNodeCrypto()?async function(t,r){const i=new Si.createCipheriv("aes-"+8*e.length+"-ctr",e,r),n=Ci.concat([i.update(t),i.final()]);return new Uint8Array(n)}:async function(t,r){return gi.encrypt(t,e,r)}}async function Ri(e,t){if(e!==ue.symmetric.aes128&&e!==ue.symmetric.aes192&&e!==ue.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,i]=await Promise.all([Ki(t),Ui(t)]);return{encrypt:async function(e,t,n){const[a,s]=await Promise.all([r(xi,t),r(Mi,n)]),o=await i(e,a),c=await r(Di,o);for(let e=0;e<Pi;e++)c[e]^=s[e]^a[e];return fe.concatUint8Array([o,c])},decrypt:async function(e,t,n){if(e.length<Pi)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-Pi),s=e.subarray(-Pi),[o,c,u]=await Promise.all([r(xi,t),r(Mi,n),r(Di,a)]),h=u;for(let e=0;e<Pi;e++)h[e]^=c[e]^o[e];if(!fe.equalsUint8Array(s,h))throw Error("Authentication tag mismatch");return await i(a,o)}}}Di[Ii-1]=2,Ri.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},Ri.blockLength=Ii,Ri.ivLength=Bi,Ri.tagLength=Pi;const Ti=16,Qi=15,zi=16;function Fi(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function Li(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Ni(e,t){return Li(e.slice(),t)}const qi=new Uint8Array(Ti),Oi=new Uint8Array([1]);async function Hi(e,t){let r,i,n,a=0;function s(e,t,i,s){const o=t.length/Ti|0;!function(e,t){const r=fe.nbits(Math.max(e.length,t.length)/Ti|0)-1;for(let e=a+1;e<=r;e++)n[e]=fe.double(n[e-1]);a=r}(t,s);const c=fe.concatUint8Array([qi.subarray(0,Qi-i.length),Oi,i]),u=63&c[Ti-1];c[Ti-1]&=192;const h=r(c),f=fe.concatUint8Array([h,Ni(h.subarray(0,8),h.subarray(1,9))]),d=fe.shiftRight(f.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),l=new Uint8Array(Ti),p=new Uint8Array(t.length+zi);let y,g=0;for(y=0;y<o;y++)Li(d,n[Fi(y+1)]),p.set(Li(e(Ni(d,t)),d),g),Li(l,e===r?t:p.subarray(g)),t=t.subarray(Ti),g+=Ti;if(t.length){Li(d,n.x);const i=r(d);p.set(Ni(t,i),g);const a=new Uint8Array(Ti);a.set(e===r?t:p.subarray(g,-zi),0),a[t.length]=128,Li(l,a),g+=t.length}const b=Li(r(Li(Li(l,d),n.$)),function(e){if(!e.length)return qi;const t=e.length/Ti|0,i=new Uint8Array(Ti),a=new Uint8Array(Ti);for(let s=0;s<t;s++)Li(i,n[Fi(s+1)]),Li(a,r(Ni(i,e))),e=e.subarray(Ti);if(e.length){Li(i,n.x);const t=new Uint8Array(Ti);t.set(e,0),t[e.length]=128,Li(t,i),Li(a,r(t))}return a}(s));return p.set(b,g),p}return function(e,t){const a=ue.read(ue.symmetric,e),s=new st[a](t);r=s.encrypt.bind(s),i=s.decrypt.bind(s);const o=r(qi),c=fe.double(o);n=[],n[0]=fe.double(c),n.x=o,n.$=c}(e,t),{encrypt:async function(e,t,i){return s(r,e,t,i)},decrypt:async function(e,t,r){if(e.length<zi)throw Error("Invalid OCB ciphertext");const n=e.subarray(-zi);e=e.subarray(0,-zi);const a=s(i,e,t,r);if(fe.equalsUint8Array(n,a.subarray(-zi)))return a.subarray(0,-zi);throw Error("Authentication tag mismatch")}}}Hi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Hi.blockLength=Ti,Hi.ivLength=Qi,Hi.tagLength=zi;const ji=68719476704;class Gi{constructor(e,t,r,i=16,n){this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=n||new Le(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new Te("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(xe.MAC.GCM,xe.HEAP_DATA,16),a.get_iv(xe.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const u=new DataView(c.buffer);if(this.gamma0=u.getUint32(12),a.set_nonce(u.getUint32(0),u.getUint32(4),u.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>ji)throw new Te("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,i,n){return new Gi(t,r,i,n).encrypt(e)}static decrypt(e,t,r,i,n){return new Gi(t,r,i,n).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,u=o+r&-16,h=0;if((a-1<<4)+o+r>ji)throw new RangeError("counter overflow");const f=new Uint8Array(u);for(;r>0;)h=Ke(n,s+o,e,t,r),o+=h,t+=h,r-=h,h=i.cipher(xe.ENC.CTR,xe.HEAP_DATA+s,o),h=i.mac(xe.MAC.GCM,xe.HEAP_DATA+s,h),h&&f.set(n.subarray(s,s+h),c),a+=h>>>4,c+=h,h<o?(s+=h,o-=h):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,f}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,i=this.tagSize,n=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+i);e.cipher(xe.ENC.CTR,xe.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(xe.MAC.GCM,xe.HEAP_DATA+a,c);const u=void 0!==n?n.length:0,h=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=u>>>29,t[4]=u>>>21,t[5]=u>>>13&255,t[6]=u>>>5&255,t[7]=u<<3&255,t[8]=t[9]=t[10]=0,t[11]=h>>>29,t[12]=h>>>21&255,t[13]=h>>>13&255,t[14]=h>>>5&255,t[15]=h<<3&255,e.mac(xe.MAC.GCM,xe.HEAP_DATA,16),e.get_iv(xe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(xe.ENC.CTR,xe.HEAP_DATA,16),o.set(t.subarray(0,i),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,u=0,h=c+r>s?c+r-s&-16:0,f=c+r-h,d=0;if((a-1<<4)+c+r>ji)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>f;)d=Ke(n,o+c,e,t,r-f),c+=d,t+=d,r-=d,d=i.mac(xe.MAC.GCM,xe.HEAP_DATA+o,d),d=i.cipher(xe.DEC.CTR,xe.HEAP_DATA+o,d),d&&l.set(n.subarray(o,o+d),u),a+=d>>>4,u+=d,o=0,c=0;return r>0&&(c+=Ke(n,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,l}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,i=this.adata,n=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new Re("authentication tag not found");const c=new Uint8Array(o),u=new Uint8Array(t.subarray(a+o,a+s));let h=o;for(;15&h;h++)t[a+h]=0;e.mac(xe.MAC.GCM,xe.HEAP_DATA+a,h),e.cipher(xe.DEC.CTR,xe.HEAP_DATA+a,h),o&&c.set(t.subarray(a,a+o));const f=void 0!==i?i.length:0,d=(n-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=f>>>29,t[4]=f>>>21,t[5]=f>>>13&255,t[6]=f>>>5&255,t[7]=f<<3&255,t[8]=t[9]=t[10]=0,t[11]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(xe.MAC.GCM,xe.HEAP_DATA,16),e.get_iv(xe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(xe.ENC.CTR,xe.HEAP_DATA,16);let l=0;for(let e=0;e<r;++e)l|=u[e]^t[e];if(l)throw new Qe("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),i=0,n=e.length||0,a=0;for(;n>0;){for(a=Ke(r,0,e,i,n),i+=a,n-=a;15&a;)r[a++]=0;t.mac(xe.MAC.GCM,xe.HEAP_DATA,a)}}}const Wi=fe.getWebCrypto(),Vi=fe.getNodeCrypto(),Ji=fe.getNodeBuffer(),Yi=16,Zi="AES-GCM";async function Xi(e,t){if(e!==ue.symmetric.aes128&&e!==ue.symmetric.aes192&&e!==ue.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(fe.getNodeCrypto())return{encrypt:async function(e,r,i=new Uint8Array){const n=new Vi.createCipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i);const a=Ji.concat([n.update(e),n.final(),n.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,i=new Uint8Array){const n=new Vi.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i),n.setAuthTag(e.slice(e.length-Yi,e.length));const a=Ji.concat([n.update(e.slice(0,e.length-Yi)),n.final()]);return new Uint8Array(a)}};if(fe.getWebCrypto()&&24!==t.length){const e=await Wi.importKey("raw",t,{name:Zi},!1,["encrypt","decrypt"]);return{encrypt:async function(r,i,n=new Uint8Array){if(!r.length)return Gi.encrypt(r,t,i,n);const a=await Wi.encrypt({name:Zi,iv:i,additionalData:n,tagLength:8*Yi},e,r);return new Uint8Array(a)},decrypt:async function(r,i,n=new Uint8Array){if(r.length===Yi)return Gi.decrypt(r,t,i,n);const a=await Wi.decrypt({name:Zi,iv:i,additionalData:n,tagLength:8*Yi},e,r);return new Uint8Array(a)}}}return{encrypt:async function(e,r,i){return Gi.encrypt(e,t,r,i)},decrypt:async function(e,r,i){return Gi.decrypt(e,t,r,i)}}}Xi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Xi.blockLength=16,Xi.ivLength=12,Xi.tagLength=Yi;var $i={cfb:yi,gcm:Xi,experimentalGCM:Xi,eax:Ri,ocb:Hi},en=mt((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},i=new Uint8Array(32);i[0]=9;var n=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),d=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function l(e,t,r,i){return function(e,t,r,i,n){var a,s=0;for(a=0;a<n;a++)s|=e[t+a]^r[i+a];return(1&s-1>>>8)-1}(e,t,r,i,32)}function p(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function y(e){var t,r,i=1;for(t=0;t<16;t++)r=e[t]+i+65535,i=Math.floor(r/65536),e[t]=r-65536*i;e[0]+=i-1+37*(i-1)}function g(e,t,r){for(var i,n=~(r-1),a=0;a<16;a++)i=n&(e[a]^t[a]),e[a]^=i,t[a]^=i}function b(e,r){var i,n,a,s=t(),o=t();for(i=0;i<16;i++)o[i]=r[i];for(y(o),y(o),y(o),n=0;n<2;n++){for(s[0]=o[0]-65517,i=1;i<15;i++)s[i]=o[i]-65535-(s[i-1]>>16&1),s[i-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,g(o,s,1-a)}for(i=0;i<16;i++)e[2*i]=255&o[i],e[2*i+1]=o[i]>>8}function m(e,t){var r=new Uint8Array(32),i=new Uint8Array(32);return b(r,e),b(i,t),l(r,0,i,0)}function w(e){var t=new Uint8Array(32);return b(t,e),1&t[0]}function A(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function v(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]+r[i]}function k(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]-r[i]}function _(e,t,r){var i,n,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0,D=0,K=0,U=0,R=0,T=r[0],Q=r[1],z=r[2],F=r[3],L=r[4],N=r[5],q=r[6],O=r[7],H=r[8],j=r[9],G=r[10],W=r[11],V=r[12],J=r[13],Y=r[14],Z=r[15];a+=(i=t[0])*T,s+=i*Q,o+=i*z,c+=i*F,u+=i*L,h+=i*N,f+=i*q,d+=i*O,l+=i*H,p+=i*j,y+=i*G,g+=i*W,b+=i*V,m+=i*J,w+=i*Y,A+=i*Z,s+=(i=t[1])*T,o+=i*Q,c+=i*z,u+=i*F,h+=i*L,f+=i*N,d+=i*q,l+=i*O,p+=i*H,y+=i*j,g+=i*G,b+=i*W,m+=i*V,w+=i*J,A+=i*Y,v+=i*Z,o+=(i=t[2])*T,c+=i*Q,u+=i*z,h+=i*F,f+=i*L,d+=i*N,l+=i*q,p+=i*O,y+=i*H,g+=i*j,b+=i*G,m+=i*W,w+=i*V,A+=i*J,v+=i*Y,k+=i*Z,c+=(i=t[3])*T,u+=i*Q,h+=i*z,f+=i*F,d+=i*L,l+=i*N,p+=i*q,y+=i*O,g+=i*H,b+=i*j,m+=i*G,w+=i*W,A+=i*V,v+=i*J,k+=i*Y,_+=i*Z,u+=(i=t[4])*T,h+=i*Q,f+=i*z,d+=i*F,l+=i*L,p+=i*N,y+=i*q,g+=i*O,b+=i*H,m+=i*j,w+=i*G,A+=i*W,v+=i*V,k+=i*J,_+=i*Y,E+=i*Z,h+=(i=t[5])*T,f+=i*Q,d+=i*z,l+=i*F,p+=i*L,y+=i*N,g+=i*q,b+=i*O,m+=i*H,w+=i*j,A+=i*G,v+=i*W,k+=i*V,_+=i*J,E+=i*Y,S+=i*Z,f+=(i=t[6])*T,d+=i*Q,l+=i*z,p+=i*F,y+=i*L,g+=i*N,b+=i*q,m+=i*O,w+=i*H,A+=i*j,v+=i*G,k+=i*W,_+=i*V,E+=i*J,S+=i*Y,C+=i*Z,d+=(i=t[7])*T,l+=i*Q,p+=i*z,y+=i*F,g+=i*L,b+=i*N,m+=i*q,w+=i*O,A+=i*H,v+=i*j,k+=i*G,_+=i*W,E+=i*V,S+=i*J,C+=i*Y,I+=i*Z,l+=(i=t[8])*T,p+=i*Q,y+=i*z,g+=i*F,b+=i*L,m+=i*N,w+=i*q,A+=i*O,v+=i*H,k+=i*j,_+=i*G,E+=i*W,S+=i*V,C+=i*J,I+=i*Y,B+=i*Z,p+=(i=t[9])*T,y+=i*Q,g+=i*z,b+=i*F,m+=i*L,w+=i*N,A+=i*q,v+=i*O,k+=i*H,_+=i*j,E+=i*G,S+=i*W,C+=i*V,I+=i*J,B+=i*Y,P+=i*Z,y+=(i=t[10])*T,g+=i*Q,b+=i*z,m+=i*F,w+=i*L,A+=i*N,v+=i*q,k+=i*O,_+=i*H,E+=i*j,S+=i*G,C+=i*W,I+=i*V,B+=i*J,P+=i*Y,x+=i*Z,g+=(i=t[11])*T,b+=i*Q,m+=i*z,w+=i*F,A+=i*L,v+=i*N,k+=i*q,_+=i*O,E+=i*H,S+=i*j,C+=i*G,I+=i*W,B+=i*V,P+=i*J,x+=i*Y,M+=i*Z,b+=(i=t[12])*T,m+=i*Q,w+=i*z,A+=i*F,v+=i*L,k+=i*N,_+=i*q,E+=i*O,S+=i*H,C+=i*j,I+=i*G,B+=i*W,P+=i*V,x+=i*J,M+=i*Y,D+=i*Z,m+=(i=t[13])*T,w+=i*Q,A+=i*z,v+=i*F,k+=i*L,_+=i*N,E+=i*q,S+=i*O,C+=i*H,I+=i*j,B+=i*G,P+=i*W,x+=i*V,M+=i*J,D+=i*Y,K+=i*Z,w+=(i=t[14])*T,A+=i*Q,v+=i*z,k+=i*F,_+=i*L,E+=i*N,S+=i*q,C+=i*O,I+=i*H,B+=i*j,P+=i*G,x+=i*W,M+=i*V,D+=i*J,K+=i*Y,U+=i*Z,A+=(i=t[15])*T,s+=38*(k+=i*z),o+=38*(_+=i*F),c+=38*(E+=i*L),u+=38*(S+=i*N),h+=38*(C+=i*q),f+=38*(I+=i*O),d+=38*(B+=i*H),l+=38*(P+=i*j),p+=38*(x+=i*G),y+=38*(M+=i*W),g+=38*(D+=i*V),b+=38*(K+=i*J),m+=38*(U+=i*Y),w+=38*(R+=i*Z),a=(i=(a+=38*(v+=i*Q))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a=(i=(a+=n-1+37*(n-1))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a+=n-1+37*(n-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=f,e[7]=d,e[8]=l,e[9]=p,e[10]=y,e[11]=g,e[12]=b,e[13]=m,e[14]=w,e[15]=A}function E(e,t){_(e,t,t)}function S(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=253;i>=0;i--)E(n,n),2!==i&&4!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}function C(e,r,i){var n,a,o=new Uint8Array(32),c=new Float64Array(80),u=t(),h=t(),f=t(),d=t(),l=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,A(c,i),a=0;a<16;a++)h[a]=c[a],d[a]=u[a]=f[a]=0;for(u[0]=d[0]=1,a=254;a>=0;--a)g(u,h,n=o[a>>>3]>>>(7&a)&1),g(f,d,n),v(l,u,f),k(u,u,f),v(f,h,d),k(h,h,d),E(d,l),E(p,u),_(u,f,u),_(f,h,l),v(l,u,f),k(u,u,f),E(h,u),k(f,d,p),_(u,f,s),v(u,u,d),_(f,f,u),_(u,d,p),_(d,h,c),E(h,l),g(u,h,n),g(f,d,n);for(a=0;a<16;a++)c[a+16]=u[a],c[a+32]=f[a],c[a+48]=h[a],c[a+64]=d[a];var y=c.subarray(32),m=c.subarray(16);return S(y,y),_(m,m,y),b(e,m),0}function I(e,t){return C(e,t,i)}function B(e,r){var i=t(),n=t(),a=t(),s=t(),o=t(),u=t(),h=t(),f=t(),d=t();k(i,e[1],e[0]),k(d,r[1],r[0]),_(i,i,d),v(n,e[0],e[1]),v(d,r[0],r[1]),_(n,n,d),_(a,e[3],r[3]),_(a,a,c),_(s,e[2],r[2]),v(s,s,s),k(o,n,i),k(u,s,a),v(h,s,a),v(f,n,i),_(e[0],o,u),_(e[1],f,h),_(e[2],h,u),_(e[3],o,f)}function P(e,t,r){var i;for(i=0;i<4;i++)g(e[i],t[i],r)}function x(e,r){var i=t(),n=t(),a=t();S(a,r[2]),_(i,r[0],a),_(n,r[1],a),b(e,n),e[31]^=w(i)<<7}function M(e,t,r){var i,s;for(p(e[0],n),p(e[1],a),p(e[2],a),p(e[3],n),s=255;s>=0;--s)P(e,t,i=r[s/8|0]>>(7&s)&1),B(t,e),B(e,e),P(e,t,i)}function D(e,r){var i=[t(),t(),t(),t()];p(i[0],u),p(i[1],h),p(i[2],a),_(i[3],u,h),M(e,i,r)}function K(i,n,a){var s,o,c=[t(),t(),t(),t()];for(a||r(n,32),(s=e.hash(n.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,D(c,s),x(i,c),o=0;o<32;o++)n[o+32]=i[o];return 0}var U=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function R(e,t){var r,i,n,a;for(i=63;i>=32;--i){for(r=0,n=i-32,a=i-12;n<a;++n)t[n]+=r-16*t[i]*U[n-(i-32)],r=Math.floor((t[n]+128)/256),t[n]-=256*r;t[n]+=r,t[i]=0}for(r=0,n=0;n<32;n++)t[n]+=r-(t[31]>>4)*U[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=r*U[n];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=255&t[i]}function T(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;R(e,r)}function Q(e,r){var i=t(),s=t(),c=t(),u=t(),h=t(),f=t(),l=t();return p(e[2],a),A(e[1],r),E(c,e[1]),_(u,c,o),k(c,c,e[2]),v(u,e[2],u),E(h,u),E(f,h),_(l,f,h),_(i,l,c),_(i,i,u),function(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=250;i>=0;i--)E(n,n),1!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}(i,i),_(i,i,c),_(i,i,u),_(i,i,u),_(e[0],i,u),E(s,e[0]),_(s,s,u),m(s,c)&&_(e[0],e[0],d),E(s,e[0]),_(s,s,u),m(s,c)?-1:(w(e[0])===r[31]>>7&&k(e[0],n,e[0]),_(e[3],e[0],e[1]),0)}var z=64;function F(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function L(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(F(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return C(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,i=new Uint8Array(32),n=new Uint8Array(32);return e=i,r(t=n,32),I(e,t),{publicKey:i,secretKey:n}},e.box.keyPair.fromSecretKey=function(e){if(F(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return I(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,i){if(F(r,i),64!==i.length)throw Error("bad secret key size");var n=new Uint8Array(z+r.length);return function(r,i,n,a){var s,o,c,u,h,f=new Float64Array(64),d=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var l=n+64;for(u=0;u<n;u++)r[64+u]=i[u];for(u=0;u<32;u++)r[32+u]=s[32+u];for(T(c=e.hash(r.subarray(32,l))),D(d,c),x(r,d),u=32;u<64;u++)r[u]=a[u];for(T(o=e.hash(r.subarray(0,l))),u=0;u<64;u++)f[u]=0;for(u=0;u<32;u++)f[u]=c[u];for(u=0;u<32;u++)for(h=0;h<32;h++)f[u+h]+=o[u]*s[h];R(r.subarray(32),f)}(n,r,r.length,i),n},e.sign.detached=function(t,r){for(var i=e.sign(t,r),n=new Uint8Array(z),a=0;a<n.length;a++)n[a]=i[a];return n},e.sign.detached.verify=function(r,i,n){if(F(r,i,n),i.length!==z)throw Error("bad signature size");if(32!==n.length)throw Error("bad public key size");var a,s=new Uint8Array(z+r.length),o=new Uint8Array(z+r.length);for(a=0;a<z;a++)s[a]=i[a];for(a=0;a<r.length;a++)s[a+z]=r[a];return function(r,i,n,a){var s,o,c=new Uint8Array(32),u=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(Q(h,a))return-1;for(s=0;s<n;s++)r[s]=i[s];for(s=0;s<32;s++)r[s+32]=a[s];if(T(o=e.hash(r.subarray(0,n))),M(u,h,o),D(h,i.subarray(32)),B(u,h),x(c,u),n-=64,l(i,0,c,0)){for(s=0;s<n;s++)r[s]=0;return-1}for(s=0;s<n;s++)r[s]=i[s+64];return n}(o,s,s.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return K(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(F(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(F(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),i=0;i<32;i++)r[i]=e[i];return K(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var i,n=new Uint8Array(r);for(i=0;i<r;i+=65536)t.getRandomValues(n.subarray(i,i+Math.min(r-i,65536)));for(i=0;i<r;i++)e[i]=n[i];L(n)}))}else void 0!==wt&&(t=f.default)&&t.randomBytes&&e.setPRNG((function(e,r){var i,n=t.randomBytes(r);for(i=0;i<r;i++)e[i]=n[i];L(n)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const tn=fe.getNodeCrypto();function rn(e){const t=new Uint8Array(e);if(tn){const e=tn.randomBytes(t.length);t.set(e)}else{if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("No secure random number generator available.");crypto.getRandomValues(t)}return t}async function nn(e,t){const r=await fe.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const i=t.sub(e),n=i.byteLength();return new r(await rn(n+8)).mod(i).add(e)}var an=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:rn,getRandomBigInteger:nn});async function sn(e,t,r){const i=await fe.getBigInteger(),n=new i(1),a=n.leftShift(new i(e-1)),s=new i(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await nn(a,a.leftShift(n));let u=c.mod(s).toNumber();do{c.iadd(new i(o[u])),u=(u+o[u])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(n)).iadd(a),u=c.mod(s).toNumber())}while(!await on(c,t,r));return c}async function on(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await fe.getBigInteger();return cn.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await fe.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const i=await fe.getBigInteger(),n=e.bitLength();t||(t=Math.max(1,n/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new i(s));for(;t>0;t--){let t,n=(r?r():await nn(new i(2),a)).modExp(o,e);if(!n.isOne()&&!n.equal(a)){for(t=1;t<s;t++){if(n=n.mul(n).mod(e),n.isOne())return!1;if(n.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const cn=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const un=[];function hn(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const i=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const i=rn(e-r);for(let e=0;e<i.length;e++)0!==i[e]&&(t[r++]=i[e])}return t}(t-r-3),n=new Uint8Array(t);return n[1]=2,n.set(i,2),n.set(e,t-r),n}function fn(e,t){let r=2,i=1;for(let t=r;t<e.length;t++)i&=0!==e[t],r+=i;const n=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&n>=8&!i;if(t)return fe.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function dn(e,t,r){let i;if(t.length!==ci.getHashByteLength(e))throw Error("Invalid hash length");const n=new Uint8Array(un[e].length);for(i=0;i<un[e].length;i++)n[i]=un[e][i];const a=n.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(n,r-a),o.set(t,r-t.length),o}un[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],un[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],un[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],un[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],un[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],un[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],un[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var ln=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:hn,emeDecode:fn,emsaEncode:dn});const pn=fe.getWebCrypto(),yn=fe.getNodeCrypto(),gn=yn?y.default:void 0,bn=yn?gn.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,mn=yn?gn.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var wn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a,s,o,c){if(t&&!fe.isStream(t))if(fe.getWebCrypto())try{return await async function(e,t,r,i,n,a,s,o){const c=await async function(e,t,r,i,n,a){const s=await fe.getBigInteger(),o=new s(i),c=new s(n),u=new s(r);let h=u.mod(c.dec()),f=u.mod(o.dec());return f=f.toUint8Array(),h=h.toUint8Array(),{kty:"RSA",n:me(e,!0),e:me(t,!0),d:me(r,!0),p:me(n,!0),q:me(i,!0),dp:me(h,!0),dq:me(f,!0),qi:me(a,!0),ext:!0}}(r,i,n,a,s,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await pn.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await pn.sign("RSASSA-PKCS1-v1_5",h,t))}(ue.read(ue.webHash,e),t,r,i,n,a,s,o)}catch(e){fe.printDebugError(e)}else if(fe.getNodeCrypto())return async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return gy})),u=new c(a),h=new c(s),f=new c(n),d=f.mod(h.subn(1)),l=f.mod(u.subn(1)),p=yn.createSign(ue.read(ue.hash,e));p.write(t),p.end();const y={version:0,modulus:new c(r),publicExponent:new c(i),privateExponent:new c(n),prime1:new c(s),prime2:new c(a),exponent1:d,exponent2:l,coefficient:new c(o)};if(void 0!==yn.createPrivateKey){const e=bn.encode(y,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const g=bn.encode(y,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(g))}(e,t,r,i,n,a,s,o);return async function(e,t,r,i){const n=await fe.getBigInteger();t=new n(t);const a=new n(await dn(e,i,t.byteLength()));if(r=new n(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,n,c)},verify:async function(e,t,r,i,n,a){if(t&&!fe.isStream(t))if(fe.getWebCrypto())try{return await async function(e,t,r,i,n){const a=function(e,t){return{kty:"RSA",n:me(e,!0),e:me(t,!0),ext:!0}}(i,n),s=await pn.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return pn.verify("RSASSA-PKCS1-v1_5",s,r,t)}(ue.read(ue.webHash,e),t,r,i,n)}catch(e){fe.printDebugError(e)}else if(fe.getNodeCrypto())return async function(e,t,r,i,n){const{default:a}=await Promise.resolve().then((function(){return gy})),s=yn.createVerify(ue.read(ue.hash,e));s.write(t),s.end();const o={modulus:new a(i),publicExponent:new a(n)};let c;if(void 0!==yn.createPrivateKey){c={key:mn.encode(o,"der"),format:"der",type:"pkcs1"}}else c=mn.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,i,n);return async function(e,t,r,i,n){const a=await fe.getBigInteger();if(r=new a(r),t=new a(t),i=new a(i),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(i,r).toUint8Array("be",r.byteLength()),o=await dn(e,n,r.byteLength());return fe.equalsUint8Array(s,o)}(e,r,i,n,a)},encrypt:async function(e,t,r){return fe.getNodeCrypto()?async function(e,t,r){const{default:i}=await Promise.resolve().then((function(){return gy})),n={modulus:new i(t),publicExponent:new i(r)};let a;if(void 0!==yn.createPrivateKey){a={key:mn.encode(n,"der"),format:"der",type:"pkcs1",padding:yn.constants.RSA_PKCS1_PADDING}}else{a={key:mn.encode(n,"pem",{label:"RSA PUBLIC KEY"}),padding:yn.constants.RSA_PKCS1_PADDING}}return new Uint8Array(yn.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const i=await fe.getBigInteger();if(t=new i(t),e=new i(hn(e,t.byteLength())),r=new i(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,i,n,a,s,o){return fe.getNodeCrypto()?async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return gy})),u=new c(n),h=new c(a),f=new c(i),d=f.mod(h.subn(1)),l=f.mod(u.subn(1)),p={version:0,modulus:new c(t),publicExponent:new c(r),privateExponent:new c(i),prime1:new c(a),prime2:new c(n),exponent1:d,exponent2:l,coefficient:new c(s)};let y;if(void 0!==yn.createPrivateKey){y={key:bn.encode(p,"der"),format:"der",type:"pkcs1",padding:yn.constants.RSA_PKCS1_PADDING}}else{y={key:bn.encode(p,"pem",{label:"RSA PRIVATE KEY"}),padding:yn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(yn.privateDecrypt(y,e))}catch(e){if(o)return o;throw Error("Decryption error")}}(e,t,r,i,n,a,s,o):async function(e,t,r,i,n,a,s,o){const c=await fe.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),i=new c(i),n=new c(n),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const u=i.mod(a.dec()),h=i.mod(n.dec()),f=(await nn(new c(2),t)).mod(t),d=f.modInv(t).modExp(r,t);e=e.mul(d).mod(t);const l=e.modExp(h,n),p=e.modExp(u,a),y=s.mul(p.sub(l)).mod(a);let g=y.mul(n).add(l);return g=g.mul(f).mod(t),fn(g.toUint8Array("be",t.byteLength()),o)}(e,t,r,i,n,a,s,o)},generate:async function(e,t){if(t=new(await fe.getBigInteger())(t),fe.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},i=await pn.generateKey(r,!0,["sign","verify"]),n=await pn.exportKey("jwk",i.privateKey);return{n:be(n.n),e:t.toUint8Array(),d:be(n.d),p:be(n.q),q:be(n.p),u:be(n.qi)}}if(fe.getNodeCrypto()&&yn.generateKeyPair&&bn){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},i=await new Promise(((e,t)=>{yn.generateKeyPair("rsa",r,((r,i,n)=>{r?t(r):e(bn.decode(n,"der"))}))}));return{n:i.modulus.toArrayLike(Uint8Array),e:i.publicExponent.toArrayLike(Uint8Array),d:i.privateExponent.toArrayLike(Uint8Array),p:i.prime2.toArrayLike(Uint8Array),q:i.prime1.toArrayLike(Uint8Array),u:i.coefficient.toArrayLike(Uint8Array)}}let r,i,n;do{i=await sn(e-(e>>1),t,40),r=await sn(e>>1,t,40),n=r.mul(i)}while(n.bitLength()!==e);const a=r.dec().imul(i.dec());return i.lt(r)&&([r,i]=[i,r]),{n:n.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:i.toUint8Array(),u:r.modInv(i).toUint8Array()}},validateParams:async function(e,t,r,i,n,a){const s=await fe.getBigInteger();if(e=new s(e),i=new s(i),n=new s(n),!i.mul(n).equal(e))return!1;const o=new s(2);if(a=new s(a),!i.mul(a).mod(n).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),u=await nn(o,o.leftShift(c)),h=u.mul(r).mul(t);return!(!h.mod(i.dec()).equal(u)||!h.mod(n.dec()).equal(u))}});var An=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i){const n=await fe.getBigInteger();t=new n(t),r=new n(r),i=new n(i);const a=new n(hn(e,t.byteLength())),s=await nn(new n(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:i.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,i,n){const a=await fe.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),i=new a(i),fn(e.modExp(i,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),n)},validateParams:async function(e,t,r,i){const n=await fe.getBigInteger();e=new n(e),t=new n(t),r=new n(r);const a=new n(1);if(t.lte(a)||t.gte(e))return!1;const s=new n(e.bitLength()),o=new n(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const u=new n(1),h=new n(2).leftShift(new n(17));for(;u.lt(h);){if(c=c.mul(t).imod(e),c.isOne())return!1;u.iinc()}i=new n(i);const f=new n(2),d=await nn(f.leftShift(s.dec()),f.leftShift(s)),l=e.dec().imul(d).iadd(i);return!!r.equal(t.modExp(l,e))}});class vn{constructor(e){if(e instanceof vn)this.oid=e.oid;else if(fe.isArray(e)||fe.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return fe.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return fe.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if(ue.curve[e])return ue.write(ue.curve,e);throw Error("Unknown curve object identifier.")}}function kn(e,t){return e.keyPair({priv:t})}function _n(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function En(e){if(!we.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await Promise.resolve().then((function(){return Rg}));return new t.ec(e)}function Sn(e){let t,r=0;const i=e[0];return i<192?([r]=e,t=1):i<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===i&&(r=fe.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function Cn(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):fe.concatUint8Array([new Uint8Array([255]),fe.writeNumber(e,4)])}function In(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function Bn(e){return new Uint8Array([192|e])}function Pn(e,t){return fe.concatUint8Array([Bn(e),Cn(t)])}function xn(e){return[ue.packet.literalData,ue.packet.compressedData,ue.packet.symmetricallyEncryptedData,ue.packet.symEncryptedIntegrityProtectedData,ue.packet.aeadEncryptedData].includes(e)}async function Mn(e,t){const r=j(e);let i,n;try{const a=await r.peekBytes(2);if(!a||a.length<2||0==(128&a[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const s=await r.readByte();let o,c,u=-1,h=-1;h=0,0!=(64&s)&&(h=1),h?u=63&s:(u=(63&s)>>2,c=3&s);const f=xn(u);let d,l=null;if(f){if("array"===fe.isStream(e)){const e=new A;i=G(e),l=e}else{const e=new F;i=G(e.writable),l=e.readable}n=t({tag:u,packet:l})}else l=[];do{if(h){const e=await r.readByte();if(d=!1,e<192)o=e;else if(e>=192&&e<224)o=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(o=1<<(31&e),d=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(c){case 0:o=await r.readByte();break;case 1:o=await r.readByte()<<8|await r.readByte();break;case 2:o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:o=1/0}if(o>0){let e=0;for(;;){i&&await i.ready;const{done:t,value:n}=await r.read();if(t){if(o===1/0)break;throw Error("Unexpected end of packet")}const a=o===1/0?n:n.subarray(0,o-e);if(i?await i.write(a):l.push(a),e+=n.length,e>=o){r.unshift(n.subarray(o-e+n.length));break}}}}while(d);const p=await r.peekBytes(f?1/0:2);return i?(await i.ready,await i.close()):(l=fe.concatUint8Array(l),await t({tag:u,packet:l})),!p||!p.length}catch(e){if(i)return await i.abort(e),!0;throw e}finally{i&&await n,r.releaseLock()}}class Dn extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Dn),this.name="UnsupportedError"}}class Kn{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const Un=fe.getWebCrypto(),Rn=fe.getNodeCrypto(),Tn={p256:"P-256",p384:"P-384",p521:"P-521"},Qn=Rn?Rn.getCurves():[],zn=Rn?{secp256k1:Qn.includes("secp256k1")?"secp256k1":void 0,p256:Qn.includes("prime256v1")?"prime256v1":void 0,p384:Qn.includes("secp384r1")?"secp384r1":void 0,p521:Qn.includes("secp521r1")?"secp521r1":void 0,ed25519:Qn.includes("ED25519")?"ED25519":void 0,curve25519:Qn.includes("X25519")?"X25519":void 0,brainpoolP256r1:Qn.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:Qn.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:Qn.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Fn={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.p256,web:Tn.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha384,cipher:ue.symmetric.aes192,node:zn.p384,web:Tn.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha512,cipher:ue.symmetric.aes256,node:zn.p521,web:Tn.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ue.publicKey.eddsaLegacy,hash:ue.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ue.publicKey.ecdh,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha384,cipher:ue.symmetric.aes192,node:zn.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha512,cipher:ue.symmetric.aes256,node:zn.brainpoolP512r1,payloadSize:64}};class Ln{constructor(e,t){try{(fe.isArray(e)||fe.isUint8Array(e))&&(e=new vn(e)),e instanceof vn&&(e=e.getName()),this.name=ue.write(ue.curve,e)}catch(e){throw new Dn("Unknown curve")}t=t||Fn[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&Fn[this.name],this.web=t.web&&Fn[this.name],this.payloadSize=t.payloadSize,this.web&&fe.getWebCrypto()?this.type="web":this.node&&fe.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await Un.generateKey({name:"ECDSA",namedCurve:Tn[e]},!0,["sign","verify"]),r=await Un.exportKey("jwk",t.privateKey),i=await Un.exportKey("jwk",t.publicKey);return{publicKey:qn(i),privateKey:be(r.d)}}(this.name)}catch(e){fe.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=Rn.createECDH(zn[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=rn(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=en.box.keyPair.fromSecretKey(r);return{publicKey:fe.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=rn(32),t=en.sign.keyPair.fromSeed(e);return{publicKey:fe.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await En(this.name);return e=await t.genKeyPair({entropy:fe.uint8ArrayToString(rn(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function Nn(e,t,r,i){const n={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===ue.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!n[a])return!1;if("curve25519"===a){i=i.slice().reverse();const{publicKey:e}=en.box.keyPair.fromSecretKey(i);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!fe.equalsUint8Array(t,r)}const s=await En(a);try{r=_n(s,r).getPublic()}catch(e){return!1}return!!kn(s,i).getPublic().eq(r)}function qn(e){const t=be(e.x),r=be(e.y),i=new Uint8Array(t.length+r.length+1);return i[0]=4,i.set(t,1),i.set(r,t.length+1),i}function On(e,t,r){const i=e,n=r.slice(1,i+1),a=r.slice(i+1,2*i+1);return{kty:"EC",crv:t,x:me(n,!0),y:me(a,!0),ext:!0}}function Hn(e,t,r,i){const n=On(e,t,r);return n.d=me(i,!0),n}const jn=fe.getWebCrypto(),Gn=fe.getNodeCrypto();async function Wn(e,t,r,i,n,a){const s=new Ln(e);if(r&&!fe.isStream(r)){const e={publicKey:i,privateKey:n};switch(s.type){case"web":try{return await async function(e,t,r,i){const n=e.payloadSize,a=Hn(e.payloadSize,Tn[e.name],i.publicKey,i.privateKey),s=await jn.importKey("jwk",a,{name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await jn.sign({name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,t)}},s,r));return{r:o.slice(0,n),s:o.slice(n,n<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;fe.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const i=await async function(e,t,r,i){const n=Gn.createSign(ue.read(ue.hash,t));n.write(r),n.end();const a=Zn.encode({version:1,parameters:e.oid,privateKey:Array.from(i.privateKey),publicKey:{unused:0,data:Array.from(i.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return Yn.decode(n.sign(a),"der")}(s,t,r,e);return{r:i.r.toArrayLike(Uint8Array),s:i.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const i=await En(e.name),n=kn(i,r),a=n.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,n)}async function Vn(e,t,r,i,n,a){const s=new Ln(e);if(i&&!fe.isStream(i))switch(s.type){case"web":try{return await async function(e,t,{r,s:i},n,a){const s=On(e.payloadSize,Tn[e.name],a),o=await jn.importKey("jwk",s,{name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,e.hash)}},!1,["verify"]),c=fe.concatUint8Array([r,i]).buffer;return jn.verify({name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,t)}},o,c,n)}(s,t,r,i,n)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;fe.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:i},n,a){const{default:s}=await Promise.resolve().then((function(){return gy})),o=Gn.createVerify(ue.read(ue.hash,t));o.write(n),o.end();const c=$n.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),u=Yn.encode({r:new s(r),s:new s(i)},"der");try{return o.verify(c,u)}catch(e){return!1}}(s,t,r,i,n)}return async function(e,t,r,i){const n=await En(e.name),a=_n(n,i);return a.verify(r,t)}(s,r,void 0===t?i:a,n)}const Jn=Gn?y.default:void 0,Yn=Gn?Jn.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Zn=Gn?Jn.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,Xn=Gn?Jn.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,$n=Gn?Jn.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Xn),this.key("subjectPublicKey").bitstr())})):void 0;var ea=/*#__PURE__*/Object.freeze({__proto__:null,sign:Wn,verify:Vn,validateParams:async function(e,t,r){const i=new Ln(e);if(i.keyType!==ue.publicKey.ecdsa)return!1;switch(i.type){case"web":case"node":{const i=rn(8),n=ue.hash.sha256,a=await ci.digest(n,i);try{const s=await Wn(e,n,i,t,r,a);return await Vn(e,n,s,i,t,a)}catch(e){return!1}}default:return Nn(ue.publicKey.ecdsa,e,t,r)}}});en.hash=e=>new Uint8Array(yr().update(e).digest());var ta=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ue.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const s=fe.concatUint8Array([n,i.subarray(1)]),o=en.sign.detached(a,s);if(we.checkEdDSAFaultySignatures&&!en.sign.detached.verify(a,o,i.subarray(1)))throw Error("Transient signing failure");return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:i},n,a,s){if(ci.getHashByteLength(t)<ci.getHashByteLength(ue.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const o=fe.concatUint8Array([r,i]);return en.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:i}=en.sign.keyPair.fromSeed(r),n=new Uint8Array([64,...i]);return fe.equalsUint8Array(t,n)}});function ra(e){if(e===ue.publicKey.ed25519)return ue.hash.sha256;throw Error("Unknown EdDSA algo")}en.hash=e=>new Uint8Array(yr().update(e).digest());var ia=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===ue.publicKey.ed25519){const e=rn(32),{publicKey:t}=en.sign.keyPair.fromSeed(e);return{A:t,seed:e}}throw Error("Unsupported EdDSA algorithm")},sign:async function(e,t,r,i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ra(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case ue.publicKey.ed25519:{const e=fe.concatUint8Array([n,i]),t=en.sign.detached(a,e);if(we.checkEdDSAFaultySignatures&&!en.sign.detached.verify(a,t,i))throw Error("Transient signing failure");return{RS:t}}case ue.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(e,t,{RS:r},i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ra(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case ue.publicKey.ed25519:return en.sign.detached.verify(a,r,n);case ue.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},validateParams:async function(e,t,r){switch(e){case ue.publicKey.ed25519:{const{publicKey:e}=en.sign.keyPair.fromSeed(r);return fe.equalsUint8Array(t,e)}case ue.publicKey.ed448:default:return!1}},getPreferredHashAlgo:ra});function na(e,t){const r=new st["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=sa(t);let a=i;const s=n,o=n.length/2,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),u[0]=a[0],u[1]=a[1],u[2]=s[2*t],u[3]=s[2*t+1],u=sa(r.encrypt(oa(u))),a=u.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=u[2],s[2*t+1]=u[3];return oa(a,s)}function aa(e,t){const r=new st["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=sa(t);let a=n.subarray(0,2);const s=n.subarray(2),o=n.length/2-1,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),u[0]=a[0]^c[0],u[1]=a[1]^c[1],u[2]=s[2*t],u[3]=s[2*t+1],u=sa(r.decrypt(oa(u))),a=u.subarray(0,2),s[2*t]=u[2],s[2*t+1]=u[3];if(a[0]===i[0]&&a[1]===i[1])return oa(s);throw Error("Key Data Integrity failed")}function sa(e){const{length:t}=e,r=function(e){if(fe.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;++r)i[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),i=new DataView(r),n=new Uint32Array(t/4);for(let e=0;e<t/4;++e)n[e]=i.getUint32(4*e);return n}function oa(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let i=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(i+4*t,arguments[e][t]);i+=4*arguments[e].length}return new Uint8Array(t)}var ca=/*#__PURE__*/Object.freeze({__proto__:null,wrap:na,unwrap:aa});function ua(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function ha(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const i=e.subarray(t-r),n=new Uint8Array(r).fill(r);if(fe.equalsUint8Array(i,n))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var fa=/*#__PURE__*/Object.freeze({__proto__:null,encode:ua,decode:ha});const da=fe.getWebCrypto(),la=fe.getNodeCrypto();function pa(e,t,r,i){return fe.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),fe.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||i.subarray(0,20)])}async function ya(e,t,r,i,n=!1,a=!1){let s;if(n){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await ci.digest(e,fe.concatUint8Array([new Uint8Array([0,0,0,1]),t,i]))).subarray(0,r)}async function ga(e,t){switch(e.type){case"curve25519":{const r=rn(32),{secretKey:i,sharedKey:n}=await ba(e,t,null,r);let{publicKey:a}=en.box.keyPair.fromSecretKey(i);return a=fe.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:n}}case"web":if(e.web&&fe.getWebCrypto())try{return await async function(e,t){const r=On(e.payloadSize,e.web.web,t);let i=da.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),n=da.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[i,n]=await Promise.all([i,n]);let a=da.deriveBits({name:"ECDH",namedCurve:e.web.web,public:n},i.privateKey,e.web.sharedSize),s=da.exportKey("jwk",i.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(qn(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){fe.printDebugError(e)}break;case"node":return async function(e,t){const r=la.createECDH(e.node.node);r.generateKeys();const i=new Uint8Array(r.computeSecret(t)),n=new Uint8Array(r.getPublicKey());return{publicKey:n,sharedKey:i}}(e,t)}return async function(e,t){const r=await En(e.name),i=await e.genKeyPair();t=_n(r,t);const n=kn(r,i.privateKey),a=i.publicKey,s=n.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function ba(e,t,r,i){if(i.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(i,e.payloadSize-i.length),i=t}switch(e.type){case"curve25519":{const e=i.slice().reverse();return{secretKey:e,sharedKey:en.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&fe.getWebCrypto())try{return await async function(e,t,r,i){const n=Hn(e.payloadSize,e.web.web,r,i);let a=da.importKey("jwk",n,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=On(e.payloadSize,e.web.web,t);let o=da.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=da.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),u=da.exportKey("jwk",a);[c,u]=await Promise.all([c,u]);const h=new Uint8Array(c);return{secretKey:be(u.d),sharedKey:h}}(e,t,r,i)}catch(e){fe.printDebugError(e)}break;case"node":return async function(e,t,r){const i=la.createECDH(e.node.node);i.setPrivateKey(r);const n=new Uint8Array(i.computeSecret(t));return{secretKey:new Uint8Array(i.getPrivateKey()),sharedKey:n}}(e,t,i)}return async function(e,t,r){const i=await En(e.name);t=_n(i,t),r=kn(i,r);const n=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=i.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:n,sharedKey:o}}(e,t,i)}var ma=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Nn(ue.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,i,n){const a=ua(r),s=new Ln(e),{publicKey:o,sharedKey:c}=await ga(s,i),u=pa(ue.publicKey.ecdh,e,t,n),{keySize:h}=hi(t.cipher);return{publicKey:o,wrappedKey:na(await ya(t.hash,c,h,u),a)}},decrypt:async function(e,t,r,i,n,a,s){const o=new Ln(e),{sharedKey:c}=await ba(o,r,n,a),u=pa(ue.publicKey.ecdh,e,t,s),{keySize:h}=hi(t.cipher);let f;for(let e=0;e<3;e++)try{return ha(aa(await ya(t.hash,c,h,u,1===e,2===e),i))}catch(e){f=e}throw f}});const wa=fe.getWebCrypto(),Aa=fe.getNodeCrypto(),va=Aa&&Aa.webcrypto&&Aa.webcrypto.subtle;async function ka(e,t,r,i,n){const a=ue.read(ue.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");if(wa||va){const e=wa||va,s=await e.importKey("raw",t,"HKDF",!1,["deriveBits"]),o=await e.deriveBits({name:"HKDF",hash:a,salt:r,info:i},s,8*n);return new Uint8Array(o)}if(Aa){const a=ue.read(ue.hash,e),s=(e,t)=>Aa.createHmac(a,e).update(t).digest(),o=s(r,t),c=o.length,u=Math.ceil(n/c),h=new Uint8Array(u*c),f=new Uint8Array(c+i.length+1);f.set(i,c);for(let e=0;e<u;e++){f[f.length-1]=e+1;const t=s(o,e>0?f:f.subarray(c));f.set(t,0),h.set(t,e*c)}return h.subarray(0,n)}throw Error("No HKDF implementation available")}const _a={x25519:fe.encodeUTF8("OpenPGP X25519")};var Ea=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===ue.publicKey.x25519){const e=rn(32),{publicKey:t}=en.box.keyPair.fromSecretKey(e);return{A:t,k:e}}throw Error("Unsupported ECDH algorithm")},validateParams:async function(e,t,r){if(e===ue.publicKey.x25519){const{publicKey:e}=en.box.keyPair.fromSecretKey(r);return fe.equalsUint8Array(t,e)}return!1},encrypt:async function(e,t,r){if(e===ue.publicKey.x25519){const e=rn(32),i=en.scalarMult(e,r),{publicKey:n}=en.box.keyPair.fromSecretKey(e),a=fe.concatUint8Array([n,r,i]),{keySize:s}=hi(ue.symmetric.aes128);return{ephemeralPublicKey:n,wrappedKey:na(await ka(ue.hash.sha256,a,new Uint8Array,_a.x25519,s),t)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(e,t,r,i,n){if(e===ue.publicKey.x25519){const e=en.scalarMult(n,t),a=fe.concatUint8Array([t,i,e]),{keySize:s}=hi(ue.symmetric.aes128);return aa(await ka(ue.hash.sha256,a,new Uint8Array,_a.x25519,s),r)}throw Error("Unsupported ECDH algorithm")}}),Sa=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:Ln,ecdh:ma,ecdhX:Ea,ecdsa:ea,eddsaLegacy:ta,eddsa:ia,generate:async function(e){const t=await fe.getBigInteger();e=new Ln(e);const r=await e.genKeyPair(),i=new t(r.publicKey).toUint8Array(),n=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:i,secret:n,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return Fn[ue.write(ue.curve,e.toHex())].hash}});var Ca=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){const s=await fe.getBigInteger(),o=new s(1);let c,u,h,f;i=new s(i),n=new s(n),r=new s(r),a=new s(a),r=r.mod(i),a=a.mod(n);const d=new s(t.subarray(0,n.byteLength())).mod(n);for(;;){if(c=await nn(o,n),u=r.modExp(c,i).imod(n),u.isZero())continue;const e=a.mul(u).imod(n);if(f=d.add(e).imod(n),h=c.modInv(n).imul(f).imod(n),!h.isZero())break}return{r:u.toUint8Array("be",n.byteLength()),s:h.toUint8Array("be",n.byteLength())}},verify:async function(e,t,r,i,n,a,s,o){const c=await fe.getBigInteger(),u=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),n=new c(n),o=new c(o),t.lte(u)||t.gte(s)||r.lte(u)||r.gte(s))return fe.printDebug("invalid DSA Signature"),!1;const h=new c(i.subarray(0,s.byteLength())).imod(s),f=r.modInv(s);if(f.isZero())return fe.printDebug("invalid DSA Signature"),!1;n=n.mod(a),o=o.mod(a);const d=h.mul(f).imod(s),l=t.mul(f).imod(s),p=n.modExp(d,a),y=o.modExp(l,a);return p.mul(y).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,i,n){const a=await fe.getBigInteger();e=new a(e),t=new a(t),r=new a(r),i=new a(i);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await on(t,null,32))return!1;n=new a(n);const u=new a(2),h=await nn(u.leftShift(o.dec()),u.leftShift(o)),f=t.mul(h).add(n);return!!i.equal(r.modExp(f,e))}}),Ia={rsa:wn,elgamal:An,elliptic:Sa,dsa:Ca,nacl:en};function Ba(e,t,r){switch(e){case ue.hash.sha1:case ue.hash.sha256:case ue.hash.sha512:return async function(e,t,r){const i=ci.getBlockSize(e),n=new Uint8Array(i);n.fill(92),Pa(n,t);const a=new Uint8Array(i);a.fill(54),Pa(a,t);const s=fe.concatUint8Array([a,r]),o=await ci.digest(e,s),c=fe.concatUint8Array([n,o]);return ci.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function Pa(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class xa{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!fe.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return fe.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var Ma=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:return{s:fe.readMPI(t.subarray(r))};case ue.publicKey.dsa:case ue.publicKey.ecdsa:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:fe.readMPI(t.subarray(r))}}case ue.publicKey.eddsaLegacy:{let e=fe.readMPI(t.subarray(r));r+=e.length+2,e=fe.leftPad(e,32);let i=fe.readMPI(t.subarray(r));return i=fe.leftPad(i,32),{r:e,s:i}}case ue.publicKey.ed25519:{const e=t.subarray(r,r+64);return r+=e.length,{RS:e}}case ue.publicKey.hmac:{const e=new xa;return e.read(t.subarray(r)),{mac:e}}default:throw new Dn("Unknown signature algorithm.")}},verify:async function(e,t,r,i,n,a,s){switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:{const{n:e,e:n}=i,o=fe.leftPad(r.s,e.length);return Ia.rsa.verify(t,a,o,e,n,s)}case ue.publicKey.dsa:{const{g:e,p:n,q:a,y:o}=i,{r:c,s:u}=r;return Ia.dsa.verify(t,c,u,s,e,n,a,o)}case ue.publicKey.ecdsa:{const{oid:e,Q:n}=i,o=new Ia.elliptic.CurveWithOID(e).payloadSize,c=fe.leftPad(r.r,o),u=fe.leftPad(r.s,o);return Ia.elliptic.ecdsa.verify(e,t,{r:c,s:u},a,n,s)}case ue.publicKey.eddsaLegacy:{const{oid:e,Q:n}=i;return Ia.elliptic.eddsaLegacy.verify(e,t,r,a,n,s)}case ue.publicKey.ed25519:{const{A:n}=i;return Ia.elliptic.eddsa.verify(e,t,r,a,n,s)}case ue.publicKey.hmac:{if(!n)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=i,{keyMaterial:t}=n,a=await Ba(e.getValue(),t,s);return fe.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,i,n,a){if(!r||!i)throw Error("Missing key parameters");switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:u,u:h}=i;return{s:await Ia.rsa.sign(t,n,e,s,o,c,u,h,a)}}case ue.publicKey.dsa:{const{g:e,p:n,q:s}=r,{x:o}=i;return Ia.dsa.sign(t,a,e,n,s,o)}case ue.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ue.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=i;return Ia.elliptic.ecdsa.sign(e,t,n,s,o,a)}case ue.publicKey.eddsaLegacy:{const{oid:e,Q:s}=r,{seed:o}=i;return Ia.elliptic.eddsaLegacy.sign(e,t,n,s,o,a)}case ue.publicKey.ed25519:{const{A:s}=r,{seed:o}=i;return Ia.elliptic.eddsa.sign(e,t,n,s,o,a)}case ue.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=i,n=await Ba(e.getValue(),t,a);return{mac:new xa(n)}}default:throw Error("Unknown signature algorithm.")}}});class Da{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return fe.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class Ka{constructor(e){if(e){const{version:t,hash:r,cipher:i,replacementFingerprint:n}=e;this.version=t||1,this.hash=r,this.cipher=i,this.replacementFingerprint=n}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new Dn("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const i=t-r+1;this.replacementFingerprint=e.slice(r,r+i),r+=i}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return fe.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const Ua=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=ue.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return ue.read(e,this.data)}getValue(){return this.data}},Ra=Ua(ue.aead),Ta=Ua(ue.symmetric),Qa=Ua(ue.hash);class za{static fromObject({wrappedKey:e,algorithm:t}){const r=new za;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=e.subarray(t,t+r),t+=r}write(){return fe.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Fa(e,t){const r=rn(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await ci.sha256(r)}}}function La(e){const{keySize:t}=hi(e);return rn(t)}function Na(e){const t=ue.read(ue.aead,e);return $i[t]}function qa(e){try{e.getName()}catch(e){throw new Dn("Unknown curve OID")}}var Oa=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,i,n,a){switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await Ia.rsa.encrypt(n,e,t)}}case ue.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return Ia.elgamal.encrypt(n,e,t,i)}case ue.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:i}=r,{publicKey:s,wrappedKey:o}=await Ia.elliptic.ecdh.encrypt(e,i,n,t,a);return{V:s,C:new Da(o)}}case ue.publicKey.x25519:{if(!fe.isAES(t))throw Error("X25519 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:a,wrappedKey:s}=await Ia.elliptic.ecdhX.encrypt(e,n,i);return{ephemeralPublicKey:a,C:za.fromObject({algorithm:t,wrappedKey:s})}}case ue.publicKey.aead:{if(!i)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:a}=i,s=we.preferredAEADAlgorithm,o=Na(we.preferredAEADAlgorithm),{ivLength:c}=o,u=rn(c),h=await o(t,a),f=await h.encrypt(n,u,new Uint8Array);return{aeadMode:new Ra(s),iv:u,c:new xa(f)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,i,n,a){switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:{const{c:e}=i,{n,e:s}=t,{d:o,p:c,q:u,u:h}=r;return Ia.rsa.decrypt(e,n,s,o,c,u,h,a)}case ue.publicKey.elgamal:{const{c1:e,c2:n}=i,s=t.p,o=r.x;return Ia.elgamal.decrypt(e,n,s,o,a)}case ue.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:u}=i;return Ia.elliptic.ecdh.decrypt(e,s,c,u.data,a,o,n)}case ue.publicKey.x25519:{const{A:n}=t,{k:a}=r,{ephemeralPublicKey:s,C:o}=i;if(!fe.isAES(o.algorithm))throw Error("AES session key expected");return Ia.elliptic.ecdhX.decrypt(e,s,o.wrappedKey,n,a)}case ue.publicKey.aead:{const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=i,u=Na(s.getValue());return(await u(n,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{n:e,e:i}}}case ue.publicKey.dsa:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=fe.readMPI(t.subarray(r));r+=n.length+2;const a=fe.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:i,g:n,y:a}}}case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=fe.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{p:e,g:i,y:n}}}case ue.publicKey.ecdsa:{const e=new vn;r+=e.read(t),qa(e);const i=fe.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{oid:e,Q:i}}}case ue.publicKey.eddsaLegacy:{const e=new vn;r+=e.read(t),qa(e);let i=fe.readMPI(t.subarray(r));return r+=i.length+2,i=fe.leftPad(i,33),{read:r,publicParams:{oid:e,Q:i}}}case ue.publicKey.ecdh:{const e=new vn;r+=e.read(t),qa(e);const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=new Ka;return r+=n.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:i,kdfParams:n}}}case ue.publicKey.ed25519:case ue.publicKey.x25519:{const e=t.subarray(r,r+32);return r+=e.length,{read:r,publicParams:{A:e}}}case ue.publicKey.hmac:case ue.publicKey.aead:{const e=new Ta;r+=e.read(t);const i=ci.getHashByteLength(ue.hash.sha256),n=t.subarray(r,r+i);return r+=i,{read:r,publicParams:{cipher:e,digest:n}}}default:throw new Dn("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let i=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const e=fe.readMPI(t.subarray(i));i+=e.length+2;const r=fe.readMPI(t.subarray(i));i+=r.length+2;const n=fe.readMPI(t.subarray(i));i+=n.length+2;const a=fe.readMPI(t.subarray(i));return i+=a.length+2,{read:i,privateParams:{d:e,p:r,q:n,u:a}}}case ue.publicKey.dsa:case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(i));return i+=e.length+2,{read:i,privateParams:{x:e}}}case ue.publicKey.ecdsa:case ue.publicKey.ecdh:{const e=new Ln(r.oid);let n=fe.readMPI(t.subarray(i));return i+=n.length+2,n=fe.leftPad(n,e.payloadSize),{read:i,privateParams:{d:n}}}case ue.publicKey.eddsaLegacy:{const e=new Ln(r.oid);let n=fe.readMPI(t.subarray(i));return i+=n.length+2,n=fe.leftPad(n,e.payloadSize),{read:i,privateParams:{seed:n}}}case ue.publicKey.ed25519:{const e=t.subarray(i,i+32);return i+=e.length,{read:i,privateParams:{seed:e}}}case ue.publicKey.x25519:{const e=t.subarray(i,i+32);return i+=e.length,{read:i,privateParams:{k:e}}}case ue.publicKey.hmac:{const{cipher:e}=r,n=ci.getHashByteLength(e.getValue()),a=t.subarray(i,i+32);i+=32;const s=t.subarray(i,i+n);return i+=n,{read:i,privateParams:{hashSeed:a,keyMaterial:s}}}case ue.publicKey.aead:{const{cipher:e}=r,n=t.subarray(i,i+32);i+=32;const{keySize:a}=hi(e.getValue()),s=t.subarray(i,i+a);return i+=a,{read:i,privateParams:{hashSeed:n,keyMaterial:s}}}default:throw new Dn("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:return{c:fe.readMPI(t.subarray(r))};case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:fe.readMPI(t.subarray(r))}}case ue.publicKey.ecdh:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=new Da;return i.read(t.subarray(r)),{V:e,C:i}}case ue.publicKey.x25519:{const e=t.subarray(r,r+32);r+=e.length;const i=new za;return i.read(t.subarray(r)),{ephemeralPublicKey:e,C:i}}case ue.publicKey.aead:{const e=new Ra;r+=e.read(t.subarray(r));const{ivLength:i}=Na(e.getValue()),n=t.subarray(r,r+i);r+=i;const a=new xa;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:n,c:a}}default:throw new Dn("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){const r=new Set([ue.publicKey.ed25519,ue.publicKey.x25519,ue.publicKey.aead,ue.publicKey.hmac]),i=Object.keys(t).map((i=>{const n=t[i];return fe.isUint8Array(n)?r.has(e)?n:fe.uint8ArrayToMPI(n):n.write()}));return fe.concatUint8Array(i)},generateParams:function(e,t,r,i){switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:return Ia.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:i,q:n,u:a})=>({privateParams:{d:r,p:i,q:n,u:a},publicParams:{n:e,e:t}})));case ue.publicKey.ecdsa:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new vn(e),Q:t}})));case ue.publicKey.eddsaLegacy:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new vn(e),Q:t}})));case ue.publicKey.ecdh:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:i,cipher:n})=>({privateParams:{d:r},publicParams:{oid:new vn(e),Q:t,kdfParams:new Ka({hash:i,cipher:n})}})));case ue.publicKey.ed25519:return Ia.elliptic.eddsa.generate(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case ue.publicKey.x25519:return Ia.elliptic.ecdhX.generate(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case ue.publicKey.hmac:{const e=ue.write(ue.hash,i);return Fa(rn(ci.getHashByteLength(e)),new Qa(e))}case ue.publicKey.aead:{const e=ue.write(ue.symmetric,i);return Fa(La(e),new Ta(e))}case ue.publicKey.dsa:case ue.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const{n:e,e:i}=t,{d:n,p:a,q:s,u:o}=r;return Ia.rsa.validateParams(e,i,n,a,s,o)}case ue.publicKey.dsa:{const{p:e,q:i,g:n,y:a}=t,{x:s}=r;return Ia.dsa.validateParams(e,i,n,a,s)}case ue.publicKey.elgamal:{const{p:e,g:i,y:n}=t,{x:a}=r;return Ia.elgamal.validateParams(e,i,n,a)}case ue.publicKey.ecdsa:case ue.publicKey.ecdh:{const i=Ia.elliptic[ue.read(ue.publicKey,e)],{oid:n,Q:a}=t,{d:s}=r;return i.validateParams(n,a,s)}case ue.publicKey.eddsaLegacy:{const{Q:e,oid:i}=t,{seed:n}=r;return Ia.elliptic.eddsaLegacy.validateParams(i,e,n)}case ue.publicKey.ed25519:{const{A:i}=t,{seed:n}=r;return Ia.elliptic.eddsa.validateParams(e,i,n)}case ue.publicKey.x25519:{const{A:i}=t,{k:n}=r;return Ia.elliptic.ecdhX.validateParams(e,i,n)}case ue.publicKey.hmac:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r;return ci.getHashByteLength(e.getValue())===a.length&&fe.equalsUint8Array(i,await ci.sha256(n))}case ue.publicKey.aead:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r,{keySize:s}=hi(e.getValue());return s===a.length&&fe.equalsUint8Array(i,await ci.sha256(n))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=hi(e),r=await rn(t),i=new Uint8Array([r[r.length-2],r[r.length-1]]);return fe.concat([r,i])},generateSessionKey:La,getAEADMode:Na,getCipher:hi,getPreferredCurveHashAlgo:function(e,t){switch(e){case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:return Ia.elliptic.getPreferredHashAlgo(t);case ue.publicKey.ed25519:return Ia.elliptic.eddsa.getPreferredHashAlgo(e);default:throw Error("Unknown elliptic signing algo")}}});const Ha={cipher:st,hash:ci,mode:$i,publicKey:Ia,signature:Ma,random:an,pkcs1:ln,pkcs5:fa,aesKW:ca};Object.assign(Ha,Oa);class ja extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ja),this.name="Argon2OutOfMemoryError"}}let Ga,Wa;class Va{constructor(e=we){const{passes:t,parallelism:r,memoryExponent:i}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=i}generateSalt(){this.salt=Ha.random.getRandomBytes(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([ue.write(ue.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return fe.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Ga=Ga||(await Promise.resolve().then((function(){return kb}))).default,Wa=Wa||Ga();const i=await Wa,n=i({version:19,type:2,password:fe.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(Wa=Ga(),Wa.catch((()=>{}))),n}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new ja("Could not allocate required memory for Argon2"):e}}}class Ja{constructor(e,t=we){this.algorithm=ue.hash.sha256,this.type=ue.read(ue.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=Ha.random.getRandomBytes(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==fe.uint8ArrayToString(e.subarray(t,t+3)))throw new Dn("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new Dn("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new Dn("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...fe.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([ue.write(ue.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return fe.concatUint8Array(e)}async produceKey(e,t){e=fe.encodeUTF8(e);const r=[];let i=0,n=0;for(;i<t;){let t;switch(this.type){case"simple":t=fe.concatUint8Array([new Uint8Array(n),e]);break;case"salted":t=fe.concatUint8Array([new Uint8Array(n),this.salt,e]);break;case"iterated":{const r=fe.concatUint8Array([this.salt,e]);let i=r.length;const a=Math.max(this.getCount(),i);t=new Uint8Array(n+a),t.set(r,n);for(let e=n+i;e<a;e+=i,i*=2)t.copyWithin(e,n,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await Ha.hash.digest(this.algorithm,t);r.push(a),i+=a.length,n++}return fe.concatUint8Array(r).subarray(0,t)}}const Ya=new Set([ue.s2k.argon2,ue.s2k.iterated]);function Za(e,t=we){switch(e){case ue.s2k.argon2:return new Va(t);case ue.s2k.iterated:case ue.s2k.gnu:case ue.s2k.salted:case ue.s2k.simple:return new Ja(e,t);default:throw new Dn("Unsupported S2K type "+e)}}function Xa(e){const{s2kType:t}=e;if(!Ya.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Za(t,e)}var $a="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function es(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const ts={arraySet:function(e,t,r,i,n){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+i),n);else for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){let t,r,i,n,a;for(i=0,t=0,r=e.length;t<r;t++)i+=e[t].length;const s=new Uint8Array(i);for(n=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,n),n+=a.length;return s}},rs={arraySet:function(e,t,r,i,n){for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let is=$a?Uint8Array:Array,ns=$a?Uint16Array:Array,as=$a?Int32Array:Array,ss=$a?ts.flattenChunks:rs.flattenChunks,os=$a?ts.arraySet:rs.arraySet;const cs=0,us=1,hs=2,fs=3,ds=4,ls=5,ps=6,ys=0,gs=1,bs=2,ms=-2,ws=-3,As=-5,vs=-1,ks=1,_s=2,Es=3,Ss=4,Cs=0,Is=1,Bs=2,Ps=8;function xs(e){let t=e.length;for(;--t>=0;)e[t]=0}const Ms=0,Ds=1,Ks=2,Us=29,Rs=256,Ts=Rs+1+Us,Qs=30,zs=19,Fs=2*Ts+1,Ls=15,Ns=16,qs=7,Os=256,Hs=16,js=17,Gs=18,Ws=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Vs=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Js=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ys=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Zs=Array(2*(Ts+2));xs(Zs);const Xs=Array(2*Qs);xs(Xs);const $s=Array(512);xs($s);const eo=Array(256);xs(eo);const to=Array(Us);xs(to);const ro=Array(Qs);function io(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}let no,ao,so;function oo(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function co(e){return e<256?$s[e]:$s[256+(e>>>7)]}function uo(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function ho(e,t,r){e.bi_valid>Ns-r?(e.bi_buf|=t<<e.bi_valid&65535,uo(e,e.bi_buf),e.bi_buf=t>>Ns-e.bi_valid,e.bi_valid+=r-Ns):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function fo(e,t,r){ho(e,r[2*t],r[2*t+1])}function lo(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function po(e,t,r){const i=Array(Ls+1);let n,a,s=0;for(n=1;n<=Ls;n++)i[n]=s=s+r[n-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=lo(i[t]++,t))}}function yo(e){let t;for(t=0;t<Ts;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Qs;t++)e.dyn_dtree[2*t]=0;for(t=0;t<zs;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*Os]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function go(e){e.bi_valid>8?uo(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function bo(e,t,r,i){const n=2*t,a=2*r;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function mo(e,t,r){const i=e.heap[r];let n=r<<1;for(;n<=e.heap_len&&(n<e.heap_len&&bo(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!bo(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function wo(e,t,r){let i,n,a,s,o=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],n=e.pending_buf[e.l_buf+o],o++,0===i?fo(e,n,t):(a=eo[n],fo(e,a+Rs+1,t),s=Ws[a],0!==s&&(n-=to[a],ho(e,n,s)),i--,a=co(i),fo(e,a,r),s=Vs[a],0!==s&&(i-=ro[a],ho(e,i,s)))}while(o<e.last_lit);fo(e,Os,t)}function Ao(e,t){const r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,u=-1;for(e.heap_len=0,e.heap_max=Fs,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=u=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,n&&(e.static_len-=i[2*c+1]);for(t.max_code=u,s=e.heap_len>>1;s>=1;s--)mo(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],mo(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,mo(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,h,f,d,l,p,y=0;for(d=0;d<=Ls;d++)e.bl_count[d]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<Fs;u++)h=e.heap[u],d=r[2*r[2*h+1]+1]+1,d>c&&(d=c,y++),r[2*h+1]=d,h>i||(e.bl_count[d]++,l=0,h>=o&&(l=s[h-o]),p=r[2*h],e.opt_len+=p*(d+l),a&&(e.static_len+=p*(n[2*h+1]+l)));if(0!==y){do{for(d=c-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[c]--,y-=2}while(y>0);for(d=c;0!==d;d--)for(h=e.bl_count[d];0!==h;)f=e.heap[--u],f>i||(r[2*f+1]!==d&&(e.opt_len+=(d-r[2*f+1])*r[2*f],r[2*f+1]=d),h--)}}(e,t),po(r,u,e.bl_count)}function vo(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),t[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=t[2*(i+1)+1],++o<c&&n===s||(o<u?e.bl_tree[2*n]+=o:0!==n?(n!==a&&e.bl_tree[2*n]++,e.bl_tree[2*Hs]++):o<=10?e.bl_tree[2*js]++:e.bl_tree[2*Gs]++,o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4))}function ko(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),i=0;i<=r;i++)if(n=s,s=t[2*(i+1)+1],!(++o<c&&n===s)){if(o<u)do{fo(e,n,e.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(fo(e,n,e.bl_tree),o--),fo(e,Hs,e.bl_tree),ho(e,o-3,2)):o<=10?(fo(e,js,e.bl_tree),ho(e,o-3,3)):(fo(e,Gs,e.bl_tree),ho(e,o-11,7));o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4)}}xs(ro);let _o=!1;function Eo(e){_o||(!function(){let e,t,r,i,n;const a=Array(Ls+1);for(r=0,i=0;i<Us-1;i++)for(to[i]=r,e=0;e<1<<Ws[i];e++)eo[r++]=i;for(eo[r-1]=i,n=0,i=0;i<16;i++)for(ro[i]=n,e=0;e<1<<Vs[i];e++)$s[n++]=i;for(n>>=7;i<Qs;i++)for(ro[i]=n<<7,e=0;e<1<<Vs[i]-7;e++)$s[256+n++]=i;for(t=0;t<=Ls;t++)a[t]=0;for(e=0;e<=143;)Zs[2*e+1]=8,e++,a[8]++;for(;e<=255;)Zs[2*e+1]=9,e++,a[9]++;for(;e<=279;)Zs[2*e+1]=7,e++,a[7]++;for(;e<=287;)Zs[2*e+1]=8,e++,a[8]++;for(po(Zs,Ts+1,a),e=0;e<Qs;e++)Xs[2*e+1]=5,Xs[2*e]=lo(e,5);no=new io(Zs,Ws,Rs+1,Ts,Ls),ao=new io(Xs,Vs,0,Qs,Ls),so=new io([],Js,0,zs,qs)}(),_o=!0),e.l_desc=new oo(e.dyn_ltree,no),e.d_desc=new oo(e.dyn_dtree,ao),e.bl_desc=new oo(e.bl_tree,so),e.bi_buf=0,e.bi_valid=0,yo(e)}function So(e,t,r,i){ho(e,(Ms<<1)+(i?1:0),3),function(e,t,r,i){go(e),i&&(uo(e,r),uo(e,~r)),os(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function Co(e){ho(e,Ds<<1,3),fo(e,Os,Zs),function(e){16===e.bi_valid?(uo(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Io(e,t,r,i){let n,a,s=0;e.level>0?(e.strm.data_type===Bs&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return Cs;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Is;for(t=32;t<Rs;t++)if(0!==e.dyn_ltree[2*t])return Is;return Cs}(e)),Ao(e,e.l_desc),Ao(e,e.d_desc),s=function(e){let t;for(vo(e,e.dyn_ltree,e.l_desc.max_code),vo(e,e.dyn_dtree,e.d_desc.max_code),Ao(e,e.bl_desc),t=zs-1;t>=3&&0===e.bl_tree[2*Ys[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&-1!==t?So(e,t,r,i):e.strategy===Ss||a===n?(ho(e,(Ds<<1)+(i?1:0),3),wo(e,Zs,Xs)):(ho(e,(Ks<<1)+(i?1:0),3),function(e,t,r,i){let n;for(ho(e,t-257,5),ho(e,r-1,5),ho(e,i-4,4),n=0;n<i;n++)ho(e,e.bl_tree[2*Ys[n]+1],3);ko(e,e.dyn_ltree,t-1),ko(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),wo(e,e.dyn_ltree,e.dyn_dtree)),yo(e),i&&go(e)}function Bo(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(eo[r]+Rs+1)]++,e.dyn_dtree[2*co(t)]++),e.last_lit===e.lit_bufsize-1}function Po(e,t,r,i){let n=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+t[i++]|0,a=a+n|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}const xo=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function Mo(e,t,r,i){const n=xo,a=i+r;e^=-1;for(let r=i;r<a;r++)e=e>>>8^n[255&(e^t[r])];return-1^e}var Do={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const Ko=9,Uo=3,Ro=258,To=Ro+Uo+1,Qo=32,zo=42,Fo=69,Lo=73,No=91,qo=103,Oo=113,Ho=666,jo=1,Go=2,Wo=3,Vo=4,Jo=3;function Yo(e,t){return e.msg=Do[t],t}function Zo(e){return(e<<1)-(e>4?9:0)}function Xo(e){let t=e.length;for(;--t>=0;)e[t]=0}function $o(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(os(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function ec(e,t){Io(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,$o(e.strm)}function tc(e,t){e.pending_buf[e.pending++]=t}function rc(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ic(e,t,r,i){let n=e.avail_in;return n>i&&(n=i),0===n?0:(e.avail_in-=n,os(t,e.input,e.next_in,n,r),1===e.state.wrap?e.adler=Po(e.adler,t,n,r):2===e.state.wrap&&(e.adler=Mo(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function nc(e,t){let r,i,n=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-To?e.strstart-(e.w_size-To):0,u=e.window,h=e.w_mask,f=e.prev,d=e.strstart+Ro;let l=u[a+s-1],p=u[a+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,u[r+s]===p&&u[r+s-1]===l&&u[r]===u[a]&&u[++r]===u[a+1]){a+=2,r++;do{}while(u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&a<d);if(i=Ro-(d-a),a=d-Ro,i>s){if(e.match_start=t,s=i,i>=o)break;l=u[a+s-1],p=u[a+s]}}}while((t=f[t&h])>c&&0!=--n);return s<=e.lookahead?s:e.lookahead}function ac(e){const t=e.w_size;let r,i,n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-To)){os(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do{n=e.head[--r],e.head[r]=n>=t?n-t:0}while(--i);i=t,r=i;do{n=e.prev[--r],e.prev[r]=n>=t?n-t:0}while(--i);a+=t}if(0===e.strm.avail_in)break;if(i=ic(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=Uo)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+Uo-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<Uo)););}while(e.lookahead<To&&0!==e.strm.avail_in)}function sc(e,t){let r,i;for(;;){if(e.lookahead<To){if(ac(e),e.lookahead<To&&t===cs)return jo;if(0===e.lookahead)break}if(r=0,e.lookahead>=Uo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-To&&(e.match_length=nc(e,r)),e.match_length>=Uo)if(i=Bo(e,e.strstart-e.match_start,e.match_length-Uo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Uo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=e.strstart<Uo-1?e.strstart:Uo-1,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}function oc(e,t){let r,i,n;for(;;){if(e.lookahead<To){if(ac(e),e.lookahead<To&&t===cs)return jo;if(0===e.lookahead)break}if(r=0,e.lookahead>=Uo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Uo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-To&&(e.match_length=nc(e,r),e.match_length<=5&&(e.strategy===ks||e.match_length===Uo&&e.strstart-e.match_start>4096)&&(e.match_length=Uo-1)),e.prev_length>=Uo&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-Uo,i=Bo(e,e.strstart-1-e.prev_match,e.prev_length-Uo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=Uo-1,e.strstart++,i&&(ec(e,!1),0===e.strm.avail_out))return jo}else if(e.match_available){if(i=Bo(e,0,e.window[e.strstart-1]),i&&ec(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return jo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Bo(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Uo-1?e.strstart:Uo-1,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}class cc{constructor(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}}const uc=[new cc(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(ac(e),0===e.lookahead&&t===cs)return jo;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const i=e.block_start+r;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,ec(e,!1),0===e.strm.avail_out))return jo;if(e.strstart-e.block_start>=e.w_size-To&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):(e.strstart>e.block_start&&(ec(e,!1),e.strm.avail_out),jo)})),new cc(4,4,8,4,sc),new cc(4,5,16,8,sc),new cc(4,6,32,32,sc),new cc(4,4,16,16,oc),new cc(8,16,32,32,oc),new cc(8,16,128,128,oc),new cc(8,32,128,256,oc),new cc(32,128,258,1024,oc),new cc(32,258,258,4096,oc)];class hc{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ps,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ns(1146),this.dyn_dtree=new ns(122),this.bl_tree=new ns(78),Xo(this.dyn_ltree),Xo(this.dyn_dtree),Xo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ns(16),this.heap=new ns(573),Xo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ns(573),Xo(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function fc(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Bs,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?zo:Oo,e.adler=2===t.wrap?0:1,t.last_flush=cs,Eo(t),ys):Yo(e,ms)}(e);return t===ys&&function(e){e.window_size=2*e.w_size,Xo(e.head),e.max_lazy_match=uc[e.level].max_lazy,e.good_match=uc[e.level].good_length,e.nice_match=uc[e.level].nice_length,e.max_chain_length=uc[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Uo-1,e.match_available=0,e.ins_h=0}(e.state),t}function dc(e,t){let r,i,n,a;if(!e||!e.state||t>ls||t<0)return e?Yo(e,ms):ms;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===Ho&&t!==ds)return Yo(e,0===e.avail_out?As:ms);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===zo)if(2===i.wrap)e.adler=0,tc(i,31),tc(i,139),tc(i,8),i.gzhead?(tc(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),tc(i,255&i.gzhead.time),tc(i,i.gzhead.time>>8&255),tc(i,i.gzhead.time>>16&255),tc(i,i.gzhead.time>>24&255),tc(i,9===i.level?2:i.strategy>=_s||i.level<2?4:0),tc(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(tc(i,255&i.gzhead.extra.length),tc(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Mo(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Fo):(tc(i,0),tc(i,0),tc(i,0),tc(i,0),tc(i,0),tc(i,9===i.level?2:i.strategy>=_s||i.level<2?4:0),tc(i,Jo),i.status=Oo);else{let t=Ps+(i.w_bits-8<<4)<<8,r=-1;r=i.strategy>=_s||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=r<<6,0!==i.strstart&&(t|=Qo),t+=31-t%31,i.status=Oo,rc(i,t),0!==i.strstart&&(rc(i,e.adler>>>16),rc(i,65535&e.adler)),e.adler=1}if(i.status===Fo)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending!==i.pending_buf_size));)tc(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=Lo)}else i.status=Lo;if(i.status===Lo)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,tc(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.gzindex=0,i.status=No)}else i.status=No;if(i.status===No)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,tc(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.status=qo)}else i.status=qo;if(i.status===qo&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&$o(e),i.pending+2<=i.pending_buf_size&&(tc(i,255&e.adler),tc(i,e.adler>>8&255),e.adler=0,i.status=Oo)):i.status=Oo),0!==i.pending){if($o(e),0===e.avail_out)return i.last_flush=-1,ys}else if(0===e.avail_in&&Zo(t)<=Zo(r)&&t!==ds)return Yo(e,As);if(i.status===Ho&&0!==e.avail_in)return Yo(e,As);if(0!==e.avail_in||0!==i.lookahead||t!==cs&&i.status!==Ho){var s=i.strategy===_s?function(e,t){let r;for(;;){if(0===e.lookahead&&(ac(e),0===e.lookahead)){if(t===cs)return jo;break}if(e.match_length=0,r=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}(i,t):i.strategy===Es?function(e,t){let r,i,n,a;const s=e.window;for(;;){if(e.lookahead<=Ro){if(ac(e),e.lookahead<=Ro&&t===cs)return jo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Uo&&e.strstart>0&&(n=e.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){a=e.strstart+Ro;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<a);e.match_length=Ro-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Uo?(r=Bo(e,1,e.match_length-Uo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}(i,t):uc[i.level].func(i,t);if(s!==Wo&&s!==Vo||(i.status=Ho),s===jo||s===Wo)return 0===e.avail_out&&(i.last_flush=-1),ys;if(s===Go&&(t===us?Co(i):t!==ls&&(So(i,0,0,!1),t===fs&&(Xo(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),$o(e),0===e.avail_out))return i.last_flush=-1,ys}return t!==ds?ys:i.wrap<=0?gs:(2===i.wrap?(tc(i,255&e.adler),tc(i,e.adler>>8&255),tc(i,e.adler>>16&255),tc(i,e.adler>>24&255),tc(i,255&e.total_in),tc(i,e.total_in>>8&255),tc(i,e.total_in>>16&255),tc(i,e.total_in>>24&255)):(rc(i,e.adler>>>16),rc(i,65535&e.adler)),$o(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?ys:gs)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const lc=new is(256);for(let e=0;e<256;e++)lc[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function pc(e){let t,r,i,n,a=0;const s=e.length;for(i=0;i<s;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new is(a);for(n=0,i=0;n<a;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),t<128?o[n++]=t:t<2048?(o[n++]=192|t>>>6,o[n++]=128|63&t):t<65536?(o[n++]=224|t>>>12,o[n++]=128|t>>>6&63,o[n++]=128|63&t):(o[n++]=240|t>>>18,o[n++]=128|t>>>12&63,o[n++]=128|t>>>6&63,o[n++]=128|63&t);return o}lc[254]=lc[254]=1;class yc{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class gc{constructor(e){this.options={level:vs,method:Ps,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yc,this.strm.avail_out=0;var r,i,n=function(e,t,r,i,n,a){if(!e)return ms;let s=1;if(t===vs&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>Ko||r!==Ps||i<8||i>15||t<0||t>9||a<0||a>Ss)return Yo(e,ms);8===i&&(i=9);const o=new hc;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Uo-1)/Uo),o.window=new is(2*o.w_size),o.head=new ns(o.hash_size),o.prev=new ns(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new is(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,fc(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ys)throw Error(Do[n]);if(t.header&&(r=this.strm,i=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=i))),t.dictionary){let e;if(e="string"==typeof t.dictionary?pc(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,n=function(e,t){let r,i,n,a,s,o,c,u,h=t.length;if(!e||!e.state)return ms;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==zo||r.lookahead)return ms;for(1===a&&(e.adler=Po(e.adler,t,h,0)),r.wrap=0,h>=r.w_size&&(0===a&&(Xo(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new is(r.w_size),os(u,t,h-r.w_size,r.w_size,0),t=u,h=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=h,e.next_in=0,e.input=t,ac(r);r.lookahead>=Uo;){i=r.strstart,n=r.lookahead-(Uo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+Uo-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++}while(--n);r.strstart=i,r.lookahead=Uo-1,ac(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Uo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,ys}(this.strm,e),n!==ys)throw Error(Do[n]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:i}}=this;var n,a;if(this.ended)return!1;a=t===~~t?t:!0===t?ds:cs,"string"==typeof e?r.input=pc(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new is(i),r.next_out=0,r.avail_out=i),(n=dc(r,a))!==gs&&n!==ys)return this.onEnd(n),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==ds&&a!==hs)||this.onData(es(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&n!==gs);return a===ds?(n=function(e){let t;return e&&e.state?(t=e.state.status,t!==zo&&t!==Fo&&t!==Lo&&t!==No&&t!==qo&&t!==Oo&&t!==Ho?Yo(e,ms):(e.state=null,t===Oo?Yo(e,ws):ys)):ms}(this.strm),this.onEnd(n),this.ended=!0,n===ys):a!==hs||(this.onEnd(ys),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===ys&&(this.result=ss(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const bc=30,mc=12;function wc(e,t){let r,i,n,a,s,o,c,u,h,f;const d=e.state;r=e.next_in;const l=e.input,p=r+(e.avail_in-5);i=e.next_out;const y=e.output,g=i-(t-e.avail_out),b=i+(e.avail_out-257),m=d.dmax,w=d.wsize,A=d.whave,v=d.wnext,k=d.window;n=d.hold,a=d.bits;const _=d.lencode,E=d.distcode,S=(1<<d.lenbits)-1,C=(1<<d.distbits)-1;e:do{a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=_[n&S];t:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,0===o)y[i++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=_[(65535&s)+(n&(1<<o)-1)];continue t}if(32&o){d.mode=mc;break e}e.msg="invalid literal/length code",d.mode=bc;break e}c=65535&s,o&=15,o&&(a<o&&(n+=l[r++]<<a,a+=8),c+=n&(1<<o)-1,n>>>=o,a-=o),a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=E[n&C];r:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=E[(65535&s)+(n&(1<<o)-1)];continue r}e.msg="invalid distance code",d.mode=bc;break e}if(u=65535&s,o&=15,a<o&&(n+=l[r++]<<a,a+=8,a<o&&(n+=l[r++]<<a,a+=8)),u+=n&(1<<o)-1,u>m){e.msg="invalid distance too far back",d.mode=bc;break e}if(n>>>=o,a-=o,o=i-g,u>o){if(o=u-o,o>A&&d.sane){e.msg="invalid distance too far back",d.mode=bc;break e}if(h=0,f=k,0===v){if(h+=w-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}}else if(v<o){if(h+=w+v-o,o-=v,o<c){c-=o;do{y[i++]=k[h++]}while(--o);if(h=0,v<c){o=v,c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}}}else if(h+=v-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}for(;c>2;)y[i++]=f[h++],y[i++]=f[h++],y[i++]=f[h++],c-=3;c&&(y[i++]=f[h++],c>1&&(y[i++]=f[h++]))}else{h=i-u;do{y[i++]=y[h++],y[i++]=y[h++],y[i++]=y[h++],c-=3}while(c>2);c&&(y[i++]=y[h++],c>1&&(y[i++]=y[h++]))}break}}break}}while(r<p&&i<b);c=a>>3,r-=c,a-=c<<3,n&=(1<<a)-1,e.next_in=r,e.next_out=i,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=i<b?b-i+257:257-(i-b),d.hold=n,d.bits=a}const Ac=15,vc=852,kc=592,_c=0,Ec=1,Sc=2,Cc=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ic=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Bc=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Pc=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function xc(e,t,r,i,n,a,s,o){const c=o.bits;let u,h,f,d,l,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=null,S=0;const C=new ns(Ac+1),I=new ns(Ac+1);let B,P,x,M=null,D=0;for(p=0;p<=Ac;p++)C[p]=0;for(y=0;y<i;y++)C[t[r+y]]++;for(m=c,b=Ac;b>=1&&0===C[b];b--);if(m>b&&(m=b),0===b)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(g=1;g<b&&0===C[g];g++);for(m<g&&(m=g),v=1,p=1;p<=Ac;p++)if(v<<=1,v-=C[p],v<0)return-1;if(v>0&&(e===_c||1!==b))return-1;for(I[1]=0,p=1;p<Ac;p++)I[p+1]=I[p]+C[p];for(y=0;y<i;y++)0!==t[r+y]&&(s[I[t[r+y]]++]=y);e===_c?(E=M=s,l=19):e===Ec?(E=Cc,S-=257,M=Ic,D-=257,l=256):(E=Bc,M=Pc,l=-1),_=0,y=0,p=g,d=a,w=m,A=0,f=-1,k=1<<m;const K=k-1;if(e===Ec&&k>vc||e===Sc&&k>kc)return 1;for(;;){B=p-A,s[y]<l?(P=0,x=s[y]):s[y]>l?(P=M[D+s[y]],x=E[S+s[y]]):(P=96,x=0),u=1<<p-A,h=1<<w,g=h;do{h-=u,n[d+(_>>A)+h]=B<<24|P<<16|x|0}while(0!==h);for(u=1<<p-1;_&u;)u>>=1;if(0!==u?(_&=u-1,_+=u):_=0,y++,0==--C[p]){if(p===b)break;p=t[r+s[y]]}if(p>m&&(_&K)!==f){for(0===A&&(A=m),d+=g,w=p-A,v=1<<w;w+A<b&&(v-=C[w+A],!(v<=0));)w++,v<<=1;if(k+=1<<w,e===Ec&&k>vc||e===Sc&&k>kc)return 1;f=_&K,n[f]=m<<24|w<<16|d-a|0}}return 0!==_&&(n[d+_]=p-A<<24|64<<16|0),o.bits=m,0}const Mc=0,Dc=1,Kc=2,Uc=1,Rc=2,Tc=3,Qc=4,zc=5,Fc=6,Lc=7,Nc=8,qc=9,Oc=10,Hc=11,jc=12,Gc=13,Wc=14,Vc=15,Jc=16,Yc=17,Zc=18,Xc=19,$c=20,eu=21,tu=22,ru=23,iu=24,nu=25,au=26,su=27,ou=28,cu=29,uu=30,hu=852,fu=592;function du(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class lu{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new ns(320),this.work=new ns(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function pu(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Uc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new as(hu),t.distcode=t.distdyn=new as(fu),t.sane=1,t.back=-1,ys):ms}(e)):ms}function yu(e,t){let r,i;return e?(i=new lu,e.state=i,i.window=null,r=function(e,t){let r,i;return e&&e.state?(i=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ms:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,pu(e))):ms}(e,t),r!==ys&&(e.state=null),r):ms}let gu,bu,mu=!0;function wu(e){if(mu){let t;for(gu=new as(512),bu=new as(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(xc(Dc,e.lens,0,288,gu,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;xc(Kc,e.lens,0,32,bu,0,e.work,{bits:5}),mu=!1}e.lencode=gu,e.lenbits=9,e.distcode=bu,e.distbits=5}function Au(e,t,r,i){let n;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new is(a.wsize)),i>=a.wsize?(os(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),os(a.window,t,r-i,n,a.wnext),(i-=n)?(os(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function vu(e,t){let r,i,n,a,s,o,c,u,h,f,d,l,p,y,g,b,m,w,A,v,k,_,E,S,C=0,I=new is(4);const B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ms;r=e.state,r.mode===jc&&(r.mode=Gc),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,f=o,d=c,_=ys;e:for(;;)switch(r.mode){case Uc:if(0===r.wrap){r.mode=Gc;break}for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(2&r.wrap&&35615===u){r.check=0,I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0),u=0,h=0,r.mode=Rc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=uu;break}if((15&u)!==Ps){e.msg="unknown compression method",r.mode=uu;break}if(u>>>=4,h-=4,k=8+(15&u),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=uu;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?Oc:jc,u=0,h=0;break;case Rc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.flags=u,(255&r.flags)!==Ps){e.msg="unknown compression method",r.mode=uu;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=uu;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0,r.mode=Tc;case Tc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.time=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,I[2]=u>>>16&255,I[3]=u>>>24&255,r.check=Mo(r.check,I,4,0)),u=0,h=0,r.mode=Qc;case Qc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0,r.mode=zc;case zc:if(1024&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0}else r.head&&(r.head.extra=null);r.mode=Fc;case Fc:if(1024&r.flags&&(l=r.length,l>o&&(l=o),l&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),os(r.head.extra,i,a,l,k)),512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,r.length-=l),r.length))break e;r.length=0,r.mode=Lc;case Lc:if(2048&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Nc;case Nc:if(4096&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.comment=null);r.mode=qc;case qc:if(512&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=uu;break}u=0,h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=jc;break;case Oc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}e.adler=r.check=du(u),u=0,h=0,r.mode=Hc;case Hc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,bs;e.adler=r.check=1,r.mode=jc;case jc:if(t===ls||t===ps)break e;case Gc:if(r.last){u>>>=7&h,h-=7&h,r.mode=su;break}for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}switch(r.last=1&u,u>>>=1,h-=1,3&u){case 0:r.mode=Wc;break;case 1:if(wu(r),r.mode=$c,t===ps){u>>>=2,h-=2;break e}break;case 2:r.mode=Yc;break;case 3:e.msg="invalid block type",r.mode=uu}u>>>=2,h-=2;break;case Wc:for(u>>>=7&h,h-=7&h;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=uu;break}if(r.length=65535&u,u=0,h=0,r.mode=Vc,t===ps)break e;case Vc:r.mode=Jc;case Jc:if(l=r.length,l){if(l>o&&(l=o),l>c&&(l=c),0===l)break e;os(n,i,a,l,s),o-=l,a+=l,c-=l,s+=l,r.length-=l;break}r.mode=jc;break;case Yc:for(;h<14;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.nlen=257+(31&u),u>>>=5,h-=5,r.ndist=1+(31&u),u>>>=5,h-=5,r.ncode=4+(15&u),u>>>=4,h-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=uu;break}r.have=0,r.mode=Zc;case Zc:for(;r.have<r.ncode;){for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.lens[B[r.have++]]=7&u,u>>>=3,h-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,E={bits:r.lenbits},_=xc(Mc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=uu;break}r.have=0,r.mode=Xc;case Xc:for(;r.have<r.nlen+r.ndist;){for(;C=r.lencode[u&(1<<r.lenbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(m<16)u>>>=g,h-=g,r.lens[r.have++]=m;else{if(16===m){for(S=g+2;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u>>>=g,h-=g,0===r.have){e.msg="invalid bit length repeat",r.mode=uu;break}k=r.lens[r.have-1],l=3+(3&u),u>>>=2,h-=2}else if(17===m){for(S=g+3;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=g,h-=g,k=0,l=3+(7&u),u>>>=3,h-=3}else{for(S=g+7;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=g,h-=g,k=0,l=11+(127&u),u>>>=7,h-=7}if(r.have+l>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=uu;break}for(;l--;)r.lens[r.have++]=k}}if(r.mode===uu)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=uu;break}if(r.lenbits=9,E={bits:r.lenbits},_=xc(Dc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=uu;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=xc(Kc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=uu;break}if(r.mode=$c,t===ps)break e;case $c:r.mode=eu;case eu:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,wc(e,d),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,r.mode===jc&&(r.back=-1);break}for(r.back=0;C=r.lencode[u&(1<<r.lenbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(b&&0==(240&b)){for(w=g,A=b,v=m;C=r.lencode[v+((u&(1<<w+A)-1)>>w)],g=C>>>24,b=C>>>16&255,m=65535&C,!(w+g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=g,h-=g,r.back+=g,r.length=m,0===b){r.mode=au;break}if(32&b){r.back=-1,r.mode=jc;break}if(64&b){e.msg="invalid literal/length code",r.mode=uu;break}r.extra=15&b,r.mode=tu;case tu:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=ru;case ru:for(;C=r.distcode[u&(1<<r.distbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(0==(240&b)){for(w=g,A=b,v=m;C=r.distcode[v+((u&(1<<w+A)-1)>>w)],g=C>>>24,b=C>>>16&255,m=65535&C,!(w+g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=g,h-=g,r.back+=g,64&b){e.msg="invalid distance code",r.mode=uu;break}r.offset=m,r.extra=15&b,r.mode=iu;case iu:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=uu;break}r.mode=nu;case nu:if(0===c)break e;if(l=d-c,r.offset>l){if(l=r.offset-l,l>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=uu;break}l>r.wnext?(l-=r.wnext,p=r.wsize-l):p=r.wnext-l,l>r.length&&(l=r.length),y=r.window}else y=n,p=s-r.offset,l=r.length;l>c&&(l=c),c-=l,r.length-=l;do{n[s++]=y[p++]}while(--l);0===r.length&&(r.mode=eu);break;case au:if(0===c)break e;n[s++]=r.length,c--,r.mode=eu;break;case su:if(r.wrap){for(;h<32;){if(0===o)break e;o--,u|=i[a++]<<h,h+=8}if(d-=c,e.total_out+=d,r.total+=d,d&&(e.adler=r.check=r.flags?Mo(r.check,n,d,s-d):Po(r.check,n,d,s-d)),d=c,(r.flags?u:du(u))!==r.check){e.msg="incorrect data check",r.mode=uu;break}u=0,h=0}r.mode=ou;case ou:if(r.wrap&&r.flags){for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=uu;break}u=0,h=0}r.mode=cu;case cu:_=gs;break e;case uu:_=ws;break e;default:return ms}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,(r.wsize||d!==e.avail_out&&r.mode<uu&&(r.mode<su||t!==ds))&&Au(e,e.output,e.next_out,d-e.avail_out),f-=e.avail_in,d-=e.avail_out,e.total_in+=f,e.total_out+=d,r.total+=d,r.wrap&&d&&(e.adler=r.check=r.flags?Mo(r.check,n,d,e.next_out-d):Po(r.check,n,d,e.next_out-d)),e.data_type=r.bits+(r.last?64:0)+(r.mode===jc?128:0)+(r.mode===$c||r.mode===Vc?256:0),(0===f&&0===d||t===ds)&&_===ys&&(_=As),_}function ku(e,t){const r=t.length;let i,n;return e&&e.state?(i=e.state,0!==i.wrap&&i.mode!==Hc?ms:i.mode===Hc&&(n=1,n=Po(n,t,r,0),n!==i.check)?ws:(Au(e,t,r,r),i.havedict=1,ys)):ms}class _u{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class Eu{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yc,this.strm.avail_out=0;let r=yu(this.strm,t.windowBits);if(r!==ys)throw Error(Do[r]);if(this.header=new _u,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=pc(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ku(this.strm,t.dictionary),r!==ys)))throw Error(Do[r])}push(e,t){const{strm:r,options:{chunkSize:i,dictionary:n}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?ds:cs,"string"==typeof e?r.input=function(e){const t=new is(e.length);for(let r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new is(i),r.next_out=0,r.avail_out=i),a=vu(r,cs),a===bs&&n&&(a=ku(this.strm,n)),a===As&&!0===o&&(a=ys,o=!1),a!==gs&&a!==ys)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==gs&&(0!==r.avail_in||s!==ds&&s!==hs)||this.onData(es(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==gs);return a===gs&&(s=ds),s===ds?(a=function(e){if(!e||!e.state)return ms;const t=e.state;return t.window&&(t.window=null),e.state=null,ys}(this.strm),this.onEnd(a),this.ended=!0,a===ys):s!==hs||(this.onEnd(ys),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===ys&&(this.result=ss(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var Su=[0,1,3,7,15,31,63,127,255],Cu=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};Cu.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},Cu.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=Su[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var i=r-e;t|=(this.curByte&Su[e]<<i)>>i,this.bitOffset+=e,e=0}}return t},Cu.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},Cu.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var Iu=Cu,Bu=function(){};Bu.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},Bu.prototype.read=function(e,t,r){for(var i=0;i<r;){var n=this.readByte();if(n<0)return 0===i?-1:i;e[t++]=n,i++}return i},Bu.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},Bu.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},Bu.prototype.write=function(e,t,r){var i;for(i=0;i<r;i++)this.writeByte(e[t++]);return r},Bu.prototype.flush=function(){};var Pu,xu=Bu,Mu=(Pu=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^Pu[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^Pu[255&(e>>>24^t)]}}),Du=function(e,t){var r,i=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=i,i},Ku={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},Uu={};Uu[Ku.LAST_BLOCK]="Bad file checksum",Uu[Ku.NOT_BZIP_DATA]="Not bzip data",Uu[Ku.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",Uu[Ku.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",Uu[Ku.DATA_ERROR]="Data error",Uu[Ku.OUT_OF_MEMORY]="Out of memory",Uu[Ku.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var Ru=function(e,t){var r=Uu[e]||"unknown error";t&&(r+=": "+t);var i=new TypeError(r);throw i.errorCode=e,i},Tu=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};Tu.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new Mu,!0):(this.writeCount=-1,!1)},Tu.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||Ru(Ku.NOT_BZIP_DATA,"bad magic");var i=r[3]-48;(i<1||i>9)&&Ru(Ku.NOT_BZIP_DATA,"level out of range"),this.reader=new Iu(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},Tu.prototype._get_next_block=function(){var e,t,r,i=this.reader,n=i.pi();if("177245385090"===n)return!1;"314159265359"!==n&&Ru(Ku.NOT_BZIP_DATA),this.targetBlockCRC=i.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,i.read(1)&&Ru(Ku.OBSOLETE_INPUT);var a=i.read(24);a>this.dbufSize&&Ru(Ku.DATA_ERROR,"initial position out of bounds");var s=i.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var u=16*e;for(r=i.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=u+t)}var h=i.read(3);(h<2||h>6)&&Ru(Ku.DATA_ERROR);var f=i.read(15);0===f&&Ru(Ku.DATA_ERROR);var d=new Uint8Array(256);for(e=0;e<h;e++)d[e]=e;var l=new Uint8Array(f);for(e=0;e<f;e++){for(t=0;i.read(1);t++)t>=h&&Ru(Ku.DATA_ERROR);l[e]=Du(d,t)}var p,y=c+2,g=[];for(t=0;t<h;t++){var b,m,w=new Uint8Array(y),A=new Uint16Array(21);for(s=i.read(5),e=0;e<y;e++){for(;(s<1||s>20)&&Ru(Ku.DATA_ERROR),i.read(1);)i.read(1)?s--:s++;w[e]=s}for(b=m=w[0],e=1;e<y;e++)w[e]>m?m=w[e]:w[e]<b&&(b=w[e]);p={},g.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=b,p.maxLen=m;var v=0;for(e=b;e<=m;e++)for(A[e]=p.limit[e]=0,s=0;s<y;s++)w[s]===e&&(p.permute[v++]=s);for(e=0;e<y;e++)A[w[e]]++;for(v=s=0,e=b;e<m;e++)v+=A[e],p.limit[e]=v-1,v<<=1,s+=A[e],p.base[e+1]=v-s;p.limit[m+1]=Number.MAX_VALUE,p.limit[m]=v+A[m]-1,p.base[b]=0}var k=new Uint32Array(256);for(e=0;e<256;e++)d[e]=e;var _,E=0,S=0,C=0,I=this.dbuf=new Uint32Array(this.dbufSize);for(y=0;;){for(y--||(y=49,C>=f&&Ru(Ku.DATA_ERROR),p=g[l[C++]]),e=p.minLen,t=i.read(e);e>p.maxLen&&Ru(Ku.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|i.read(1);((t-=p.base[e])<0||t>=258)&&Ru(Ku.DATA_ERROR);var B=p.permute[t];if(0!==B&&1!==B){if(E)for(E=0,S+s>this.dbufSize&&Ru(Ku.DATA_ERROR),k[_=o[d[0]]]+=s;s--;)I[S++]=_;if(B>c)break;S>=this.dbufSize&&Ru(Ku.DATA_ERROR),k[_=o[_=Du(d,e=B-1)]]++,I[S++]=_}else E||(E=1,s=0),s+=0===B?E:2*E,E<<=1}for((a<0||a>=S)&&Ru(Ku.DATA_ERROR),t=0,e=0;e<256;e++)r=t+k[e],k[e]=t,t=r;for(e=0;e<S;e++)I[k[_=255&I[e]]]|=e<<8,k[_]++;var P=0,x=0,M=0;return S&&(x=255&(P=I[a]),P>>=8,M=-1),this.writePos=P,this.writeCurrent=x,this.writeCount=S,this.writeRun=M,!0},Tu.prototype._read_bunzip=function(e,t){var r,i,n;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var u=this.writeRun;c;){for(c--,i=o,o=255&(s=a[s]),s>>=8,3==u++?(r=o,n=i,o=-1):(r=1,n=o),this.blockCRC.updateCRCRun(n,r);r--;)this.outputStream.writeByte(n),this.nextoutput++;o!=i&&(u=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&Ru(Ku.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var Qu=function(e){if("readByte"in e)return e;var t=new xu;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},zu=function(e){var t=new xu,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var Fu=function(e,t,r){for(var i=Qu(e),n=zu(t),a=new Tu(i,n);!("eof"in i)||!i.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&Ru(Ku.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in i)||i.eof())break;a._start_bunzip(i,n)}if("getBuffer"in n)return n.getBuffer()};class Lu{static get tag(){return ue.packet.literalData}constructor(e=new Date){this.format=ue.literal.utf8,this.date=fe.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=ue.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||fe.isStream(this.text))&&(this.text=fe.decodeUTF8(fe.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=fe.canonicalizeEOL(fe.encodeUTF8(this.text))),e?ee(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await X(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=fe.decodeUTF8(await e.readBytes(r)),this.date=fe.readDate(await e.readBytes(4));let i=e.remainder();v(i)&&(i=await ie(i)),this.setBytes(i,t)}))}writeHeader(){const e=fe.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),i=fe.writeDate(this.date);return fe.concatUint8Array([r,t,e,i])}write(){const e=this.writeHeader(),t=this.getBytes();return fe.concat([e,t])}}const Nu=Symbol("verified"),qu=new Set([ue.signatureSubpacket.issuer,ue.signatureSubpacket.issuerFingerprint,ue.signatureSubpacket.embeddedSignature]);class Ou{static get tag(){return ue.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[Nu]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new Dn(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=Ha.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?ae((async()=>Ha.serializeParams(this.publicKeyAlgorithm,await this.params))):Ha.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),fe.concat(e)}async sign(e,t,r=new Date,i=!1){5===e.version?this.version=5:this.version=4;const n=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=fe.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),n.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=fe.concat(n);const a=this.toHash(this.signatureType,t,i),s=await this.hash(this.signatureType,t,a,i);this.signedHashValue=re($(s),0,2);const o=async()=>Ha.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await ie(s));fe.isStream(s)?this.params=o():(this.params=await o(),this[Nu]=!0)}writeHashedSubPackets(){const e=ue.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(Hu(e.signatureCreationTime,!0,fe.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Hu(e.signatureExpirationTime,!0,fe.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Hu(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Hu(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Hu(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Hu(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Hu(e.keyExpirationTime,!0,fe.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Hu(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=fe.concat([r,this.revocationKeyFingerprint]),t.push(Hu(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(Hu(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:i,value:n,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=fe.encodeUTF8(i);r.push(fe.writeNumber(o.length,2)),r.push(fe.writeNumber(n.length,2)),r.push(o),r.push(n),r=fe.concat(r),t.push(Hu(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Hu(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Hu(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.keyServerPreferences)),t.push(Hu(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Hu(e.preferredKeyServer,!1,fe.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Hu(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Hu(e.policyURI,!1,fe.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.keyFlags)),t.push(Hu(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Hu(e.signersUserID,!1,fe.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=fe.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Hu(e.reasonForRevocation,!0,r))),null!==this.features&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.features)),t.push(Hu(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(fe.stringToUint8Array(this.signatureTargetHash)),r=fe.concat(r),t.push(Hu(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Hu(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=fe.concat(r),t.push(Hu(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Hu(e.preferredAEADAlgorithms,!1,r)));const i=fe.concat(t),n=fe.writeNumber(i.length,2);return fe.concat([n,i])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(Cn(t.length)),e.push(t)}));const t=fe.concat(e),r=fe.writeNumber(t.length,2);return fe.concat([r,t])}readSubPacket(e,t=!0){let r=0;const i=!!(128&e[r]),n=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),qu.has(n)))switch(r++,n){case ue.signatureSubpacket.signatureCreationTime:this.created=fe.readDate(e.subarray(r,e.length));break;case ue.signatureSubpacket.signatureExpirationTime:{const t=fe.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case ue.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case ue.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case ue.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case ue.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case ue.signatureSubpacket.keyExpirationTime:{const t=fe.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case ue.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case ue.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case ue.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const n=fe.readNumber(e.subarray(r,r+2));r+=2;const a=fe.readNumber(e.subarray(r,r+2));r+=2;const s=fe.decodeUTF8(e.subarray(r,r+n)),o=e.subarray(r+n,r+n+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:i}),t&&(this.notations[s]=fe.decodeUTF8(o));break}case ue.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case ue.signatureSubpacket.policyURI:this.policyURI=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.signersUserID:this.signersUserID=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Ha.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=fe.uint8ArrayToString(e.subarray(r,r+t));break}case ue.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ou,this.embeddedSignature.read(e.subarray(r,e.length));break;case ue.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case ue.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+n);if(i)throw e;fe.printDebug(e)}}}readSubPackets(e,t=!0,r){const i=fe.readNumber(e.subarray(0,2));let n=2;for(;n<2+i;){const i=Sn(e.subarray(n,e.length));n+=i.offset,this.readSubPacket(e.subarray(n,n+i.len),t,r),n+=i.len}return n}toSign(e,t){const r=ue.signature;switch(e){case r.binary:return null!==t.text?fe.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return fe.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,i;if(t.userID)i=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");i=209,e=t.userAttribute}const n=e.write();return fe.concat([this.toSign(r.key,t),new Uint8Array([i]),fe.writeNumber(n.length,4),n])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return fe.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return Y($(this.signatureData),(e=>{r+=e.length}),(()=>{const i=[];return 5!==this.version||this.signatureType!==ue.signature.binary&&this.signatureType!==ue.signature.text||(t?i.push(new Uint8Array(6)):i.push(e.writeHeader())),i.push(new Uint8Array([this.version,255])),5===this.version&&i.push(new Uint8Array(4)),i.push(fe.writeNumber(r,4)),fe.concat(i)}))}toHash(e,t,r=!1){const i=this.toSign(e,t);return fe.concat([i,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,i=!1){return r||(r=this.toHash(e,t,i)),Ha.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,i=new Date,n=!1,a=we){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===ue.signature.binary||t===ue.signature.text;if(!(this[Nu]&&!s)){let i,a;if(this.hashed?a=await this.hashed:(i=this.toHash(t,r,n),a=await this.hash(t,r,i)),a=await ie(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===ue.publicKey.hmac?e.privateParams:null;if(this[Nu]=await Ha.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,i,a),!this[Nu])throw Error("Signature verification failed")}const o=fe.normalizeDate(i);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+ue.read(ue.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ue.signature.binary,ue.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ue.read(ue.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=fe.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function Hu(e,t,r){const i=[];return i.push(Cn(r.length+1)),i.push(new Uint8Array([(t?128:0)|e])),i.push(r),fe.concat(i)}class ju{static get tag(){return ue.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new Dn(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new Pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return fe.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return ae((async()=>Ou.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==ue.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Gu(e,t){if(!t[e]){let t;try{t=ue.read(ue.packet,e)}catch(t){throw new Dn("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}ju.prototype.hash=Ou.prototype.hash,ju.prototype.toHash=Ou.prototype.toHash,ju.prototype.toSign=Ou.prototype.toSign;class Wu extends Array{static async fromBinary(e,t,r=we){const i=new Wu;return await i.read(e,t,r),i}async read(e,t,r=we){r.additionalAllowedPackets.length&&(t={...t,...fe.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=Z(e,(async(e,i)=>{const n=G(i);try{for(;;){await n.ready;if(await Mn(e,(async e=>{try{if(e.tag===ue.packet.marker||e.tag===ue.packet.trust)return;const i=Gu(e.tag,t);i.packets=new Wu,i.fromStream=fe.isStream(e.packet),await i.read(e.packet,r),await n.write(i)}catch(t){const i=!r.ignoreUnsupportedPackets&&t instanceof Dn,a=!(r.ignoreMalformedPackets||t instanceof Dn);if(i||a||xn(e.tag))await n.abort(t);else{const t=new Kn(e.tag,e.packet);await n.write(t)}fe.printDebugError(t)}})))return await n.ready,void await n.close()}}catch(e){await n.abort(e)}}));const i=j(this.stream);for(;;){const{done:e,value:t}=await i.read();if(e?this.stream=null:this.push(t),e||xn(t.constructor.tag))break}i.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof Kn?this[t].tag:this[t].constructor.tag,i=this[t].write();if(fe.isStream(i)&&xn(this[t].constructor.tag)){let t=[],n=0;const a=512;e.push(Bn(r)),e.push(Y(i,(e=>{if(t.push(e),n+=e.length,n>=a){const e=Math.min(Math.log(n)/Math.LN2|0,30),r=2**e,i=fe.concat([In(e)].concat(t));return t=[i.subarray(1+r)],n=t[0].length,i.subarray(0,1+r)}}),(()=>fe.concat([Cn(n)].concat(t)))))}else{if(fe.isStream(i)){let t=0;e.push(Y($(i),(e=>{t+=e.length}),(()=>Pn(r,t))))}else e.push(Pn(r,i.length));e.push(i)}}return fe.concat(e)}filterByTag(...e){const t=new Wu,r=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(r(this[i].constructor.tag))&&t.push(this[i]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,i=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(i(r[n].constructor.tag))&&t.push(n);return t}}const Vu=/*#__PURE__*/fe.constructAllowedPackets([Lu,ju,Ou]);class Ju{static get tag(){return ue.packet.compressedData}constructor(e=we){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=we){await X(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),fe.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=we){const t=ue.read(ue.compression,this.algorithm),r=rh[t];if(!r)throw Error(t+" decompression not supported");this.packets=await Wu.fromBinary(r(this.compressed),Vu,e)}compress(){const e=ue.read(ue.compression,this.algorithm),t=th[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Yu=fe.getNodeZlib();function Zu(e){return e}function Xu(e,t,r={}){return function(i){return!fe.isStream(i)||v(i)?ae((()=>ie(i).then((t=>new Promise(((i,n)=>{e(t,r,((e,t)=>{if(e)return n(e);i(t)}))})))))):x(M(i).pipe(t(r)))}}function $u(e,t={}){return function(r){const i=new e(t);return Y(r,(e=>{if(e.length)return i.push(e,hs),i.result}),(()=>{if(e===gc)return i.push([],ds),i.result}))}}function eh(e){return function(t){return ae((async()=>e(await ie(t))))}}const th=Yu?{zip:/*#__PURE__*/(e,t)=>Xu(Yu.deflateRaw,Yu.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Xu(Yu.deflate,Yu.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>$u(gc,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>$u(gc,{level:t})(e)},rh=Yu?{uncompressed:Zu,zip:/*#__PURE__*/Xu(Yu.inflateRaw,Yu.createInflateRaw),zlib:/*#__PURE__*/Xu(Yu.inflate,Yu.createInflate),bzip2:/*#__PURE__*/eh(Fu)}:{uncompressed:Zu,zip:/*#__PURE__*/$u(Eu,{raw:!0}),zlib:/*#__PURE__*/$u(Eu),bzip2:/*#__PURE__*/eh(Fu)},ih=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class nh{static get tag(){return ue.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await X(e,(async e=>{const t=await e.readByte();if(1!==t)throw new Dn(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return fe.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=we){const{blockSize:i}=Ha.getCipher(e);let n=this.packets.write();v(n)&&(n=await ie(n));const a=await Ha.getPrefixRandom(e),s=new Uint8Array([211,20]),o=fe.concat([a,n,s]),c=await Ha.hash.sha1(ee(o)),u=fe.concat([o,c]);return this.encrypted=await Ha.mode.cfb.encrypt(e,t,u,new Uint8Array(i),r),!0}async decrypt(e,t,r=we){const{blockSize:i}=Ha.getCipher(e);let n=$(this.encrypted);v(n)&&(n=await ie(n));const a=await Ha.mode.cfb.decrypt(e,t,n,new Uint8Array(i)),s=re(ee(a),-20),o=re(a,0,-20),c=Promise.all([ie(await Ha.hash.sha1(ee(o))),ie(s)]).then((([e,t])=>{if(!fe.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),u=re(o,i+2);let h=re(u,0,-2);return h=H([h,ae((()=>c))]),fe.isStream(n)&&r.allowUnauthenticatedStream||(h=await ie(h)),this.packets=await Wu.fromBinary(h,ih,r),!0}}const ah=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class sh{static get tag(){return ue.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ue.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await X(e,(async e=>{const t=await e.readByte();if(1!==t)throw new Dn(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=Ha.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return fe.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=we){this.packets=await Wu.fromBinary(await this.crypt("decrypt",t,$(this.encrypted)),ah,r)}async encrypt(e,t,r=we){this.cipherAlgorithm=e;const{ivLength:i}=Ha.getAEADMode(this.aeadAlgorithm);this.iv=Ha.random.getRandomBytes(i),this.chunkSizeByte=r.aeadChunkSizeByte;const n=this.packets.write();this.encrypted=await this.crypt("encrypt",t,n)}async crypt(e,t,r){const i=Ha.getAEADMode(this.aeadAlgorithm),n=await i(this.cipherAlgorithm,t),a="decrypt"===e?i.tagLength:0,s="encrypt"===e?i.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),u=new Uint8Array(c,0,13),h=new Uint8Array(c),f=new DataView(c),d=new Uint8Array(c,5,8);u.set([192|sh.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let l=0,p=Promise.resolve(),y=0,g=0;const b=this.iv;return Z(r,(async(t,r)=>{if("array"!==fe.isStream(t)){const e=new F({},{highWaterMark:fe.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});W(e.readable,r),r=e.writable}const c=j(t),m=G(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let w,A;if(t=t.subarray(0,t.length-a),!l||t.length?(c.unshift(r),w=n[e](t,i.getNonce(b,d),u),g+=t.length-a+s):(f.setInt32(17,y),w=n[e](r,i.getNonce(b,d),h),g+=s,A=!0),y+=t.length-a,p=p.then((()=>w)).then((async e=>{await m.ready,await m.write(e),g-=e.length})).catch((e=>m.abort(e))),(A||g>m.desiredSize)&&await p,A){await m.close();break}f.setInt32(9,++l)}}catch(e){await m.abort(e)}}))}}class oh{static get tag(){return ue.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new Pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new Dn(`Version ${this.version} of the PKESK packet is unsupported.`);t+=this.publicKeyID.read(e.subarray(t)),this.publicKeyAlgorithm=e[t++],this.encrypted=Ha.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(t),this.version),this.publicKeyAlgorithm===ue.publicKey.x25519&&(this.sessionKeyAlgorithm=ue.write(ue.symmetric,this.encrypted.C.algorithm))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),Ha.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return fe.concatUint8Array(e)}async encrypt(e){const t=ue.write(ue.publicKey,this.publicKeyAlgorithm),r=ch(this.version,t,this.sessionKeyAlgorithm,this.sessionKey),i=t===ue.publicKey.aead?e.privateParams:null;this.encrypted=await Ha.publicKeyEncrypt(t,this.sessionKeyAlgorithm,e.publicParams,i,r,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?ch(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,i=await Ha.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),{sessionKey:n,sessionKeyAlgorithm:a}=function(e,t,r,i){switch(t){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.elgamal:case ue.publicKey.ecdh:case ue.publicKey.aead:{const e=r.subarray(0,r.length-2),t=r.subarray(r.length-2),n=fe.writeChecksum(e.subarray(e.length%8)),a=n[0]===t[0]&n[1]===t[1],s={sessionKeyAlgorithm:e[0],sessionKey:e.subarray(1)};if(i){const e=a&s.sessionKeyAlgorithm===i.sessionKeyAlgorithm&s.sessionKey.length===i.sessionKey.length;return{sessionKey:fe.selectUint8Array(e,s.sessionKey,i.sessionKey),sessionKeyAlgorithm:fe.selectUint8(e,s.sessionKeyAlgorithm,i.sessionKeyAlgorithm)}}if(a&&ue.read(ue.symmetric,s.sessionKeyAlgorithm))return s;throw Error("Decryption error")}case ue.publicKey.x25519:return{sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);this.publicKeyAlgorithm!==ue.publicKey.x25519&&(this.sessionKeyAlgorithm=a),this.sessionKey=n}}function ch(e,t,r,i){switch(t){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.elgamal:case ue.publicKey.ecdh:case ue.publicKey.aead:return fe.concatUint8Array([new Uint8Array([r]),i,fe.writeChecksum(i.subarray(i.length%8))]);case ue.publicKey.x25519:return i;default:throw Error("Unsupported public key algorithm")}}class uh{static get tag(){return ue.packet.symEncryptedSessionKey}constructor(e=we){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ue.symmetric.aes256,this.aeadAlgorithm=ue.write(ue.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new Dn(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];5===this.version&&(this.aeadAlgorithm=e[t++]);const i=e[t++];if(this.s2k=Za(i),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=Ha.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=fe.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=fe.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=fe.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:i}=Ha.getCipher(t),n=await this.s2k.produceKey(e,i);if(5===this.version){const e=Ha.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|uh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(t,n);this.sessionKey=await i.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await Ha.mode.cfb.decrypt(t,n,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=ue.write(ue.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=n}async encrypt(e,t=we){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Xa(t),this.s2k.generateSalt();const{blockSize:i,keySize:n}=Ha.getCipher(r),a=await this.s2k.produceKey(e,n);if(null===this.sessionKey&&(this.sessionKey=Ha.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=Ha.getAEADMode(this.aeadAlgorithm);this.iv=Ha.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|uh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(r,a);this.encrypted=await i.encrypt(this.sessionKey,this.iv,t)}else{const e=fe.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Ha.mode.cfb.encrypt(r,a,e,new Uint8Array(i),t)}}}class hh{static get tag(){return ue.packet.publicKey}constructor(e=new Date,t=we){this.version=t.v5Keys?5:4,this.created=fe.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new hh,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=fe.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:i}=Ha.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=i,t+=r,await this.computeFingerprintAndKeyID(),t}throw new Dn(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(fe.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Ha.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push(fe.writeNumber(t.length,4)),e.push(t),fe.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?fe.concatUint8Array([new Uint8Array([154]),fe.writeNumber(t.length,4),t]):fe.concatUint8Array([new Uint8Array([153]),fe.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await Ha.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await Ha.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return fe.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&fe.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=ue.read(ue.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=fe.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}hh.prototype.readPublicKey=hh.prototype.read,hh.prototype.writePublicKey=hh.prototype.write;const fh=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class dh{static get tag(){return ue.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=we){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:i}=Ha.getCipher(e),n=await ie($(this.encrypted)),a=await Ha.mode.cfb.decrypt(e,t,n.subarray(i+2),n.subarray(2,i+2));this.packets=await Wu.fromBinary(a,fh,r)}async encrypt(e,t,r=we){const i=this.packets.write(),{blockSize:n}=Ha.getCipher(e),a=await Ha.getPrefixRandom(e),s=await Ha.mode.cfb.encrypt(e,t,a,new Uint8Array(n),r),o=await Ha.mode.cfb.encrypt(e,t,i,s.subarray(2),r);this.encrypted=fe.concat([s,o])}}class lh extends hh{static get tag(){return ue.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new lh,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class ph{static get tag(){return ue.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=Sn(e.subarray(t,e.length));t+=r.offset,this.attributes.push(fe.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(Cn(this.attributes[t].length)),e.push(fe.stringToUint8Array(this.attributes[t]));return fe.concatUint8Array(e)}equals(e){return!!(e&&e instanceof ph)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class yh extends hh{static get tag(){return ue.packet.secretKey}constructor(e=new Date,t=we){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);const r=t;this.s2kUsage=e[t++],5===this.version&&t++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]);const r=e[t++];if(this.s2k=Za(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.iv=e.subarray(t,t+Ha.getCipher(this.symmetric).blockSize),t+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(r),this.isEncrypted=!0}if(5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!fe.equalsUint8Array(fe.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=Ha.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof Dn)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return fe.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead),r.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),5===this.version&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=Ha.serializeParams(this.algorithm,this.privateParams)),5===this.version&&t.push(fe.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||t.push(fe.writeChecksum(this.keyMaterial))),fe.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=we){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=Za(ue.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ue.symmetric.aes256)}async encrypt(e,t=we){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=Xa(t),this.s2k.generateSalt();const r=Ha.serializeParams(this.algorithm,this.privateParams);this.symmetric=ue.symmetric.aes256;const i=await gh(this.s2k,e,this.symmetric),{blockSize:n}=Ha.getCipher(this.symmetric);if(this.iv=Ha.random.getRandomBytes(n),t.aeadProtect){this.s2kUsage=253,this.aead=ue.aead.eax;const e=Ha.getAEADMode(this.aead),t=await e(this.symmetric,i);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await Ha.mode.cfb.encrypt(this.symmetric,i,fe.concatUint8Array([r,await Ha.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await gh(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=Ha.getAEADMode(this.aead),i=await e(this.symmetric,t);try{r=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await Ha.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const i=await Ha.hash.sha1(r);if(!fe.equalsUint8Array(i,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=Ha.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await Ha.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:i,publicParams:n}=await Ha.generateParams(this.algorithm,e,t,r);this.privateParams=i,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function gh(e,t,r){const{keySize:i}=Ha.getCipher(r);return e.produceKey(t,i)}var bh=mt((function(e){!function(t){function r(e){function t(){return _e<Ee}function r(){return _e}function n(e){_e=e}function a(){_e=0,Ee=ke.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function u(e){var r;return t()&&e(r=ke[_e])?(_e+=1,s("token",r)):null}function h(e){return function(){return o("literal",u((function(t){return t===e})))}}function f(){var e=arguments;return function(){var t,i,a,o;for(o=r(),i=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return n(o),null;c(i,a)}return i}}function d(){var e=arguments;return function(){var t,i,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(i=e[t]()))return i;n(a)}return null}}function l(e){return function(){var t,i;return i=r(),null!==(t=e())?t:(n(i),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function y(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function g(e,t){return function(){var i,a,o,u,h;for(u=r(),i=s("star"),o=0,h=void 0===t?0:t;null!==(a=e());)o+=1,c(i,a);return o>=h?i:(n(u),null)}}function b(e){return e.charCodeAt(0)>=128}function m(){return o("cr",h("\r")())}function w(){return o("crlf",f(m,k)())}function A(){return o("dquote",h('"')())}function v(){return o("htab",h("\t")())}function k(){return o("lf",h("\n")())}function _(){return o("sp",h(" ")())}function E(){return o("vchar",u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i})))}function S(){return o("wsp",d(_,v)())}function C(){var e=o("quoted-pair",d(f(h("\\"),d(E,S)),ie)());return null===e?null:(e.semantic=e.semantic[1],e)}function I(){return o("fws",d(ae,f(l(f(g(S),p(w))),g(S,1)))())}function B(){return o("ctext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),te)())}function P(){return o("ccontent",d(B,C,x)())}function x(){return o("comment",f(h("("),g(f(l(I),P)),l(I),h(")"))())}function M(){return o("cfws",d(f(g(f(l(I),x),1),l(I)),I)())}function D(){return o("atext",u((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||b(t)),r})))}function K(){return o("atom",f(y(l(M)),g(D,1),y(l(M)))())}function U(){var e,t;return null===(e=o("dot-atom-text",g(D,1)()))||null!==(t=g(f(h("."),g(D,1)))())&&c(e,t),e}function R(){return o("dot-atom",f(p(l(M)),U,p(l(M)))())}function T(){return o("qtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),re)())}function Q(){return o("qcontent",d(T,C)())}function z(){return o("quoted-string",f(p(l(M)),p(A),g(f(l(y(I)),Q)),l(p(I)),p(A),p(l(M)))())}function F(){return o("word",d(K,z)())}function L(){return o("address",d(N,H)())}function N(){return o("mailbox",d(q,$)())}function q(){return o("name-addr",f(l(j),O)())}function O(){return o("angle-addr",d(f(p(l(M)),h("<"),$,h(">"),p(l(M))),se)())}function H(){return o("group",f(j,h(":"),l(V),h(";"),p(l(M)))())}function j(){return o("display-name",(null!==(e=o("phrase",d(ne,g(F,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function G(){return o("mailbox-list",d(f(N,g(f(h(","),N))),ue)())}function W(){return o("address-list",d(f(L,g(f(h(","),L))),he)())}function V(){return o("group-list",d(G,p(M),fe)())}function J(){return o("local-part",d(de,R,z)())}function Y(){return o("dtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),pe)())}function Z(){return o("domain-literal",f(p(l(M)),h("["),g(f(l(I),Y)),l(I),h("]"),p(l(M)))())}function X(){return o("domain",(t=d(le,R,Z)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function $(){return o("addr-spec",f(J,h("@"),X)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",u((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ie(){return e.strict?null:o("obs-qp",f(h("\\"),d(h("\0"),ee,k,m))())}function ne(){return e.strict?null:e.atInDisplayName?o("obs-phrase",f(F,g(d(F,h("."),h("@"),y(M))))()):o("obs-phrase",f(F,g(d(F,h("."),y(M))))())}function ae(){return e.strict?null:o("obs-FWS",g(f(p(l(w)),S),1)())}function se(){return e.strict?null:o("obs-angle-addr",f(p(l(M)),h("<"),oe,$,h(">"),p(l(M)))())}function oe(){return e.strict?null:o("obs-route",f(ce,h(":"))())}function ce(){return e.strict?null:o("obs-domain-list",f(g(d(p(M),h(","))),h("@"),X,g(f(h(","),p(l(M)),l(f(h("@"),X)))))())}function ue(){return e.strict?null:o("obs-mbox-list",f(g(f(p(l(M)),h(","))),N,g(f(h(","),l(f(N,p(M))))))())}function he(){return e.strict?null:o("obs-addr-list",f(g(f(p(l(M)),h(","))),L,g(f(h(","),l(f(L,p(M))))))())}function fe(){return e.strict?null:o("obs-group-list",f(g(f(p(l(M)),h(",")),1),p(l(M)))())}function de(){return e.strict?null:o("obs-local-part",f(F,g(f(h("."),F)))())}function le(){return e.strict?null:o("obs-domain",f(K,g(f(h("."),K)))())}function pe(){return e.strict?null:o("obs-dtext",d(ee,C)())}function ye(e,t){var r,i,n;if(null==t)return null;for(i=[t];i.length>0;){if((n=i.pop()).name===e)return n;for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r])}return null}function ge(e,t){var r,i,n,a,s;if(null==t)return null;for(i=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;i.length>0;)if((n=i.pop()).name in s)a.push(n);else for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}function be(t){var r,i,n,a,s;if(null===t)return null;for(r=[],i=ge(["group","mailbox"],t),n=0;n<i.length;n+=1)"group"===(a=i[n]).name?r.push(me(a)):"mailbox"===a.name&&r.push(we(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function me(e){var t,r=ye("display-name",e),i=[],n=ge(["mailbox"],e);for(t=0;t<n.length;t+=1)i.push(we(n[t]));return{node:e,parts:{name:r},type:e.name,name:Ae(r),addresses:i}}function we(e){var t=ye("display-name",e),r=ye("addr-spec",e),i=function(e,t){var r,i,n,a;if(null==t)return null;for(i=[t],a=[];i.length>0;)for((n=i.pop()).name===e&&a.push(n),r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}("cfws",e),n=ge(["comment"],e),a=ye("local-part",r),s=ye("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:i},type:e.name,name:Ae(t),address:Ae(r),local:Ae(a),domain:Ae(s),comments:ve(n),groupName:Ae(e.groupName)}}function Ae(e){return null!=e?e.semantic:null}function ve(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=Ae(e[r]);return t}var ke,_e,Ee,Se,Ce;if(null===(e=i(e,{})))return null;if(ke=e.input,Ce={address:L,"address-list":W,"angle-addr":O,from:function(){return o("from",d(G,W)())},group:H,mailbox:N,"mailbox-list":G,"reply-to":function(){return o("reply-to",W())},sender:function(){return o("sender",d(N,L)())}}[e.startAt]||W,!e.strict){if(a(),e.strict=!0,Se=Ce(ke),e.partial||!t())return be(Se);e.strict=!1}return a(),Se=Ce(ke),!e.partial&&t()?null:be(Se)}function i(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function i(e){return null==e}var n,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in n={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})i(e[a])&&(e[a]=i(t[a])?n[a]:t[a]);return e}r.parseOneAddress=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class mh{static get tag(){return ue.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(fe.isString(e)||e.name&&!fe.isString(e.name)||e.email&&!fe.isEmailAddress(e.email)||e.comment&&!fe.isString(e.comment))throw Error("Invalid user ID format");const t=new mh;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=we){const r=fe.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:i}=bh.parseOneAddress({input:r,atInDisplayName:!0});this.comment=i.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return fe.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class wh extends yh{static get tag(){return ue.packet.secretSubkey}constructor(e=new Date,t=we){super(e,t)}}const Ah=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class vh{constructor(e){this.packets=e||new Wu}write(){return this.packets.write()}armor(e=we){return Be(ue.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function kh(e,t){const r=new wh(e.date,t);return r.packets=null,r.algorithm=ue.write(ue.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function _h(e,t){const r=new yh(e.date,t);return r.packets=null,r.algorithm=ue.write(ue.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Eh(e,t,r,i,n=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,i,n,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw fe.wrapError(`Could not find valid ${ue.read(ue.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function Sh(e,t,r=new Date){const i=fe.normalizeDate(r);if(null!==i){const r=Dh(e,t);return!(e.created<=i&&i<r)}return!1}async function Ch(e,t,r,i){const n={};n.key=t,n.bind=e;const a={signatureType:ue.signature.subkeyBinding};r.sign?(a.keyFlags=[ue.keyFlags.signData],a.embeddedSignature=await Ph(n,null,e,{signatureType:ue.signature.keyBinding},r.date,void 0,void 0,void 0,i)):a.keyFlags=r.forwarding?[ue.keyFlags.forwardedCommunication]:[ue.keyFlags.encryptCommunication|ue.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1);return await Ph(n,null,t,a,r.date,void 0,void 0,void 0,i)}async function Ih(e,t,r=new Date,i={},n){let a=n.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,i,n);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=Ha.hash.getHashByteLength(a)<=Ha.hash.getHashByteLength(s)?s:a)}switch(t.algorithm){case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:case ue.publicKey.ed25519:s=Ha.getPreferredCurveHashAlgo(t.algorithm,t.publicParams.oid)}return Ha.hash.getHashByteLength(a)<=Ha.hash.getHashByteLength(s)?s:a}async function Bh(e,t=[],r=new Date,i=[],n=we){const a={symmetric:ue.symmetric.aes128,aead:ue.aead.eax,compression:ue.compression.uncompressed}[e],s={symmetric:n.preferredSymmetricAlgorithm,aead:n.preferredAEADAlgorithm,compression:n.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e],c=await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,i[t],n)).selfCertification[o];return!!a&&a.indexOf(s)>=0})));return c.every(Boolean)?s:a}async function Ph(e,t,r,i,n,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new Ou;return Object.assign(u,i),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await Ih(t,r,n,a,c),u.rawNotations=s,await u.sign(r,e,n,o),u}async function xh(e,t,r,i=new Date,n){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(i)||n&&!await n(e)||t[r].some((function(t){return fe.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function Mh(e,t,r,i,n,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(i.map((async function(e){try{n&&!e.issuerKeyID.equals(n.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),n?(n.revoked=!!c.some((e=>e.equals(n.issuerKeyID)))||(n.revoked||!1),n.revoked):c.length>0}function Dh(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function Kh(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=fe.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"ecc":try{e.curve=ue.write(ue.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==ue.curve.ed25519Legacy&&e.curve!==ue.curve.curve25519Legacy||(e.curve=e.sign?ue.curve.ed25519Legacy:ue.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===ue.curve.ed25519Legacy?ue.publicKey.eddsaLegacy:ue.publicKey.ecdsa:e.algorithm=ue.publicKey.ecdh;break;case"rsa":e.algorithm=ue.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=ue.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=ue.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function Uh(e,t){const r=e.algorithm;return r!==ue.publicKey.rsaEncrypt&&r!==ue.publicKey.elgamal&&r!==ue.publicKey.ecdh&&r!==ue.publicKey.x25519&&(!t.keyFlags||0!=(t.keyFlags[0]&ue.keyFlags.signData))}function Rh(e,t){const r=e.algorithm;return r!==ue.publicKey.dsa&&r!==ue.publicKey.rsaSign&&r!==ue.publicKey.ecdsa&&r!==ue.publicKey.eddsaLegacy&&r!==ue.publicKey.ed25519&&(!t.keyFlags||0!=(t.keyFlags[0]&ue.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&ue.keyFlags.encryptStorage))}function Th(e,t){return!(e.keyFlags&&0==(e.keyFlags[0]&ue.keyFlags.sign)&&0==(e.keyFlags[0]&ue.keyFlags.certifyKeys)&&0==(e.keyFlags[0]&ue.keyFlags.authentication)||!t.allowInsecureDecryptionWithSigningKeys)||(!e.keyFlags||0!=(e.keyFlags[0]&ue.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&ue.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&ue.keyFlags.forwardedCommunication))}function Qh(e,t){const r=ue.write(ue.publicKey,e.algorithm),i=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(i.algorithm+" keys are considered too weak.");switch(r){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:case ue.publicKey.rsaEncrypt:if(i.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:case ue.publicKey.ecdh:if(t.rejectCurves.has(i.curve))throw Error(`Support for ${i.algorithm} keys using curve ${i.curve} is disabled.`)}}class zh{constructor(e,t){this.userID=e.constructor.tag===ue.packet.userID?e:null,this.userAttribute=e.constructor.tag===ue.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Wu;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new zh(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i},a=new zh(n.userID||n.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(i))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return Ph(n,e,a.keyPacket,{signatureType:ue.signature.certGeneric,keyFlags:[ue.keyFlags.certifyKeys|ue.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,i=we){const n=this.mainKey.keyPacket;return Mh(n,ue.signature.certRevocation,{key:n,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,i)}async verifyCertificate(e,t,r=new Date,i){const n=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,i);if(e.revoked||await n.isRevoked(e,a.keyPacket,r,i))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,ue.signature.certGeneric,s,r,void 0,i)}catch(e){throw fe.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const i=this,n=this.selfCertifications.concat(this.otherCertifications);return Promise.all(n.map((async n=>({keyID:n.issuerKeyID,valid:await i.verifyCertificate(n,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(i,ue.signature.certGeneric,n,e,void 0,t)}catch(e){throw fe.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};await xh(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(i,ue.signature.certGeneric,n,t,!1,r),!0}catch(e){return!1}})),await xh(e,this,"otherCertifications",t),await xh(e,this,"revocationSignatures",t,(function(e){return Mh(i,ue.signature.certRevocation,n,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ue.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=we){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new zh(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await Ph(a,null,e,{signatureType:ue.signature.certRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}}class Fh{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Wu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Fh(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,i=we){const n=this.mainKey.keyPacket;return Mh(n,ue.signature.subkeyRevocation,{key:n,bind:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verify(e=new Date,t=we){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket},n=await Eh(this.bindingSignatures,r,ue.signature.subkeyBinding,i,e,t);if(n.revoked||await this.isRevoked(n,null,e,t))throw Error("Subkey is revoked");if(Sh(this.keyPacket,n,e))throw Error("Subkey is expired");return n}async getExpirationTime(e=new Date,t=we){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket};let n;try{n=await Eh(this.bindingSignatures,r,ue.signature.subkeyBinding,i,e,t)}catch(e){return null}const a=Dh(this.keyPacket,n),s=n.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=we){const i=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===ue.packet.publicSubkey&&e.keyPacket.constructor.tag===ue.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const n=this,a={key:i,bind:n.keyPacket};await xh(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<n.bindingSignatures.length;t++)if(n.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>n.bindingSignatures[t].created&&(n.bindingSignatures[t]=e),!1;try{return await e.verify(i,ue.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await xh(e,this,"revocationSignatures",t,(function(e){return Mh(i,ue.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ue.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=we){const a={key:e,bind:this.keyPacket},s=new Fh(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await Ph(a,null,e,{signatureType:ue.signature.subkeyRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{Fh.prototype[e]=function(){return this.keyPacket[e]()}}));const Lh=/*#__PURE__*/fe.constructAllowedPackets([Ou]),Nh=new Set([ue.packet.publicKey,ue.packet.privateKey]),qh=new Set([ue.packet.publicKey,ue.packet.privateKey,ue.packet.publicSubkey,ue.packet.privateSubkey]);class Oh{packetListToStructure(e,t=new Set){let r,i,n,a;for(const s of e){if(s instanceof Kn){qh.has(s.tag)&&!a&&(a=Nh.has(s.tag)?Nh:qh);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case ue.packet.publicKey:case ue.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,i=this.getKeyID(),!i)throw Error("Missing Key ID");break;case ue.packet.userID:case ue.packet.userAttribute:r=new zh(s,this),this.users.push(r);break;case ue.packet.publicSubkey:case ue.packet.secretSubkey:r=null,n=new Fh(s,this),this.subkeys.push(n);break;case ue.packet.signature:switch(s.signatureType){case ue.signature.certGeneric:case ue.signature.certPersona:case ue.signature.certCasual:case ue.signature.certPositive:if(!r){fe.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(i)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case ue.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case ue.signature.key:this.directSignatures.push(s);break;case ue.signature.subkeyBinding:if(!n){fe.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}n.bindingSignatures.push(s);break;case ue.signature.keyRevocation:this.revocationSignatures.push(s);break;case ue.signature.subkeyRevocation:if(!n){fe.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}n.revocationSignatures.push(s)}}}}toPacketList(){const e=new Wu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},i=we){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await Eh(r.bindingSignatures,n,ue.signature.subkeyBinding,e,t,i);if(!Uh(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await Eh([a.embeddedSignature],r.keyPacket,ue.signature.keyBinding,e,t,i),Qh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&Uh(n,a.selfCertification))return Qh(n,i),this}catch(e){s=e}throw fe.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},i=we){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await Eh(r.bindingSignatures,n,ue.signature.subkeyBinding,e,t,i);if(Rh(r.keyPacket,a))return Qh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&Rh(n,a.selfCertification))return Qh(n,i),this}catch(e){s=e}throw fe.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,i=we){return Mh(this.keyPacket,ue.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verifyPrimaryKey(e=new Date,t={},r=we){const i=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:n}=await this.getPrimaryUser(e,t,r);if(Sh(i,n,e))throw Error("Primary key is expired");const a=await Eh(this.directSignatures,i,ue.signature.key,{key:i},e,r).catch((()=>{}));if(a&&Sh(i,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=we){let r;try{const{selfCertification:i}=await this.getPrimaryUser(null,e,t),n=Dh(this.keyPacket,i),a=i.getExpirationTime(),s=await Eh(this.directSignatures,this.keyPacket,ue.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=Dh(this.keyPacket,s);r=Math.min(n,a,e)}else r=n<a?n:a}catch(e){r=null}return fe.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=we){const i=this.keyPacket,n=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:i},c=await Eh(a.selfCertifications,i,ue.signature.certGeneric,o,e,r);n.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!n.length)throw a||Error("Could not find primary user");await Promise.all(n.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=n.sort((function(e,t){const r=e.selfCertification,i=t.selfCertification;return i.revoked-r.revoked||r.isPrimaryUserID-i.isPrimaryUserID||r.created-i.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=we){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const i=this.clone();return await xh(e,i,"revocationSignatures",t,(n=>Mh(i.keyPacket,ue.signature.keyRevocation,i,[n],null,e.keyPacket,t,r))),await xh(e,i,"directSignatures",t),await Promise.all(e.users.map((async e=>{const n=i.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const n=i.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.subkeys.push(t)}}))),i}async getRevocationCertificate(e=new Date,t=we){const r={key:this.keyPacket},i=await Eh(this.revocationSignatures,this.keyPacket,ue.signature.keyRevocation,r,e,t),n=new Wu;return n.push(i),Be(ue.armor.publicKey,n.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=we){const i=await Ie(e,r),n=(await Wu.fromBinary(i.data,Lh,r)).findPacket(ue.packet.signature);if(!n||n.signatureType!==ue.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!n.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await n.verify(this.keyPacket,ue.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw fe.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(n),a}async signPrimaryUser(e,t,r,i=we){const{index:n,user:a}=await this.getPrimaryUser(t,r,i),s=await a.certify(e,t,i),o=this.clone();return o.users[n]=s,o}async signAllUsers(e,t=new Date,r=we){const i=this.clone();return i.users=await Promise.all(this.users.map((function(i){return i.certify(e,t,r)}))),i}async verifyPrimaryUser(e,t=new Date,r,i=we){const n=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,i);return e?await a.verifyAllCertifications(e,t,i):[{keyID:n.getKeyID(),valid:await a.verify(t,i).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=we){const i=this.keyPacket,n=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:i.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];n.push(...s.map((e=>({userID:a.userID?a.userID.userID:null,userAttribute:a.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),n}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{Oh.prototype[e]=Fh.prototype[e]}));class Hh extends Oh{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([ue.packet.secretKey,ue.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=we){return Be(ue.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class jh extends Hh{constructor(e){if(super(),this.packetListToStructure(e,new Set([ue.packet.publicKey,ue.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Wu,t=this.toPacketList();let r=!1;for(const i of t)if(!r||i.constructor.tag!==ue.packet.Signature)switch(r&&(r=!1),i.constructor.tag){case ue.packet.secretKey:{const t=ue.write(ue.publicKey,i.algorithm);if(t===ue.publicKey.aead||t===ue.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=hh.fromSecretKeyPacket(i);e.push(r);break}case ue.packet.secretSubkey:{const t=ue.write(ue.publicKey,i.algorithm);if(t===ue.publicKey.aead||t===ue.publicKey.hmac){r=!0;break}const n=lh.fromSecretSubkeyPacket(i);e.push(n);break}default:e.push(i)}return new Hh(e)}armor(e=we){return Be(ue.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},i=we){const n=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:n,bind:this.subkeys[r].keyPacket};Th(await Eh(this.subkeys[r].bindingSignatures,n,ue.signature.subkeyBinding,e,t,i),i)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,i);return e&&!n.getKeyID().equals(e,!0)||!Th(s.selfCertification,i)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=we){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys(),t=e.map((e=>e.keyPacket.isDummy())).every(Boolean);if(t)throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=ue.reasonForRevocation.noReason,string:t=""}={},r=new Date,i=we){if(!this.isPrivate())throw Error("Need private key for revoking");const n={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await Ph(n,null,this.keyPacket,{signatureType:ue.signature.keyRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,i)),a}async addSubkey(e={}){const t={...we,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const i=r.getAlgorithmInfo();i.type=i.curve?"ecc":"rsa",i.rsaBits=i.bits||4096,i.curve=i.curve||"curve25519",e=Kh(e,i);const n=await kh(e);Qh(n,t);const a=await Ch(n,r,e,t),s=this.toPacketList();return s.push(n,a),new jh(s)}}const Gh=/*#__PURE__*/fe.constructAllowedPackets([hh,lh,yh,wh,mh,ph,Ou]);function Wh(e){for(const t of e)switch(t.constructor.tag){case ue.packet.secretKey:return new jh(e);case ue.packet.publicKey:return new Hh(e)}throw Error("No key packet found")}async function Vh(e,t,r,i){r.passphrase&&await e.encrypt(r.passphrase,i),await Promise.all(t.map((async function(e,t){const n=r.subkeys[t].passphrase;n&&await e.encrypt(n,i)})));const n=new Wu;n.push(e),await Promise.all(r.userIDs.map((async function(t,n){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=mh.fromObject(t),o={};o.userID=s,o.key=e;const c={};c.signatureType=ue.signature.certGeneric,c.keyFlags=[ue.keyFlags.certifyKeys|ue.keyFlags.signData],c.preferredSymmetricAlgorithms=a([ue.symmetric.aes256,ue.symmetric.aes128,ue.symmetric.aes192],i.preferredSymmetricAlgorithm),i.aeadProtect&&(c.preferredAEADAlgorithms=a([ue.aead.eax,ue.aead.ocb],i.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([ue.hash.sha256,ue.hash.sha512],i.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([ue.compression.zlib,ue.compression.zip,ue.compression.uncompressed],i.preferredCompressionAlgorithm),0===n&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=ue.features.modificationDetection,i.aeadProtect&&(c.features[0]|=ue.features.aead),i.v5Keys&&(c.features[0]|=ue.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1);return{userIDPacket:s,signaturePacket:await Ph(o,null,e,c,r.date,void 0,void 0,void 0,i)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{n.push(e),n.push(t)}))})),await Promise.all(t.map((async function(t,n){const a=r.subkeys[n];return{secretSubkeyPacket:t,subkeySignaturePacket:await Ch(t,e,a,i)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{n.push(e),n.push(t)}))}));const a={key:e};return n.push(await Ph(a,null,e,{signatureType:ue.signature.keyRevocation,reasonForRevocationFlag:ue.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,i)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new jh(n)}const Jh=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,sh,nh,dh,oh,uh,ju,Ou]),Yh=/*#__PURE__*/fe.constructAllowedPackets([uh]),Zh=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class Xh{constructor(e){this.packets=e||new Wu}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(ue.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(ue.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(ue.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,i=new Date,n=we){const a=r||await this.decryptSessionKeys(e,t,i,n),s=this.packets.filterByTag(ue.packet.symmetricallyEncryptedData,ue.packet.symEncryptedIntegrityProtectedData,ue.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const u=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!fe.isUint8Array(t)||!fe.isString(e))throw Error("Invalid session key for decryption.");try{const r=ue.write(ue.symmetric,e);await o.decrypt(r,t,n)}catch(e){fe.printDebugError(e),c=e}})));if(ne(o.encrypted),o.encrypted=null,await u,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const h=new Xh(o.packets);return o.packets=new Wu,h}async decryptSessionKeys(e,t,r=new Date,i=we){let n,a=[];if(t){const e=this.packets.filterByTag(ue.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let s;s=r?await Wu.fromBinary(e.write(),Yh,i):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){fe.printDebugError(e),e instanceof ja&&(n=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(ue.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[ue.symmetric.aes256,ue.symmetric.aes128,ue.symmetric.tripledes,ue.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,i);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===ue.publicKey.rsaEncrypt||t.publicKeyAlgorithm===ue.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===ue.publicKey.rsaSign||t.publicKeyAlgorithm===ue.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const i=new oh;i.read(r);const s={sessionKeyAlgorithm:t,sessionKey:Ha.generateSessionKey(t)};try{await i.decrypt(e,s),a.push(i)}catch(e){fe.printDebugError(e),n=e}})))}else try{if(await t.decrypt(e),!s.includes(ue.write(ue.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){fe.printDebugError(e),n=e}})))}))),ne(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+fe.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:ue.read(ue.symmetric,e.sessionKeyAlgorithm)})))}throw n||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],i=we){const n=await Bh("symmetric",e,t,r,i),a=ue.read(ue.symmetric,n),s=i.aeadProtect&&await async function(e,t=new Date,r=[],i=we){let n=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],i);s.selfCertification.features&&s.selfCertification.features[0]&ue.features.aead||(n=!1)}))),n}(e,t,r,i)?ue.read(ue.aead,await Bh("aead",e,t,r,i)):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&e.keyPacket.algorithm===ue.publicKey.x25519&&!fe.isAES(n))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:Ha.generateSessionKey(n),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,i=!1,n=[],a=new Date,s=[],o=we){if(r){if(!fe.isUint8Array(r.data)||!fe.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Xh.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Xh.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,f=await Xh.encryptSessionKey(c,u,h,e,t,i,n,a,s,o);let d;h?(d=new sh,d.aeadAlgorithm=ue.write(ue.aead,h)):d=new nh,d.packets=this.packets;const l=ue.write(ue.symmetric,u);return await d.encrypt(l,c,o),f.packets.push(d),d.packets=new Wu,f}static async encryptSessionKey(e,t,r,i,n,a=!1,s=[],o=new Date,c=[],u=we){const h=new Wu,f=ue.write(ue.symmetric,t),d=r&&ue.write(ue.aead,r);if(i){const t=await Promise.all(i.map((async function(t,r){const i=await t.getEncryptionKey(s[r],o,c,u),n=new oh;return n.publicKeyID=a?Pe.wildcard():i.getKeyID(),n.publicKeyAlgorithm=i.keyPacket.algorithm,n.sessionKey=e,n.sessionKeyAlgorithm=f,await n.encrypt(i.keyPacket),delete n.sessionKey,n})));h.push(...t)}if(n){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,i=async function(e,a,s,o){const c=new uh(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(n.map((e=>t(c,e))))).reduce(r))return i(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(n.map((t=>i(e,f,d,t))));h.push(...a)}return new Xh(h)}async sign(e=[],t=null,r=[],i=new Date,n=[],a=[],s=we){const o=new Wu,c=this.packets.findPacket(ue.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let u,h;const f=null===c.text?ue.signature.binary:ue.signature.text;if(t)for(h=t.packets.filterByTag(ue.packet.signature),u=h.length-1;u>=0;u--){const t=h[u],r=new ju;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==u||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,i,n,s),u=new ju;return u.signatureType=f,u.hashAlgorithm=await Ih(t,c.keyPacket,i,n,s),u.publicKeyAlgorithm=c.keyPacket.algorithm,u.issuerKeyID=c.getKeyID(),a===e.length-1&&(u.flags=1),u}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await $h(c,e,t,r,i,n,a,!1,s)),new Xh(o)}compress(e,t=we){if(e===ue.compression.uncompressed)return this;const r=new Ju(t);r.algorithm=e,r.packets=this.packets;const i=new Wu;return i.push(r),new Xh(i)}async signDetached(e=[],t=null,r=[],i=new Date,n=[],a=[],s=we){const o=this.packets.findPacket(ue.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new vh(await $h(o,e,t,r,i,n,a,!0,s))}async verify(e,t=new Date,r=we){const i=this.unwrapCompressed(),n=i.packets.filterByTag(ue.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");v(i.packets.stream)&&i.packets.push(...await ie(i.packets.stream,(e=>e||[])));const a=i.packets.filterByTag(ue.packet.onePassSignature).reverse(),s=i.packets.filterByTag(ue.packet.signature);return a.length&&!s.length&&fe.isStream(i.packets.stream)&&!v(i.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=ae((async()=>(await e.correspondingSig).signatureData)),e.hashed=ie(await e.hash(e.signatureType,n[0],void 0,!1)),e.hashed.catch((()=>{}))}))),i.packets.stream=Z(i.packets.stream,(async(e,t)=>{const r=j(e),i=G(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await i.ready,await i.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await i.abort(e)}})),ef(a,n,e,t,!1,r)):ef(s,n,e,t,!1,r)}verifyDetached(e,t,r=new Date,i=we){const n=this.unwrapCompressed().packets.filterByTag(ue.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");return ef(e.packets.filterByTag(ue.packet.signature),n,t,r,!0,i)}unwrapCompressed(){const e=this.packets.filterByTag(ue.packet.compressedData);return e.length?new Xh(e[0].packets):this}async appendSignature(e,t=we){await this.packets.read(fe.isUint8Array(e)?e:(await Ie(e)).data,Zh,t)}write(){return this.packets.write()}armor(e=we){return Be(ue.armor.message,this.write(),null,null,null,e)}}async function $h(e,t,r=null,i=[],n=new Date,a=[],s=[],o=!1,c=we){const u=new Wu,h=null===e.text?ue.signature.binary:ue.signature.text;if(await Promise.all(t.map((async(t,r)=>{const u=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const f=await t.getSigningKey(i[r],n,u,c);return Ph(e,t,f.keyPacket,{signatureType:h},n,u,s,o,c)}))).then((e=>{u.push(...e)})),r){const e=r.packets.filterByTag(ue.packet.signature);u.push(...e)}return u}async function ef(e,t,r,i=new Date,n=!1,a=we){return Promise.all(e.filter((function(e){return["text","binary"].includes(ue.read(ue.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,i=new Date,n=!1,a=we){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof ju?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],i,n,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),i,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new Wu;return e&&t.push(e),new vh(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,i,n,a)})))}const tf=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class rf{constructor(e,t){if(this.text=fe.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof vh))throw Error("Invalid signature input");this.signature=t||new vh(new Wu)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],i=new Date,n=[],a=[],s=we){const o=new Lu;o.setText(this.text);const c=new vh(await $h(o,e,t,r,i,n,a,!0,s));return new rf(this.text,c)}verify(e,t=new Date,r=we){const i=this.signature.packets.filterByTag(ue.packet.signature),n=new Lu;return n.setText(this.text),ef(i,[n],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=we){let t=this.signature.packets.map((function(e){return ue.read(ue.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return Be(ue.armor.signed,r,void 0,void 0,void 0,e)}}function nf(e){if(!(e instanceof Xh))throw Error("Parameter [message] needs to be of type Message")}function af(e){if(!(e instanceof rf||e instanceof Xh))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function sf(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const of=Object.keys(we).length;function cf(e){const t=Object.keys(e);if(t.length!==of)for(const e of t)if(void 0===we[e])throw Error("Unknown config property: "+e)}function uf(e){return e&&!fe.isArray(e)&&(e=[e]),e}async function hf(e,t,r="utf8"){const i=fe.isStream(e);return"array"===i?ie(e):"node"===t?(e=M(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===i?T(e):e}function ff(e,t){e.data=Z(t.packets.stream,(async(t,r)=>{await W(e.data,r,{preventClose:!0});const i=G(r);try{await ie(t,(e=>e)),await i.close()}catch(e){await i.abort(e)}}))}function df(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}const lf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function pf(){}const yf="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function gf(e){return"object"==typeof e&&null!==e||"function"==typeof e}const bf=pf,mf=Promise,wf=Promise.prototype.then,Af=Promise.resolve.bind(mf),vf=Promise.reject.bind(mf);function kf(e){return new mf(e)}function _f(e){return Af(e)}function Ef(e){return vf(e)}function Sf(e,t,r){return wf.call(e,t,r)}function Cf(e,t,r){Sf(Sf(e,t,r),void 0,bf)}function If(e,t){Cf(e,t)}function Bf(e,t){Cf(e,void 0,t)}function Pf(e,t,r){return Sf(e,t,r)}function xf(e){Sf(e,void 0,bf)}const Mf=(()=>{const e=yf&&yf.queueMicrotask;if("function"==typeof e)return e;const t=_f(void 0);return e=>Sf(t,e)})();function Df(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Kf(e,t,r){try{return _f(Df(e,t,r))}catch(e){return Ef(e)}}class Uf{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let i=r+1;const n=e._elements,a=n[r];return 16384===i&&(t=e._next,i=0),--this._size,this._cursor=i,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,i=r._elements;for(;!(t===i.length&&void 0===r._next||t===i.length&&(r=r._next,i=r._elements,t=0,0===i.length));)e(i[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}function Rf(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?Ff(e):"closed"===t._state?function(e){Ff(e),qf(e)}(e):Lf(e,t._storedError)}function Tf(e,t){return wp(e._ownerReadableStream,t)}function Qf(e){"readable"===e._ownerReadableStream._state?Nf(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){Lf(e,t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function zf(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Ff(e){e._closedPromise=kf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function Lf(e,t){Ff(e),Nf(e,t)}function Nf(e,t){void 0!==e._closedPromise_reject&&(xf(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function qf(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const Of=lf("[[AbortSteps]]"),Hf=lf("[[ErrorSteps]]"),jf=lf("[[CancelSteps]]"),Gf=lf("[[PullSteps]]"),Wf=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},Vf=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Jf(e,t){if(void 0!==e&&("object"!=typeof(r=e)&&"function"!=typeof r))throw new TypeError(t+" is not an object.");var r}function Yf(e,t){if("function"!=typeof e)throw new TypeError(t+" is not a function.")}function Zf(e,t){if(!function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e))throw new TypeError(t+" is not an object.")}function Xf(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function $f(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function ed(e){return Number(e)}function td(e){return 0===e?0:e}function rd(e,t){const r=Number.MAX_SAFE_INTEGER;let i=Number(e);if(i=td(i),!Wf(i))throw new TypeError(t+" is not a finite number");if(i=function(e){return td(Vf(e))}(i),i<0||i>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Wf(i)&&0!==i?i:0}function id(e,t){if(!bp(e))throw new TypeError(t+" is not a ReadableStream.")}function nd(e){return new ud(e)}function ad(e,t){e._reader._readRequests.push(t)}function sd(e,t,r){const i=e._reader._readRequests.shift();r?i._closeSteps():i._chunkSteps(t)}function od(e){return e._reader._readRequests.length}function cd(e){const t=e._reader;return void 0!==t&&!!hd(t)}class ud{constructor(e){if(Xf(e,1,"ReadableStreamDefaultReader"),id(e,"First parameter"),mp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Rf(this,e),this._readRequests=new Uf}get closed(){return hd(this)?this._closedPromise:Ef(dd("closed"))}cancel(e=undefined){return hd(this)?void 0===this._ownerReadableStream?Ef(zf("cancel")):Tf(this,e):Ef(dd("cancel"))}read(){if(!hd(this))return Ef(dd("read"));if(void 0===this._ownerReadableStream)return Ef(zf("read from"));let e,t;const r=kf(((r,i)=>{e=r,t=i}));return fd(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!hd(this))throw dd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Qf(this)}}}function hd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function fd(e,t){const r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[Gf](t)}function dd(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let ld;Object.defineProperties(ud.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(ud.prototype,lf.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof lf.asyncIterator&&(ld={[lf.asyncIterator](){return this}},Object.defineProperty(ld,lf.asyncIterator,{enumerable:!1}));class pd{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Pf(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?Pf(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;if(void 0===e._ownerReadableStream)return Ef(zf("iterate"));let t,r;const i=kf(((e,i)=>{t=e,r=i}));return fd(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,Mf((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Qf(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,Qf(e),r(t)}}),i}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t._ownerReadableStream)return Ef(zf("finish iterating"));if(!this._preventCancel){const r=Tf(t,e);return Qf(t),Pf(r,(()=>({value:e,done:!0})))}return Qf(t),_f({value:e,done:!0})}}const yd={next(){return gd(this)?this._asyncIteratorImpl.next():Ef(bd("next"))},return(e){return gd(this)?this._asyncIteratorImpl.return(e):Ef(bd("return"))}};function gd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl")}function bd(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}void 0!==ld&&Object.setPrototypeOf(yd,ld);const md=Number.isNaN||function(e){return e!=e};function wd(e){return!!function(e){if("number"!=typeof e)return!1;if(md(e))return!1;if(e<0)return!1;return!0}(e)&&e!==1/0}function Ad(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function vd(e,t,r){if(!wd(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function kd(e){e._queue=new Uf,e._queueTotalSize=0}function _d(e){return e.slice()}class Ed{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Id(this))throw Od("view");return this._view}respond(e){if(!Id(this))throw Od("respond");if(Xf(e,1,"respond"),e=rd(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(t=Number(t),!wd(t))throw new RangeError("bytesWritten must be a finite");Qd(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!Id(this))throw Od("respondWithNewView");if(Xf(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){const r=e._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,Qd(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(Ed.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Ed.prototype,lf.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class Sd{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Cd(this))throw Hd("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(Ed.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}get desiredSize(){if(!Cd(this))throw Hd("desiredSize");return Nd(this)}close(){if(!Cd(this))throw Hd("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Ld(e,t),t}}Fd(e),Ap(t)}(this)}enqueue(e){if(!Cd(this))throw Hd("enqueue");if(Xf(e,1,"enqueue"),!ArrayBuffer.isView(e))throw new TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;const i=t.buffer,n=t.byteOffset,a=t.byteLength,s=i;if(cd(r))if(0===od(r))Md(e,s,n,a);else{sd(r,new Uint8Array(s,n,a),!1)}else Wd(r)?(Md(e,s,n,a),Td(e)):Md(e,s,n,a);Bd(e)}(this,e)}error(e=undefined){if(!Cd(this))throw Hd("error");Ld(this,e)}[jf](e){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}kd(this);const t=this._cancelAlgorithm(e);return Fd(this),t}[Gf](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0){const t=this._queue.shift();this._queueTotalSize-=t.byteLength,Ud(this);const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return void e._chunkSteps(r)}const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const i={buffer:t,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}ad(t,e),Bd(this)}}function Cd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Id(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Bd(e){const t=function(e){const t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(cd(t)&&od(t)>0)return!0;if(Wd(t)&&Gd(t)>0)return!0;const r=Nd(e);if(r>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;Cf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Bd(e))}),(t=>{Ld(e,t)}))}function Pd(e,t){let r=!1;"closed"===e._state&&(r=!0);const i=xd(t);"default"===t.readerType?sd(e,i,r):function(e,t,r){const i=e._reader,n=i._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,i,r)}function xd(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Md(e,t,r,i){e._queue.push({buffer:t,byteOffset:r,byteLength:i}),e._queueTotalSize+=i}function Dd(e,t){const r=t.elementSize,i=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+n,s=a-a%r;let o=n,c=!1;s>i&&(o=s-t.bytesFilled,c=!0);const u=e._queue;for(;o>0;){const r=u.peek(),i=Math.min(o,r.byteLength),n=t.byteOffset+t.bytesFilled;h=t.buffer,f=n,d=r.buffer,l=r.byteOffset,p=i,new Uint8Array(h).set(new Uint8Array(d,l,p),f),r.byteLength===i?u.shift():(r.byteOffset+=i,r.byteLength-=i),e._queueTotalSize-=i,Kd(e,i,t),o-=i}var h,f,d,l,p;return c}function Kd(e,t,r){Rd(e),r.bytesFilled+=t}function Ud(e){0===e._queueTotalSize&&e._closeRequested?(Fd(e),Ap(e._controlledReadableByteStream)):Bd(e)}function Rd(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Td(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();Dd(e,t)&&(zd(e),Pd(e._controlledReadableByteStream,t))}}function Qd(e,t){const r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=t.buffer;const r=e._controlledReadableByteStream;if(Wd(r))for(;Gd(r)>0;)Pd(r,zd(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Kd(e,t,r),r.bytesFilled<r.elementSize)return;zd(e);const i=r.bytesFilled%r.elementSize;if(i>0){const t=r.byteOffset+r.bytesFilled,n=r.buffer.slice(t-i,t);Md(e,n,0,n.byteLength)}r.buffer=r.buffer,r.bytesFilled-=i,Pd(e._controlledReadableByteStream,r),Td(e)}(e,t,r);Bd(e)}function zd(e){const t=e._pendingPullIntos.shift();return Rd(e),t}function Fd(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Ld(e,t){const r=e._controlledReadableByteStream;"readable"===r._state&&(!function(e){Rd(e),e._pendingPullIntos=new Uf}(e),kd(e),Fd(e),vp(r,t))}function Nd(e){const t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function qd(e,t,r){const i=Object.create(Sd.prototype);let n=()=>{},a=()=>_f(void 0),s=()=>_f(void 0);void 0!==t.start&&(n=()=>t.start(i)),void 0!==t.pull&&(a=()=>t.pull(i)),void 0!==t.cancel&&(s=e=>t.cancel(e));const o=t.autoAllocateChunkSize;if(0===o)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(e,t,r,i,n,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,kd(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,t._autoAllocateChunkSize=s,t._pendingPullIntos=new Uf,e._readableStreamController=t,Cf(_f(r()),(()=>{t._started=!0,Bd(t)}),(e=>{Ld(t,e)}))}(e,i,n,a,s,r,o)}function Od(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Hd(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function jd(e,t){e._reader._readIntoRequests.push(t)}function Gd(e){return e._reader._readIntoRequests.length}function Wd(e){const t=e._reader;return void 0!==t&&!!Jd(t)}Object.defineProperties(Sd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Sd.prototype,lf.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class Vd{constructor(e){if(Xf(e,1,"ReadableStreamBYOBReader"),id(e,"First parameter"),mp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Cd(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Rf(this,e),this._readIntoRequests=new Uf}get closed(){return Jd(this)?this._closedPromise:Ef(Yd("closed"))}cancel(e=undefined){return Jd(this)?void 0===this._ownerReadableStream?Ef(zf("cancel")):Tf(this,e):Ef(Yd("cancel"))}read(e){if(!Jd(this))return Ef(Yd("read"));if(!ArrayBuffer.isView(e))return Ef(new TypeError("view must be an array buffer view"));if(0===e.byteLength)return Ef(new TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return Ef(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return Ef(zf("read from"));let t,r;const i=kf(((e,i)=>{t=e,r=i}));return function(e,t,r){const i=e._ownerReadableStream;i._disturbed=!0,"errored"===i._state?r._errorSteps(i._storedError):function(e,t,r){const i=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const a=t.constructor,s={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),void jd(i,r);if("closed"!==i._state){if(e._queueTotalSize>0){if(Dd(e,s)){const t=xd(s);return Ud(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");return Ld(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(s),jd(i,r),Bd(e)}else{const e=new a(s.buffer,s.byteOffset,0);r._closeSteps(e)}}(i._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),i}releaseLock(){if(!Jd(this))throw Yd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Qf(this)}}}function Jd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Yd(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Zd(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(md(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Xd(e){const{size:t}=e;return t||(()=>1)}function $d(e,t){Jf(e,t);const r=null==e?void 0:e.highWaterMark,i=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:ed(r),size:void 0===i?void 0:el(i,t+" has member 'size' that")}}function el(e,t){return Yf(e,t),t=>ed(e(t))}function tl(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function rl(e,t,r){return Yf(e,r),()=>Kf(e,t,[])}function il(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function nl(e,t,r){return Yf(e,r),(r,i)=>Kf(e,t,[r,i])}function al(e,t){if(!ul(e))throw new TypeError(t+" is not a WritableStream.")}Object.defineProperties(Vd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Vd.prototype,lf.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class sl{constructor(e={},t={}){void 0===e?e=null:Zf(e,"First parameter");const r=$d(t,"Second parameter"),i=function(e,t){Jf(e,t);const r=null==e?void 0:e.abort,i=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,s=null==e?void 0:e.write;return{abort:void 0===r?void 0:tl(r,e,t+" has member 'abort' that"),close:void 0===i?void 0:rl(i,e,t+" has member 'close' that"),start:void 0===n?void 0:il(n,e,t+" has member 'start' that"),write:void 0===s?void 0:nl(s,e,t+" has member 'write' that"),type:a}}(e,"First parameter");cl(this);if(void 0!==i.type)throw new RangeError("Invalid type is specified");const n=Xd(r);!function(e,t,r,i){const n=Object.create(Il.prototype);let a=()=>{},s=()=>_f(void 0),o=()=>_f(void 0),c=()=>_f(void 0);void 0!==t.start&&(a=()=>t.start(n));void 0!==t.write&&(s=e=>t.write(e,n));void 0!==t.close&&(o=()=>t.close());void 0!==t.abort&&(c=e=>t.abort(e));Bl(e,n,a,s,o,c,r,i)}(this,i,Zd(r,1),n)}get locked(){if(!ul(this))throw Rl("locked");return hl(this)}abort(e=undefined){return ul(this)?hl(this)?Ef(new TypeError("Cannot abort a stream that already has a writer")):fl(this,e):Ef(Rl("abort"))}close(){return ul(this)?hl(this)?Ef(new TypeError("Cannot close a stream that already has a writer")):gl(this)?Ef(new TypeError("Cannot close an already-closing stream")):dl(this):Ef(Rl("close"))}getWriter(){if(!ul(this))throw Rl("getWriter");return ol(this)}}function ol(e){return new wl(e)}function cl(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Uf,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function ul(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function hl(e){return void 0!==e._writer}function fl(e,t){const r=e._state;if("closed"===r||"errored"===r)return _f(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let i=!1;"erroring"===r&&(i=!0,t=void 0);const n=kf(((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}}));return e._pendingAbortRequest._promise=n,i||pl(e,t),n}function dl(e){const t=e._state;if("closed"===t||"errored"===t)return Ef(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=kf(((t,r)=>{const i={_resolve:t,_reject:r};e._closeRequest=i})),i=e._writer;var n;return void 0!==i&&e._backpressure&&"writable"===t&&Gl(i),vd(n=e._writableStreamController,Cl,0),Ml(n),r}function ll(e,t){"writable"!==e._state?yl(e):pl(e,t)}function pl(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const i=e._writer;void 0!==i&&_l(i,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&yl(e)}function yl(e){e._state="errored",e._writableStreamController[Hf]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new Uf,void 0===e._pendingAbortRequest)return void bl(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void bl(e);Cf(e._writableStreamController[Of](r._reason),(()=>{r._resolve(),bl(e)}),(t=>{r._reject(t),bl(e)}))}function gl(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function bl(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Ll(t,e._storedError)}function ml(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){ql(e)}(r):Gl(r)),e._backpressure=t}Object.defineProperties(sl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(sl.prototype,lf.toStringTag,{value:"WritableStream",configurable:!0});class wl{constructor(e){if(Xf(e,1,"WritableStreamDefaultWriter"),al(e,"First parameter"),hl(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;const t=e._state;if("writable"===t)!gl(e)&&e._backpressure?ql(this):Hl(this),zl(this);else if("erroring"===t)Ol(this,e._storedError),zl(this);else if("closed"===t)Hl(this),zl(r=this),Nl(r);else{const t=e._storedError;Ol(this,t),Fl(this,t)}var r}get closed(){return Al(this)?this._closedPromise:Ef(Tl("closed"))}get desiredSize(){if(!Al(this))throw Tl("desiredSize");if(void 0===this._ownerWritableStream)throw Ql("desiredSize");return function(e){const t=e._ownerWritableStream,r=t._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return xl(t._writableStreamController)}(this)}get ready(){return Al(this)?this._readyPromise:Ef(Tl("ready"))}abort(e=undefined){return Al(this)?void 0===this._ownerWritableStream?Ef(Ql("abort")):function(e,t){const r=e._ownerWritableStream;return fl(r,t)}(this,e):Ef(Tl("abort"))}close(){if(!Al(this))return Ef(Tl("close"));const e=this._ownerWritableStream;return void 0===e?Ef(Ql("close")):gl(e)?Ef(new TypeError("Cannot close an already-closing stream")):vl(this)}releaseLock(){if(!Al(this))throw Tl("releaseLock");void 0!==this._ownerWritableStream&&El(this)}write(e=undefined){return Al(this)?void 0===this._ownerWritableStream?Ef(Ql("write to")):Sl(this,e):Ef(Tl("write"))}}function Al(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function vl(e){return dl(e._ownerWritableStream)}function kl(e,t){"pending"===e._closedPromiseState?Ll(e,t):function(e,t){Fl(e,t)}(e,t)}function _l(e,t){"pending"===e._readyPromiseState?jl(e,t):function(e,t){Ol(e,t)}(e,t)}function El(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");_l(e,r),kl(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function Sl(e,t){const r=e._ownerWritableStream,i=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return Dl(e,t),1}}(i,t);if(r!==e._ownerWritableStream)return Ef(Ql("write to"));const a=r._state;if("errored"===a)return Ef(r._storedError);if(gl(r)||"closed"===a)return Ef(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===a)return Ef(r._storedError);const s=function(e){return kf(((t,r)=>{const i={_resolve:t,_reject:r};e._writeRequests.push(i)}))}(r);return function(e,t,r){try{vd(e,t,r)}catch(t){return void Dl(e,t)}const i=e._controlledWritableStream;if(!gl(i)&&"writable"===i._state){ml(i,Kl(e))}Ml(e)}(i,t,n),s}Object.defineProperties(wl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(wl.prototype,lf.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const Cl={};class Il{constructor(){throw new TypeError("Illegal constructor")}error(e=undefined){if(!function(e){if(!gf(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&Ul(this,e)}[Of](e){const t=this._abortAlgorithm(e);return Pl(this),t}[Hf](){kd(this)}}function Bl(e,t,r,i,n,a,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,kd(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=i,t._closeAlgorithm=n,t._abortAlgorithm=a;const c=Kl(t);ml(e,c);Cf(_f(r()),(()=>{t._started=!0,Ml(t)}),(r=>{t._started=!0,ll(e,r)}))}function Pl(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function xl(e){return e._strategyHWM-e._queueTotalSize}function Ml(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void yl(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===Cl?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),Ad(e);const r=e._closeAlgorithm();Pl(e),Cf(r,(()=>{!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const t=e._writer;void 0!==t&&Nl(t)}(t)}),(e=>{!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),ll(e,t)}(t,e)}))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);const i=e._writeAlgorithm(t);Cf(i,(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(Ad(e),!gl(r)&&"writable"===t){const t=Kl(e);ml(r,t)}Ml(e)}),(t=>{"writable"===r._state&&Pl(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,ll(e,t)}(r,t)}))}(e,r)}function Dl(e,t){"writable"===e._controlledWritableStream._state&&Ul(e,t)}function Kl(e){return xl(e)<=0}function Ul(e,t){const r=e._controlledWritableStream;Pl(e),pl(r,t)}function Rl(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Tl(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Ql(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function zl(e){e._closedPromise=kf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"}))}function Fl(e,t){zl(e),Ll(e,t)}function Ll(e,t){void 0!==e._closedPromise_reject&&(xf(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Nl(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function ql(e){e._readyPromise=kf(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState="pending"}function Ol(e,t){ql(e),jl(e,t)}function Hl(e){ql(e),Gl(e)}function jl(e,t){void 0!==e._readyPromise_reject&&(xf(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function Gl(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Il.prototype,{error:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Il.prototype,lf.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const Wl="undefined"!=typeof DOMException?DOMException:void 0;const Vl=function(e){if("function"!=typeof e&&"object"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(Wl)?Wl:function(){const e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Jl(e,t,r,i,n,a){const s=nd(e),o=ol(t);e._disturbed=!0;let c=!1,u=_f(void 0);return kf(((h,f)=>{let d;if(void 0!==a){if(d=()=>{const r=new Vl("Aborted","AbortError"),a=[];i||a.push((()=>"writable"===t._state?fl(t,r):_f(void 0))),n||a.push((()=>"readable"===e._state?wp(e,r):_f(void 0))),y((()=>Promise.all(a.map((e=>e())))),!0,r)},a.aborted)return void d();a.addEventListener("abort",d)}if(p(e,s._closedPromise,(e=>{i?g(!0,e):y((()=>fl(t,e)),!0,e)})),p(t,o._closedPromise,(t=>{n?g(!0,t):y((()=>wp(e,t)),!0,t)})),function(e,t,r){"closed"===e._state?r():If(t,r)}(e,s._closedPromise,(()=>{r?g():y((()=>function(e){const t=e._ownerWritableStream,r=t._state;return gl(t)||"closed"===r?_f(void 0):"errored"===r?Ef(t._storedError):vl(e)}(o)))})),gl(t)||"closed"===t._state){const t=new TypeError("the destination writable stream closed before all data could be piped to it");n?g(!0,t):y((()=>wp(e,t)),!0,t)}function l(){const e=u;return Sf(u,(()=>e!==u?l():void 0))}function p(e,t,r){"errored"===e._state?r(e._storedError):Bf(t,r)}function y(e,r,i){function n(){Cf(e(),(()=>b(r,i)),(e=>b(!0,e)))}c||(c=!0,"writable"!==t._state||gl(t)?n():If(l(),n))}function g(e,r){c||(c=!0,"writable"!==t._state||gl(t)?b(e,r):If(l(),(()=>b(e,r))))}function b(e,t){El(o),Qf(s),void 0!==a&&a.removeEventListener("abort",d),e?f(t):h(void 0)}xf(kf(((e,t)=>{!function r(i){i?e():Sf(c?_f(!0):Sf(o._readyPromise,(()=>kf(((e,t)=>{fd(s,{_chunkSteps:t=>{u=Sf(Sl(o,t),void 0,pf),e(!1)},_closeSteps:()=>e(!0),_errorSteps:t})})))),r,t)}(!1)})))}))}class Yl{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Zl(this))throw op("desiredSize");return np(this)}close(){if(!Zl(this))throw op("close");if(!ap(this))throw new TypeError("The stream is not in a state that permits close");tp(this)}enqueue(e=undefined){if(!Zl(this))throw op("enqueue");if(!ap(this))throw new TypeError("The stream is not in a state that permits enqueue");return rp(this,e)}error(e=undefined){if(!Zl(this))throw op("error");ip(this,e)}[jf](e){kd(this);const t=this._cancelAlgorithm(e);return ep(this),t}[Gf](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=Ad(this);this._closeRequested&&0===this._queue.length?(ep(this),Ap(t)):Xl(this),e._chunkSteps(r)}else ad(t,e),Xl(this)}}function Zl(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Xl(e){if(!$l(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;Cf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xl(e))}),(t=>{ip(e,t)}))}function $l(e){const t=e._controlledReadableStream;if(!ap(e))return!1;if(!e._started)return!1;if(mp(t)&&od(t)>0)return!0;return np(e)>0}function ep(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function tp(e){if(!ap(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(ep(e),Ap(t))}function rp(e,t){if(!ap(e))return;const r=e._controlledReadableStream;if(mp(r)&&od(r)>0)sd(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw ip(e,t),t}try{vd(e,t,r)}catch(t){throw ip(e,t),t}}Xl(e)}function ip(e,t){const r=e._controlledReadableStream;"readable"===r._state&&(kd(e),ep(e),vp(r,t))}function np(e){const t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function ap(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function sp(e,t,r,i,n,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,kd(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,e._readableStreamController=t;Cf(_f(r()),(()=>{t._started=!0,Xl(t)}),(e=>{ip(t,e)}))}function op(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function cp(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function up(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function hp(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function fp(e,t){if("bytes"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function dp(e,t){if("byob"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function lp(e,t){Jf(e,t);const r=null==e?void 0:e.preventAbort,i=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(t+" is not an AbortSignal.")}(a,t+" has member 'signal' that"),{preventAbort:!!r,preventCancel:!!i,preventClose:!!n,signal:a}}Object.defineProperties(Yl.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Yl.prototype,lf.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class pp{constructor(e={},t={}){void 0===e?e=null:Zf(e,"First parameter");const r=$d(t,"Second parameter"),i=function(e,t){Jf(e,t);const r=e,i=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,s=null==r?void 0:r.start,o=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===i?void 0:rd(i,t+" has member 'autoAllocateChunkSize' that"),cancel:void 0===n?void 0:cp(n,r,t+" has member 'cancel' that"),pull:void 0===a?void 0:up(a,r,t+" has member 'pull' that"),start:void 0===s?void 0:hp(s,r,t+" has member 'start' that"),type:void 0===o?void 0:fp(o,t+" has member 'type' that")}}(e,"First parameter");if(gp(this),"bytes"===i.type){if(void 0!==r.size)throw new RangeError("The strategy for a byte stream cannot have a size function");qd(this,i,Zd(r,0))}else{const e=Xd(r);!function(e,t,r,i){const n=Object.create(Yl.prototype);let a=()=>{},s=()=>_f(void 0),o=()=>_f(void 0);void 0!==t.start&&(a=()=>t.start(n)),void 0!==t.pull&&(s=()=>t.pull(n)),void 0!==t.cancel&&(o=e=>t.cancel(e)),sp(e,n,a,s,o,r,i)}(this,i,Zd(r,1),e)}}get locked(){if(!bp(this))throw kp("locked");return mp(this)}cancel(e=undefined){return bp(this)?mp(this)?Ef(new TypeError("Cannot cancel a stream that already has a reader")):wp(this,e):Ef(kp("cancel"))}getReader(e=undefined){if(!bp(this))throw kp("getReader");const t=function(e,t){Jf(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:dp(r,t+" has member 'mode' that")}}(e,"First parameter");return void 0===t.mode?nd(this):function(e){return new Vd(e)}(this)}pipeThrough(e,t={}){if(!bp(this))throw kp("pipeThrough");Xf(e,1,"pipeThrough");const r=function(e,t){Jf(e,t);const r=null==e?void 0:e.readable;$f(r,"readable","ReadableWritablePair"),id(r,t+" has member 'readable' that");const i=null==e?void 0:e.writable;return $f(i,"writable","ReadableWritablePair"),al(i,t+" has member 'writable' that"),{readable:r,writable:i}}(e,"First parameter"),i=lp(t,"Second parameter");if(mp(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(hl(r.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return xf(Jl(this,r.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),r.readable}pipeTo(e,t={}){if(!bp(this))return Ef(kp("pipeTo"));if(void 0===e)return Ef("Parameter 1 is required in 'pipeTo'.");if(!ul(e))return Ef(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=lp(t,"Second parameter")}catch(e){return Ef(e)}return mp(this)?Ef(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):hl(e)?Ef(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Jl(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!bp(this))throw kp("tee");const e=function(e,t){const r=nd(e);let i,n,a,s,o,c=!1,u=!1,h=!1;const f=kf((e=>{o=e}));function d(){return c||(c=!0,fd(r,{_chunkSteps:e=>{Mf((()=>{c=!1;const t=e,r=e;u||rp(a._readableStreamController,t),h||rp(s._readableStreamController,r)}))},_closeSteps:()=>{c=!1,u||tp(a._readableStreamController),h||tp(s._readableStreamController),u&&h||o(void 0)},_errorSteps:()=>{c=!1}})),_f(void 0)}function l(){}return a=yp(l,d,(function(t){if(u=!0,i=t,h){const t=_d([i,n]),r=wp(e,t);o(r)}return f})),s=yp(l,d,(function(t){if(h=!0,n=t,u){const t=_d([i,n]),r=wp(e,t);o(r)}return f})),Bf(r._closedPromise,(e=>{ip(a._readableStreamController,e),ip(s._readableStreamController,e),u&&h||o(void 0)})),[a,s]}(this);return _d(e)}values(e=undefined){if(!bp(this))throw kp("values");return function(e,t){const r=nd(e),i=new pd(r,t),n=Object.create(yd);return n._asyncIteratorImpl=i,n}(this,function(e,t){return Jf(e,t),{preventCancel:!!(null==e?void 0:e.preventCancel)}}(e,"First parameter").preventCancel)}}function yp(e,t,r,i=1,n=(()=>1)){const a=Object.create(pp.prototype);gp(a);return sp(a,Object.create(Yl.prototype),e,t,r,i,n),a}function gp(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function bp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function mp(e){return void 0!==e._reader}function wp(e,t){if(e._disturbed=!0,"closed"===e._state)return _f(void 0);if("errored"===e._state)return Ef(e._storedError);Ap(e);return Pf(e._readableStreamController[jf](t),pf)}function Ap(e){e._state="closed";const t=e._reader;void 0!==t&&(qf(t),hd(t)&&(t._readRequests.forEach((e=>{e._closeSteps()})),t._readRequests=new Uf))}function vp(e,t){e._state="errored",e._storedError=t;const r=e._reader;void 0!==r&&(Nf(r,t),hd(r)?(r._readRequests.forEach((e=>{e._errorSteps(t)})),r._readRequests=new Uf):(r._readIntoRequests.forEach((e=>{e._errorSteps(t)})),r._readIntoRequests=new Uf))}function kp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function _p(e,t){Jf(e,t);const r=null==e?void 0:e.highWaterMark;return $f(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:ed(r)}}Object.defineProperties(pp.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(pp.prototype,lf.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof lf.asyncIterator&&Object.defineProperty(pp.prototype,lf.asyncIterator,{value:pp.prototype.values,writable:!0,configurable:!0});const Ep=function(e){return e.byteLength};class Sp{constructor(e){Xf(e,1,"ByteLengthQueuingStrategy"),e=_p(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Ip(this))throw Cp("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ip(this))throw Cp("size");return Ep}}function Cp(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Ip(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(Sp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Sp.prototype,lf.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const Bp=function(){return 1};class Pp{constructor(e){Xf(e,1,"CountQueuingStrategy"),e=_p(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Mp(this))throw xp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Mp(this))throw xp("size");return Bp}}function xp(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function Mp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")}function Dp(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function Kp(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function Up(e,t,r){return Yf(e,r),(r,i)=>Kf(e,t,[r,i])}Object.defineProperties(Pp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Pp.prototype,lf.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class Rp{constructor(e={},t={},r={}){void 0===e&&(e=null);const i=$d(t,"Second parameter"),n=$d(r,"Third parameter"),a=function(e,t){Jf(e,t);const r=null==e?void 0:e.flush,i=null==e?void 0:e.readableType,n=null==e?void 0:e.start,a=null==e?void 0:e.transform,s=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:Dp(r,e,t+" has member 'flush' that"),readableType:i,start:void 0===n?void 0:Kp(n,e,t+" has member 'start' that"),transform:void 0===a?void 0:Up(a,e,t+" has member 'transform' that"),writableType:s}}(e,"First parameter");if(void 0!==a.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==a.writableType)throw new RangeError("Invalid writableType specified");const s=Zd(n,0),o=Xd(n),c=Zd(i,1),u=Xd(i);let h;!function(e,t,r,i,n,a){function s(){return t}function o(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return Pf(e._backpressureChangePromise,(()=>{const i=e._writable;if("erroring"===i._state)throw i._storedError;return Hp(r,t)}))}return Hp(r,t)}(e,t)}function c(t){return function(e,t){return Qp(e,t),_f(void 0)}(e,t)}function u(){return function(e){const t=e._readable,r=e._transformStreamController,i=r._flushAlgorithm();return qp(r),Pf(i,(()=>{if("errored"===t._state)throw t._storedError;tp(t._readableStreamController)}),(r=>{throw Qp(e,r),t._storedError}))}(e)}function h(){return function(e){return Fp(e,!1),e._backpressureChangePromise}(e)}function f(t){return zp(e,t),_f(void 0)}e._writable=function(e,t,r,i,n=1,a=(()=>1)){const s=Object.create(sl.prototype);return cl(s),Bl(s,Object.create(Il.prototype),e,t,r,i,n,a),s}(s,o,u,c,r,i),e._readable=yp(s,h,f,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Fp(e,!0),e._transformStreamController=void 0}(this,kf((e=>{h=e})),c,u,s,o),function(e,t){const r=Object.create(Lp.prototype);let i=e=>{try{return Op(r,e),_f(void 0)}catch(e){return Ef(e)}},n=()=>_f(void 0);void 0!==t.transform&&(i=e=>t.transform(e,r));void 0!==t.flush&&(n=()=>t.flush(r));!function(e,t,r,i){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=i}(e,r,i,n)}(this,a),void 0!==a.start?h(a.start(this._transformStreamController)):h(void 0)}get readable(){if(!Tp(this))throw Gp("readable");return this._readable}get writable(){if(!Tp(this))throw Gp("writable");return this._writable}}function Tp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Qp(e,t){ip(e._readable._readableStreamController,t),zp(e,t)}function zp(e,t){qp(e._transformStreamController),Dl(e._writable._writableStreamController,t),e._backpressure&&Fp(e,!1)}function Fp(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=kf((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(Rp.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Rp.prototype,lf.toStringTag,{value:"TransformStream",configurable:!0});class Lp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Np(this))throw jp("desiredSize");return np(this._controlledTransformStream._readable._readableStreamController)}enqueue(e=undefined){if(!Np(this))throw jp("enqueue");Op(this,e)}error(e=undefined){if(!Np(this))throw jp("error");var t;t=e,Qp(this._controlledTransformStream,t)}terminate(){if(!Np(this))throw jp("terminate");!function(e){const t=e._controlledTransformStream,r=t._readable._readableStreamController;tp(r);zp(t,new TypeError("TransformStream terminated"))}(this)}}function Np(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function qp(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Op(e,t){const r=e._controlledTransformStream,i=r._readable._readableStreamController;if(!ap(i))throw new TypeError("Readable side is not in a state that permits enqueue");try{rp(i,t)}catch(e){throw zp(r,e),r._readable._storedError}const n=function(e){return!$l(e)}(i);n!==r._backpressure&&Fp(r,!0)}function Hp(e,t){return Pf(e._transformAlgorithm(t),void 0,(t=>{throw Qp(e._controlledTransformStream,t),t}))}function jp(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function Gp(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Lp.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Lp.prototype,lf.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Wp=/*#__PURE__*/Object.freeze({__proto__:null,ByteLengthQueuingStrategy:Sp,CountQueuingStrategy:Pp,ReadableByteStreamController:Sd,ReadableStream:pp,ReadableStreamBYOBReader:Vd,ReadableStreamBYOBRequest:Ed,ReadableStreamDefaultController:Yl,ReadableStreamDefaultReader:ud,TransformStream:Rp,TransformStreamDefaultController:Lp,WritableStream:sl,WritableStreamDefaultController:Il,WritableStreamDefaultWriter:wl}),Vp=function(e,t){return Vp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Vp(e,t)};
|
|
1
|
+
/*! OpenPGP.js v5.11.1 - 2024-04-10 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
|
+
"use strict";const e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};Object.defineProperty(exports,"__esModule",{value:!0});var t=require("buffer"),r=require("stream"),i=require("crypto"),n=require("zlib"),a=require("os"),s=require("util"),o=require("asn1.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/c(t),h=/*#__PURE__*/c(r),f=/*#__PURE__*/c(i),d=/*#__PURE__*/c(n),l=/*#__PURE__*/c(a),p=/*#__PURE__*/c(s),y=/*#__PURE__*/c(o);const g=Symbol("doneWritingPromise"),b=Symbol("doneWritingResolve"),m=Symbol("doneWritingReject"),w=Symbol("readingIndex");class A extends Array{constructor(){super(),this[g]=new Promise(((e,t)=>{this[b]=e,this[m]=t})),this[g].catch((()=>{}))}}function v(e){return e&&e.getReader&&Array.isArray(e)}function k(e){if(!v(e)){const t=e.getWriter(),r=t.releaseLock;return t.releaseLock=()=>{t.closed.catch((function(){})),r.call(t)},t}this.stream=e}A.prototype.getReader=function(){return void 0===this[w]&&(this[w]=0),{read:async()=>(await this[g],this[w]===this.length?{value:void 0,done:!0}:{value:this[this[w]++],done:!1})}},A.prototype.readToEnd=async function(e){await this[g];const t=e(this.slice(this[w]));return this.length=0,t},A.prototype.clone=function(){const e=new A;return e[g]=this[g].then((()=>{e.push(...this)})),e},k.prototype.write=async function(e){this.stream.push(e)},k.prototype.close=async function(){this.stream[b]()},k.prototype.abort=async function(e){return this.stream[m](e),e},k.prototype.releaseLock=function(){};const _="object"==typeof e.process&&"object"==typeof e.process.versions,E=_&&h.default.Readable;function S(t){return v(t)?"array":e.ReadableStream&&e.ReadableStream.prototype.isPrototypeOf(t)?"web":Q&&Q.prototype.isPrototypeOf(t)?"ponyfill":E&&E.prototype.isPrototypeOf(t)?"node":!(!t||!t.getReader)&&"web-like"}function C(e){return Uint8Array.prototype.isPrototypeOf(e)}function I(e){if(1===e.length)return e[0];let t=0;for(let r=0;r<e.length;r++){if(!C(e[r]))throw Error("concatUint8Array: Data must be in the form of a Uint8Array");t+=e[r].length}const r=new Uint8Array(t);let i=0;return e.forEach((function(e){r.set(e,i),i+=e.length})),r}const B=_&&u.default.Buffer,P=_&&h.default.Readable;let x,M;if(P){x=function(e){let t=!1;return new Q({start(r){e.pause(),e.on("data",(i=>{t||(B.isBuffer(i)&&(i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),r.enqueue(i),e.pause())})),e.on("end",(()=>{t||r.close()})),e.on("error",(e=>r.error(e)))},pull(){e.resume()},cancel(r){t=!0,e.destroy(r)}})};class e extends P{constructor(e,t){super(t),this._reader=j(e)}async _read(e){try{for(;;){const{done:e,value:t}=await this._reader.read();if(e){this.push(null);break}if(!this.push(t))break}}catch(e){this.destroy(e)}}async _destroy(e,t){this._reader.cancel(e).then(t,t)}}M=function(t,r){return new e(t,r)}}const D=new WeakSet,K=Symbol("externalBuffer");function U(e){if(this.stream=e,e[K]&&(this[K]=e[K].slice()),v(e)){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{},void(this._cancel=async()=>{})}let t=S(e);if("node"===t&&(e=x(e)),t){const t=e.getReader();return this._read=t.read.bind(t),this._releaseLock=()=>{t.closed.catch((function(){})),t.releaseLock()},void(this._cancel=t.cancel.bind(t))}let r=!1;this._read=async()=>r||D.has(e)?{value:void 0,done:!0}:(r=!0,{value:e,done:!1}),this._releaseLock=()=>{if(r)try{D.add(e)}catch(e){}}}U.prototype.read=async function(){if(this[K]&&this[K].length){return{done:!1,value:this[K].shift()}}return this._read()},U.prototype.releaseLock=function(){this[K]&&(this.stream[K]=this[K]),this._releaseLock()},U.prototype.cancel=function(e){return this._cancel(e)},U.prototype.readLine=async function(){let e,t=[];for(;!e;){let{done:r,value:i}=await this.read();if(i+="",r)return t.length?H(t):void 0;const n=i.indexOf("\n")+1;n&&(e=H(t.concat(i.substr(0,n))),t=[]),n!==i.length&&t.push(i.substr(n))}return this.unshift(...t),e},U.prototype.readByte=async function(){const{done:e,value:t}=await this.read();if(e)return;const r=t[0];return this.unshift(re(t,1)),r},U.prototype.readBytes=async function(e){const t=[];let r=0;for(;;){const{done:i,value:n}=await this.read();if(i)return t.length?H(t):void 0;if(t.push(n),r+=n.length,r>=e){const r=H(t);return this.unshift(re(r,e)),re(r,0,e)}}},U.prototype.peekBytes=async function(e){const t=await this.readBytes(e);return this.unshift(t),t},U.prototype.unshift=function(...e){this[K]||(this[K]=[]),1===e.length&&C(e[0])&&this[K].length&&e[0].length&&this[K][0].byteOffset>=e[0].length?this[K][0]=new Uint8Array(this[K][0].buffer,this[K][0].byteOffset-e[0].length,this[K][0].byteLength+e[0].length):this[K].unshift(...e.filter((e=>e&&e.length)))},U.prototype.readToEnd=async function(e=H){const t=[];for(;;){const{done:e,value:r}=await this.read();if(e)break;t.push(r)}return e(t)};let R,T,{ReadableStream:Q,WritableStream:z,TransformStream:F}=e;async function L(){if(F)return;const[t,r]=await Promise.all([Promise.resolve().then((function(){return Wp})),Promise.resolve().then((function(){return py}))]);({ReadableStream:Q,WritableStream:z,TransformStream:F}=t);const{createReadableStreamWrapper:i}=r;e.ReadableStream&&Q!==e.ReadableStream&&(R=i(Q),T=i(e.ReadableStream))}const N=_&&u.default.Buffer;function q(e){let t=S(e);return"node"===t?x(e):"web"===t&&R?R(e):t?e:new Q({start(t){t.enqueue(e),t.close()}})}function O(e){if(S(e))return e;const t=new A;return(async()=>{const r=G(t);await r.write(e),await r.close()})(),t}function H(e){return e.some((e=>S(e)&&!v(e)))?function(e){e=e.map(q);const t=J((async function(e){await Promise.all(i.map((t=>ne(t,e))))}));let r=Promise.resolve();const i=e.map(((i,n)=>Z(i,((i,a)=>(r=r.then((()=>W(i,t.writable,{preventClose:n!==e.length-1}))),r)))));return t.readable}(e):e.some((e=>v(e)))?function(e){const t=new A;let r=Promise.resolve();return e.forEach(((i,n)=>(r=r.then((()=>W(i,t,{preventClose:n!==e.length-1}))),r))),t}(e):"string"==typeof e[0]?e.join(""):N&&N.isBuffer(e[0])?N.concat(e):I(e)}function j(e){return new U(e)}function G(e){return new k(e)}async function W(e,t,{preventClose:r=!1,preventAbort:i=!1,preventCancel:n=!1}={}){if(S(e)&&!v(e)){e=q(e);try{if(e[K]){const r=G(t);for(let t=0;t<e[K].length;t++)await r.ready,await r.write(e[K][t]);r.releaseLock()}await e.pipeTo(t,{preventClose:r,preventAbort:i,preventCancel:n})}catch(e){}return}const a=j(e=O(e)),s=G(t);try{for(;;){await s.ready;const{done:e,value:t}=await a.read();if(e){r||await s.close();break}await s.write(t)}}catch(e){i||await s.abort(e)}finally{a.releaseLock(),s.releaseLock()}}function V(e,t){const r=new F(t);return W(e,r.writable),r.readable}function J(e){let t,r,i=!1;return{readable:new Q({start(e){r=e},pull(){t?t():i=!0},cancel:e},{highWaterMark:0}),writable:new z({write:async function(e){r.enqueue(e),i?i=!1:(await new Promise((e=>{t=e})),t=null)},close:r.close.bind(r),abort:r.error.bind(r)})}}function Y(e,t=(()=>{}),r=(()=>{})){if(v(e)){const i=new A;return(async()=>{const n=G(i);try{const i=await ie(e),a=t(i),s=r();let o;o=void 0!==a&&void 0!==s?H([a,s]):void 0!==a?a:s,await n.write(o),await n.close()}catch(e){await n.abort(e)}})(),i}if(S(e))return V(e,{async transform(e,r){try{const i=await t(e);void 0!==i&&r.enqueue(i)}catch(e){r.error(e)}},async flush(e){try{const t=await r();void 0!==t&&e.enqueue(t)}catch(t){e.error(t)}}});const i=t(e),n=r();return void 0!==i&&void 0!==n?H([i,n]):void 0!==i?i:n}function Z(e,t){if(S(e)&&!v(e)){let r;const i=new F({start(e){r=e}}),n=W(e,i.writable),a=J((async function(e){r.error(e),await n,await new Promise(setTimeout)}));return t(i.readable,a.writable),a.readable}e=O(e);const r=new A;return t(e,r),r}function X(e,t){let r;const i=Z(e,((e,n)=>{const a=j(e);a.remainder=()=>(a.releaseLock(),W(e,n),i),r=t(a)}));return r}function $(e){if(v(e))return e.clone();if(S(e)){const t=function(e){if(v(e))throw Error("ArrayStream cannot be tee()d, use clone() instead");if(S(e)){const t=q(e).tee();return t[0][K]=t[1][K]=e[K],t}return[re(e),re(e)]}(e);return te(e,t[0]),t[1]}return re(e)}function ee(e){return v(e)?$(e):S(e)?new Q({start(t){const r=Z(e,(async(e,r)=>{const i=j(e),n=G(r);try{for(;;){await n.ready;const{done:e,value:r}=await i.read();if(e){try{t.close()}catch(e){}return void await n.close()}try{t.enqueue(r)}catch(e){}await n.write(r)}}catch(e){t.error(e),await n.abort(e)}}));te(e,r)}}):re(e)}function te(e,t){Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r,i])=>{"constructor"!==r&&(i.value?i.value=i.value.bind(t):i.get=i.get.bind(t),Object.defineProperty(e,r,i))}))}function re(e,t=0,r=1/0){if(v(e))throw Error("Not implemented");if(S(e)){if(t>=0&&r>=0){let i=0;return V(e,{transform(e,n){i<r?(i+e.length>=t&&n.enqueue(re(e,Math.max(t-i,0),r-i)),i+=e.length):n.terminate()}})}if(t<0&&(r<0||r===1/0)){let i=[];return Y(e,(e=>{e.length>=-t?i=[e]:i.push(e)}),(()=>re(H(i),t,r)))}if(0===t&&r<0){let i;return Y(e,(e=>{const n=i?H([i,e]):e;if(n.length>=-r)return i=re(n,r),re(n,t,r);i=n}))}return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`),ae((async()=>re(await ie(e),t,r)))}return e[K]&&(e=H(e[K].concat([e]))),!C(e)||N&&N.isBuffer(e)?e.slice(t,r):(r===1/0&&(r=e.length),e.subarray(t,r))}async function ie(e,t=H){return v(e)?e.readToEnd(t):S(e)?j(e).readToEnd(t):e}async function ne(e,t){if(S(e)){if(e.cancel)return e.cancel(t);if(e.destroy)return e.destroy(t),await new Promise(setTimeout),t}}function ae(e){const t=new A;return(async()=>{const r=G(t);try{await r.write(await e()),await r.close()}catch(e){await r.abort(e)}})(),t}class se{constructor(e){if(void 0===e)throw Error("Invalid BigInteger input");if(e instanceof Uint8Array){const t=e,r=Array(t.length);for(let e=0;e<t.length;e++){const i=t[e].toString(16);r[e]=t[e]<=15?"0"+i:i}this.value=BigInt("0x0"+r.join(""))}else this.value=BigInt(e)}clone(){return new se(this.value)}iinc(){return this.value++,this}inc(){return this.clone().iinc()}idec(){return this.value--,this}dec(){return this.clone().idec()}iadd(e){return this.value+=e.value,this}add(e){return this.clone().iadd(e)}isub(e){return this.value-=e.value,this}sub(e){return this.clone().isub(e)}imul(e){return this.value*=e.value,this}mul(e){return this.clone().imul(e)}imod(e){return this.value%=e.value,this.isNegative()&&this.iadd(e),this}mod(e){return this.clone().imod(e)}modExp(e,t){if(t.isZero())throw Error("Modulo cannot be zero");if(t.isOne())return new se(0);if(e.isNegative())throw Error("Unsopported negative exponent");let r=e.value,i=this.value;i%=t.value;let n=BigInt(1);for(;r>BigInt(0);){const e=r&BigInt(1);r>>=BigInt(1);const a=n*i%t.value;n=e?a:n,i=i*i%t.value}return new se(n)}modInv(e){const{gcd:t,x:r}=this._egcd(e);if(!t.isOne())throw Error("Inverse does not exist");return r.add(e).mod(e)}_egcd(e){let t=BigInt(0),r=BigInt(1),i=BigInt(1),n=BigInt(0),a=this.value;for(e=e.value;e!==BigInt(0);){const s=a/e;let o=t;t=i-s*t,i=o,o=r,r=n-s*r,n=o,o=e,e=a%e,a=o}return{x:new se(i),y:new se(n),gcd:new se(a)}}gcd(e){let t=this.value;for(e=e.value;e!==BigInt(0);){const r=e;e=t%e,t=r}return new se(t)}ileftShift(e){return this.value<<=e.value,this}leftShift(e){return this.clone().ileftShift(e)}irightShift(e){return this.value>>=e.value,this}rightShift(e){return this.clone().irightShift(e)}equal(e){return this.value===e.value}lt(e){return this.value<e.value}lte(e){return this.value<=e.value}gt(e){return this.value>e.value}gte(e){return this.value>=e.value}isZero(){return this.value===BigInt(0)}isOne(){return this.value===BigInt(1)}isNegative(){return this.value<BigInt(0)}isEven(){return!(this.value&BigInt(1))}abs(){const e=this.clone();return this.isNegative()&&(e.value=-e.value),e}toString(){return this.value.toString()}toNumber(){const e=Number(this.value);if(e>Number.MAX_SAFE_INTEGER)throw Error("Number can only safely store up to 53 bits");return e}getBit(e){return(this.value>>BigInt(e)&BigInt(1))===BigInt(0)?0:1}bitLength(){const e=new se(0),t=new se(1),r=new se(-1),i=this.isNegative()?r:e;let n=1;const a=this.clone();for(;!a.irightShift(t).equal(i);)n++;return n}byteLength(){const e=new se(0),t=new se(-1),r=this.isNegative()?t:e,i=new se(8);let n=1;const a=this.clone();for(;!a.irightShift(i).equal(r);)n++;return n}toUint8Array(e="be",t){let r=this.value.toString(16);r.length%2==1&&(r="0"+r);const i=r.length/2,n=new Uint8Array(t||i),a=t?t-i:0;let s=0;for(;s<i;)n[s+a]=parseInt(r.slice(2*s,2*s+2),16),s++;return"be"!==e&&n.reverse(),n}}const oe=()=>"undefined"!=typeof BigInt;const ce=Symbol("byValue");var ue={curve:{p256:"p256","P-256":"p256",secp256r1:"p256",prime256v1:"p256","1.2.840.10045.3.1.7":"p256","2a8648ce3d030107":"p256","2A8648CE3D030107":"p256",p384:"p384","P-384":"p384",secp384r1:"p384","1.3.132.0.34":"p384","2b81040022":"p384","2B81040022":"p384",p521:"p521","P-521":"p521",secp521r1:"p521","1.3.132.0.35":"p521","2b81040023":"p521","2B81040023":"p521",secp256k1:"secp256k1","1.3.132.0.10":"secp256k1","2b8104000a":"secp256k1","2B8104000A":"secp256k1",ed25519Legacy:"ed25519",ED25519:"ed25519",ed25519:"ed25519",Ed25519:"ed25519","1.3.6.1.4.1.11591.15.1":"ed25519","2b06010401da470f01":"ed25519","2B06010401DA470F01":"ed25519",curve25519Legacy:"curve25519",X25519:"curve25519",cv25519:"curve25519",curve25519:"curve25519",Curve25519:"curve25519","1.3.6.1.4.1.3029.1.5.1":"curve25519","2b060104019755010501":"curve25519","2B060104019755010501":"curve25519",brainpoolP256r1:"brainpoolP256r1","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1","2b2403030208010107":"brainpoolP256r1","2B2403030208010107":"brainpoolP256r1",brainpoolP384r1:"brainpoolP384r1","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1","2b240303020801010b":"brainpoolP384r1","2B240303020801010B":"brainpoolP384r1",brainpoolP512r1:"brainpoolP512r1","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1","2b240303020801010d":"brainpoolP512r1","2B240303020801010D":"brainpoolP512r1"},kdfFlags:{replace_fingerprint:1,replace_kdf_params:2},s2k:{simple:0,salted:1,iterated:3,argon2:4,gnu:101},publicKey:{rsaEncryptSign:1,rsaEncrypt:2,rsaSign:3,elgamal:16,dsa:17,ecdh:18,ecdsa:19,eddsaLegacy:22,ed25519Legacy:22,eddsa:22,aedh:23,aedsa:24,x25519:25,x448:26,ed25519:27,ed448:28,aead:100,hmac:101},symmetric:{plaintext:0,idea:1,tripledes:2,cast5:3,blowfish:4,aes128:7,aes192:8,aes256:9,twofish:10},compression:{uncompressed:0,zip:1,zlib:2,bzip2:3},hash:{md5:1,sha1:2,ripemd:3,sha256:8,sha384:9,sha512:10,sha224:11},webHash:{"SHA-1":2,"SHA-256":8,"SHA-384":9,"SHA-512":10},aead:{eax:1,ocb:2,experimentalGCM:100},packet:{publicKeyEncryptedSessionKey:1,signature:2,symEncryptedSessionKey:3,onePassSignature:4,secretKey:5,publicKey:6,secretSubkey:7,compressedData:8,symmetricallyEncryptedData:9,marker:10,literalData:11,trust:12,userID:13,publicSubkey:14,userAttribute:17,symEncryptedIntegrityProtectedData:18,modificationDetectionCode:19,aeadEncryptedData:20},literal:{binary:98,text:116,utf8:117,mime:109},signature:{binary:0,text:1,standalone:2,certGeneric:16,certPersona:17,certCasual:18,certPositive:19,certRevocation:48,subkeyBinding:24,keyBinding:25,key:31,keyRevocation:32,subkeyRevocation:40,timestamp:64,thirdParty:80},signatureSubpacket:{signatureCreationTime:2,signatureExpirationTime:3,exportableCertification:4,trustSignature:5,regularExpression:6,revocable:7,keyExpirationTime:9,placeholderBackwardsCompatibility:10,preferredSymmetricAlgorithms:11,revocationKey:12,issuer:16,notationData:20,preferredHashAlgorithms:21,preferredCompressionAlgorithms:22,keyServerPreferences:23,preferredKeyServer:24,primaryUserID:25,policyURI:26,keyFlags:27,signersUserID:28,reasonForRevocation:29,features:30,signatureTarget:31,embeddedSignature:32,issuerFingerprint:33,preferredAEADAlgorithms:34},keyFlags:{certifyKeys:1,signData:2,encryptCommunication:4,encryptStorage:8,splitPrivateKey:16,authentication:32,forwardedCommunication:64,sharedPrivateKey:128},armor:{multipartSection:0,multipartLast:1,signed:2,message:3,publicKey:4,privateKey:5,signature:6},reasonForRevocation:{noReason:0,keySuperseded:1,keyCompromised:2,keyRetired:3,userIDInvalid:32},features:{modificationDetection:1,aead:2,v5Keys:4},write:function(e,t){if("number"==typeof t&&(t=this.read(e,t)),void 0!==e[t])return e[t];throw Error("Invalid enum value.")},read:function(e,t){if(e[ce]||(e[ce]=[],Object.entries(e).forEach((([t,r])=>{e[ce][r]=t}))),void 0!==e[ce][t])return e[ce][t];throw Error("Invalid enum value.")}};const he=(()=>{try{return"development"===process.env.NODE_ENV}catch(e){}return!1})(),fe={isString:function(e){return"string"==typeof e||e instanceof String},isArray:function(e){return e instanceof Array},isUint8Array:C,isStream:S,readNumber:function(e){let t=0;for(let r=0;r<e.length;r++)t+=256**r*e[e.length-1-r];return t},writeNumber:function(e,t){const r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=e>>8*(t-i-1)&255;return r},readDate:function(e){const t=fe.readNumber(e);return new Date(1e3*t)},writeDate:function(e){const t=Math.floor(e.getTime()/1e3);return fe.writeNumber(t,4)},normalizeDate:function(e=Date.now()){return null===e||e===1/0?e:new Date(1e3*Math.floor(+e/1e3))},readMPI:function(e){const t=(e[0]<<8|e[1])+7>>>3;return e.subarray(2,2+t)},leftPad(e,t){const r=new Uint8Array(t),i=t-e.length;return r.set(e,i),r},uint8ArrayToMPI:function(e){const t=fe.uint8ArrayBitLength(e);if(0===t)throw Error("Zero MPI");const r=e.subarray(e.length-Math.ceil(t/8)),i=new Uint8Array([(65280&t)>>8,255&t]);return fe.concatUint8Array([i,r])},uint8ArrayBitLength:function(e){let t;for(t=0;t<e.length&&0===e[t];t++);if(t===e.length)return 0;const r=e.subarray(t);return 8*(r.length-1)+fe.nbits(r[0])},hexToUint8Array:function(e){const t=new Uint8Array(e.length>>1);for(let r=0;r<e.length>>1;r++)t[r]=parseInt(e.substr(r<<1,2),16);return t},uint8ArrayToHex:function(e){const t=[],r=e.length;let i,n=0;for(;n<r;){for(i=e[n++].toString(16);i.length<2;)i="0"+i;t.push(""+i)}return t.join("")},stringToUint8Array:function(e){return Y(e,(e=>{if(!fe.isString(e))throw Error("stringToUint8Array: Data must be in the form of a string");const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}))},uint8ArrayToString:function(e){const t=[],r=16384,i=(e=new Uint8Array(e)).length;for(let n=0;n<i;n+=r)t.push(String.fromCharCode.apply(String,e.subarray(n,n+r<i?n+r:i)));return t.join("")},encodeUTF8:function(e){const t=new TextEncoder("utf-8");function r(e,r=!1){return t.encode(e,{stream:!r})}return Y(e,r,(()=>r("",!0)))},decodeUTF8:function(e){const t=new TextDecoder("utf-8");function r(e,r=!1){return t.decode(e,{stream:!r})}return Y(e,r,(()=>r(new Uint8Array,!0)))},concat:H,concatUint8Array:I,equalsUint8Array:function(e,t){if(!fe.isUint8Array(e)||!fe.isUint8Array(t))throw Error("Data must be in the form of a Uint8Array");if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0},writeChecksum:function(e){let t=0;for(let r=0;r<e.length;r++)t=t+e[r]&65535;return fe.writeNumber(t,2)},printDebug:function(e){he&&console.log("[OpenPGP.js debug]",e)},printDebugError:function(e){he&&console.error("[OpenPGP.js debug]",e)},nbits:function(e){let t=1,r=e>>>16;return 0!==r&&(e=r,t+=16),r=e>>8,0!==r&&(e=r,t+=8),r=e>>4,0!==r&&(e=r,t+=4),r=e>>2,0!==r&&(e=r,t+=2),r=e>>1,0!==r&&(e=r,t+=1),t},double:function(e){const t=new Uint8Array(e.length),r=e.length-1;for(let i=0;i<r;i++)t[i]=e[i]<<1^e[i+1]>>7;return t[r]=e[r]<<1^135*(e[0]>>7),t},shiftRight:function(e,t){if(t)for(let r=e.length-1;r>=0;r--)e[r]>>=t,r>0&&(e[r]|=e[r-1]<<8-t);return e},getWebCrypto:function(){return void 0!==e&&e.crypto&&e.crypto.subtle},getBigInteger:async function(){if(oe())return se;{const{default:e}=await Promise.resolve().then((function(){return wy}));return e}},getNodeCrypto:function(){return f.default},getNodeZlib:function(){return d.default},getNodeBuffer:function(){return(u.default||{}).Buffer},getHardwareConcurrency:function(){if("undefined"!=typeof navigator)return navigator.hardwareConcurrency||1;return l.default.cpus().length},isEmailAddress:function(e){if(!fe.isString(e))return!1;return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+([a-zA-Z]{2,}[0-9]*|xn--[a-zA-Z\-0-9]+)))$/.test(e)},canonicalizeEOL:function(e){let t=!1;return Y(e,(e=>{let r;t&&(e=fe.concatUint8Array([new Uint8Array([13]),e])),13===e[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;const i=[];for(let t=0;r=e.indexOf(10,t)+1,r;t=r)13!==e[r-2]&&i.push(r);if(!i.length)return e;const n=new Uint8Array(e.length+i.length);let a=0;for(let t=0;t<i.length;t++){const r=e.subarray(i[t-1]||0,i[t]);n.set(r,a),a+=r.length,n[a-1]=13,n[a]=10,a++}return n.set(e.subarray(i[i.length-1]||0),a),n}),(()=>t?new Uint8Array([13]):void 0))},nativeEOL:function(e){let t=!1;return Y(e,(e=>{let r;13===(e=t&&10!==e[0]?fe.concatUint8Array([new Uint8Array([13]),e]):new Uint8Array(e))[e.length-1]?(t=!0,e=e.subarray(0,-1)):t=!1;let i=0;for(let t=0;t!==e.length;t=r){r=e.indexOf(13,t)+1,r||(r=e.length);const n=r-(10===e[r]?1:0);t&&e.copyWithin(i,t,n),i+=n-t}return e.subarray(0,i)}),(()=>t?new Uint8Array([13]):void 0))},removeTrailingSpaces:function(e){return e.split("\n").map((e=>{let t=e.length-1;for(;t>=0&&(" "===e[t]||"\t"===e[t]||"\r"===e[t]);t--);return e.substr(0,t+1)})).join("\n")},wrapError:function(e,t){if(!t)return Error(e);try{t.message=e+": "+t.message}catch(e){}return t},constructAllowedPackets:function(e){const t={};return e.forEach((e=>{if(!e.tag)throw Error("Invalid input: expected a packet class");t[e.tag]=e})),t},anyPromise:function(e){return new Promise((async(t,r)=>{let i;await Promise.all(e.map((async e=>{try{t(await e)}catch(e){i=e}}))),r(i)}))},selectUint8Array:function(e,t,r){const i=Math.max(t.length,r.length),n=new Uint8Array(i);let a=0;for(let i=0;i<n.length;i++)n[i]=t[i]&256-e|r[i]&255+e,a+=e&i<t.length|1-e&i<r.length;return n.subarray(0,a)},selectUint8:function(e,t,r){return t&256-e|r&255+e},isAES:function(e){return e===ue.symmetric.aes128||e===ue.symmetric.aes192||e===ue.symmetric.aes256}},de=fe.getNodeBuffer();let le,pe;function ye(e){let t=new Uint8Array;return Y(e,(e=>{t=fe.concatUint8Array([t,e]);const r=[],i=Math.floor(t.length/45),n=45*i,a=le(t.subarray(0,n));for(let e=0;e<i;e++)r.push(a.substr(60*e,60)),r.push("\n");return t=t.subarray(n),r.join("")}),(()=>t.length?le(t)+"\n":""))}function ge(e){let t="";return Y(e,(e=>{t+=e;let r=0;const i=[" ","\t","\r","\n"];for(let e=0;e<i.length;e++){const n=i[e];for(let e=t.indexOf(n);-1!==e;e=t.indexOf(n,e+1))r++}let n=t.length;for(;n>0&&(n-r)%4!=0;n--)i.includes(t[n])&&r--;const a=pe(t.substr(0,n));return t=t.substr(n),a}),(()=>pe(t)))}function be(e){return ge(e.replace(/-/g,"+").replace(/_/g,"/"))}function me(e,t){let r=ye(e).replace(/[\r\n]/g,"");return t&&(r=r.replace(/[+]/g,"-").replace(/[/]/g,"_").replace(/[=]/g,"")),r}de?(le=e=>de.from(e).toString("base64"),pe=e=>{const t=de.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}):(le=e=>btoa(fe.uint8ArrayToString(e)),pe=e=>fe.stringToUint8Array(atob(e)));var we={preferredHashAlgorithm:ue.hash.sha256,preferredSymmetricAlgorithm:ue.symmetric.aes256,preferredCompressionAlgorithm:ue.compression.uncompressed,deflateLevel:6,aeadProtect:!1,preferredAEADAlgorithm:ue.aead.eax,aeadChunkSizeByte:12,v5Keys:!1,s2kType:ue.s2k.iterated,s2kIterationCountByte:224,s2kArgon2Params:{passes:3,parallelism:4,memoryExponent:16},allowUnauthenticatedMessages:!1,allowUnauthenticatedStream:!1,allowForwardedMessages:!1,checksumRequired:!1,minRSABits:2047,passwordCollisionCheck:!1,revocationsExpire:!1,allowInsecureDecryptionWithSigningKeys:!1,allowInsecureVerificationWithReformattedKeys:!1,constantTimePKCS1Decryption:!1,constantTimePKCS1DecryptionSupportedSymmetricAlgorithms:new Set([ue.symmetric.aes128,ue.symmetric.aes192,ue.symmetric.aes256]),minBytesForWebCrypto:1e3,ignoreUnsupportedPackets:!0,ignoreMalformedPackets:!1,additionalAllowedPackets:[],showVersion:!1,showComment:!1,versionString:"OpenPGP.js 5.11.1",commentString:"https://openpgpjs.org",maxUserIDLength:5120,knownNotations:[],useIndutnyElliptic:!0,rejectHashAlgorithms:new Set([ue.hash.md5,ue.hash.ripemd]),rejectMessageHashAlgorithms:new Set([ue.hash.md5,ue.hash.ripemd,ue.hash.sha1]),rejectPublicKeyAlgorithms:new Set([ue.publicKey.elgamal,ue.publicKey.dsa]),rejectCurves:new Set([ue.curve.secp256k1]),checkEdDSAFaultySignatures:!0};function Ae(e){const t=e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);if(!t)throw Error("Unknown ASCII armor type");return/MESSAGE, PART \d+\/\d+/.test(t[1])?ue.armor.multipartSection:/MESSAGE, PART \d+/.test(t[1])?ue.armor.multipartLast:/SIGNED MESSAGE/.test(t[1])?ue.armor.signed:/MESSAGE/.test(t[1])?ue.armor.message:/PUBLIC KEY BLOCK/.test(t[1])?ue.armor.publicKey:/PRIVATE KEY BLOCK/.test(t[1])?ue.armor.privateKey:/SIGNATURE/.test(t[1])?ue.armor.signature:void 0}function ve(e,t){let r="";return t.showVersion&&(r+="Version: "+t.versionString+"\n"),t.showComment&&(r+="Comment: "+t.commentString+"\n"),e&&(r+="Comment: "+e+"\n"),r+="\n",r}function ke(e){return ye(function(e){let t=13501623;return Y(e,(e=>{const r=Ee?Math.floor(e.length/4):0,i=new Uint32Array(e.buffer,e.byteOffset,r);for(let e=0;e<r;e++)t^=i[e],t=_e[0][t>>24&255]^_e[1][t>>16&255]^_e[2][t>>8&255]^_e[3][t>>0&255];for(let i=4*r;i<e.length;i++)t=t>>8^_e[0][255&t^e[i]]}),(()=>new Uint8Array([t,t>>8,t>>16])))}(e))}const _e=[Array(255),Array(255),Array(255),Array(255)];for(let e=0;e<=255;e++){let t=e<<16;for(let e=0;e<8;e++)t=t<<1^(0!=(8388608&t)?8801531:0);_e[0][e]=(16711680&t)>>16|65280&t|(255&t)<<16}for(let e=0;e<=255;e++)_e[1][e]=_e[0][e]>>8^_e[0][255&_e[0][e]];for(let e=0;e<=255;e++)_e[2][e]=_e[1][e]>>8^_e[0][255&_e[1][e]];for(let e=0;e<=255;e++)_e[3][e]=_e[2][e]>>8^_e[0][255&_e[2][e]];const Ee=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,255,!0),255===new Int16Array(e)[0]}();function Se(e){for(let t=0;t<e.length;t++)/^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t])||fe.printDebugError(Error("Improperly formatted armor header: "+e[t])),/^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t])||fe.printDebugError(Error("Unknown header: "+e[t]))}function Ce(e){let t=e,r="";const i=e.lastIndexOf("=");return i>=0&&i!==e.length-1&&(t=e.slice(0,i),r=e.slice(i+1).substr(0,4)),{body:t,checksum:r}}function Ie(e,t=we){return new Promise((async(r,i)=>{try{const n=/^-----[^-]+-----$/m,a=/^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;let s;const o=[];let c,u,h,f=o,d=[],l=ge(Z(e,(async(e,t)=>{const p=j(e);try{for(;;){let e=await p.readLine();if(void 0===e)throw Error("Misformed armored text");if(e=fe.removeTrailingSpaces(e.replace(/[\r\n]/g,"")),s)if(c)u||2!==s||(n.test(e)?(d=d.join("\r\n"),u=!0,Se(f),f=[],c=!1):d.push(e.replace(/^- /,"")));else if(n.test(e)&&i(Error("Mandatory blank line missing between armor headers and armor data")),a.test(e)){if(Se(f),c=!0,u||2!==s){r({text:d,data:l,headers:o,type:s});break}}else f.push(e);else n.test(e)&&(s=Ae(e))}}catch(e){return void i(e)}const y=G(t);try{for(;;){await y.ready;const{done:e,value:t}=await p.read();if(e)throw Error("Misformed armored text");const r=t+"";if(-1!==r.indexOf("=")||-1!==r.indexOf("-")){let e=await p.readToEnd();e.length||(e=""),e=r+e,e=fe.removeTrailingSpaces(e.replace(/\r/g,""));const t=e.split(n);if(1===t.length)throw Error("Misformed armored text");const i=Ce(t[0].slice(0,-1));h=i.checksum,await y.write(i.body);break}await y.write(r)}await y.ready,await y.close()}catch(e){await y.abort(e)}})));l=Z(l,(async(e,r)=>{const i=ie(ke(ee(e)));i.catch((()=>{})),await W(e,r,{preventClose:!0});const n=G(r);try{const e=(await i).replace("\n","");if(h!==e&&(h||t.checksumRequired))throw Error("Ascii armor integrity check failed");await n.ready,await n.close()}catch(e){await n.abort(e)}}))}catch(e){i(e)}})).then((async e=>(v(e.data)&&(e.data=await ie(e.data)),e)))}function Be(e,t,r,i,n,a=we){let s,o;e===ue.armor.signed&&(s=t.text,o=t.hash,t=t.data);const c=ee(t),u=[];switch(e){case ue.armor.multipartSection:u.push("-----BEGIN PGP MESSAGE, PART "+r+"/"+i+"-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE, PART "+r+"/"+i+"-----\n");break;case ue.armor.multipartLast:u.push("-----BEGIN PGP MESSAGE, PART "+r+"-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE, PART "+r+"-----\n");break;case ue.armor.signed:u.push("-----BEGIN PGP SIGNED MESSAGE-----\n"),u.push("Hash: "+o+"\n\n"),u.push(s.replace(/^-/gm,"- -")),u.push("\n-----BEGIN PGP SIGNATURE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP SIGNATURE-----\n");break;case ue.armor.message:u.push("-----BEGIN PGP MESSAGE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP MESSAGE-----\n");break;case ue.armor.publicKey:u.push("-----BEGIN PGP PUBLIC KEY BLOCK-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP PUBLIC KEY BLOCK-----\n");break;case ue.armor.privateKey:u.push("-----BEGIN PGP PRIVATE KEY BLOCK-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP PRIVATE KEY BLOCK-----\n");break;case ue.armor.signature:u.push("-----BEGIN PGP SIGNATURE-----\n"),u.push(ve(n,a)),u.push(ye(t)),u.push("=",ke(c)),u.push("-----END PGP SIGNATURE-----\n")}return fe.concat(u)}class Pe{constructor(){this.bytes=""}read(e){return this.bytes=fe.uint8ArrayToString(e.subarray(0,8)),this.bytes.length}write(){return fe.stringToUint8Array(this.bytes)}toHex(){return fe.uint8ArrayToHex(fe.stringToUint8Array(this.bytes))}equals(e,t=!1){return t&&(e.isWildcard()||this.isWildcard())||this.bytes===e.bytes}isNull(){return""===this.bytes}isWildcard(){return/^0+$/.test(this.toHex())}static mapToHex(e){return e.toHex()}static fromID(e){const t=new Pe;return t.read(fe.hexToUint8Array(e)),t}static wildcard(){const e=new Pe;return e.read(new Uint8Array(8)),e}}var xe=function(){var e,t,r=!1;function i(r,i){var n=e[(t[r]+t[i])%255];return 0!==r&&0!==i||(n=0),n}var n,a,s,o,c=!1;function u(){function u(r){var i,n,a;for(n=a=function(r){var i=e[255-t[r]];return 0===r&&(i=0),i}(r),i=0;i<4;i++)a^=n=255&(n<<1|n>>>7);return a^=99}r||function(){e=[],t=[];var i,n,a=1;for(i=0;i<255;i++)e[i]=a,n=128&a,a<<=1,a&=255,128===n&&(a^=27),a^=e[i],t[e[i]]=i;e[255]=e[0],t[0]=0,r=!0}(),n=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var h=0;h<256;h++){var f=u(h);n[h]=f,a[f]=h,s[0][h]=i(2,f)<<24|f<<16|f<<8|i(3,f),o[0][f]=i(14,h)<<24|i(9,h)<<16|i(13,h)<<8|i(11,h);for(var d=1;d<4;d++)s[d][h]=s[d-1][h]>>>8|s[d-1][h]<<24,o[d][f]=o[d-1][f]>>>8|o[d-1][f]<<24}c=!0}var h=function(e,t){c||u();var r=new Uint32Array(t);r.set(n,512),r.set(a,768);for(var i=0;i<4;i++)r.set(s[i],4096+1024*i>>2),r.set(o[i],8192+1024*i>>2);var h=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0;var E=new e.Uint32Array(r),S=new e.Uint8Array(r);function C(e,t,r,o,c,u,h,f){e=e|0;t=t|0;r=r|0;o=o|0;c=c|0;u=u|0;h=h|0;f=f|0;var d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;d=r|0x400,l=r|0x800,p=r|0xc00;c=c^E[(e|0)>>2],u=u^E[(e|4)>>2],h=h^E[(e|8)>>2],f=f^E[(e|12)>>2];for(w=16;(w|0)<=o<<4;w=w+16|0){y=E[(r|c>>22&1020)>>2]^E[(d|u>>14&1020)>>2]^E[(l|h>>6&1020)>>2]^E[(p|f<<2&1020)>>2]^E[(e|w|0)>>2],g=E[(r|u>>22&1020)>>2]^E[(d|h>>14&1020)>>2]^E[(l|f>>6&1020)>>2]^E[(p|c<<2&1020)>>2]^E[(e|w|4)>>2],b=E[(r|h>>22&1020)>>2]^E[(d|f>>14&1020)>>2]^E[(l|c>>6&1020)>>2]^E[(p|u<<2&1020)>>2]^E[(e|w|8)>>2],m=E[(r|f>>22&1020)>>2]^E[(d|c>>14&1020)>>2]^E[(l|u>>6&1020)>>2]^E[(p|h<<2&1020)>>2]^E[(e|w|12)>>2];c=y,u=g,h=b,f=m}i=E[(t|c>>22&1020)>>2]<<24^E[(t|u>>14&1020)>>2]<<16^E[(t|h>>6&1020)>>2]<<8^E[(t|f<<2&1020)>>2]^E[(e|w|0)>>2],n=E[(t|u>>22&1020)>>2]<<24^E[(t|h>>14&1020)>>2]<<16^E[(t|f>>6&1020)>>2]<<8^E[(t|c<<2&1020)>>2]^E[(e|w|4)>>2],a=E[(t|h>>22&1020)>>2]<<24^E[(t|f>>14&1020)>>2]<<16^E[(t|c>>6&1020)>>2]<<8^E[(t|u<<2&1020)>>2]^E[(e|w|8)>>2],s=E[(t|f>>22&1020)>>2]<<24^E[(t|c>>14&1020)>>2]<<16^E[(t|u>>6&1020)>>2]<<8^E[(t|h<<2&1020)>>2]^E[(e|w|12)>>2]}function I(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;C(0x0000,0x0800,0x1000,_,e,t,r,i)}function B(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var a=0;C(0x0400,0x0c00,0x2000,_,e,i,r,t);a=n,n=s,s=a}function P(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o^e,c^t,u^r,h^f);o=i,c=n,u=a,h=s}function x(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;var d=0;C(0x0400,0x0c00,0x2000,_,e,f,r,t);d=n,n=s,s=d;i=i^o,n=n^c,a=a^u,s=s^h;o=e,c=t,u=r,h=f}function M(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);o=i=i^e,c=n=n^t,u=a=a^r,h=s=s^f}function D(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);i=i^e,n=n^t,a=a^r,s=s^f;o=e,c=t,u=r,h=f}function K(e,t,r,f){e=e|0;t=t|0;r=r|0;f=f|0;C(0x0000,0x0800,0x1000,_,o,c,u,h);o=i,c=n,u=a,h=s;i=i^e,n=n^t,a=a^r,s=s^f}function U(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;C(0x0000,0x0800,0x1000,_,f,d,l,p);p=~m&p|m&p+1;l=~b&l|b&l+((p|0)==0);d=~g&d|g&d+((l|0)==0);f=~y&f|y&f+((d|0)==0);i=i^e;n=n^t;a=a^r;s=s^o}function R(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var n=0,a=0,s=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0;e=e^o,t=t^c,r=r^u,i=i^h;n=w|0,a=A|0,s=v|0,f=k|0;for(;(g|0)<128;g=g+1|0){if(n>>>31){d=d^e,l=l^t,p=p^r,y=y^i}n=n<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|f>>>31,f=f<<1;b=i&1;i=i>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(b)e=e^0xe1000000}o=d,c=l,u=p,h=y}function T(e){e=e|0;_=e}function Q(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;i=e,n=t,a=r,s=o}function z(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;o=e,c=t,u=r,h=i}function F(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;f=e,d=t,l=r,p=i}function L(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;y=e,g=t,b=r,m=i}function N(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;p=~m&p|m&i,l=~b&l|b&r,d=~g&d|g&t,f=~y&f|y&e}function q(e){e=e|0;if(e&15)return-1;S[e|0]=i>>>24,S[e|1]=i>>>16&255,S[e|2]=i>>>8&255,S[e|3]=i&255,S[e|4]=n>>>24,S[e|5]=n>>>16&255,S[e|6]=n>>>8&255,S[e|7]=n&255,S[e|8]=a>>>24,S[e|9]=a>>>16&255,S[e|10]=a>>>8&255,S[e|11]=a&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function O(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=c>>>24,S[e|5]=c>>>16&255,S[e|6]=c>>>8&255,S[e|7]=c&255,S[e|8]=u>>>24,S[e|9]=u>>>16&255,S[e|10]=u>>>8&255,S[e|11]=u&255,S[e|12]=h>>>24,S[e|13]=h>>>16&255,S[e|14]=h>>>8&255,S[e|15]=h&255;return 16}function H(){I(0,0,0,0);w=i,A=n,v=a,k=s}function j(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){W[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=i>>>24,S[t|1]=i>>>16&255,S[t|2]=i>>>8&255,S[t|3]=i&255,S[t|4]=n>>>24,S[t|5]=n>>>16&255,S[t|6]=n>>>8&255,S[t|7]=n&255,S[t|8]=a>>>24,S[t|9]=a>>>16&255,S[t|10]=a>>>8&255,S[t|11]=a&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function G(e,t,r){e=e|0;t=t|0;r=r|0;var i=0;if(t&15)return-1;while((r|0)>=16){V[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);i=i+16|0,t=t+16|0,r=r-16|0}return i|0}var W=[I,B,P,x,M,D,K,U];var V=[P,R];return{set_rounds:T,set_state:Q,set_iv:z,set_nonce:F,set_mask:L,set_counter:N,get_state:q,get_iv:O,gcm_init:H,cipher:j,mac:G}}({Uint8Array,Uint32Array},e,t);return h.set_key=function(e,t,i,a,s,c,u,f,d){var l=r.subarray(0,60),p=r.subarray(256,316);l.set([t,i,a,s,c,u,f,d]);for(var y=e,g=1;y<4*e+28;y++){var b=l[y-1];(y%e==0||8===e&&y%e==4)&&(b=n[b>>>24]<<24^n[b>>>16&255]<<16^n[b>>>8&255]<<8^n[255&b]),y%e==0&&(b=b<<8^b>>>24^g<<24,g=g<<1^(128&g?27:0)),l[y]=l[y-e]^b}for(var m=0;m<y;m+=4)for(var w=0;w<4;w++){b=l[y-(4+m)+(4-w)%4];p[m+w]=m<4||m>=y-4?b:o[0][n[b>>>24]]^o[1][n[b>>>16&255]]^o[2][n[b>>>8&255]]^o[3][n[255&b]]}h.set_rounds(e+5)},h};return h.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},h.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},h.MAC={CBC:0,GCM:1},h.HEAP_DATA=16384,h}();function Me(e){return e instanceof Uint8Array}function De(e,t){const r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))}function Ke(e,t,r,i,n){const a=e.length-t,s=a<n?a:n;return e.set(r.subarray(i,i+s),t),s}function Ue(...e){const t=e.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(t);let i=0;for(let t=0;t<e.length;t++)r.set(e[t],i),i+=e[t].length;return r}class Re extends Error{constructor(...e){super(...e)}}class Te extends Error{constructor(...e){super(...e)}}class Qe extends Error{constructor(...e){super(...e)}}const ze=[],Fe=[];class Le{constructor(e,t,r=!0,i,n,a){this.pos=0,this.len=0,this.mode=i,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm(n,a)}acquire_asm(e,t){return void 0!==this.heap&&void 0!==this.asm||(this.heap=e||ze.pop()||De().subarray(xe.HEAP_DATA),this.asm=t||Fe.pop()||new xe(null,this.heap.buffer),this.reset(this.key,this.iv)),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(ze.push(this.heap),Fe.push(this.asm)),this.heap=void 0,this.asm=void 0}reset(e,t){const{asm:r}=this.acquire_asm(),i=e.length;if(16!==i&&24!==i&&32!==i)throw new Te("illegal key size");const n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(r.set_key(i>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),i>16?n.getUint32(16):0,i>16?n.getUint32(20):0,i>24?n.getUint32(24):0,i>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new Te("illegal iv size");let e=new DataView(t.buffer,t.byteOffset,t.byteLength);r.set_iv(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}else r.set_iv(0,0,0,0)}AES_Encrypt_process(e){if(!Me(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=xe.ENC[this.mode],n=xe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=0,f=new Uint8Array(s+c&-16);for(;c>0;)h=Ke(t,a+s,e,o,c),s+=h,o+=h,c-=h,h=r.cipher(i,n+a,s),h&&f.set(t.subarray(a,a+h),u),u+=h,h<s?(a+=h,s-=h):(a=0,s=0);return this.pos=a,this.len=s,f}AES_Encrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=xe.ENC[this.mode],i=xe.HEAP_DATA,n=this.pos,a=this.len,s=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(let t=0;t<s;++t)e[n+a+t]=s;a+=s,o=a}else if(a%16)throw new Te("data length must be a multiple of the block size")}else a+=s;const c=new Uint8Array(o);return a&&t.cipher(r,i+n,a),o&&c.set(e.subarray(n,n+o)),this.pos=0,this.len=0,this.release_asm(),c}AES_Decrypt_process(e){if(!Me(e))throw new TypeError("data isn't of expected type");let{heap:t,asm:r}=this.acquire_asm(),i=xe.DEC[this.mode],n=xe.HEAP_DATA,a=this.pos,s=this.len,o=0,c=e.length||0,u=0,h=s+c&-16,f=0,d=0;this.padding&&(f=s+c-h||16,h-=f);const l=new Uint8Array(h);for(;c>0;)d=Ke(t,a+s,e,o,c),s+=d,o+=d,c-=d,d=r.cipher(i,n+a,s-(c?0:f)),d&&l.set(t.subarray(a,a+d),u),u+=d,d<s?(a+=d,s-=d):(a=0,s=0);return this.pos=a,this.len=s,l}AES_Decrypt_finish(){let{heap:e,asm:t}=this.acquire_asm(),r=xe.DEC[this.mode],i=xe.HEAP_DATA,n=this.pos,a=this.len,s=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new Te("data length must be a multiple of the block size");a+=16-a%16}if(t.cipher(r,i+n,a),this.hasOwnProperty("padding")&&this.padding){let t=e[n+s-1];if(t<1||t>16||t>s)throw new Qe("bad padding");let r=0;for(let i=t;i>1;i--)r|=t^e[n+s-i];if(r)throw new Qe("bad padding");s-=t}}const o=new Uint8Array(s);return s>0&&o.set(e.subarray(n,n+s)),this.pos=0,this.len=0,this.release_asm(),o}}class Ne{static encrypt(e,t,r=!1){return new Ne(t,r).encrypt(e)}static decrypt(e,t,r=!1){return new Ne(t,r).decrypt(e)}constructor(e,t=!1,r){this.aes=r||new Le(e,void 0,t,"ECB")}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function qe(e){const t=function(e){const t=new Ne(e);this.encrypt=function(e){return t.encrypt(e)},this.decrypt=function(e){return t.decrypt(e)}};return t.blockSize=t.prototype.blockSize=16,t.keySize=t.prototype.keySize=e/8,t}function Oe(e,t,r,i,n,a){const s=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],o=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],c=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],u=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],h=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],f=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],d=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],l=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];let p,y,g,b,m,w,A,v,k,_,E,S,C,I,B=0,P=t.length;const x=32===e.length?3:9;v=3===x?r?[0,32,2]:[30,-2,-2]:r?[0,32,2,62,30,-2,64,96,2]:[94,62,-2,32,64,2,30,-2,-2],r&&(t=function(e,t){const r=8-e.length%8;let i;if(2===t&&r<8)i=32;else if(1===t)i=r;else{if(t||!(r<8)){if(8===r)return e;throw Error("des: invalid padding")}i=0}const n=new Uint8Array(e.length+r);for(let t=0;t<e.length;t++)n[t]=e[t];for(let t=0;t<r;t++)n[e.length+t]=i;return n}(t,a),P=t.length);let M=new Uint8Array(P),D=0;for(1===i&&(k=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],E=n[B++]<<24|n[B++]<<16|n[B++]<<8|n[B++],B=0);B<P;){for(w=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],A=t[B++]<<24|t[B++]<<16|t[B++]<<8|t[B++],1===i&&(r?(w^=k,A^=E):(_=k,S=E,k=w,E=A)),g=252645135&(w>>>4^A),A^=g,w^=g<<4,g=65535&(w>>>16^A),A^=g,w^=g<<16,g=858993459&(A>>>2^w),w^=g,A^=g<<2,g=16711935&(A>>>8^w),w^=g,A^=g<<8,g=1431655765&(w>>>1^A),A^=g,w^=g<<1,w=w<<1|w>>>31,A=A<<1|A>>>31,y=0;y<x;y+=3){for(C=v[y+1],I=v[y+2],p=v[y];p!==C;p+=I)b=A^e[p],m=(A>>>4|A<<28)^e[p+1],g=w,w=A,A=g^(o[b>>>24&63]|u[b>>>16&63]|f[b>>>8&63]|l[63&b]|s[m>>>24&63]|c[m>>>16&63]|h[m>>>8&63]|d[63&m]);g=w,w=A,A=g}w=w>>>1|w<<31,A=A>>>1|A<<31,g=1431655765&(w>>>1^A),A^=g,w^=g<<1,g=16711935&(A>>>8^w),w^=g,A^=g<<8,g=858993459&(A>>>2^w),w^=g,A^=g<<2,g=65535&(w>>>16^A),A^=g,w^=g<<16,g=252645135&(w>>>4^A),A^=g,w^=g<<4,1===i&&(r?(k=w,E=A):(w^=_,A^=S)),M[D++]=w>>>24,M[D++]=w>>>16&255,M[D++]=w>>>8&255,M[D++]=255&w,M[D++]=A>>>24,M[D++]=A>>>16&255,M[D++]=A>>>8&255,M[D++]=255&A}return r||(M=function(e,t){let r,i=null;if(2===t)r=32;else if(1===t)i=e[e.length-1];else{if(t)throw Error("des: invalid padding");r=0}if(!i){for(i=1;e[e.length-i]===r;)i++;i--}return e.subarray(0,e.length-i)}(M,a)),M}function He(e){const t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],n=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],a=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],o=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],l=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length>8?3:1,g=Array(32*y),b=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0];let m,w,A,v=0,k=0;for(let _=0;_<y;_++){let y=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++],_=e[v++]<<24|e[v++]<<16|e[v++]<<8|e[v++];A=252645135&(y>>>4^_),_^=A,y^=A<<4,A=65535&(_>>>-16^y),y^=A,_^=A<<-16,A=858993459&(y>>>2^_),_^=A,y^=A<<2,A=65535&(_>>>-16^y),y^=A,_^=A<<-16,A=1431655765&(y>>>1^_),_^=A,y^=A<<1,A=16711935&(_>>>8^y),y^=A,_^=A<<8,A=1431655765&(y>>>1^_),_^=A,y^=A<<1,A=y<<8|_>>>20&240,y=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=A;for(let e=0;e<16;e++)b[e]?(y=y<<2|y>>>26,_=_<<2|_>>>26):(y=y<<1|y>>>27,_=_<<1|_>>>27),y&=-15,_&=-15,m=t[y>>>28]|r[y>>>24&15]|i[y>>>20&15]|n[y>>>16&15]|a[y>>>12&15]|s[y>>>8&15]|o[y>>>4&15],w=c[_>>>28]|u[_>>>24&15]|h[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|l[_>>>8&15]|p[_>>>4&15],A=65535&(w>>>16^m),g[k++]=m^A,g[k++]=w^A<<16}return g}function je(e){this.key=[];for(let t=0;t<3;t++)this.key.push(new Uint8Array(e.subarray(8*t,8*t+8)));this.encrypt=function(e){return Oe(He(this.key[2]),Oe(He(this.key[1]),Oe(He(this.key[0]),e,!0,0,null,null),!1,0,null,null),!0,0,null,null)}}function Ge(){this.BlockSize=8,this.KeySize=16,this.setKey=function(e){if(this.masking=Array(16),this.rotate=Array(16),this.reset(),e.length!==this.KeySize)throw Error("CAST-128: keys must be 16 bytes");return this.keySchedule(e),!0},this.reset=function(){for(let e=0;e<16;e++)this.masking[e]=0,this.rotate[e]=0},this.getBlockSize=function(){return this.BlockSize},this.encrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>>16&255,t[a+6]=o>>>8&255,t[a+7]=255&o}return t},this.decrypt=function(e){const t=Array(e.length);for(let a=0;a<e.length;a+=8){let s,o=e[a]<<24|e[a+1]<<16|e[a+2]<<8|e[a+3],c=e[a+4]<<24|e[a+5]<<16|e[a+6]<<8|e[a+7];s=c,c=o^r(c,this.masking[15],this.rotate[15]),o=s,s=c,c=o^n(c,this.masking[14],this.rotate[14]),o=s,s=c,c=o^i(c,this.masking[13],this.rotate[13]),o=s,s=c,c=o^r(c,this.masking[12],this.rotate[12]),o=s,s=c,c=o^n(c,this.masking[11],this.rotate[11]),o=s,s=c,c=o^i(c,this.masking[10],this.rotate[10]),o=s,s=c,c=o^r(c,this.masking[9],this.rotate[9]),o=s,s=c,c=o^n(c,this.masking[8],this.rotate[8]),o=s,s=c,c=o^i(c,this.masking[7],this.rotate[7]),o=s,s=c,c=o^r(c,this.masking[6],this.rotate[6]),o=s,s=c,c=o^n(c,this.masking[5],this.rotate[5]),o=s,s=c,c=o^i(c,this.masking[4],this.rotate[4]),o=s,s=c,c=o^r(c,this.masking[3],this.rotate[3]),o=s,s=c,c=o^n(c,this.masking[2],this.rotate[2]),o=s,s=c,c=o^i(c,this.masking[1],this.rotate[1]),o=s,s=c,c=o^r(c,this.masking[0],this.rotate[0]),o=s,t[a]=c>>>24&255,t[a+1]=c>>>16&255,t[a+2]=c>>>8&255,t[a+3]=255&c,t[a+4]=o>>>24&255,t[a+5]=o>>16&255,t[a+6]=o>>8&255,t[a+7]=255&o}return t};const e=[,,,,];e[0]=[,,,,],e[0][0]=[4,0,13,15,12,14,8],e[0][1]=[5,2,16,18,17,19,10],e[0][2]=[6,3,23,22,21,20,9],e[0][3]=[7,1,26,25,27,24,11],e[1]=[,,,,],e[1][0]=[0,6,21,23,20,22,16],e[1][1]=[1,4,0,2,1,3,18],e[1][2]=[2,5,7,6,5,4,17],e[1][3]=[3,7,10,9,11,8,19],e[2]=[,,,,],e[2][0]=[4,0,13,15,12,14,8],e[2][1]=[5,2,16,18,17,19,10],e[2][2]=[6,3,23,22,21,20,9],e[2][3]=[7,1,26,25,27,24,11],e[3]=[,,,,],e[3][0]=[0,6,21,23,20,22,16],e[3][1]=[1,4,0,2,1,3,18],e[3][2]=[2,5,7,6,5,4,17],e[3][3]=[3,7,10,9,11,8,19];const t=[,,,,];function r(e,t,r){const i=t+e,n=i<<r|i>>>32-r;return(a[0][n>>>24]^a[1][n>>>16&255])-a[2][n>>>8&255]+a[3][255&n]}function i(e,t,r){const i=t^e,n=i<<r|i>>>32-r;return a[0][n>>>24]-a[1][n>>>16&255]+a[2][n>>>8&255]^a[3][255&n]}function n(e,t,r){const i=t-e,n=i<<r|i>>>32-r;return(a[0][n>>>24]+a[1][n>>>16&255]^a[2][n>>>8&255])-a[3][255&n]}t[0]=[,,,,],t[0][0]=[24,25,23,22,18],t[0][1]=[26,27,21,20,22],t[0][2]=[28,29,19,18,25],t[0][3]=[30,31,17,16,28],t[1]=[,,,,],t[1][0]=[3,2,12,13,8],t[1][1]=[1,0,14,15,13],t[1][2]=[7,6,8,9,3],t[1][3]=[5,4,10,11,7],t[2]=[,,,,],t[2][0]=[19,18,28,29,25],t[2][1]=[17,16,30,31,28],t[2][2]=[23,22,24,25,18],t[2][3]=[21,20,26,27,22],t[3]=[,,,,],t[3][0]=[8,9,7,6,3],t[3][1]=[10,11,5,4,7],t[3][2]=[12,13,3,2,8],t[3][3]=[14,15,1,0,13],this.keySchedule=function(r){const i=[,,,,,,,,],n=Array(32);let s;for(let e=0;e<4;e++)s=4*e,i[e]=r[s]<<24|r[s+1]<<16|r[s+2]<<8|r[s+3];const o=[6,7,4,5];let c,u=0;for(let r=0;r<2;r++)for(let r=0;r<4;r++){for(s=0;s<4;s++){const t=e[r][s];c=i[t[1]],c^=a[4][i[t[2]>>>2]>>>24-8*(3&t[2])&255],c^=a[5][i[t[3]>>>2]>>>24-8*(3&t[3])&255],c^=a[6][i[t[4]>>>2]>>>24-8*(3&t[4])&255],c^=a[7][i[t[5]>>>2]>>>24-8*(3&t[5])&255],c^=a[o[s]][i[t[6]>>>2]>>>24-8*(3&t[6])&255],i[t[0]]=c}for(s=0;s<4;s++){const e=t[r][s];c=a[4][i[e[0]>>>2]>>>24-8*(3&e[0])&255],c^=a[5][i[e[1]>>>2]>>>24-8*(3&e[1])&255],c^=a[6][i[e[2]>>>2]>>>24-8*(3&e[2])&255],c^=a[7][i[e[3]>>>2]>>>24-8*(3&e[3])&255],c^=a[4+s][i[e[4]>>>2]>>>24-8*(3&e[4])&255],n[u]=c,u++}}for(let e=0;e<16;e++)this.masking[e]=n[e],this.rotate[e]=31&n[16+e]};const a=[,,,,,,,,];a[0]=[821772500,2678128395,1810681135,1059425402,505495343,2617265619,1610868032,3483355465,3218386727,2294005173,3791863952,2563806837,1852023008,365126098,3269944861,584384398,677919599,3229601881,4280515016,2002735330,1136869587,3744433750,2289869850,2731719981,2714362070,879511577,1639411079,575934255,717107937,2857637483,576097850,2731753936,1725645e3,2810460463,5111599,767152862,2543075244,1251459544,1383482551,3052681127,3089939183,3612463449,1878520045,1510570527,2189125840,2431448366,582008916,3163445557,1265446783,1354458274,3529918736,3202711853,3073581712,3912963487,3029263377,1275016285,4249207360,2905708351,3304509486,1442611557,3585198765,2712415662,2731849581,3248163920,2283946226,208555832,2766454743,1331405426,1447828783,3315356441,3108627284,2957404670,2981538698,3339933917,1669711173,286233437,1465092821,1782121619,3862771680,710211251,980974943,1651941557,430374111,2051154026,704238805,4128970897,3144820574,2857402727,948965521,3333752299,2227686284,718756367,2269778983,2731643755,718440111,2857816721,3616097120,1113355533,2478022182,410092745,1811985197,1944238868,2696854588,1415722873,1682284203,1060277122,1998114690,1503841958,82706478,2315155686,1068173648,845149890,2167947013,1768146376,1993038550,3566826697,3390574031,940016341,3355073782,2328040721,904371731,1205506512,4094660742,2816623006,825647681,85914773,2857843460,1249926541,1417871568,3287612,3211054559,3126306446,1975924523,1353700161,2814456437,2438597621,1800716203,722146342,2873936343,1151126914,4160483941,2877670899,458611604,2866078500,3483680063,770352098,2652916994,3367839148,3940505011,3585973912,3809620402,718646636,2504206814,2914927912,3631288169,2857486607,2860018678,575749918,2857478043,718488780,2069512688,3548183469,453416197,1106044049,3032691430,52586708,3378514636,3459808877,3211506028,1785789304,218356169,3571399134,3759170522,1194783844,1523787992,3007827094,1975193539,2555452411,1341901877,3045838698,3776907964,3217423946,2802510864,2889438986,1057244207,1636348243,3761863214,1462225785,2632663439,481089165,718503062,24497053,3332243209,3344655856,3655024856,3960371065,1195698900,2971415156,3710176158,2115785917,4027663609,3525578417,2524296189,2745972565,3564906415,1372086093,1452307862,2780501478,1476592880,3389271281,18495466,2378148571,901398090,891748256,3279637769,3157290713,2560960102,1447622437,4284372637,216884176,2086908623,1879786977,3588903153,2242455666,2938092967,3559082096,2810645491,758861177,1121993112,215018983,642190776,4169236812,1196255959,2081185372,3508738393,941322904,4124243163,2877523539,1848581667,2205260958,3180453958,2589345134,3694731276,550028657,2519456284,3789985535,2973870856,2093648313,443148163,46942275,2734146937,1117713533,1115362972,1523183689,3717140224,1551984063],a[1]=[522195092,4010518363,1776537470,960447360,4267822970,4005896314,1435016340,1929119313,2913464185,1310552629,3579470798,3724818106,2579771631,1594623892,417127293,2715217907,2696228731,1508390405,3994398868,3925858569,3695444102,4019471449,3129199795,3770928635,3520741761,990456497,4187484609,2783367035,21106139,3840405339,631373633,3783325702,532942976,396095098,3548038825,4267192484,2564721535,2011709262,2039648873,620404603,3776170075,2898526339,3612357925,4159332703,1645490516,223693667,1567101217,3362177881,1029951347,3470931136,3570957959,1550265121,119497089,972513919,907948164,3840628539,1613718692,3594177948,465323573,2659255085,654439692,2575596212,2699288441,3127702412,277098644,624404830,4100943870,2717858591,546110314,2403699828,3655377447,1321679412,4236791657,1045293279,4010672264,895050893,2319792268,494945126,1914543101,2777056443,3894764339,2219737618,311263384,4275257268,3458730721,669096869,3584475730,3835122877,3319158237,3949359204,2005142349,2713102337,2228954793,3769984788,569394103,3855636576,1425027204,108000370,2736431443,3671869269,3043122623,1750473702,2211081108,762237499,3972989403,2798899386,3061857628,2943854345,867476300,964413654,1591880597,1594774276,2179821409,552026980,3026064248,3726140315,2283577634,3110545105,2152310760,582474363,1582640421,1383256631,2043843868,3322775884,1217180674,463797851,2763038571,480777679,2718707717,2289164131,3118346187,214354409,200212307,3810608407,3025414197,2674075964,3997296425,1847405948,1342460550,510035443,4080271814,815934613,833030224,1620250387,1945732119,2703661145,3966000196,1388869545,3456054182,2687178561,2092620194,562037615,1356438536,3409922145,3261847397,1688467115,2150901366,631725691,3840332284,549916902,3455104640,394546491,837744717,2114462948,751520235,2221554606,2415360136,3999097078,2063029875,803036379,2702586305,821456707,3019566164,360699898,4018502092,3511869016,3677355358,2402471449,812317050,49299192,2570164949,3259169295,2816732080,3331213574,3101303564,2156015656,3705598920,3546263921,143268808,3200304480,1638124008,3165189453,3341807610,578956953,2193977524,3638120073,2333881532,807278310,658237817,2969561766,1641658566,11683945,3086995007,148645947,1138423386,4158756760,1981396783,2401016740,3699783584,380097457,2680394679,2803068651,3334260286,441530178,4016580796,1375954390,761952171,891809099,2183123478,157052462,3683840763,1592404427,341349109,2438483839,1417898363,644327628,2233032776,2353769706,2201510100,220455161,1815641738,182899273,2995019788,3627381533,3702638151,2890684138,1052606899,588164016,1681439879,4038439418,2405343923,4229449282,167996282,1336969661,1688053129,2739224926,1543734051,1046297529,1138201970,2121126012,115334942,1819067631,1902159161,1941945968,2206692869,1159982321],a[2]=[2381300288,637164959,3952098751,3893414151,1197506559,916448331,2350892612,2932787856,3199334847,4009478890,3905886544,1373570990,2450425862,4037870920,3778841987,2456817877,286293407,124026297,3001279700,1028597854,3115296800,4208886496,2691114635,2188540206,1430237888,1218109995,3572471700,308166588,570424558,2187009021,2455094765,307733056,1310360322,3135275007,1384269543,2388071438,863238079,2359263624,2801553128,3380786597,2831162807,1470087780,1728663345,4072488799,1090516929,532123132,2389430977,1132193179,2578464191,3051079243,1670234342,1434557849,2711078940,1241591150,3314043432,3435360113,3091448339,1812415473,2198440252,267246943,796911696,3619716990,38830015,1526438404,2806502096,374413614,2943401790,1489179520,1603809326,1920779204,168801282,260042626,2358705581,1563175598,2397674057,1356499128,2217211040,514611088,2037363785,2186468373,4022173083,2792511869,2913485016,1173701892,4200428547,3896427269,1334932762,2455136706,602925377,2835607854,1613172210,41346230,2499634548,2457437618,2188827595,41386358,4172255629,1313404830,2405527007,3801973774,2217704835,873260488,2528884354,2478092616,4012915883,2555359016,2006953883,2463913485,575479328,2218240648,2099895446,660001756,2341502190,3038761536,3888151779,3848713377,3286851934,1022894237,1620365795,3449594689,1551255054,15374395,3570825345,4249311020,4151111129,3181912732,310226346,1133119310,530038928,136043402,2476768958,3107506709,2544909567,1036173560,2367337196,1681395281,1758231547,3641649032,306774401,1575354324,3716085866,1990386196,3114533736,2455606671,1262092282,3124342505,2768229131,4210529083,1833535011,423410938,660763973,2187129978,1639812e3,3508421329,3467445492,310289298,272797111,2188552562,2456863912,310240523,677093832,1013118031,901835429,3892695601,1116285435,3036471170,1337354835,243122523,520626091,277223598,4244441197,4194248841,1766575121,594173102,316590669,742362309,3536858622,4176435350,3838792410,2501204839,1229605004,3115755532,1552908988,2312334149,979407927,3959474601,1148277331,176638793,3614686272,2083809052,40992502,1340822838,2731552767,3535757508,3560899520,1354035053,122129617,7215240,2732932949,3118912700,2718203926,2539075635,3609230695,3725561661,1928887091,2882293555,1988674909,2063640240,2491088897,1459647954,4189817080,2302804382,1113892351,2237858528,1927010603,4002880361,1856122846,1594404395,2944033133,3855189863,3474975698,1643104450,4054590833,3431086530,1730235576,2984608721,3084664418,2131803598,4178205752,267404349,1617849798,1616132681,1462223176,736725533,2327058232,551665188,2945899023,1749386277,2575514597,1611482493,674206544,2201269090,3642560800,728599968,1680547377,2620414464,1388111496,453204106,4156223445,1094905244,2754698257,2201108165,3757000246,2704524545,3922940700,3996465027],a[3]=[2645754912,532081118,2814278639,3530793624,1246723035,1689095255,2236679235,4194438865,2116582143,3859789411,157234593,2045505824,4245003587,1687664561,4083425123,605965023,672431967,1336064205,3376611392,214114848,4258466608,3232053071,489488601,605322005,3998028058,264917351,1912574028,756637694,436560991,202637054,135989450,85393697,2152923392,3896401662,2895836408,2145855233,3535335007,115294817,3147733898,1922296357,3464822751,4117858305,1037454084,2725193275,2127856640,1417604070,1148013728,1827919605,642362335,2929772533,909348033,1346338451,3547799649,297154785,1917849091,4161712827,2883604526,3968694238,1469521537,3780077382,3375584256,1763717519,136166297,4290970789,1295325189,2134727907,2798151366,1566297257,3672928234,2677174161,2672173615,965822077,2780786062,289653839,1133871874,3491843819,35685304,1068898316,418943774,672553190,642281022,2346158704,1954014401,3037126780,4079815205,2030668546,3840588673,672283427,1776201016,359975446,3750173538,555499703,2769985273,1324923,69110472,152125443,3176785106,3822147285,1340634837,798073664,1434183902,15393959,216384236,1303690150,3881221631,3711134124,3960975413,106373927,2578434224,1455997841,1801814300,1578393881,1854262133,3188178946,3258078583,2302670060,1539295533,3505142565,3078625975,2372746020,549938159,3278284284,2620926080,181285381,2865321098,3970029511,68876850,488006234,1728155692,2608167508,836007927,2435231793,919367643,3339422534,3655756360,1457871481,40520939,1380155135,797931188,234455205,2255801827,3990488299,397000196,739833055,3077865373,2871719860,4022553888,772369276,390177364,3853951029,557662966,740064294,1640166671,1699928825,3535942136,622006121,3625353122,68743880,1742502,219489963,1664179233,1577743084,1236991741,410585305,2366487942,823226535,1050371084,3426619607,3586839478,212779912,4147118561,1819446015,1911218849,530248558,3486241071,3252585495,2886188651,3410272728,2342195030,20547779,2982490058,3032363469,3631753222,312714466,1870521650,1493008054,3491686656,615382978,4103671749,2534517445,1932181,2196105170,278426614,6369430,3274544417,2913018367,697336853,2143000447,2946413531,701099306,1558357093,2805003052,3500818408,2321334417,3567135975,216290473,3591032198,23009561,1996984579,3735042806,2024298078,3739440863,569400510,2339758983,3016033873,3097871343,3639523026,3844324983,3256173865,795471839,2951117563,4101031090,4091603803,3603732598,971261452,534414648,428311343,3389027175,2844869880,694888862,1227866773,2456207019,3043454569,2614353370,3749578031,3676663836,459166190,4132644070,1794958188,51825668,2252611902,3084671440,2036672799,3436641603,1099053433,2469121526,3059204941,1323291266,2061838604,1018778475,2233344254,2553501054,334295216,3556750194,1065731521,183467730],a[4]=[2127105028,745436345,2601412319,2788391185,3093987327,500390133,1155374404,389092991,150729210,3891597772,3523549952,1935325696,716645080,946045387,2901812282,1774124410,3869435775,4039581901,3293136918,3438657920,948246080,363898952,3867875531,1286266623,1598556673,68334250,630723836,1104211938,1312863373,613332731,2377784574,1101634306,441780740,3129959883,1917973735,2510624549,3238456535,2544211978,3308894634,1299840618,4076074851,1756332096,3977027158,297047435,3790297736,2265573040,3621810518,1311375015,1667687725,47300608,3299642885,2474112369,201668394,1468347890,576830978,3594690761,3742605952,1958042578,1747032512,3558991340,1408974056,3366841779,682131401,1033214337,1545599232,4265137049,206503691,103024618,2855227313,1337551222,2428998917,2963842932,4015366655,3852247746,2796956967,3865723491,3747938335,247794022,3755824572,702416469,2434691994,397379957,851939612,2314769512,218229120,1380406772,62274761,214451378,3170103466,2276210409,3845813286,28563499,446592073,1693330814,3453727194,29968656,3093872512,220656637,2470637031,77972100,1667708854,1358280214,4064765667,2395616961,325977563,4277240721,4220025399,3605526484,3355147721,811859167,3069544926,3962126810,652502677,3075892249,4132761541,3498924215,1217549313,3250244479,3858715919,3053989961,1538642152,2279026266,2875879137,574252750,3324769229,2651358713,1758150215,141295887,2719868960,3515574750,4093007735,4194485238,1082055363,3417560400,395511885,2966884026,179534037,3646028556,3738688086,1092926436,2496269142,257381841,3772900718,1636087230,1477059743,2499234752,3811018894,2675660129,3285975680,90732309,1684827095,1150307763,1723134115,3237045386,1769919919,1240018934,815675215,750138730,2239792499,1234303040,1995484674,138143821,675421338,1145607174,1936608440,3238603024,2345230278,2105974004,323969391,779555213,3004902369,2861610098,1017501463,2098600890,2628620304,2940611490,2682542546,1171473753,3656571411,3687208071,4091869518,393037935,159126506,1662887367,1147106178,391545844,3452332695,1891500680,3016609650,1851642611,546529401,1167818917,3194020571,2848076033,3953471836,575554290,475796850,4134673196,450035699,2351251534,844027695,1080539133,86184846,1554234488,3692025454,1972511363,2018339607,1491841390,1141460869,1061690759,4244549243,2008416118,2351104703,2868147542,1598468138,722020353,1027143159,212344630,1387219594,1725294528,3745187956,2500153616,458938280,4129215917,1828119673,544571780,3503225445,2297937496,1241802790,267843827,2694610800,1397140384,1558801448,3782667683,1806446719,929573330,2234912681,400817706,616011623,4121520928,3603768725,1761550015,1968522284,4053731006,4192232858,4005120285,872482584,3140537016,3894607381,2287405443,1963876937,3663887957,1584857e3,2975024454,1833426440,4025083860],a[5]=[4143615901,749497569,1285769319,3795025788,2514159847,23610292,3974978748,844452780,3214870880,3751928557,2213566365,1676510905,448177848,3730751033,4086298418,2307502392,871450977,3222878141,4110862042,3831651966,2735270553,1310974780,2043402188,1218528103,2736035353,4274605013,2702448458,3936360550,2693061421,162023535,2827510090,687910808,23484817,3784910947,3371371616,779677500,3503626546,3473927188,4157212626,3500679282,4248902014,2466621104,3899384794,1958663117,925738300,1283408968,3669349440,1840910019,137959847,2679828185,1239142320,1315376211,1547541505,1690155329,739140458,3128809933,3933172616,3876308834,905091803,1548541325,4040461708,3095483362,144808038,451078856,676114313,2861728291,2469707347,993665471,373509091,2599041286,4025009006,4170239449,2149739950,3275793571,3749616649,2794760199,1534877388,572371878,2590613551,1753320020,3467782511,1405125690,4270405205,633333386,3026356924,3475123903,632057672,2846462855,1404951397,3882875879,3915906424,195638627,2385783745,3902872553,1233155085,3355999740,2380578713,2702246304,2144565621,3663341248,3894384975,2502479241,4248018925,3094885567,1594115437,572884632,3385116731,767645374,1331858858,1475698373,3793881790,3532746431,1321687957,619889600,1121017241,3440213920,2070816767,2833025776,1933951238,4095615791,890643334,3874130214,859025556,360630002,925594799,1764062180,3920222280,4078305929,979562269,2810700344,4087740022,1949714515,546639971,1165388173,3069891591,1495988560,922170659,1291546247,2107952832,1813327274,3406010024,3306028637,4241950635,153207855,2313154747,1608695416,1150242611,1967526857,721801357,1220138373,3691287617,3356069787,2112743302,3281662835,1111556101,1778980689,250857638,2298507990,673216130,2846488510,3207751581,3562756981,3008625920,3417367384,2198807050,529510932,3547516680,3426503187,2364944742,102533054,2294910856,1617093527,1204784762,3066581635,1019391227,1069574518,1317995090,1691889997,3661132003,510022745,3238594800,1362108837,1817929911,2184153760,805817662,1953603311,3699844737,120799444,2118332377,207536705,2282301548,4120041617,145305846,2508124933,3086745533,3261524335,1877257368,2977164480,3160454186,2503252186,4221677074,759945014,254147243,2767453419,3801518371,629083197,2471014217,907280572,3900796746,940896768,2751021123,2625262786,3161476951,3661752313,3260732218,1425318020,2977912069,1496677566,3988592072,2140652971,3126511541,3069632175,977771578,1392695845,1698528874,1411812681,1369733098,1343739227,3620887944,1142123638,67414216,3102056737,3088749194,1626167401,2546293654,3941374235,697522451,33404913,143560186,2595682037,994885535,1247667115,3859094837,2699155541,3547024625,4114935275,2968073508,3199963069,2732024527,1237921620,951448369,1898488916,1211705605,2790989240,2233243581,3598044975],a[6]=[2246066201,858518887,1714274303,3485882003,713916271,2879113490,3730835617,539548191,36158695,1298409750,419087104,1358007170,749914897,2989680476,1261868530,2995193822,2690628854,3443622377,3780124940,3796824509,2976433025,4259637129,1551479e3,512490819,1296650241,951993153,2436689437,2460458047,144139966,3136204276,310820559,3068840729,643875328,1969602020,1680088954,2185813161,3283332454,672358534,198762408,896343282,276269502,3014846926,84060815,197145886,376173866,3943890818,3813173521,3545068822,1316698879,1598252827,2633424951,1233235075,859989710,2358460855,3503838400,3409603720,1203513385,1193654839,2792018475,2060853022,207403770,1144516871,3068631394,1121114134,177607304,3785736302,326409831,1929119770,2983279095,4183308101,3474579288,3200513878,3228482096,119610148,1170376745,3378393471,3163473169,951863017,3337026068,3135789130,2907618374,1183797387,2015970143,4045674555,2182986399,2952138740,3928772205,384012900,2454997643,10178499,2879818989,2596892536,111523738,2995089006,451689641,3196290696,235406569,1441906262,3890558523,3013735005,4158569349,1644036924,376726067,1006849064,3664579700,2041234796,1021632941,1374734338,2566452058,371631263,4007144233,490221539,206551450,3140638584,1053219195,1853335209,3412429660,3562156231,735133835,1623211703,3104214392,2738312436,4096837757,3366392578,3110964274,3956598718,3196820781,2038037254,3877786376,2339753847,300912036,3766732888,2372630639,1516443558,4200396704,1574567987,4069441456,4122592016,2699739776,146372218,2748961456,2043888151,35287437,2596680554,655490400,1132482787,110692520,1031794116,2188192751,1324057718,1217253157,919197030,686247489,3261139658,1028237775,3135486431,3059715558,2460921700,986174950,2661811465,4062904701,2752986992,3709736643,367056889,1353824391,731860949,1650113154,1778481506,784341916,357075625,3608602432,1074092588,2480052770,3811426202,92751289,877911070,3600361838,1231880047,480201094,3756190983,3094495953,434011822,87971354,363687820,1717726236,1901380172,3926403882,2481662265,400339184,1490350766,2661455099,1389319756,2558787174,784598401,1983468483,30828846,3550527752,2716276238,3841122214,1765724805,1955612312,1277890269,1333098070,1564029816,2704417615,1026694237,3287671188,1260819201,3349086767,1016692350,1582273796,1073413053,1995943182,694588404,1025494639,3323872702,3551898420,4146854327,453260480,1316140391,1435673405,3038941953,3486689407,1622062951,403978347,817677117,950059133,4246079218,3278066075,1486738320,1417279718,481875527,2549965225,3933690356,760697757,1452955855,3897451437,1177426808,1702951038,4085348628,2447005172,1084371187,3516436277,3068336338,1073369276,1027665953,3284188590,1230553676,1368340146,2226246512,267243139,2274220762,4070734279,2497715176,2423353163,2504755875],a[7]=[3793104909,3151888380,2817252029,895778965,2005530807,3871412763,237245952,86829237,296341424,3851759377,3974600970,2475086196,709006108,1994621201,2972577594,937287164,3734691505,168608556,3189338153,2225080640,3139713551,3033610191,3025041904,77524477,185966941,1208824168,2344345178,1721625922,3354191921,1066374631,1927223579,1971335949,2483503697,1551748602,2881383779,2856329572,3003241482,48746954,1398218158,2050065058,313056748,4255789917,393167848,1912293076,940740642,3465845460,3091687853,2522601570,2197016661,1727764327,364383054,492521376,1291706479,3264136376,1474851438,1685747964,2575719748,1619776915,1814040067,970743798,1561002147,2925768690,2123093554,1880132620,3151188041,697884420,2550985770,2607674513,2659114323,110200136,1489731079,997519150,1378877361,3527870668,478029773,2766872923,1022481122,431258168,1112503832,897933369,2635587303,669726182,3383752315,918222264,163866573,3246985393,3776823163,114105080,1903216136,761148244,3571337562,1690750982,3166750252,1037045171,1888456500,2010454850,642736655,616092351,365016990,1185228132,4174898510,1043824992,2023083429,2241598885,3863320456,3279669087,3674716684,108438443,2132974366,830746235,606445527,4173263986,2204105912,1844756978,2532684181,4245352700,2969441100,3796921661,1335562986,4061524517,2720232303,2679424040,634407289,885462008,3294724487,3933892248,2094100220,339117932,4048830727,3202280980,1458155303,2689246273,1022871705,2464987878,3714515309,353796843,2822958815,4256850100,4052777845,551748367,618185374,3778635579,4020649912,1904685140,3069366075,2670879810,3407193292,2954511620,4058283405,2219449317,3135758300,1120655984,3447565834,1474845562,3577699062,550456716,3466908712,2043752612,881257467,869518812,2005220179,938474677,3305539448,3850417126,1315485940,3318264702,226533026,965733244,321539988,1136104718,804158748,573969341,3708209826,937399083,3290727049,2901666755,1461057207,4013193437,4066861423,3242773476,2421326174,1581322155,3028952165,786071460,3900391652,3918438532,1485433313,4023619836,3708277595,3678951060,953673138,1467089153,1930354364,1533292819,2492563023,1346121658,1685000834,1965281866,3765933717,4190206607,2052792609,3515332758,690371149,3125873887,2180283551,2903598061,3933952357,436236910,289419410,14314871,1242357089,2904507907,1616633776,2666382180,585885352,3471299210,2699507360,1432659641,277164553,3354103607,770115018,2303809295,3741942315,3177781868,2853364978,2269453327,3774259834,987383833,1290892879,225909803,1741533526,890078084,1496906255,1111072499,916028167,243534141,1252605537,2204162171,531204876,290011180,3916834213,102027703,237315147,209093447,1486785922,220223953,2758195998,4175039106,82940208,3127791296,2569425252,518464269,1353887104,3941492737,2377294467,3935040926]}function We(e){this.cast5=new Ge,this.cast5.setKey(e),this.encrypt=function(e){return this.cast5.encrypt(e)}}je.keySize=je.prototype.keySize=24,je.blockSize=je.prototype.blockSize=8,We.blockSize=We.prototype.blockSize=8,We.keySize=We.prototype.keySize=16;const Ve=4294967295;function Je(e,t){return(e<<t|e>>>32-t)&Ve}function Ye(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function Ze(e,t,r){e.splice(t,4,255&r,r>>>8&255,r>>>16&255,r>>>24&255)}function Xe(e,t){return e>>>8*t&255}function $e(e){this.tf=function(){let e=null,t=null,r=-1,i=[],n=[[],[],[],[]];function a(e){return n[0][Xe(e,0)]^n[1][Xe(e,1)]^n[2][Xe(e,2)]^n[3][Xe(e,3)]}function s(e){return n[0][Xe(e,3)]^n[1][Xe(e,0)]^n[2][Xe(e,1)]^n[3][Xe(e,2)]}function o(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Je(t[2]^r+n+i[4*e+8]&Ve,31),t[3]=Je(t[3],1)^r+2*n+i[4*e+9]&Ve,r=a(t[2]),n=s(t[3]),t[0]=Je(t[0]^r+n+i[4*e+10]&Ve,31),t[1]=Je(t[1],1)^r+2*n+i[4*e+11]&Ve}function c(e,t){let r=a(t[0]),n=s(t[1]);t[2]=Je(t[2],1)^r+n+i[4*e+10]&Ve,t[3]=Je(t[3]^r+2*n+i[4*e+11]&Ve,31),r=a(t[2]),n=s(t[3]),t[0]=Je(t[0],1)^r+n+i[4*e+8]&Ve,t[1]=Je(t[1]^r+2*n+i[4*e+9]&Ve,31)}return{name:"twofish",blocksize:16,open:function(t){let r,a,s,o,c;e=t;const u=[],h=[],f=[];let d;const l=[];let p,y,g;const b=[[8,1,7,13,6,15,3,2,0,11,5,9,14,12,10,4],[2,8,11,13,15,7,6,14,3,1,9,4,0,10,12,5]],m=[[14,12,11,8,1,2,3,5,15,4,10,6,7,0,9,13],[1,14,2,11,4,12,3,7,6,13,10,5,15,9,0,8]],w=[[11,10,5,14,6,13,9,0,12,8,15,3,2,4,7,1],[4,12,7,5,1,6,9,10,0,14,13,8,2,11,3,15]],A=[[13,7,15,4,1,2,6,14,9,11,3,0,8,5,12,10],[11,9,5,1,12,3,13,14,6,4,7,15,2,0,8,10]],v=[0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15],k=[0,9,2,11,4,13,6,15,8,1,10,3,12,5,14,7],_=[[],[]],E=[[],[],[],[]];function S(e){return e^e>>2^[0,90,180,238][3&e]}function C(e){return e^e>>1^e>>2^[0,238,180,90][3&e]}function I(e,t){let r,i,n;for(r=0;r<8;r++)i=t>>>24,t=t<<8&Ve|e>>>24,e=e<<8&Ve,n=i<<1,128&i&&(n^=333),t^=i^n<<16,n^=i>>>1,1&i&&(n^=166),t^=n<<24|n<<8;return t}function B(e,t){const r=t>>4,i=15&t,n=b[e][r^i],a=m[e][v[i]^k[r]];return A[e][v[a]^k[n]]<<4|w[e][n^a]}function P(e,t){let r=Xe(e,0),i=Xe(e,1),n=Xe(e,2),a=Xe(e,3);switch(d){case 4:r=_[1][r]^Xe(t[3],0),i=_[0][i]^Xe(t[3],1),n=_[0][n]^Xe(t[3],2),a=_[1][a]^Xe(t[3],3);case 3:r=_[1][r]^Xe(t[2],0),i=_[1][i]^Xe(t[2],1),n=_[0][n]^Xe(t[2],2),a=_[0][a]^Xe(t[2],3);case 2:r=_[0][_[0][r]^Xe(t[1],0)]^Xe(t[0],0),i=_[0][_[1][i]^Xe(t[1],1)]^Xe(t[0],1),n=_[1][_[0][n]^Xe(t[1],2)]^Xe(t[0],2),a=_[1][_[1][a]^Xe(t[1],3)]^Xe(t[0],3)}return E[0][r]^E[1][i]^E[2][n]^E[3][a]}for(e=e.slice(0,32),r=e.length;16!==r&&24!==r&&32!==r;)e[r++]=0;for(r=0;r<e.length;r+=4)f[r>>2]=Ye(e,r);for(r=0;r<256;r++)_[0][r]=B(0,r),_[1][r]=B(1,r);for(r=0;r<256;r++)p=_[1][r],y=S(p),g=C(p),E[0][r]=p+(y<<8)+(g<<16)+(g<<24),E[2][r]=y+(g<<8)+(p<<16)+(g<<24),p=_[0][r],y=S(p),g=C(p),E[1][r]=g+(g<<8)+(y<<16)+(p<<24),E[3][r]=y+(p<<8)+(g<<16)+(y<<24);for(d=f.length/2,r=0;r<d;r++)a=f[r+r],u[r]=a,s=f[r+r+1],h[r]=s,l[d-r-1]=I(a,s);for(r=0;r<40;r+=2)a=16843009*r,s=a+16843009,a=P(a,u),s=Je(P(s,h),8),i[r]=a+s&Ve,i[r+1]=Je(a+2*s,9);for(r=0;r<256;r++)switch(a=s=o=c=r,d){case 4:a=_[1][a]^Xe(l[3],0),s=_[0][s]^Xe(l[3],1),o=_[0][o]^Xe(l[3],2),c=_[1][c]^Xe(l[3],3);case 3:a=_[1][a]^Xe(l[2],0),s=_[1][s]^Xe(l[2],1),o=_[0][o]^Xe(l[2],2),c=_[0][c]^Xe(l[2],3);case 2:n[0][r]=E[0][_[0][_[0][a]^Xe(l[1],0)]^Xe(l[0],0)],n[1][r]=E[1][_[0][_[1][s]^Xe(l[1],1)]^Xe(l[0],1)],n[2][r]=E[2][_[1][_[0][o]^Xe(l[1],2)]^Xe(l[0],2)],n[3][r]=E[3][_[1][_[1][c]^Xe(l[1],3)]^Xe(l[0],3)]}},close:function(){i=[],n=[[],[],[],[]]},encrypt:function(e,n){t=e,r=n;const a=[Ye(t,r)^i[0],Ye(t,r+4)^i[1],Ye(t,r+8)^i[2],Ye(t,r+12)^i[3]];for(let e=0;e<8;e++)o(e,a);return Ze(t,r,a[2]^i[4]),Ze(t,r+4,a[3]^i[5]),Ze(t,r+8,a[0]^i[6]),Ze(t,r+12,a[1]^i[7]),r+=16,t},decrypt:function(e,n){t=e,r=n;const a=[Ye(t,r)^i[4],Ye(t,r+4)^i[5],Ye(t,r+8)^i[6],Ye(t,r+12)^i[7]];for(let e=7;e>=0;e--)c(e,a);Ze(t,r,a[2]^i[0]),Ze(t,r+4,a[3]^i[1]),Ze(t,r+8,a[0]^i[2]),Ze(t,r+12,a[1]^i[3]),r+=16},finalize:function(){return t}}}(),this.tf.open(Array.from(e),0),this.encrypt=function(e){return this.tf.encrypt(Array.from(e),0)}}function et(){}function tt(e){this.bf=new et,this.bf.init(e),this.encrypt=function(e){return this.bf.encryptBlock(e)}}$e.keySize=$e.prototype.keySize=32,$e.blockSize=$e.prototype.blockSize=16,et.prototype.BLOCKSIZE=8,et.prototype.SBOXES=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],et.prototype.PARRAY=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],et.prototype.NN=16,et.prototype._clean=function(e){if(e<0){e=(2147483647&e)+2147483648}return e},et.prototype._F=function(e){let t;const r=255&e,i=255&(e>>>=8),n=255&(e>>>=8),a=255&(e>>>=8);return t=this.sboxes[0][a]+this.sboxes[1][n],t^=this.sboxes[2][i],t+=this.sboxes[3][r],t},et.prototype._encryptBlock=function(e){let t,r=e[0],i=e[1];for(t=0;t<this.NN;++t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[this.NN+0],i^=this.parray[this.NN+1],e[0]=this._clean(i),e[1]=this._clean(r)},et.prototype.encryptBlock=function(e){let t;const r=[0,0],i=this.BLOCKSIZE/2;for(t=0;t<this.BLOCKSIZE/2;++t)r[0]=r[0]<<8|255&e[t+0],r[1]=r[1]<<8|255&e[t+i];this._encryptBlock(r);const n=[];for(t=0;t<this.BLOCKSIZE/2;++t)n[t+0]=r[0]>>>24-8*t&255,n[t+i]=r[1]>>>24-8*t&255;return n},et.prototype._decryptBlock=function(e){let t,r=e[0],i=e[1];for(t=this.NN+1;t>1;--t){r^=this.parray[t],i=this._F(r)^i;const e=r;r=i,i=e}r^=this.parray[1],i^=this.parray[0],e[0]=this._clean(i),e[1]=this._clean(r)},et.prototype.init=function(e){let t,r=0;for(this.parray=[],t=0;t<this.NN+2;++t){let i=0;for(let t=0;t<4;++t)i=i<<8|255&e[r],++r>=e.length&&(r=0);this.parray[t]=this.PARRAY[t]^i}for(this.sboxes=[],t=0;t<4;++t)for(this.sboxes[t]=[],r=0;r<256;++r)this.sboxes[t][r]=this.SBOXES[t][r];const i=[0,0];for(t=0;t<this.NN+2;t+=2)this._encryptBlock(i),this.parray[t+0]=i[0],this.parray[t+1]=i[1];for(t=0;t<4;++t)for(r=0;r<256;r+=2)this._encryptBlock(i),this.sboxes[t][r+0]=i[0],this.sboxes[t][r+1]=i[1]},tt.keySize=tt.prototype.keySize=16,tt.blockSize=tt.prototype.blockSize=8;const rt=qe(128),it=qe(192),nt=qe(256),at=function(e){this.key=e,this.encrypt=function(e,t){return Oe(He(this.key),e,!0,0,null,t)},this.decrypt=function(e,t){return Oe(He(this.key),e,!1,0,null,t)}};var st=/*#__PURE__*/Object.freeze({__proto__:null,aes128:rt,aes192:it,aes256:nt,des:at,tripledes:je,cast5:We,twofish:$e,blowfish:tt,idea:function(){throw Error("IDEA symmetric-key algorithm not implemented")}}),ot=function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0;var h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;var A=new e.Uint8Array(r);function v(e,t,r,c,u,h,f,d,l,p,y,g,b,m,w,A){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;h=h|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;A=A|0;var v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0,D=0,K=0,U=0,R=0,T=0,Q=0,z=0,F=0,L=0,N=0,q=0,O=0,H=0,j=0,G=0,W=0,V=0,J=0,Y=0,Z=0,X=0,$=0,ee=0,te=0,re=0,ie=0,ne=0,ae=0,se=0,oe=0,ce=0,ue=0,he=0,fe=0,de=0,le=0,pe=0,ye=0,ge=0,be=0,me=0,we=0,Ae=0,ve=0,ke=0,_e=0,Ee=0,Se=0,Ce=0,Ie=0,Be=0,Pe=0,xe=0,Me=0,De=0,Ke=0,Ue=0,Re=0,Te=0,Qe=0;v=i;k=n;_=a;E=s;S=o;I=e+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=t+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=r+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=c+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=u+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=h+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=f+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=d+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=l+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=p+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=y+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=g+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=b+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=m+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=w+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;I=A+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=m^l^r^e;B=C<<1|C>>>31;I=B+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=w^p^c^t;P=C<<1|C>>>31;I=P+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=A^y^u^r;x=C<<1|C>>>31;I=x+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=B^g^h^c;M=C<<1|C>>>31;I=M+(v<<5|v>>>27)+S+(k&_|~k&E)+0x5a827999|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=P^b^f^u;D=C<<1|C>>>31;I=D+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=x^m^d^h;K=C<<1|C>>>31;I=K+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=M^w^l^f;U=C<<1|C>>>31;I=U+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=D^A^p^d;R=C<<1|C>>>31;I=R+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=K^B^y^l;T=C<<1|C>>>31;I=T+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=U^P^g^p;Q=C<<1|C>>>31;I=Q+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=R^x^b^y;z=C<<1|C>>>31;I=z+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=T^M^m^g;F=C<<1|C>>>31;I=F+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Q^D^w^b;L=C<<1|C>>>31;I=L+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=z^K^A^m;N=C<<1|C>>>31;I=N+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=F^U^B^w;q=C<<1|C>>>31;I=q+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=L^R^P^A;O=C<<1|C>>>31;I=O+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=N^T^x^B;H=C<<1|C>>>31;I=H+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=q^Q^M^P;j=C<<1|C>>>31;I=j+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=O^z^D^x;G=C<<1|C>>>31;I=G+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=H^F^K^M;W=C<<1|C>>>31;I=W+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=j^L^U^D;V=C<<1|C>>>31;I=V+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=G^N^R^K;J=C<<1|C>>>31;I=J+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=W^q^T^U;Y=C<<1|C>>>31;I=Y+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=V^O^Q^R;Z=C<<1|C>>>31;I=Z+(v<<5|v>>>27)+S+(k^_^E)+0x6ed9eba1|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=J^H^z^T;X=C<<1|C>>>31;I=X+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Y^j^F^Q;$=C<<1|C>>>31;I=$+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Z^G^L^z;ee=C<<1|C>>>31;I=ee+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=X^W^N^F;te=C<<1|C>>>31;I=te+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=$^V^q^L;re=C<<1|C>>>31;I=re+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ee^J^O^N;ie=C<<1|C>>>31;I=ie+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=te^Y^H^q;ne=C<<1|C>>>31;I=ne+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=re^Z^j^O;ae=C<<1|C>>>31;I=ae+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ie^X^G^H;se=C<<1|C>>>31;I=se+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ne^$^W^j;oe=C<<1|C>>>31;I=oe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ae^ee^V^G;ce=C<<1|C>>>31;I=ce+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=se^te^J^W;ue=C<<1|C>>>31;I=ue+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=oe^re^Y^V;he=C<<1|C>>>31;I=he+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ce^ie^Z^J;fe=C<<1|C>>>31;I=fe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ue^ne^X^Y;de=C<<1|C>>>31;I=de+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=he^ae^$^Z;le=C<<1|C>>>31;I=le+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=fe^se^ee^X;pe=C<<1|C>>>31;I=pe+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=de^oe^te^$;ye=C<<1|C>>>31;I=ye+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=le^ce^re^ee;ge=C<<1|C>>>31;I=ge+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=pe^ue^ie^te;be=C<<1|C>>>31;I=be+(v<<5|v>>>27)+S+(k&_|k&E|_&E)-0x70e44324|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ye^he^ne^re;me=C<<1|C>>>31;I=me+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ge^fe^ae^ie;we=C<<1|C>>>31;I=we+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=be^de^se^ne;Ae=C<<1|C>>>31;I=Ae+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=me^le^oe^ae;ve=C<<1|C>>>31;I=ve+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=we^pe^ce^se;ke=C<<1|C>>>31;I=ke+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ae^ye^ue^oe;_e=C<<1|C>>>31;I=_e+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ve^ge^he^ce;Ee=C<<1|C>>>31;I=Ee+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=ke^be^fe^ue;Se=C<<1|C>>>31;I=Se+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=_e^me^de^he;Ce=C<<1|C>>>31;I=Ce+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ee^we^le^fe;Ie=C<<1|C>>>31;I=Ie+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Se^Ae^pe^de;Be=C<<1|C>>>31;I=Be+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ce^ve^ye^le;Pe=C<<1|C>>>31;I=Pe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ie^ke^ge^pe;xe=C<<1|C>>>31;I=xe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Be^_e^be^ye;Me=C<<1|C>>>31;I=Me+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Pe^Ee^me^ge;De=C<<1|C>>>31;I=De+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=xe^Se^we^be;Ke=C<<1|C>>>31;I=Ke+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Me^Ce^Ae^me;Ue=C<<1|C>>>31;I=Ue+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=De^Ie^ve^we;Re=C<<1|C>>>31;I=Re+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ke^Be^ke^Ae;Te=C<<1|C>>>31;I=Te+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;C=Ue^Pe^_e^ve;Qe=C<<1|C>>>31;I=Qe+(v<<5|v>>>27)+S+(k^_^E)-0x359d3e2a|0;S=E;E=_;_=k<<30|k>>>2;k=v;v=I;i=i+v|0;n=n+k|0;a=a+_|0;s=s+E|0;o=o+S|0}function k(e){e=e|0;v(A[e|0]<<24|A[e|1]<<16|A[e|2]<<8|A[e|3],A[e|4]<<24|A[e|5]<<16|A[e|6]<<8|A[e|7],A[e|8]<<24|A[e|9]<<16|A[e|10]<<8|A[e|11],A[e|12]<<24|A[e|13]<<16|A[e|14]<<8|A[e|15],A[e|16]<<24|A[e|17]<<16|A[e|18]<<8|A[e|19],A[e|20]<<24|A[e|21]<<16|A[e|22]<<8|A[e|23],A[e|24]<<24|A[e|25]<<16|A[e|26]<<8|A[e|27],A[e|28]<<24|A[e|29]<<16|A[e|30]<<8|A[e|31],A[e|32]<<24|A[e|33]<<16|A[e|34]<<8|A[e|35],A[e|36]<<24|A[e|37]<<16|A[e|38]<<8|A[e|39],A[e|40]<<24|A[e|41]<<16|A[e|42]<<8|A[e|43],A[e|44]<<24|A[e|45]<<16|A[e|46]<<8|A[e|47],A[e|48]<<24|A[e|49]<<16|A[e|50]<<8|A[e|51],A[e|52]<<24|A[e|53]<<16|A[e|54]<<8|A[e|55],A[e|56]<<24|A[e|57]<<16|A[e|58]<<8|A[e|59],A[e|60]<<24|A[e|61]<<16|A[e|62]<<8|A[e|63])}function _(e){e=e|0;A[e|0]=i>>>24;A[e|1]=i>>>16&255;A[e|2]=i>>>8&255;A[e|3]=i&255;A[e|4]=n>>>24;A[e|5]=n>>>16&255;A[e|6]=n>>>8&255;A[e|7]=n&255;A[e|8]=a>>>24;A[e|9]=a>>>16&255;A[e|10]=a>>>8&255;A[e|11]=a&255;A[e|12]=s>>>24;A[e|13]=s>>>16&255;A[e|14]=s>>>8&255;A[e|15]=s&255;A[e|16]=o>>>24;A[e|17]=o>>>16&255;A[e|18]=o>>>8&255;A[e|19]=o&255}function E(){i=0x67452301;n=0xefcdab89;a=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;c=u=0}function S(e,t,r,h,f,d,l){e=e|0;t=t|0;r=r|0;h=h|0;f=f|0;d=d|0;l=l|0;i=e;n=t;a=r;s=h;o=f;c=d;u=l}function C(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}c=c+r|0;if(c>>>0<r>>>0)u=u+1|0;return r|0}function I(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=C(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;c=c+t|0;if(c>>>0<t>>>0)u=u+1|0;A[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)A[e|n]=0x00;k(e);t=0;A[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)A[e|n]=0;A[e|56]=u>>>21&255;A[e|57]=u>>>13&255;A[e|58]=u>>>5&255;A[e|59]=u<<3&255|c>>>29;A[e|60]=c>>>21&255;A[e|61]=c>>>13&255;A[e|62]=c>>>5&255;A[e|63]=c<<3&255;k(e);if(~r)_(r);return i|0}function B(){i=h;n=f;a=d;s=l;o=p;c=64;u=0}function P(){i=y;n=g;a=b;s=m;o=w;c=64;u=0}function x(e,t,r,A,k,_,S,C,I,B,P,x,M,D,K,U){e=e|0;t=t|0;r=r|0;A=A|0;k=k|0;_=_|0;S=S|0;C=C|0;I=I|0;B=B|0;P=P|0;x=x|0;M=M|0;D=D|0;K=K|0;U=U|0;E();v(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,A^0x5c5c5c5c,k^0x5c5c5c5c,_^0x5c5c5c5c,S^0x5c5c5c5c,C^0x5c5c5c5c,I^0x5c5c5c5c,B^0x5c5c5c5c,P^0x5c5c5c5c,x^0x5c5c5c5c,M^0x5c5c5c5c,D^0x5c5c5c5c,K^0x5c5c5c5c,U^0x5c5c5c5c);y=i;g=n;b=a;m=s;w=o;E();v(e^0x36363636,t^0x36363636,r^0x36363636,A^0x36363636,k^0x36363636,_^0x36363636,S^0x36363636,C^0x36363636,I^0x36363636,B^0x36363636,P^0x36363636,x^0x36363636,M^0x36363636,D^0x36363636,K^0x36363636,U^0x36363636);h=i;f=n;d=a;l=s;p=o;c=64;u=0}function M(e,t,r){e=e|0;t=t|0;r=r|0;var c=0,u=0,h=0,f=0,d=0,l=0;if(e&63)return-1;if(~r)if(r&31)return-1;l=I(e,t,-1)|0;c=i,u=n,h=a,f=s,d=o;P();v(c,u,h,f,d,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)_(r);return l|0}function D(e,t,r,c,u){e=e|0;t=t|0;r=r|0;c=c|0;u=u|0;var h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;if(e&63)return-1;if(~u)if(u&31)return-1;A[e+t|0]=r>>>24;A[e+t+1|0]=r>>>16&255;A[e+t+2|0]=r>>>8&255;A[e+t+3|0]=r&255;M(e,t+4|0,-1)|0;h=y=i,f=g=n,d=b=a,l=m=s,p=w=o;c=c-1|0;while((c|0)>0){B();v(y,g,b,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,g=n,b=a,m=s,w=o;P();v(y,g,b,m,w,0x80000000,0,0,0,0,0,0,0,0,0,672);y=i,g=n,b=a,m=s,w=o;h=h^i;f=f^n;d=d^a;l=l^s;p=p^o;c=c-1|0}i=h;n=f;a=d;s=l;o=p;if(~u)_(u);return 0}return{reset:E,init:S,process:C,finish:I,hmac_reset:B,hmac_init:x,hmac_finish:M,pbkdf2_generate_block:D}};class ct{constructor(){this.pos=0,this.len=0}reset(){const{asm:e}=this.acquire_asm();return this.result=null,this.pos=0,this.len=0,e.reset(),this}process(e){if(null!==this.result)throw new Re("state must be reset before processing new data");const{asm:t,heap:r}=this.acquire_asm();let i=this.pos,n=this.len,a=0,s=e.length,o=0;for(;s>0;)o=Ke(r,i+n,e,a,s),n+=o,a+=o,s-=o,o=t.process(i,n),i+=o,n-=o,n||(i=0);return this.pos=i,this.len=n,this}finish(){if(null!==this.result)throw new Re("state must be reset before processing new data");const{asm:e,heap:t}=this.acquire_asm();return e.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(t.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this.release_asm(),this}}const ut=[],ht=[];class ft extends ct{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=64,this.HASH_SIZE=20,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=ut.pop()||De(),this.asm=ht.pop()||ot({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(ut.push(this.heap),ht.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new ft).process(e).finish().result}}ft.NAME="sha1",ft.heap_pool=[],ft.asm_pool=[],ft.asm_function=ot;const dt=[],lt=[];class pt extends ct{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=64,this.HASH_SIZE=32,this.acquire_asm()}acquire_asm(){return void 0!==this.heap&&void 0!==this.asm||(this.heap=dt.pop()||De(),this.asm=lt.pop()||function(e,t,r){"use asm";var i=0,n=0,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=new e.Uint8Array(r);function x(e,t,r,f,d,l,p,y,g,b,m,w,A,v,k,_){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;A=A|0;v=v|0;k=k|0;_=_|0;var E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0;E=i;S=n;C=a;I=s;B=o;P=c;x=u;M=h;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x428a2f98|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x71374491|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb5c0fbcf|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xe9b5dba5|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x3956c25b|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x59f111f1|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x923f82a4|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xab1c5ed5|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xd807aa98|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x12835b01|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x243185be|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x550c7dc3|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x72be5d74|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x80deb1fe|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x9bdc06a7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xc19bf174|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xe49b69c1|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xefbe4786|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x0fc19dc6|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x240ca1cc|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x2de92c6f|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x4a7484aa|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x5cb0a9dc|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x76f988da|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x983e5152|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa831c66d|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xb00327c8|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xbf597fc7|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xc6e00bf3|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xd5a79147|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x06ca6351|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x14292967|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x27b70a85|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x2e1b2138|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x4d2c6dfc|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x53380d13|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x650a7354|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x766a0abb|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x81c2c92e|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x92722c85|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0xa2bfe8a1|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0xa81a664b|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0xc24b8b70|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0xc76c51a3|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0xd192e819|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xd6990624|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0xf40e3585|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x106aa070|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;M=e+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x19a4c116|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+t+m|0;x=t+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x1e376c08|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;r=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+w|0;P=r+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x2748774c|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;f=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+f+A|0;B=f+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x34b0bcb5|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+v|0;I=d+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x391c0cb3|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+l+k|0;C=l+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0x4ed8aa4a|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;S=p+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0x5b9cca4f|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;y=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+y+e|0;E=y+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0x682e6ff3|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+g+t|0;M=g+M+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(x^B&(P^x))+0x748f82ee|0;I=I+M|0;M=M+(E&S^C&(E^S))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+b+r|0;x=b+x+(I>>>6^I>>>11^I>>>25^I<<26^I<<21^I<<7)+(P^I&(B^P))+0x78a5636f|0;C=C+x|0;x=x+(M&E^S&(M^E))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+f|0;P=m+P+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(B^C&(I^B))+0x84c87814|0;S=S+P|0;P=P+(x&M^E&(x^M))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;w=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+w+d|0;B=w+B+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(I^S&(C^I))+0x8cc70208|0;E=E+B|0;B=B+(P&x^M&(P^x))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;A=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+A+l|0;I=A+I+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(C^E&(S^C))+0x90befffa|0;M=M+I|0;I=I+(B&P^x&(B^P))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+v+p|0;C=v+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(S^M&(E^S))+0xa4506ceb|0;x=x+C|0;C=C+(I&B^P&(I^B))+(I>>>2^I>>>13^I>>>22^I<<30^I<<19^I<<10)|0;k=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+k+y|0;S=k+S+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(M^E))+0xbef9a3f7|0;P=P+S|0;S=S+(C&I^B&(C^I))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;_=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+g|0;E=_+E+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(M^P&(x^M))+0xc67178f2|0;B=B+E|0;E=E+(S&C^I&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;i=i+E|0;n=n+S|0;a=a+C|0;s=s+I|0;o=o+B|0;c=c+P|0;u=u+x|0;h=h+M|0}function M(e){e=e|0;x(P[e|0]<<24|P[e|1]<<16|P[e|2]<<8|P[e|3],P[e|4]<<24|P[e|5]<<16|P[e|6]<<8|P[e|7],P[e|8]<<24|P[e|9]<<16|P[e|10]<<8|P[e|11],P[e|12]<<24|P[e|13]<<16|P[e|14]<<8|P[e|15],P[e|16]<<24|P[e|17]<<16|P[e|18]<<8|P[e|19],P[e|20]<<24|P[e|21]<<16|P[e|22]<<8|P[e|23],P[e|24]<<24|P[e|25]<<16|P[e|26]<<8|P[e|27],P[e|28]<<24|P[e|29]<<16|P[e|30]<<8|P[e|31],P[e|32]<<24|P[e|33]<<16|P[e|34]<<8|P[e|35],P[e|36]<<24|P[e|37]<<16|P[e|38]<<8|P[e|39],P[e|40]<<24|P[e|41]<<16|P[e|42]<<8|P[e|43],P[e|44]<<24|P[e|45]<<16|P[e|46]<<8|P[e|47],P[e|48]<<24|P[e|49]<<16|P[e|50]<<8|P[e|51],P[e|52]<<24|P[e|53]<<16|P[e|54]<<8|P[e|55],P[e|56]<<24|P[e|57]<<16|P[e|58]<<8|P[e|59],P[e|60]<<24|P[e|61]<<16|P[e|62]<<8|P[e|63])}function D(e){e=e|0;P[e|0]=i>>>24;P[e|1]=i>>>16&255;P[e|2]=i>>>8&255;P[e|3]=i&255;P[e|4]=n>>>24;P[e|5]=n>>>16&255;P[e|6]=n>>>8&255;P[e|7]=n&255;P[e|8]=a>>>24;P[e|9]=a>>>16&255;P[e|10]=a>>>8&255;P[e|11]=a&255;P[e|12]=s>>>24;P[e|13]=s>>>16&255;P[e|14]=s>>>8&255;P[e|15]=s&255;P[e|16]=o>>>24;P[e|17]=o>>>16&255;P[e|18]=o>>>8&255;P[e|19]=o&255;P[e|20]=c>>>24;P[e|21]=c>>>16&255;P[e|22]=c>>>8&255;P[e|23]=c&255;P[e|24]=u>>>24;P[e|25]=u>>>16&255;P[e|26]=u>>>8&255;P[e|27]=u&255;P[e|28]=h>>>24;P[e|29]=h>>>16&255;P[e|30]=h>>>8&255;P[e|31]=h&255}function K(){i=0x6a09e667;n=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;c=0x9b05688c;u=0x1f83d9ab;h=0x5be0cd19;f=d=0}function U(e,t,r,l,p,y,g,b,m,w){e=e|0;t=t|0;r=r|0;l=l|0;p=p|0;y=y|0;g=g|0;b=b|0;m=m|0;w=w|0;i=e;n=t;a=r;s=l;o=p;c=y;u=g;h=b;f=m;d=w}function R(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){M(e);e=e+64|0;t=t-64|0;r=r+64|0}f=f+r|0;if(f>>>0<r>>>0)d=d+1|0;return r|0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,n=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){i=R(e,t)|0;if((i|0)==-1)return-1;e=e+i|0;t=t-i|0}i=i+t|0;f=f+t|0;if(f>>>0<t>>>0)d=d+1|0;P[e|t]=0x80;if((t|0)>=56){for(n=t+1|0;(n|0)<64;n=n+1|0)P[e|n]=0x00;M(e);t=0;P[e|0]=0}for(n=t+1|0;(n|0)<59;n=n+1|0)P[e|n]=0;P[e|56]=d>>>21&255;P[e|57]=d>>>13&255;P[e|58]=d>>>5&255;P[e|59]=d<<3&255|f>>>29;P[e|60]=f>>>21&255;P[e|61]=f>>>13&255;P[e|62]=f>>>5&255;P[e|63]=f<<3&255;M(e);if(~r)D(r);return i|0}function Q(){i=l;n=p;a=y;s=g;o=b;c=m;u=w;h=A;f=64;d=0}function z(){i=v;n=k;a=_;s=E;o=S;c=C;u=I;h=B;f=64;d=0}function F(e,t,r,P,M,D,U,R,T,Q,z,F,L,N,q,O){e=e|0;t=t|0;r=r|0;P=P|0;M=M|0;D=D|0;U=U|0;R=R|0;T=T|0;Q=Q|0;z=z|0;F=F|0;L=L|0;N=N|0;q=q|0;O=O|0;K();x(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,P^0x5c5c5c5c,M^0x5c5c5c5c,D^0x5c5c5c5c,U^0x5c5c5c5c,R^0x5c5c5c5c,T^0x5c5c5c5c,Q^0x5c5c5c5c,z^0x5c5c5c5c,F^0x5c5c5c5c,L^0x5c5c5c5c,N^0x5c5c5c5c,q^0x5c5c5c5c,O^0x5c5c5c5c);v=i;k=n;_=a;E=s;S=o;C=c;I=u;B=h;K();x(e^0x36363636,t^0x36363636,r^0x36363636,P^0x36363636,M^0x36363636,D^0x36363636,U^0x36363636,R^0x36363636,T^0x36363636,Q^0x36363636,z^0x36363636,F^0x36363636,L^0x36363636,N^0x36363636,q^0x36363636,O^0x36363636);l=i;p=n;y=a;g=s;b=o;m=c;w=u;A=h;f=64;d=0}function L(e,t,r){e=e|0;t=t|0;r=r|0;var f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0;if(e&63)return-1;if(~r)if(r&31)return-1;w=T(e,t,-1)|0;f=i,d=n,l=a,p=s,y=o,g=c,b=u,m=h;z();x(f,d,l,p,y,g,b,m,0x80000000,0,0,0,0,0,0,768);if(~r)D(r);return w|0}function N(e,t,r,f,d){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;var l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0;if(e&63)return-1;if(~d)if(d&31)return-1;P[e+t|0]=r>>>24;P[e+t+1|0]=r>>>16&255;P[e+t+2|0]=r>>>8&255;P[e+t+3|0]=r&255;L(e,t+4|0,-1)|0;l=v=i,p=k=n,y=_=a,g=E=s,b=S=o,m=C=c,w=I=u,A=B=h;f=f-1|0;while((f|0)>0){Q();x(v,k,_,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,k=n,_=a,E=s,S=o,C=c,I=u,B=h;z();x(v,k,_,E,S,C,I,B,0x80000000,0,0,0,0,0,0,768);v=i,k=n,_=a,E=s,S=o,C=c,I=u,B=h;l=l^i;p=p^n;y=y^a;g=g^s;b=b^o;m=m^c;w=w^u;A=A^h;f=f-1|0}i=l;n=p;a=y;s=g;o=b;c=m;u=w;h=A;if(~d)D(d);return 0}return{reset:K,init:U,process:R,finish:T,hmac_reset:Q,hmac_init:F,hmac_finish:L,pbkdf2_generate_block:N}}({Uint8Array},null,this.heap.buffer),this.reset()),{heap:this.heap,asm:this.asm}}release_asm(){void 0!==this.heap&&void 0!==this.asm&&(dt.push(this.heap),lt.push(this.asm)),this.heap=void 0,this.asm=void 0}static bytes(e){return(new pt).process(e).finish().result}}pt.NAME="sha256";var yt=gt;function gt(e,t){if(!e)throw Error(t||"Assertion failed")}gt.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var bt=void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function mt(e,t){return e(t={exports:{}},t.exports),t.exports}function wt(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var At=mt((function(e){e.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}})),vt=mt((function(e){try{var t=p.default;if("function"!=typeof t.inherits)throw"";e.exports=t.inherits}catch(t){e.exports=At}}));var kt=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var i=0;i<e.length;i++){var n=e.charCodeAt(i),a=n>>8,s=255&n;a?r.push(a,s):r.push(s)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r};var _t=function(e){for(var t="",r=0;r<e.length;r++)t+=Ct(e[r].toString(16));return t};function Et(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}var St=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];"little"===t&&(n=Et(n)),r+=It(n.toString(16))}return r};function Ct(e){return 1===e.length?"0"+e:e}function It(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var Bt=function(e,t,r,i){var n=r-t;yt(n%4==0);for(var a=Array(n/4),s=0,o=t;s<a.length;s++,o+=4){var c;c="big"===i?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[s]=c>>>0}return a};var Pt=function(e,t){for(var r=Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var a=e[i];"big"===t?(r[n]=a>>>24,r[n+1]=a>>>16&255,r[n+2]=a>>>8&255,r[n+3]=255&a):(r[n+3]=a>>>24,r[n+2]=a>>>16&255,r[n+1]=a>>>8&255,r[n]=255&a)}return r};var xt={inherits:vt,toArray:kt,toHex:_t,htonl:Et,toHex32:St,zero2:Ct,zero8:It,join32:Bt,split32:Pt,rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,i){return e+t+r+i>>>0},sum32_5:function(e,t,r,i,n){return e+t+r+i+n>>>0},sum64:function(e,t,r,i){var n=e[t],a=i+e[t+1]>>>0,s=(a<i?1:0)+r+n;e[t]=s>>>0,e[t+1]=a},sum64_hi:function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},sum64_lo:function(e,t,r,i){return t+i>>>0},sum64_4_hi:function(e,t,r,i,n,a,s,o){var c=0,u=t;return c+=(u=u+i>>>0)<t?1:0,c+=(u=u+a>>>0)<a?1:0,e+r+n+s+(c+=(u=u+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,r,i,n,a,s,o){return t+i+a+o>>>0},sum64_5_hi:function(e,t,r,i,n,a,s,o,c,u){var h=0,f=t;return h+=(f=f+i>>>0)<t?1:0,h+=(f=f+a>>>0)<a?1:0,h+=(f=f+o>>>0)<o?1:0,e+r+n+s+c+(h+=(f=f+u>>>0)<u?1:0)>>>0},sum64_5_lo:function(e,t,r,i,n,a,s,o,c,u){return t+i+a+o+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function Mt(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var Dt=Mt;Mt.prototype.update=function(e,t){if(e=xt.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=xt.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},Mt.prototype.digest=function(e){return this.update(this._pad()),yt(null===this.pending),this._digest(e)},Mt.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var Kt={BlockHash:Dt},Ut=xt.rotr32;var Rt=function(e,t,r,i){return 0===e?Tt(t,r,i):1===e||3===e?zt(t,r,i):2===e?Qt(t,r,i):void 0};function Tt(e,t,r){return e&t^~e&r}function Qt(e,t,r){return e&t^e&r^t&r}function zt(e,t,r){return e^t^r}var Ft={ft_1:Rt,ch32:Tt,maj32:Qt,p32:zt,s0_256:function(e){return Ut(e,2)^Ut(e,13)^Ut(e,22)},s1_256:function(e){return Ut(e,6)^Ut(e,11)^Ut(e,25)},g0_256:function(e){return Ut(e,7)^Ut(e,18)^e>>>3},g1_256:function(e){return Ut(e,17)^Ut(e,19)^e>>>10}},Lt=xt.sum32,Nt=xt.sum32_4,qt=xt.sum32_5,Ot=Ft.ch32,Ht=Ft.maj32,jt=Ft.s0_256,Gt=Ft.s1_256,Wt=Ft.g0_256,Vt=Ft.g1_256,Jt=Kt.BlockHash,Yt=[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];function Zt(){if(!(this instanceof Zt))return new Zt;Jt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Yt,this.W=Array(64)}xt.inherits(Zt,Jt);var Xt=Zt;function $t(){if(!(this instanceof $t))return new $t;Xt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Zt.blockSize=512,Zt.outSize=256,Zt.hmacStrength=192,Zt.padLength=64,Zt.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=Nt(Vt(r[i-2]),r[i-7],Wt(r[i-15]),r[i-16]);var n=this.h[0],a=this.h[1],s=this.h[2],o=this.h[3],c=this.h[4],u=this.h[5],h=this.h[6],f=this.h[7];for(yt(this.k.length===r.length),i=0;i<r.length;i++){var d=qt(f,Gt(c),Ot(c,u,h),this.k[i],r[i]),l=Lt(jt(n),Ht(n,a,s));f=h,h=u,u=c,c=Lt(o,d),o=s,s=a,a=n,n=Lt(d,l)}this.h[0]=Lt(this.h[0],n),this.h[1]=Lt(this.h[1],a),this.h[2]=Lt(this.h[2],s),this.h[3]=Lt(this.h[3],o),this.h[4]=Lt(this.h[4],c),this.h[5]=Lt(this.h[5],u),this.h[6]=Lt(this.h[6],h),this.h[7]=Lt(this.h[7],f)},Zt.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"big"):xt.split32(this.h,"big")},xt.inherits($t,Xt);var er=$t;$t.blockSize=512,$t.outSize=224,$t.hmacStrength=192,$t.padLength=64,$t.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h.slice(0,7),"big"):xt.split32(this.h.slice(0,7),"big")};var tr=xt.rotr64_hi,rr=xt.rotr64_lo,ir=xt.shr64_hi,nr=xt.shr64_lo,ar=xt.sum64,sr=xt.sum64_hi,or=xt.sum64_lo,cr=xt.sum64_4_hi,ur=xt.sum64_4_lo,hr=xt.sum64_5_hi,fr=xt.sum64_5_lo,dr=Kt.BlockHash,lr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function pr(){if(!(this instanceof pr))return new pr;dr.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=lr,this.W=Array(160)}xt.inherits(pr,dr);var yr=pr;function gr(e,t,r,i,n){var a=e&r^~e&n;return a<0&&(a+=4294967296),a}function br(e,t,r,i,n,a){var s=t&i^~t&a;return s<0&&(s+=4294967296),s}function mr(e,t,r,i,n){var a=e&r^e&n^r&n;return a<0&&(a+=4294967296),a}function wr(e,t,r,i,n,a){var s=t&i^t&a^i&a;return s<0&&(s+=4294967296),s}function Ar(e,t){var r=tr(e,t,28)^tr(t,e,2)^tr(t,e,7);return r<0&&(r+=4294967296),r}function vr(e,t){var r=rr(e,t,28)^rr(t,e,2)^rr(t,e,7);return r<0&&(r+=4294967296),r}function kr(e,t){var r=tr(e,t,14)^tr(e,t,18)^tr(t,e,9);return r<0&&(r+=4294967296),r}function _r(e,t){var r=rr(e,t,14)^rr(e,t,18)^rr(t,e,9);return r<0&&(r+=4294967296),r}function Er(e,t){var r=tr(e,t,1)^tr(e,t,8)^ir(e,t,7);return r<0&&(r+=4294967296),r}function Sr(e,t){var r=rr(e,t,1)^rr(e,t,8)^nr(e,t,7);return r<0&&(r+=4294967296),r}function Cr(e,t){var r=tr(e,t,19)^tr(t,e,29)^ir(e,t,6);return r<0&&(r+=4294967296),r}function Ir(e,t){var r=rr(e,t,19)^rr(t,e,29)^nr(e,t,6);return r<0&&(r+=4294967296),r}function Br(){if(!(this instanceof Br))return new Br;yr.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}pr.blockSize=1024,pr.outSize=512,pr.hmacStrength=192,pr.padLength=128,pr.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=Cr(r[i-4],r[i-3]),a=Ir(r[i-4],r[i-3]),s=r[i-14],o=r[i-13],c=Er(r[i-30],r[i-29]),u=Sr(r[i-30],r[i-29]),h=r[i-32],f=r[i-31];r[i]=cr(n,a,s,o,c,u,h,f),r[i+1]=ur(n,a,s,o,c,u,h,f)}},pr.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],a=this.h[2],s=this.h[3],o=this.h[4],c=this.h[5],u=this.h[6],h=this.h[7],f=this.h[8],d=this.h[9],l=this.h[10],p=this.h[11],y=this.h[12],g=this.h[13],b=this.h[14],m=this.h[15];yt(this.k.length===r.length);for(var w=0;w<r.length;w+=2){var A=b,v=m,k=kr(f,d),_=_r(f,d),E=gr(f,d,l,p,y),S=br(f,d,l,p,y,g),C=this.k[w],I=this.k[w+1],B=r[w],P=r[w+1],x=hr(A,v,k,_,E,S,C,I,B,P),M=fr(A,v,k,_,E,S,C,I,B,P);A=Ar(i,n),v=vr(i,n),k=mr(i,n,a,s,o),_=wr(i,n,a,s,o,c);var D=sr(A,v,k,_),K=or(A,v,k,_);b=y,m=g,y=l,g=p,l=f,p=d,f=sr(u,h,x,M),d=or(h,h,x,M),u=o,h=c,o=a,c=s,a=i,s=n,i=sr(x,M,D,K),n=or(x,M,D,K)}ar(this.h,0,i,n),ar(this.h,2,a,s),ar(this.h,4,o,c),ar(this.h,6,u,h),ar(this.h,8,f,d),ar(this.h,10,l,p),ar(this.h,12,y,g),ar(this.h,14,b,m)},pr.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"big"):xt.split32(this.h,"big")},xt.inherits(Br,yr);var Pr=Br;Br.blockSize=1024,Br.outSize=384,Br.hmacStrength=192,Br.padLength=128,Br.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h.slice(0,12),"big"):xt.split32(this.h.slice(0,12),"big")};var xr=xt.rotl32,Mr=xt.sum32,Dr=xt.sum32_3,Kr=xt.sum32_4,Ur=Kt.BlockHash;function Rr(){if(!(this instanceof Rr))return new Rr;Ur.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}xt.inherits(Rr,Ur);var Tr=Rr;function Qr(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function zr(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function Fr(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}Rr.blockSize=512,Rr.outSize=160,Rr.hmacStrength=192,Rr.padLength=64,Rr.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],s=this.h[4],o=r,c=i,u=n,h=a,f=s,d=0;d<80;d++){var l=Mr(xr(Kr(r,Qr(d,i,n,a),e[Lr[d]+t],zr(d)),qr[d]),s);r=s,s=a,a=xr(n,10),n=i,i=l,l=Mr(xr(Kr(o,Qr(79-d,c,u,h),e[Nr[d]+t],Fr(d)),Or[d]),f),o=f,f=h,h=xr(u,10),u=c,c=l}l=Dr(this.h[1],n,h),this.h[1]=Dr(this.h[2],a,f),this.h[2]=Dr(this.h[3],s,o),this.h[3]=Dr(this.h[4],r,c),this.h[4]=Dr(this.h[0],i,u),this.h[0]=l},Rr.prototype._digest=function(e){return"hex"===e?xt.toHex32(this.h,"little"):xt.split32(this.h,"little")};var Lr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Nr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],qr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Or=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Hr={ripemd160:Tr};function jr(e,t){let r=e[0],i=e[1],n=e[2],a=e[3];r=Wr(r,i,n,a,t[0],7,-680876936),a=Wr(a,r,i,n,t[1],12,-389564586),n=Wr(n,a,r,i,t[2],17,606105819),i=Wr(i,n,a,r,t[3],22,-1044525330),r=Wr(r,i,n,a,t[4],7,-176418897),a=Wr(a,r,i,n,t[5],12,1200080426),n=Wr(n,a,r,i,t[6],17,-1473231341),i=Wr(i,n,a,r,t[7],22,-45705983),r=Wr(r,i,n,a,t[8],7,1770035416),a=Wr(a,r,i,n,t[9],12,-1958414417),n=Wr(n,a,r,i,t[10],17,-42063),i=Wr(i,n,a,r,t[11],22,-1990404162),r=Wr(r,i,n,a,t[12],7,1804603682),a=Wr(a,r,i,n,t[13],12,-40341101),n=Wr(n,a,r,i,t[14],17,-1502002290),i=Wr(i,n,a,r,t[15],22,1236535329),r=Vr(r,i,n,a,t[1],5,-165796510),a=Vr(a,r,i,n,t[6],9,-1069501632),n=Vr(n,a,r,i,t[11],14,643717713),i=Vr(i,n,a,r,t[0],20,-373897302),r=Vr(r,i,n,a,t[5],5,-701558691),a=Vr(a,r,i,n,t[10],9,38016083),n=Vr(n,a,r,i,t[15],14,-660478335),i=Vr(i,n,a,r,t[4],20,-405537848),r=Vr(r,i,n,a,t[9],5,568446438),a=Vr(a,r,i,n,t[14],9,-1019803690),n=Vr(n,a,r,i,t[3],14,-187363961),i=Vr(i,n,a,r,t[8],20,1163531501),r=Vr(r,i,n,a,t[13],5,-1444681467),a=Vr(a,r,i,n,t[2],9,-51403784),n=Vr(n,a,r,i,t[7],14,1735328473),i=Vr(i,n,a,r,t[12],20,-1926607734),r=Jr(r,i,n,a,t[5],4,-378558),a=Jr(a,r,i,n,t[8],11,-2022574463),n=Jr(n,a,r,i,t[11],16,1839030562),i=Jr(i,n,a,r,t[14],23,-35309556),r=Jr(r,i,n,a,t[1],4,-1530992060),a=Jr(a,r,i,n,t[4],11,1272893353),n=Jr(n,a,r,i,t[7],16,-155497632),i=Jr(i,n,a,r,t[10],23,-1094730640),r=Jr(r,i,n,a,t[13],4,681279174),a=Jr(a,r,i,n,t[0],11,-358537222),n=Jr(n,a,r,i,t[3],16,-722521979),i=Jr(i,n,a,r,t[6],23,76029189),r=Jr(r,i,n,a,t[9],4,-640364487),a=Jr(a,r,i,n,t[12],11,-421815835),n=Jr(n,a,r,i,t[15],16,530742520),i=Jr(i,n,a,r,t[2],23,-995338651),r=Yr(r,i,n,a,t[0],6,-198630844),a=Yr(a,r,i,n,t[7],10,1126891415),n=Yr(n,a,r,i,t[14],15,-1416354905),i=Yr(i,n,a,r,t[5],21,-57434055),r=Yr(r,i,n,a,t[12],6,1700485571),a=Yr(a,r,i,n,t[3],10,-1894986606),n=Yr(n,a,r,i,t[10],15,-1051523),i=Yr(i,n,a,r,t[1],21,-2054922799),r=Yr(r,i,n,a,t[8],6,1873313359),a=Yr(a,r,i,n,t[15],10,-30611744),n=Yr(n,a,r,i,t[6],15,-1560198380),i=Yr(i,n,a,r,t[13],21,1309151649),r=Yr(r,i,n,a,t[4],6,-145523070),a=Yr(a,r,i,n,t[11],10,-1120210379),n=Yr(n,a,r,i,t[2],15,718787259),i=Yr(i,n,a,r,t[9],21,-343485551),e[0]=ei(r,e[0]),e[1]=ei(i,e[1]),e[2]=ei(n,e[2]),e[3]=ei(a,e[3])}function Gr(e,t,r,i,n,a){return t=ei(ei(t,e),ei(i,a)),ei(t<<n|t>>>32-n,r)}function Wr(e,t,r,i,n,a,s){return Gr(t&r|~t&i,e,t,n,a,s)}function Vr(e,t,r,i,n,a,s){return Gr(t&i|r&~i,e,t,n,a,s)}function Jr(e,t,r,i,n,a,s){return Gr(t^r^i,e,t,n,a,s)}function Yr(e,t,r,i,n,a,s){return Gr(r^(t|~i),e,t,n,a,s)}function Zr(e){const t=[];let r;for(r=0;r<64;r+=4)t[r>>2]=e.charCodeAt(r)+(e.charCodeAt(r+1)<<8)+(e.charCodeAt(r+2)<<16)+(e.charCodeAt(r+3)<<24);return t}const Xr="0123456789abcdef".split("");function $r(e){let t="",r=0;for(;r<4;r++)t+=Xr[e>>8*r+4&15]+Xr[e>>8*r&15];return t}function ei(e,t){return e+t&4294967295}const ti=fe.getWebCrypto(),ri=fe.getNodeCrypto(),ii=ri&&ri.getHashes();function ni(e){if(ri&&ii.includes(e))return async function(t){const r=ri.createHash(e);return Y(t,(e=>{r.update(e)}),(()=>new Uint8Array(r.digest())))}}function ai(e,t){return async function(r,i=we){if(v(r)&&(r=await ie(r)),!fe.isStream(r)&&ti&&t&&r.length>=i.minBytesForWebCrypto)return new Uint8Array(await ti.digest(t,r));const n=e();return Y(r,(e=>{n.update(e)}),(()=>new Uint8Array(n.digest())))}}function si(e,t){return async function(r,i=we){if(v(r)&&(r=await ie(r)),fe.isStream(r)){const t=new e;return Y(r,(e=>{t.process(e)}),(()=>t.finish().result))}return ti&&t&&r.length>=i.minBytesForWebCrypto?new Uint8Array(await ti.digest(t,r)):e.bytes(r)}}const oi={md5:ni("md5")||async function(e){const t=function(e){const t=e.length,r=[1732584193,-271733879,-1732584194,271733878];let i;for(i=64;i<=e.length;i+=64)jr(r,Zr(e.substring(i-64,i)));e=e.substring(i-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<e.length;i++)n[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(n[i>>2]|=128<<(i%4<<3),i>55)for(jr(r,n),i=0;i<16;i++)n[i]=0;return n[14]=8*t,jr(r,n),r}(fe.uint8ArrayToString(e));return fe.hexToUint8Array(function(e){for(let t=0;t<e.length;t++)e[t]=$r(e[t]);return e.join("")}(t))},sha1:ni("sha1")||si(ft,"SHA-1"),sha224:ni("sha224")||ai(er),sha256:ni("sha256")||si(pt,"SHA-256"),sha384:ni("sha384")||ai(Pr,"SHA-384"),sha512:ni("sha512")||ai(yr,"SHA-512"),ripemd:ni("ripemd160")||ai(Tr)};var ci={md5:oi.md5,sha1:oi.sha1,sha224:oi.sha224,sha256:oi.sha256,sha384:oi.sha384,sha512:oi.sha512,ripemd:oi.ripemd,digest:function(e,t){switch(e){case ue.hash.md5:return this.md5(t);case ue.hash.sha1:return this.sha1(t);case ue.hash.ripemd:return this.ripemd(t);case ue.hash.sha256:return this.sha256(t);case ue.hash.sha384:return this.sha384(t);case ue.hash.sha512:return this.sha512(t);case ue.hash.sha224:return this.sha224(t);default:throw Error("Invalid hash function.")}},getHashByteLength:function(e){switch(e){case ue.hash.md5:return 16;case ue.hash.sha1:case ue.hash.ripemd:return 20;case ue.hash.sha256:return 32;case ue.hash.sha384:return 48;case ue.hash.sha512:return 64;case ue.hash.sha224:return 28;default:throw Error("Invalid hash algorithm.")}},getBlockSize:function(e){switch(e){case ue.hash.md5:case ue.hash.sha1:case ue.hash.ripemd:case ue.hash.sha224:case ue.hash.sha256:return 64;case ue.hash.sha384:case ue.hash.sha512:return 128;default:throw Error("Invalid hash algorithm.")}}};class ui{static encrypt(e,t,r){return new ui(t,r).encrypt(e)}static decrypt(e,t,r){return new ui(t,r).decrypt(e)}constructor(e,t,r){this.aes=r||new Le(e,t,!0,"CFB"),delete this.aes.padding}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}function hi(e){const t=ue.read(ue.symmetric,e);return st[t]}const fi=fe.getWebCrypto(),di=fe.getNodeCrypto(),li=di?di.getCiphers():[],pi={idea:li.includes("idea-cfb")?"idea-cfb":void 0,tripledes:li.includes("des-ede3-cfb")?"des-ede3-cfb":void 0,cast5:li.includes("cast5-cfb")?"cast5-cfb":void 0,blowfish:li.includes("bf-cfb")?"bf-cfb":void 0,aes128:li.includes("aes-128-cfb")?"aes-128-cfb":void 0,aes192:li.includes("aes-192-cfb")?"aes-192-cfb":void 0,aes256:li.includes("aes-256-cfb")?"aes-256-cfb":void 0};var yi=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i,n){const a=ue.read(ue.symmetric,e);if(fe.getNodeCrypto()&&pi[a])return function(e,t,r,i){const n=ue.read(ue.symmetric,e),a=new di.createCipheriv(pi[n],t,i);return Y(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if(fe.isAES(e))return function(e,t,r,i,n){if(fe.getWebCrypto()&&24!==t.length&&!fe.isStream(r)&&r.length>=3e3*n.minBytesForWebCrypto)return async function(e,t,r,i){const n="AES-CBC",a=await fi.importKey("raw",t,{name:n},!1,["encrypt"]),{blockSize:s}=hi(e),o=fe.concatUint8Array([new Uint8Array(s),r]),c=new Uint8Array(await fi.encrypt({name:n,iv:i},a,o)).subarray(0,r.length);return function(e,t){for(let r=0;r<e.length;r++)e[r]=e[r]^t[r]}(c,r),c}(e,t,r,i);const a=new ui(t,i);return Y(r,(e=>a.aes.AES_Encrypt_process(e)),(()=>a.aes.AES_Encrypt_finish()))}(e,t,r,i,n);const s=new(hi(e))(t),o=s.blockSize,c=i.slice();let u=new Uint8Array;const h=e=>{e&&(u=fe.concatUint8Array([u,e]));const t=new Uint8Array(u.length);let r,i=0;for(;e?u.length>=o:u.length;){const e=s.encrypt(c);for(r=0;r<o;r++)c[r]=u[r]^e[r],t[i++]=c[r];u=u.subarray(o)}return t.subarray(0,i)};return Y(r,h,h)},decrypt:async function(e,t,r,i){const n=ue.read(ue.symmetric,e);if(fe.getNodeCrypto()&&pi[n])return function(e,t,r,i){const n=ue.read(ue.symmetric,e),a=new di.createDecipheriv(pi[n],t,i);return Y(r,(e=>new Uint8Array(a.update(e))))}(e,t,r,i);if(fe.isAES(e))return function(e,t,r,i){if(fe.isStream(r)){const e=new ui(t,i);return Y(r,(t=>e.aes.AES_Decrypt_process(t)),(()=>e.aes.AES_Decrypt_finish()))}return ui.decrypt(r,t,i)}(0,t,r,i);const a=new(hi(e))(t),s=a.blockSize;let o=i,c=new Uint8Array;const u=e=>{e&&(c=fe.concatUint8Array([c,e]));const t=new Uint8Array(c.length);let r,i=0;for(;e?c.length>=s:c.length;){const e=a.encrypt(o);for(o=c.subarray(0,s),r=0;r<s;r++)t[i++]=o[r]^e[r];c=c.subarray(s)}return t.subarray(0,i)};return Y(r,u,u)}});class gi{static encrypt(e,t,r){return new gi(t,r).encrypt(e)}static decrypt(e,t,r){return new gi(t,r).encrypt(e)}constructor(e,t,r){this.aes=r||new Le(e,void 0,!1,"CTR"),delete this.aes.padding,this.AES_CTR_set_options(t)}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}AES_CTR_set_options(e,t,r){let{asm:i}=this.aes.acquire_asm();if(void 0!==r){if(r<8||r>48)throw new Te("illegal counter size");let e=Math.pow(2,r)-1;i.set_mask(0,0,e/4294967296|0,0|e)}else r=48,i.set_mask(0,0,65535,4294967295);if(void 0===e)throw Error("nonce is required");{let t=e.length;if(!t||t>16)throw new Te("illegal nonce size");let r=new DataView(new ArrayBuffer(16));new Uint8Array(r.buffer).set(e),i.set_nonce(r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,r))throw new Te("illegal counter value");i.set_counter(0,0,t/4294967296|0,0|t)}}}class bi{static encrypt(e,t,r=!0,i){return new bi(t,i,r).encrypt(e)}static decrypt(e,t,r=!0,i){return new bi(t,i,r).decrypt(e)}constructor(e,t,r=!0,i){this.aes=i||new Le(e,t,r,"CBC")}encrypt(e){return Ue(this.aes.AES_Encrypt_process(e),this.aes.AES_Encrypt_finish())}decrypt(e){return Ue(this.aes.AES_Decrypt_process(e),this.aes.AES_Decrypt_finish())}}const mi=fe.getWebCrypto(),wi=fe.getNodeCrypto(),Ai=16;function vi(e,t){const r=e.length-Ai;for(let i=0;i<Ai;i++)e[i+r]^=t[i];return e}const ki=new Uint8Array(Ai);async function _i(e){const t=await async function(e){if(fe.getWebCrypto()&&24!==e.length)return e=await mi.importKey("raw",e,{name:"AES-CBC",length:8*e.length},!1,["encrypt"]),async function(t){const r=await mi.encrypt({name:"AES-CBC",iv:ki,length:8*Ai},e,t);return new Uint8Array(r).subarray(0,r.byteLength-Ai)};if(fe.getNodeCrypto())return async function(t){const r=new wi.createCipheriv("aes-"+8*e.length+"-cbc",e,ki).update(t);return new Uint8Array(r)};return async function(t){return bi.encrypt(t,e,!1,ki)}}(e),r=fe.double(await t(ki)),i=fe.double(r);return async function(e){return(await t(function(e,t,r){if(e.length&&e.length%Ai==0)return vi(e,t);const i=new Uint8Array(e.length+(Ai-e.length%Ai));return i.set(e),i[e.length]=128,vi(i,r)}(e,r,i))).subarray(-Ai)}}const Ei=fe.getWebCrypto(),Si=fe.getNodeCrypto(),Ci=fe.getNodeBuffer(),Ii=16,Bi=Ii,Pi=Ii,xi=new Uint8Array(Ii),Mi=new Uint8Array(Ii);Mi[Ii-1]=1;const Di=new Uint8Array(Ii);async function Ki(e){const t=await _i(e);return function(e,r){return t(fe.concatUint8Array([e,r]))}}async function Ui(e){return fe.getWebCrypto()&&24!==e.length?(e=await Ei.importKey("raw",e,{name:"AES-CTR",length:8*e.length},!1,["encrypt"]),async function(t,r){const i=await Ei.encrypt({name:"AES-CTR",counter:r,length:8*Ii},e,t);return new Uint8Array(i)}):fe.getNodeCrypto()?async function(t,r){const i=new Si.createCipheriv("aes-"+8*e.length+"-ctr",e,r),n=Ci.concat([i.update(t),i.final()]);return new Uint8Array(n)}:async function(t,r){return gi.encrypt(t,e,r)}}async function Ri(e,t){if(e!==ue.symmetric.aes128&&e!==ue.symmetric.aes192&&e!==ue.symmetric.aes256)throw Error("EAX mode supports only AES cipher");const[r,i]=await Promise.all([Ki(t),Ui(t)]);return{encrypt:async function(e,t,n){const[a,s]=await Promise.all([r(xi,t),r(Mi,n)]),o=await i(e,a),c=await r(Di,o);for(let e=0;e<Pi;e++)c[e]^=s[e]^a[e];return fe.concatUint8Array([o,c])},decrypt:async function(e,t,n){if(e.length<Pi)throw Error("Invalid EAX ciphertext");const a=e.subarray(0,-Pi),s=e.subarray(-Pi),[o,c,u]=await Promise.all([r(xi,t),r(Mi,n),r(Di,a)]),h=u;for(let e=0;e<Pi;e++)h[e]^=c[e]^o[e];if(!fe.equalsUint8Array(s,h))throw Error("Authentication tag mismatch");return await i(a,o)}}}Di[Ii-1]=2,Ri.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[8+e]^=t[e];return r},Ri.blockLength=Ii,Ri.ivLength=Bi,Ri.tagLength=Pi;const Ti=16,Qi=15,zi=16;function Fi(e){let t=0;for(let r=1;0==(e&r);r<<=1)t++;return t}function Li(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r];return e}function Ni(e,t){return Li(e.slice(),t)}const qi=new Uint8Array(Ti),Oi=new Uint8Array([1]);async function Hi(e,t){let r,i,n,a=0;function s(e,t,i,s){const o=t.length/Ti|0;!function(e,t){const r=fe.nbits(Math.max(e.length,t.length)/Ti|0)-1;for(let e=a+1;e<=r;e++)n[e]=fe.double(n[e-1]);a=r}(t,s);const c=fe.concatUint8Array([qi.subarray(0,Qi-i.length),Oi,i]),u=63&c[Ti-1];c[Ti-1]&=192;const h=r(c),f=fe.concatUint8Array([h,Ni(h.subarray(0,8),h.subarray(1,9))]),d=fe.shiftRight(f.subarray(0+(u>>3),17+(u>>3)),8-(7&u)).subarray(1),l=new Uint8Array(Ti),p=new Uint8Array(t.length+zi);let y,g=0;for(y=0;y<o;y++)Li(d,n[Fi(y+1)]),p.set(Li(e(Ni(d,t)),d),g),Li(l,e===r?t:p.subarray(g)),t=t.subarray(Ti),g+=Ti;if(t.length){Li(d,n.x);const i=r(d);p.set(Ni(t,i),g);const a=new Uint8Array(Ti);a.set(e===r?t:p.subarray(g,-zi),0),a[t.length]=128,Li(l,a),g+=t.length}const b=Li(r(Li(Li(l,d),n.$)),function(e){if(!e.length)return qi;const t=e.length/Ti|0,i=new Uint8Array(Ti),a=new Uint8Array(Ti);for(let s=0;s<t;s++)Li(i,n[Fi(s+1)]),Li(a,r(Ni(i,e))),e=e.subarray(Ti);if(e.length){Li(i,n.x);const t=new Uint8Array(Ti);t.set(e,0),t[e.length]=128,Li(t,i),Li(a,r(t))}return a}(s));return p.set(b,g),p}return function(e,t){const a=ue.read(ue.symmetric,e),s=new st[a](t);r=s.encrypt.bind(s),i=s.decrypt.bind(s);const o=r(qi),c=fe.double(o);n=[],n[0]=fe.double(c),n.x=o,n.$=c}(e,t),{encrypt:async function(e,t,i){return s(r,e,t,i)},decrypt:async function(e,t,r){if(e.length<zi)throw Error("Invalid OCB ciphertext");const n=e.subarray(-zi);e=e.subarray(0,-zi);const a=s(i,e,t,r);if(fe.equalsUint8Array(n,a.subarray(-zi)))return a.subarray(0,-zi);throw Error("Authentication tag mismatch")}}}Hi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[7+e]^=t[e];return r},Hi.blockLength=Ti,Hi.ivLength=Qi,Hi.tagLength=zi;const ji=68719476704;class Gi{constructor(e,t,r,i=16,n){this.tagSize=i,this.gamma0=0,this.counter=1,this.aes=n||new Le(e,void 0,!1,"CTR");let{asm:a,heap:s}=this.aes.acquire_asm();if(a.gcm_init(),this.tagSize<4||this.tagSize>16)throw new Te("illegal tagSize value");const o=t.length||0,c=new Uint8Array(16);12!==o?(this._gcm_mac_process(t),s[0]=0,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=0,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=0,s[11]=o>>>29,s[12]=o>>>21&255,s[13]=o>>>13&255,s[14]=o>>>5&255,s[15]=o<<3&255,a.mac(xe.MAC.GCM,xe.HEAP_DATA,16),a.get_iv(xe.HEAP_DATA),a.set_iv(0,0,0,0),c.set(s.subarray(0,16))):(c.set(t),c[15]=1);const u=new DataView(c.buffer);if(this.gamma0=u.getUint32(12),a.set_nonce(u.getUint32(0),u.getUint32(4),u.getUint32(8),0),a.set_mask(0,0,0,4294967295),void 0!==r){if(r.length>ji)throw new Te("illegal adata length");r.length?(this.adata=r,this._gcm_mac_process(r)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");a.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(e,t,r,i,n){return new Gi(t,r,i,n).encrypt(e)}static decrypt(e,t,r,i,n){return new Gi(t,r,i,n).decrypt(e)}encrypt(e){return this.AES_GCM_encrypt(e)}decrypt(e){return this.AES_GCM_decrypt(e)}AES_GCM_Encrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.aes.pos,o=this.aes.len,c=0,u=o+r&-16,h=0;if((a-1<<4)+o+r>ji)throw new RangeError("counter overflow");const f=new Uint8Array(u);for(;r>0;)h=Ke(n,s+o,e,t,r),o+=h,t+=h,r-=h,h=i.cipher(xe.ENC.CTR,xe.HEAP_DATA+s,o),h=i.mac(xe.MAC.GCM,xe.HEAP_DATA+s,h),h&&f.set(n.subarray(s,s+h),c),a+=h>>>4,c+=h,h<o?(s+=h,o-=h):(s=0,o=0);return this.counter=a,this.aes.pos=s,this.aes.len=o,f}AES_GCM_Encrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.counter,i=this.tagSize,n=this.adata,a=this.aes.pos,s=this.aes.len;const o=new Uint8Array(s+i);e.cipher(xe.ENC.CTR,xe.HEAP_DATA+a,s+15&-16),s&&o.set(t.subarray(a,a+s));let c=s;for(;15&c;c++)t[a+c]=0;e.mac(xe.MAC.GCM,xe.HEAP_DATA+a,c);const u=void 0!==n?n.length:0,h=(r-1<<4)+s;return t[0]=0,t[1]=0,t[2]=0,t[3]=u>>>29,t[4]=u>>>21,t[5]=u>>>13&255,t[6]=u>>>5&255,t[7]=u<<3&255,t[8]=t[9]=t[10]=0,t[11]=h>>>29,t[12]=h>>>21&255,t[13]=h>>>13&255,t[14]=h>>>5&255,t[15]=h<<3&255,e.mac(xe.MAC.GCM,xe.HEAP_DATA,16),e.get_iv(xe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(xe.ENC.CTR,xe.HEAP_DATA,16),o.set(t.subarray(0,i),s),this.counter=1,this.aes.pos=0,this.aes.len=0,o}AES_GCM_Decrypt_process(e){let t=0,r=e.length||0,{asm:i,heap:n}=this.aes.acquire_asm(),a=this.counter,s=this.tagSize,o=this.aes.pos,c=this.aes.len,u=0,h=c+r>s?c+r-s&-16:0,f=c+r-h,d=0;if((a-1<<4)+c+r>ji)throw new RangeError("counter overflow");const l=new Uint8Array(h);for(;r>f;)d=Ke(n,o+c,e,t,r-f),c+=d,t+=d,r-=d,d=i.mac(xe.MAC.GCM,xe.HEAP_DATA+o,d),d=i.cipher(xe.DEC.CTR,xe.HEAP_DATA+o,d),d&&l.set(n.subarray(o,o+d),u),a+=d>>>4,u+=d,o=0,c=0;return r>0&&(c+=Ke(n,0,e,t,r)),this.counter=a,this.aes.pos=o,this.aes.len=c,l}AES_GCM_Decrypt_finish(){let{asm:e,heap:t}=this.aes.acquire_asm(),r=this.tagSize,i=this.adata,n=this.counter,a=this.aes.pos,s=this.aes.len,o=s-r;if(s<r)throw new Re("authentication tag not found");const c=new Uint8Array(o),u=new Uint8Array(t.subarray(a+o,a+s));let h=o;for(;15&h;h++)t[a+h]=0;e.mac(xe.MAC.GCM,xe.HEAP_DATA+a,h),e.cipher(xe.DEC.CTR,xe.HEAP_DATA+a,h),o&&c.set(t.subarray(a,a+o));const f=void 0!==i?i.length:0,d=(n-1<<4)+s-r;t[0]=0,t[1]=0,t[2]=0,t[3]=f>>>29,t[4]=f>>>21,t[5]=f>>>13&255,t[6]=f>>>5&255,t[7]=f<<3&255,t[8]=t[9]=t[10]=0,t[11]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(xe.MAC.GCM,xe.HEAP_DATA,16),e.get_iv(xe.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(xe.ENC.CTR,xe.HEAP_DATA,16);let l=0;for(let e=0;e<r;++e)l|=u[e]^t[e];if(l)throw new Qe("data integrity check failed");return this.counter=1,this.aes.pos=0,this.aes.len=0,c}AES_GCM_decrypt(e){const t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}AES_GCM_encrypt(e){const t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),i=new Uint8Array(t.length+r.length);return t.length&&i.set(t),r.length&&i.set(r,t.length),i}_gcm_mac_process(e){let{asm:t,heap:r}=this.aes.acquire_asm(),i=0,n=e.length||0,a=0;for(;n>0;){for(a=Ke(r,0,e,i,n),i+=a,n-=a;15&a;)r[a++]=0;t.mac(xe.MAC.GCM,xe.HEAP_DATA,a)}}}const Wi=fe.getWebCrypto(),Vi=fe.getNodeCrypto(),Ji=fe.getNodeBuffer(),Yi=16,Zi="AES-GCM";async function Xi(e,t){if(e!==ue.symmetric.aes128&&e!==ue.symmetric.aes192&&e!==ue.symmetric.aes256)throw Error("GCM mode supports only AES cipher");if(fe.getNodeCrypto())return{encrypt:async function(e,r,i=new Uint8Array){const n=new Vi.createCipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i);const a=Ji.concat([n.update(e),n.final(),n.getAuthTag()]);return new Uint8Array(a)},decrypt:async function(e,r,i=new Uint8Array){const n=new Vi.createDecipheriv("aes-"+8*t.length+"-gcm",t,r);n.setAAD(i),n.setAuthTag(e.slice(e.length-Yi,e.length));const a=Ji.concat([n.update(e.slice(0,e.length-Yi)),n.final()]);return new Uint8Array(a)}};if(fe.getWebCrypto()&&24!==t.length){const e=await Wi.importKey("raw",t,{name:Zi},!1,["encrypt","decrypt"]);return{encrypt:async function(r,i,n=new Uint8Array){if(!r.length)return Gi.encrypt(r,t,i,n);const a=await Wi.encrypt({name:Zi,iv:i,additionalData:n,tagLength:8*Yi},e,r);return new Uint8Array(a)},decrypt:async function(r,i,n=new Uint8Array){if(r.length===Yi)return Gi.decrypt(r,t,i,n);const a=await Wi.decrypt({name:Zi,iv:i,additionalData:n,tagLength:8*Yi},e,r);return new Uint8Array(a)}}}return{encrypt:async function(e,r,i){return Gi.encrypt(e,t,r,i)},decrypt:async function(e,r,i){return Gi.decrypt(e,t,r,i)}}}Xi.getNonce=function(e,t){const r=e.slice();for(let e=0;e<t.length;e++)r[4+e]^=t[e];return r},Xi.blockLength=16,Xi.ivLength=12,Xi.tagLength=Yi;var $i={cfb:yi,gcm:Xi,experimentalGCM:Xi,eax:Ri,ocb:Hi},en=mt((function(e){!function(e){var t=function(e){var t,r=new Float64Array(16);if(e)for(t=0;t<e.length;t++)r[t]=e[t];return r},r=function(){throw Error("no PRNG")},i=new Uint8Array(32);i[0]=9;var n=t(),a=t([1]),s=t([56129,1]),o=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),c=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),u=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),d=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function l(e,t,r,i){return function(e,t,r,i,n){var a,s=0;for(a=0;a<n;a++)s|=e[t+a]^r[i+a];return(1&s-1>>>8)-1}(e,t,r,i,32)}function p(e,t){var r;for(r=0;r<16;r++)e[r]=0|t[r]}function y(e){var t,r,i=1;for(t=0;t<16;t++)r=e[t]+i+65535,i=Math.floor(r/65536),e[t]=r-65536*i;e[0]+=i-1+37*(i-1)}function g(e,t,r){for(var i,n=~(r-1),a=0;a<16;a++)i=n&(e[a]^t[a]),e[a]^=i,t[a]^=i}function b(e,r){var i,n,a,s=t(),o=t();for(i=0;i<16;i++)o[i]=r[i];for(y(o),y(o),y(o),n=0;n<2;n++){for(s[0]=o[0]-65517,i=1;i<15;i++)s[i]=o[i]-65535-(s[i-1]>>16&1),s[i-1]&=65535;s[15]=o[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,g(o,s,1-a)}for(i=0;i<16;i++)e[2*i]=255&o[i],e[2*i+1]=o[i]>>8}function m(e,t){var r=new Uint8Array(32),i=new Uint8Array(32);return b(r,e),b(i,t),l(r,0,i,0)}function w(e){var t=new Uint8Array(32);return b(t,e),1&t[0]}function A(e,t){var r;for(r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}function v(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]+r[i]}function k(e,t,r){for(var i=0;i<16;i++)e[i]=t[i]-r[i]}function _(e,t,r){var i,n,a=0,s=0,o=0,c=0,u=0,h=0,f=0,d=0,l=0,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=0,S=0,C=0,I=0,B=0,P=0,x=0,M=0,D=0,K=0,U=0,R=0,T=r[0],Q=r[1],z=r[2],F=r[3],L=r[4],N=r[5],q=r[6],O=r[7],H=r[8],j=r[9],G=r[10],W=r[11],V=r[12],J=r[13],Y=r[14],Z=r[15];a+=(i=t[0])*T,s+=i*Q,o+=i*z,c+=i*F,u+=i*L,h+=i*N,f+=i*q,d+=i*O,l+=i*H,p+=i*j,y+=i*G,g+=i*W,b+=i*V,m+=i*J,w+=i*Y,A+=i*Z,s+=(i=t[1])*T,o+=i*Q,c+=i*z,u+=i*F,h+=i*L,f+=i*N,d+=i*q,l+=i*O,p+=i*H,y+=i*j,g+=i*G,b+=i*W,m+=i*V,w+=i*J,A+=i*Y,v+=i*Z,o+=(i=t[2])*T,c+=i*Q,u+=i*z,h+=i*F,f+=i*L,d+=i*N,l+=i*q,p+=i*O,y+=i*H,g+=i*j,b+=i*G,m+=i*W,w+=i*V,A+=i*J,v+=i*Y,k+=i*Z,c+=(i=t[3])*T,u+=i*Q,h+=i*z,f+=i*F,d+=i*L,l+=i*N,p+=i*q,y+=i*O,g+=i*H,b+=i*j,m+=i*G,w+=i*W,A+=i*V,v+=i*J,k+=i*Y,_+=i*Z,u+=(i=t[4])*T,h+=i*Q,f+=i*z,d+=i*F,l+=i*L,p+=i*N,y+=i*q,g+=i*O,b+=i*H,m+=i*j,w+=i*G,A+=i*W,v+=i*V,k+=i*J,_+=i*Y,E+=i*Z,h+=(i=t[5])*T,f+=i*Q,d+=i*z,l+=i*F,p+=i*L,y+=i*N,g+=i*q,b+=i*O,m+=i*H,w+=i*j,A+=i*G,v+=i*W,k+=i*V,_+=i*J,E+=i*Y,S+=i*Z,f+=(i=t[6])*T,d+=i*Q,l+=i*z,p+=i*F,y+=i*L,g+=i*N,b+=i*q,m+=i*O,w+=i*H,A+=i*j,v+=i*G,k+=i*W,_+=i*V,E+=i*J,S+=i*Y,C+=i*Z,d+=(i=t[7])*T,l+=i*Q,p+=i*z,y+=i*F,g+=i*L,b+=i*N,m+=i*q,w+=i*O,A+=i*H,v+=i*j,k+=i*G,_+=i*W,E+=i*V,S+=i*J,C+=i*Y,I+=i*Z,l+=(i=t[8])*T,p+=i*Q,y+=i*z,g+=i*F,b+=i*L,m+=i*N,w+=i*q,A+=i*O,v+=i*H,k+=i*j,_+=i*G,E+=i*W,S+=i*V,C+=i*J,I+=i*Y,B+=i*Z,p+=(i=t[9])*T,y+=i*Q,g+=i*z,b+=i*F,m+=i*L,w+=i*N,A+=i*q,v+=i*O,k+=i*H,_+=i*j,E+=i*G,S+=i*W,C+=i*V,I+=i*J,B+=i*Y,P+=i*Z,y+=(i=t[10])*T,g+=i*Q,b+=i*z,m+=i*F,w+=i*L,A+=i*N,v+=i*q,k+=i*O,_+=i*H,E+=i*j,S+=i*G,C+=i*W,I+=i*V,B+=i*J,P+=i*Y,x+=i*Z,g+=(i=t[11])*T,b+=i*Q,m+=i*z,w+=i*F,A+=i*L,v+=i*N,k+=i*q,_+=i*O,E+=i*H,S+=i*j,C+=i*G,I+=i*W,B+=i*V,P+=i*J,x+=i*Y,M+=i*Z,b+=(i=t[12])*T,m+=i*Q,w+=i*z,A+=i*F,v+=i*L,k+=i*N,_+=i*q,E+=i*O,S+=i*H,C+=i*j,I+=i*G,B+=i*W,P+=i*V,x+=i*J,M+=i*Y,D+=i*Z,m+=(i=t[13])*T,w+=i*Q,A+=i*z,v+=i*F,k+=i*L,_+=i*N,E+=i*q,S+=i*O,C+=i*H,I+=i*j,B+=i*G,P+=i*W,x+=i*V,M+=i*J,D+=i*Y,K+=i*Z,w+=(i=t[14])*T,A+=i*Q,v+=i*z,k+=i*F,_+=i*L,E+=i*N,S+=i*q,C+=i*O,I+=i*H,B+=i*j,P+=i*G,x+=i*W,M+=i*V,D+=i*J,K+=i*Y,U+=i*Z,A+=(i=t[15])*T,s+=38*(k+=i*z),o+=38*(_+=i*F),c+=38*(E+=i*L),u+=38*(S+=i*N),h+=38*(C+=i*q),f+=38*(I+=i*O),d+=38*(B+=i*H),l+=38*(P+=i*j),p+=38*(x+=i*G),y+=38*(M+=i*W),g+=38*(D+=i*V),b+=38*(K+=i*J),m+=38*(U+=i*Y),w+=38*(R+=i*Z),a=(i=(a+=38*(v+=i*Q))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a=(i=(a+=n-1+37*(n-1))+(n=1)+65535)-65536*(n=Math.floor(i/65536)),s=(i=s+n+65535)-65536*(n=Math.floor(i/65536)),o=(i=o+n+65535)-65536*(n=Math.floor(i/65536)),c=(i=c+n+65535)-65536*(n=Math.floor(i/65536)),u=(i=u+n+65535)-65536*(n=Math.floor(i/65536)),h=(i=h+n+65535)-65536*(n=Math.floor(i/65536)),f=(i=f+n+65535)-65536*(n=Math.floor(i/65536)),d=(i=d+n+65535)-65536*(n=Math.floor(i/65536)),l=(i=l+n+65535)-65536*(n=Math.floor(i/65536)),p=(i=p+n+65535)-65536*(n=Math.floor(i/65536)),y=(i=y+n+65535)-65536*(n=Math.floor(i/65536)),g=(i=g+n+65535)-65536*(n=Math.floor(i/65536)),b=(i=b+n+65535)-65536*(n=Math.floor(i/65536)),m=(i=m+n+65535)-65536*(n=Math.floor(i/65536)),w=(i=w+n+65535)-65536*(n=Math.floor(i/65536)),A=(i=A+n+65535)-65536*(n=Math.floor(i/65536)),a+=n-1+37*(n-1),e[0]=a,e[1]=s,e[2]=o,e[3]=c,e[4]=u,e[5]=h,e[6]=f,e[7]=d,e[8]=l,e[9]=p,e[10]=y,e[11]=g,e[12]=b,e[13]=m,e[14]=w,e[15]=A}function E(e,t){_(e,t,t)}function S(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=253;i>=0;i--)E(n,n),2!==i&&4!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}function C(e,r,i){var n,a,o=new Uint8Array(32),c=new Float64Array(80),u=t(),h=t(),f=t(),d=t(),l=t(),p=t();for(a=0;a<31;a++)o[a]=r[a];for(o[31]=127&r[31]|64,o[0]&=248,A(c,i),a=0;a<16;a++)h[a]=c[a],d[a]=u[a]=f[a]=0;for(u[0]=d[0]=1,a=254;a>=0;--a)g(u,h,n=o[a>>>3]>>>(7&a)&1),g(f,d,n),v(l,u,f),k(u,u,f),v(f,h,d),k(h,h,d),E(d,l),E(p,u),_(u,f,u),_(f,h,l),v(l,u,f),k(u,u,f),E(h,u),k(f,d,p),_(u,f,s),v(u,u,d),_(f,f,u),_(u,d,p),_(d,h,c),E(h,l),g(u,h,n),g(f,d,n);for(a=0;a<16;a++)c[a+16]=u[a],c[a+32]=f[a],c[a+48]=h[a],c[a+64]=d[a];var y=c.subarray(32),m=c.subarray(16);return S(y,y),_(m,m,y),b(e,m),0}function I(e,t){return C(e,t,i)}function B(e,r){var i=t(),n=t(),a=t(),s=t(),o=t(),u=t(),h=t(),f=t(),d=t();k(i,e[1],e[0]),k(d,r[1],r[0]),_(i,i,d),v(n,e[0],e[1]),v(d,r[0],r[1]),_(n,n,d),_(a,e[3],r[3]),_(a,a,c),_(s,e[2],r[2]),v(s,s,s),k(o,n,i),k(u,s,a),v(h,s,a),v(f,n,i),_(e[0],o,u),_(e[1],f,h),_(e[2],h,u),_(e[3],o,f)}function P(e,t,r){var i;for(i=0;i<4;i++)g(e[i],t[i],r)}function x(e,r){var i=t(),n=t(),a=t();S(a,r[2]),_(i,r[0],a),_(n,r[1],a),b(e,n),e[31]^=w(i)<<7}function M(e,t,r){var i,s;for(p(e[0],n),p(e[1],a),p(e[2],a),p(e[3],n),s=255;s>=0;--s)P(e,t,i=r[s/8|0]>>(7&s)&1),B(t,e),B(e,e),P(e,t,i)}function D(e,r){var i=[t(),t(),t(),t()];p(i[0],u),p(i[1],h),p(i[2],a),_(i[3],u,h),M(e,i,r)}function K(i,n,a){var s,o,c=[t(),t(),t(),t()];for(a||r(n,32),(s=e.hash(n.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64,D(c,s),x(i,c),o=0;o<32;o++)n[o+32]=i[o];return 0}var U=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function R(e,t){var r,i,n,a;for(i=63;i>=32;--i){for(r=0,n=i-32,a=i-12;n<a;++n)t[n]+=r-16*t[i]*U[n-(i-32)],r=Math.floor((t[n]+128)/256),t[n]-=256*r;t[n]+=r,t[i]=0}for(r=0,n=0;n<32;n++)t[n]+=r-(t[31]>>4)*U[n],r=t[n]>>8,t[n]&=255;for(n=0;n<32;n++)t[n]-=r*U[n];for(i=0;i<32;i++)t[i+1]+=t[i]>>8,e[i]=255&t[i]}function T(e){var t,r=new Float64Array(64);for(t=0;t<64;t++)r[t]=e[t];for(t=0;t<64;t++)e[t]=0;R(e,r)}function Q(e,r){var i=t(),s=t(),c=t(),u=t(),h=t(),f=t(),l=t();return p(e[2],a),A(e[1],r),E(c,e[1]),_(u,c,o),k(c,c,e[2]),v(u,e[2],u),E(h,u),E(f,h),_(l,f,h),_(i,l,c),_(i,i,u),function(e,r){var i,n=t();for(i=0;i<16;i++)n[i]=r[i];for(i=250;i>=0;i--)E(n,n),1!==i&&_(n,n,r);for(i=0;i<16;i++)e[i]=n[i]}(i,i),_(i,i,c),_(i,i,u),_(i,i,u),_(e[0],i,u),E(s,e[0]),_(s,s,u),m(s,c)&&_(e[0],e[0],d),E(s,e[0]),_(s,s,u),m(s,c)?-1:(w(e[0])===r[31]>>7&&k(e[0],n,e[0]),_(e[3],e[0],e[1]),0)}var z=64;function F(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function L(e){for(var t=0;t<e.length;t++)e[t]=0}e.scalarMult=function(e,t){if(F(e,t),32!==e.length)throw Error("bad n size");if(32!==t.length)throw Error("bad p size");var r=new Uint8Array(32);return C(r,e,t),r},e.box={},e.box.keyPair=function(){var e,t,i=new Uint8Array(32),n=new Uint8Array(32);return e=i,r(t=n,32),I(e,t),{publicKey:i,secretKey:n}},e.box.keyPair.fromSecretKey=function(e){if(F(e),32!==e.length)throw Error("bad secret key size");var t=new Uint8Array(32);return I(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.sign=function(r,i){if(F(r,i),64!==i.length)throw Error("bad secret key size");var n=new Uint8Array(z+r.length);return function(r,i,n,a){var s,o,c,u,h,f=new Float64Array(64),d=[t(),t(),t(),t()];(s=e.hash(a.subarray(0,32)))[0]&=248,s[31]&=127,s[31]|=64;var l=n+64;for(u=0;u<n;u++)r[64+u]=i[u];for(u=0;u<32;u++)r[32+u]=s[32+u];for(T(c=e.hash(r.subarray(32,l))),D(d,c),x(r,d),u=32;u<64;u++)r[u]=a[u];for(T(o=e.hash(r.subarray(0,l))),u=0;u<64;u++)f[u]=0;for(u=0;u<32;u++)f[u]=c[u];for(u=0;u<32;u++)for(h=0;h<32;h++)f[u+h]+=o[u]*s[h];R(r.subarray(32),f)}(n,r,r.length,i),n},e.sign.detached=function(t,r){for(var i=e.sign(t,r),n=new Uint8Array(z),a=0;a<n.length;a++)n[a]=i[a];return n},e.sign.detached.verify=function(r,i,n){if(F(r,i,n),i.length!==z)throw Error("bad signature size");if(32!==n.length)throw Error("bad public key size");var a,s=new Uint8Array(z+r.length),o=new Uint8Array(z+r.length);for(a=0;a<z;a++)s[a]=i[a];for(a=0;a<r.length;a++)s[a+z]=r[a];return function(r,i,n,a){var s,o,c=new Uint8Array(32),u=[t(),t(),t(),t()],h=[t(),t(),t(),t()];if(n<64)return-1;if(Q(h,a))return-1;for(s=0;s<n;s++)r[s]=i[s];for(s=0;s<32;s++)r[s+32]=a[s];if(T(o=e.hash(r.subarray(0,n))),M(u,h,o),D(h,i.subarray(32)),B(u,h),x(c,u),n-=64,l(i,0,c,0)){for(s=0;s<n;s++)r[s]=0;return-1}for(s=0;s<n;s++)r[s]=i[s+64];return n}(o,s,s.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return K(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(F(e),64!==e.length)throw Error("bad secret key size");for(var t=new Uint8Array(32),r=0;r<t.length;r++)t[r]=e[32+r];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(F(e),32!==e.length)throw Error("bad seed size");for(var t=new Uint8Array(32),r=new Uint8Array(64),i=0;i<32;i++)r[i]=e[i];return K(t,r,!0),{publicKey:t,secretKey:r}},e.setPRNG=function(e){r=e},function(){var t="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG((function(e,r){var i,n=new Uint8Array(r);for(i=0;i<r;i+=65536)t.getRandomValues(n.subarray(i,i+Math.min(r-i,65536)));for(i=0;i<r;i++)e[i]=n[i];L(n)}))}else void 0!==wt&&(t=f.default)&&t.randomBytes&&e.setPRNG((function(e,r){var i,n=t.randomBytes(r);for(i=0;i<r;i++)e[i]=n[i];L(n)}))}()}(e.exports?e.exports:self.nacl=self.nacl||{})}));const tn=fe.getNodeCrypto();function rn(e){const t=new Uint8Array(e);if(tn){const e=tn.randomBytes(t.length);t.set(e)}else{if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("No secure random number generator available.");crypto.getRandomValues(t)}return t}async function nn(e,t){const r=await fe.getBigInteger();if(t.lt(e))throw Error("Illegal parameter value: max <= min");const i=t.sub(e),n=i.byteLength();return new r(await rn(n+8)).mod(i).add(e)}var an=/*#__PURE__*/Object.freeze({__proto__:null,getRandomBytes:rn,getRandomBigInteger:nn});async function sn(e,t,r){const i=await fe.getBigInteger(),n=new i(1),a=n.leftShift(new i(e-1)),s=new i(30),o=[1,6,5,4,3,2,1,4,3,2,1,2,1,4,3,2,1,2,1,4,3,2,1,6,5,4,3,2,1,2],c=await nn(a,a.leftShift(n));let u=c.mod(s).toNumber();do{c.iadd(new i(o[u])),u=(u+o[u])%o.length,c.bitLength()>e&&(c.imod(a.leftShift(n)).iadd(a),u=c.mod(s).toNumber())}while(!await on(c,t,r));return c}async function on(e,t,r){return!(t&&!e.dec().gcd(t).isOne())&&(!!await async function(e){const t=await fe.getBigInteger();return cn.every((r=>0!==e.mod(new t(r))))}(e)&&(!!await async function(e,t){const r=await fe.getBigInteger();return t=t||new r(2),t.modExp(e.dec(),e).isOne()}(e)&&!!await async function(e,t,r){const i=await fe.getBigInteger(),n=e.bitLength();t||(t=Math.max(1,n/48|0));const a=e.dec();let s=0;for(;!a.getBit(s);)s++;const o=e.rightShift(new i(s));for(;t>0;t--){let t,n=(r?r():await nn(new i(2),a)).modExp(o,e);if(!n.isOne()&&!n.equal(a)){for(t=1;t<s;t++){if(n=n.mul(n).mod(e),n.isOne())return!1;if(n.equal(a))break}if(t===s)return!1}}return!0}(e,r)))}const cn=[7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999];const un=[];function hn(e,t){const r=e.length;if(r>t-11)throw Error("Message too long");const i=function(e){const t=new Uint8Array(e);let r=0;for(;r<e;){const i=rn(e-r);for(let e=0;e<i.length;e++)0!==i[e]&&(t[r++]=i[e])}return t}(t-r-3),n=new Uint8Array(t);return n[1]=2,n.set(i,2),n.set(e,t-r),n}function fn(e,t){let r=2,i=1;for(let t=r;t<e.length;t++)i&=0!==e[t],r+=i;const n=r-2,a=e.subarray(r+1),s=0===e[0]&2===e[1]&n>=8&!i;if(t)return fe.selectUint8Array(s,a,t);if(s)return a;throw Error("Decryption error")}async function dn(e,t,r){let i;if(t.length!==ci.getHashByteLength(e))throw Error("Invalid hash length");const n=new Uint8Array(un[e].length);for(i=0;i<un[e].length;i++)n[i]=un[e][i];const a=n.length+t.length;if(r<a+11)throw Error("Intended encoded message length too short");const s=new Uint8Array(r-a-3).fill(255),o=new Uint8Array(r);return o[1]=1,o.set(s,2),o.set(n,r-a),o.set(t,r-t.length),o}un[1]=[48,32,48,12,6,8,42,134,72,134,247,13,2,5,5,0,4,16],un[2]=[48,33,48,9,6,5,43,14,3,2,26,5,0,4,20],un[3]=[48,33,48,9,6,5,43,36,3,2,1,5,0,4,20],un[8]=[48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32],un[9]=[48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48],un[10]=[48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64],un[11]=[48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28];var ln=/*#__PURE__*/Object.freeze({__proto__:null,emeEncode:hn,emeDecode:fn,emsaEncode:dn});const pn=fe.getWebCrypto(),yn=fe.getNodeCrypto(),gn=yn?y.default:void 0,bn=yn?gn.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())})):void 0,mn=yn?gn.define("RSAPubliceKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())})):void 0;var wn=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a,s,o,c){if(t&&!fe.isStream(t))if(fe.getWebCrypto())try{return await async function(e,t,r,i,n,a,s,o){const c=await async function(e,t,r,i,n,a){const s=await fe.getBigInteger(),o=new s(i),c=new s(n),u=new s(r);let h=u.mod(c.dec()),f=u.mod(o.dec());return f=f.toUint8Array(),h=h.toUint8Array(),{kty:"RSA",n:me(e,!0),e:me(t,!0),d:me(r,!0),p:me(n,!0),q:me(i,!0),dp:me(h,!0),dq:me(f,!0),qi:me(a,!0),ext:!0}}(r,i,n,a,s,o),u={name:"RSASSA-PKCS1-v1_5",hash:{name:e}},h=await pn.importKey("jwk",c,u,!1,["sign"]);return new Uint8Array(await pn.sign("RSASSA-PKCS1-v1_5",h,t))}(ue.read(ue.webHash,e),t,r,i,n,a,s,o)}catch(e){fe.printDebugError(e)}else if(fe.getNodeCrypto())return async function(e,t,r,i,n,a,s,o){const{default:c}=await Promise.resolve().then((function(){return gy})),u=new c(a),h=new c(s),f=new c(n),d=f.mod(h.subn(1)),l=f.mod(u.subn(1)),p=yn.createSign(ue.read(ue.hash,e));p.write(t),p.end();const y={version:0,modulus:new c(r),publicExponent:new c(i),privateExponent:new c(n),prime1:new c(s),prime2:new c(a),exponent1:d,exponent2:l,coefficient:new c(o)};if(void 0!==yn.createPrivateKey){const e=bn.encode(y,"der");return new Uint8Array(p.sign({key:e,format:"der",type:"pkcs1"}))}const g=bn.encode(y,"pem",{label:"RSA PRIVATE KEY"});return new Uint8Array(p.sign(g))}(e,t,r,i,n,a,s,o);return async function(e,t,r,i){const n=await fe.getBigInteger();t=new n(t);const a=new n(await dn(e,i,t.byteLength()));if(r=new n(r),a.gte(t))throw Error("Message size cannot exceed modulus size");return a.modExp(r,t).toUint8Array("be",t.byteLength())}(e,r,n,c)},verify:async function(e,t,r,i,n,a){if(t&&!fe.isStream(t))if(fe.getWebCrypto())try{return await async function(e,t,r,i,n){const a=function(e,t){return{kty:"RSA",n:me(e,!0),e:me(t,!0),ext:!0}}(i,n),s=await pn.importKey("jwk",a,{name:"RSASSA-PKCS1-v1_5",hash:{name:e}},!1,["verify"]);return pn.verify("RSASSA-PKCS1-v1_5",s,r,t)}(ue.read(ue.webHash,e),t,r,i,n)}catch(e){fe.printDebugError(e)}else if(fe.getNodeCrypto())return async function(e,t,r,i,n){const{default:a}=await Promise.resolve().then((function(){return gy})),s=yn.createVerify(ue.read(ue.hash,e));s.write(t),s.end();const o={modulus:new a(i),publicExponent:new a(n)};let c;if(void 0!==yn.createPrivateKey){c={key:mn.encode(o,"der"),format:"der",type:"pkcs1"}}else c=mn.encode(o,"pem",{label:"RSA PUBLIC KEY"});try{return await s.verify(c,r)}catch(e){return!1}}(e,t,r,i,n);return async function(e,t,r,i,n){const a=await fe.getBigInteger();if(r=new a(r),t=new a(t),i=new a(i),t.gte(r))throw Error("Signature size cannot exceed modulus size");const s=t.modExp(i,r).toUint8Array("be",r.byteLength()),o=await dn(e,n,r.byteLength());return fe.equalsUint8Array(s,o)}(e,r,i,n,a)},encrypt:async function(e,t,r){return fe.getNodeCrypto()?async function(e,t,r){const{default:i}=await Promise.resolve().then((function(){return gy})),n={modulus:new i(t),publicExponent:new i(r)};let a;if(void 0!==yn.createPrivateKey){a={key:mn.encode(n,"der"),format:"der",type:"pkcs1",padding:yn.constants.RSA_PKCS1_PADDING}}else{a={key:mn.encode(n,"pem",{label:"RSA PUBLIC KEY"}),padding:yn.constants.RSA_PKCS1_PADDING}}return new Uint8Array(yn.publicEncrypt(a,e))}(e,t,r):async function(e,t,r){const i=await fe.getBigInteger();if(t=new i(t),e=new i(hn(e,t.byteLength())),r=new i(r),e.gte(t))throw Error("Message size cannot exceed modulus size");return e.modExp(r,t).toUint8Array("be",t.byteLength())}(e,t,r)},decrypt:async function(e,t,r,i,n,a,s,o){if(fe.getNodeCrypto()&&!o)try{return await async function(e,t,r,i,n,a,s){const{default:o}=await Promise.resolve().then((function(){return gy})),c=new o(n),u=new o(a),h=new o(i),f=h.mod(u.subn(1)),d=h.mod(c.subn(1)),l={version:0,modulus:new o(t),publicExponent:new o(r),privateExponent:new o(i),prime1:new o(a),prime2:new o(n),exponent1:f,exponent2:d,coefficient:new o(s)};let p;if(void 0!==yn.createPrivateKey){p={key:bn.encode(l,"der"),format:"der",type:"pkcs1",padding:yn.constants.RSA_PKCS1_PADDING}}else{p={key:bn.encode(l,"pem",{label:"RSA PRIVATE KEY"}),padding:yn.constants.RSA_PKCS1_PADDING}}try{return new Uint8Array(yn.privateDecrypt(p,e))}catch(e){throw Error("Decryption error")}}(e,t,r,i,n,a,s)}catch(e){fe.printDebugError(e)}return async function(e,t,r,i,n,a,s,o){const c=await fe.getBigInteger();if(e=new c(e),t=new c(t),r=new c(r),i=new c(i),n=new c(n),a=new c(a),s=new c(s),e.gte(t))throw Error("Data too large.");const u=i.mod(a.dec()),h=i.mod(n.dec()),f=(await nn(new c(2),t)).mod(t),d=f.modInv(t).modExp(r,t);e=e.mul(d).mod(t);const l=e.modExp(h,n),p=e.modExp(u,a),y=s.mul(p.sub(l)).mod(a);let g=y.mul(n).add(l);return g=g.mul(f).mod(t),fn(g.toUint8Array("be",t.byteLength()),o)}(e,t,r,i,n,a,s,o)},generate:async function(e,t){if(t=new(await fe.getBigInteger())(t),fe.getWebCrypto()){const r={name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:t.toUint8Array(),hash:{name:"SHA-1"}},i=await pn.generateKey(r,!0,["sign","verify"]),n=await pn.exportKey("jwk",i.privateKey);return{n:be(n.n),e:t.toUint8Array(),d:be(n.d),p:be(n.q),q:be(n.p),u:be(n.qi)}}if(fe.getNodeCrypto()&&yn.generateKeyPair&&bn){const r={modulusLength:e,publicExponent:t.toNumber(),publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"der"}},i=await new Promise(((e,t)=>{yn.generateKeyPair("rsa",r,((r,i,n)=>{r?t(r):e(bn.decode(n,"der"))}))}));return{n:i.modulus.toArrayLike(Uint8Array),e:i.publicExponent.toArrayLike(Uint8Array),d:i.privateExponent.toArrayLike(Uint8Array),p:i.prime2.toArrayLike(Uint8Array),q:i.prime1.toArrayLike(Uint8Array),u:i.coefficient.toArrayLike(Uint8Array)}}let r,i,n;do{i=await sn(e-(e>>1),t,40),r=await sn(e>>1,t,40),n=r.mul(i)}while(n.bitLength()!==e);const a=r.dec().imul(i.dec());return i.lt(r)&&([r,i]=[i,r]),{n:n.toUint8Array(),e:t.toUint8Array(),d:t.modInv(a).toUint8Array(),p:r.toUint8Array(),q:i.toUint8Array(),u:r.modInv(i).toUint8Array()}},validateParams:async function(e,t,r,i,n,a){const s=await fe.getBigInteger();if(e=new s(e),i=new s(i),n=new s(n),!i.mul(n).equal(e))return!1;const o=new s(2);if(a=new s(a),!i.mul(a).mod(n).isOne())return!1;t=new s(t),r=new s(r);const c=new s(Math.floor(e.bitLength()/3)),u=await nn(o,o.leftShift(c)),h=u.mul(r).mul(t);return!(!h.mod(i.dec()).equal(u)||!h.mod(n.dec()).equal(u))}});var An=/*#__PURE__*/Object.freeze({__proto__:null,encrypt:async function(e,t,r,i){const n=await fe.getBigInteger();t=new n(t),r=new n(r),i=new n(i);const a=new n(hn(e,t.byteLength())),s=await nn(new n(1),t.dec());return{c1:r.modExp(s,t).toUint8Array(),c2:i.modExp(s,t).imul(a).imod(t).toUint8Array()}},decrypt:async function(e,t,r,i,n){const a=await fe.getBigInteger();return e=new a(e),t=new a(t),r=new a(r),i=new a(i),fn(e.modExp(i,r).modInv(r).imul(t).imod(r).toUint8Array("be",r.byteLength()),n)},validateParams:async function(e,t,r,i){const n=await fe.getBigInteger();e=new n(e),t=new n(t),r=new n(r);const a=new n(1);if(t.lte(a)||t.gte(e))return!1;const s=new n(e.bitLength()),o=new n(1023);if(s.lt(o))return!1;if(!t.modExp(e.dec(),e).isOne())return!1;let c=t;const u=new n(1),h=new n(2).leftShift(new n(17));for(;u.lt(h);){if(c=c.mul(t).imod(e),c.isOne())return!1;u.iinc()}i=new n(i);const f=new n(2),d=await nn(f.leftShift(s.dec()),f.leftShift(s)),l=e.dec().imul(d).iadd(i);return!!r.equal(t.modExp(l,e))}});class vn{constructor(e){if(e instanceof vn)this.oid=e.oid;else if(fe.isArray(e)||fe.isUint8Array(e)){if(6===(e=new Uint8Array(e))[0]){if(e[1]!==e.length-2)throw Error("Length mismatch in DER encoded oid");e=e.subarray(2)}this.oid=e}else this.oid=""}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.oid=e.subarray(1,1+t),1+this.oid.length}throw Error("Invalid oid")}write(){return fe.concatUint8Array([new Uint8Array([this.oid.length]),this.oid])}toHex(){return fe.uint8ArrayToHex(this.oid)}getName(){const e=this.toHex();if(ue.curve[e])return ue.write(ue.curve,e);throw Error("Unknown curve object identifier.")}}function kn(e,t){return e.keyPair({priv:t})}function _n(e,t){const r=e.keyPair({pub:t});if(!0!==r.validate().result)throw Error("Invalid elliptic public key");return r}async function En(e){if(!we.useIndutnyElliptic)throw Error("This curve is only supported in the full build of OpenPGP.js");const{default:t}=await Promise.resolve().then((function(){return Rg}));return new t.ec(e)}function Sn(e){let t,r=0;const i=e[0];return i<192?([r]=e,t=1):i<255?(r=(e[0]-192<<8)+e[1]+192,t=2):255===i&&(r=fe.readNumber(e.subarray(1,5)),t=5),{len:r,offset:t}}function Cn(e){return e<192?new Uint8Array([e]):e>191&&e<8384?new Uint8Array([192+(e-192>>8),e-192&255]):fe.concatUint8Array([new Uint8Array([255]),fe.writeNumber(e,4)])}function In(e){if(e<0||e>30)throw Error("Partial Length power must be between 1 and 30");return new Uint8Array([224+e])}function Bn(e){return new Uint8Array([192|e])}function Pn(e,t){return fe.concatUint8Array([Bn(e),Cn(t)])}function xn(e){return[ue.packet.literalData,ue.packet.compressedData,ue.packet.symmetricallyEncryptedData,ue.packet.symEncryptedIntegrityProtectedData,ue.packet.aeadEncryptedData].includes(e)}async function Mn(e,t){const r=j(e);let i,n;try{const a=await r.peekBytes(2);if(!a||a.length<2||0==(128&a[0]))throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");const s=await r.readByte();let o,c,u=-1,h=-1;h=0,0!=(64&s)&&(h=1),h?u=63&s:(u=(63&s)>>2,c=3&s);const f=xn(u);let d,l=null;if(f){if("array"===fe.isStream(e)){const e=new A;i=G(e),l=e}else{const e=new F;i=G(e.writable),l=e.readable}n=t({tag:u,packet:l})}else l=[];do{if(h){const e=await r.readByte();if(d=!1,e<192)o=e;else if(e>=192&&e<224)o=(e-192<<8)+await r.readByte()+192;else if(e>223&&e<255){if(o=1<<(31&e),d=!0,!f)throw new TypeError("This packet type does not support partial lengths.")}else o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte()}else switch(c){case 0:o=await r.readByte();break;case 1:o=await r.readByte()<<8|await r.readByte();break;case 2:o=await r.readByte()<<24|await r.readByte()<<16|await r.readByte()<<8|await r.readByte();break;default:o=1/0}if(o>0){let e=0;for(;;){i&&await i.ready;const{done:t,value:n}=await r.read();if(t){if(o===1/0)break;throw Error("Unexpected end of packet")}const a=o===1/0?n:n.subarray(0,o-e);if(i?await i.write(a):l.push(a),e+=n.length,e>=o){r.unshift(n.subarray(o-e+n.length));break}}}}while(d);const p=await r.peekBytes(f?1/0:2);return i?(await i.ready,await i.close()):(l=fe.concatUint8Array(l),await t({tag:u,packet:l})),!p||!p.length}catch(e){if(i)return await i.abort(e),!0;throw e}finally{i&&await n,r.releaseLock()}}class Dn extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,Dn),this.name="UnsupportedError"}}class Kn{constructor(e,t){this.tag=e,this.rawContent=t}write(){return this.rawContent}}const Un=fe.getWebCrypto(),Rn=fe.getNodeCrypto(),Tn={p256:"P-256",p384:"P-384",p521:"P-521"},Qn=Rn?Rn.getCurves():[],zn=Rn?{secp256k1:Qn.includes("secp256k1")?"secp256k1":void 0,p256:Qn.includes("prime256v1")?"prime256v1":void 0,p384:Qn.includes("secp384r1")?"secp384r1":void 0,p521:Qn.includes("secp521r1")?"secp521r1":void 0,ed25519:Qn.includes("ED25519")?"ED25519":void 0,curve25519:Qn.includes("X25519")?"X25519":void 0,brainpoolP256r1:Qn.includes("brainpoolP256r1")?"brainpoolP256r1":void 0,brainpoolP384r1:Qn.includes("brainpoolP384r1")?"brainpoolP384r1":void 0,brainpoolP512r1:Qn.includes("brainpoolP512r1")?"brainpoolP512r1":void 0}:{},Fn={p256:{oid:[6,8,42,134,72,206,61,3,1,7],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.p256,web:Tn.p256,payloadSize:32,sharedSize:256},p384:{oid:[6,5,43,129,4,0,34],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha384,cipher:ue.symmetric.aes192,node:zn.p384,web:Tn.p384,payloadSize:48,sharedSize:384},p521:{oid:[6,5,43,129,4,0,35],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha512,cipher:ue.symmetric.aes256,node:zn.p521,web:Tn.p521,payloadSize:66,sharedSize:528},secp256k1:{oid:[6,5,43,129,4,0,10],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.secp256k1,payloadSize:32},ed25519:{oid:[6,9,43,6,1,4,1,218,71,15,1],keyType:ue.publicKey.eddsaLegacy,hash:ue.hash.sha512,node:!1,payloadSize:32},curve25519:{oid:[6,10,43,6,1,4,1,151,85,1,5,1],keyType:ue.publicKey.ecdh,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:!1,payloadSize:32},brainpoolP256r1:{oid:[6,9,43,36,3,3,2,8,1,1,7],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha256,cipher:ue.symmetric.aes128,node:zn.brainpoolP256r1,payloadSize:32},brainpoolP384r1:{oid:[6,9,43,36,3,3,2,8,1,1,11],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha384,cipher:ue.symmetric.aes192,node:zn.brainpoolP384r1,payloadSize:48},brainpoolP512r1:{oid:[6,9,43,36,3,3,2,8,1,1,13],keyType:ue.publicKey.ecdsa,hash:ue.hash.sha512,cipher:ue.symmetric.aes256,node:zn.brainpoolP512r1,payloadSize:64}};class Ln{constructor(e,t){try{(fe.isArray(e)||fe.isUint8Array(e))&&(e=new vn(e)),e instanceof vn&&(e=e.getName()),this.name=ue.write(ue.curve,e)}catch(e){throw new Dn("Unknown curve")}t=t||Fn[this.name],this.keyType=t.keyType,this.oid=t.oid,this.hash=t.hash,this.cipher=t.cipher,this.node=t.node&&Fn[this.name],this.web=t.web&&Fn[this.name],this.payloadSize=t.payloadSize,this.web&&fe.getWebCrypto()?this.type="web":this.node&&fe.getNodeCrypto()?this.type="node":"curve25519"===this.name?this.type="curve25519":"ed25519"===this.name&&(this.type="ed25519")}async genKeyPair(){let e;switch(this.type){case"web":try{return await async function(e){const t=await Un.generateKey({name:"ECDSA",namedCurve:Tn[e]},!0,["sign","verify"]),r=await Un.exportKey("jwk",t.privateKey),i=await Un.exportKey("jwk",t.publicKey);return{publicKey:qn(i),privateKey:be(r.d)}}(this.name)}catch(e){fe.printDebugError("Browser did not support generating ec key "+e.message);break}case"node":return async function(e){const t=Rn.createECDH(zn[e]);return await t.generateKeys(),{publicKey:new Uint8Array(t.getPublicKey()),privateKey:new Uint8Array(t.getPrivateKey())}}(this.name);case"curve25519":{const t=rn(32);t[0]=127&t[0]|64,t[31]&=248;const r=t.slice().reverse();e=en.box.keyPair.fromSecretKey(r);return{publicKey:fe.concatUint8Array([new Uint8Array([64]),e.publicKey]),privateKey:t}}case"ed25519":{const e=rn(32),t=en.sign.keyPair.fromSeed(e);return{publicKey:fe.concatUint8Array([new Uint8Array([64]),t.publicKey]),privateKey:e}}}const t=await En(this.name);return e=await t.genKeyPair({entropy:fe.uint8ArrayToString(rn(32))}),{publicKey:new Uint8Array(e.getPublic("array",!1)),privateKey:e.getPrivate().toArrayLike(Uint8Array)}}}async function Nn(e,t,r,i){const n={p256:!0,p384:!0,p521:!0,secp256k1:!0,curve25519:e===ue.publicKey.ecdh,brainpoolP256r1:!0,brainpoolP384r1:!0,brainpoolP512r1:!0},a=t.getName();if(!n[a])return!1;if("curve25519"===a){i=i.slice().reverse();const{publicKey:e}=en.box.keyPair.fromSecretKey(i);r=new Uint8Array(r);const t=new Uint8Array([64,...e]);return!!fe.equalsUint8Array(t,r)}const s=await En(a);try{r=_n(s,r).getPublic()}catch(e){return!1}return!!kn(s,i).getPublic().eq(r)}function qn(e){const t=be(e.x),r=be(e.y),i=new Uint8Array(t.length+r.length+1);return i[0]=4,i.set(t,1),i.set(r,t.length+1),i}function On(e,t,r){const i=e,n=r.slice(1,i+1),a=r.slice(i+1,2*i+1);return{kty:"EC",crv:t,x:me(n,!0),y:me(a,!0),ext:!0}}function Hn(e,t,r,i){const n=On(e,t,r);return n.d=me(i,!0),n}const jn=fe.getWebCrypto(),Gn=fe.getNodeCrypto();async function Wn(e,t,r,i,n,a){const s=new Ln(e);if(r&&!fe.isStream(r)){const e={publicKey:i,privateKey:n};switch(s.type){case"web":try{return await async function(e,t,r,i){const n=e.payloadSize,a=Hn(e.payloadSize,Tn[e.name],i.publicKey,i.privateKey),s=await jn.importKey("jwk",a,{name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,e.hash)}},!1,["sign"]),o=new Uint8Array(await jn.sign({name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,t)}},s,r));return{r:o.slice(0,n),s:o.slice(n,n<<1)}}(s,t,r,e)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;fe.printDebugError("Browser did not support signing: "+e.message)}break;case"node":{const i=await async function(e,t,r,i){const n=Gn.createSign(ue.read(ue.hash,t));n.write(r),n.end();const a=Zn.encode({version:1,parameters:e.oid,privateKey:Array.from(i.privateKey),publicKey:{unused:0,data:Array.from(i.publicKey)}},"pem",{label:"EC PRIVATE KEY"});return Yn.decode(n.sign(a),"der")}(s,t,r,e);return{r:i.r.toArrayLike(Uint8Array),s:i.s.toArrayLike(Uint8Array)}}}}return async function(e,t,r){const i=await En(e.name),n=kn(i,r),a=n.sign(t);return{r:a.r.toArrayLike(Uint8Array),s:a.s.toArrayLike(Uint8Array)}}(s,a,n)}async function Vn(e,t,r,i,n,a){const s=new Ln(e);if(i&&!fe.isStream(i))switch(s.type){case"web":try{return await async function(e,t,{r,s:i},n,a){const s=On(e.payloadSize,Tn[e.name],a),o=await jn.importKey("jwk",s,{name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,e.hash)}},!1,["verify"]),c=fe.concatUint8Array([r,i]).buffer;return jn.verify({name:"ECDSA",namedCurve:Tn[e.name],hash:{name:ue.read(ue.webHash,t)}},o,c,n)}(s,t,r,i,n)}catch(e){if("p521"!==s.name&&("DataError"===e.name||"OperationError"===e.name))throw e;fe.printDebugError("Browser did not support verifying: "+e.message)}break;case"node":return async function(e,t,{r,s:i},n,a){const{default:s}=await Promise.resolve().then((function(){return gy})),o=Gn.createVerify(ue.read(ue.hash,t));o.write(n),o.end();const c=$n.encode({algorithm:{algorithm:[1,2,840,10045,2,1],parameters:e.oid},subjectPublicKey:{unused:0,data:Array.from(a)}},"pem",{label:"PUBLIC KEY"}),u=Yn.encode({r:new s(r),s:new s(i)},"der");try{return o.verify(c,u)}catch(e){return!1}}(s,t,r,i,n)}return async function(e,t,r,i){const n=await En(e.name),a=_n(n,i);return a.verify(r,t)}(s,r,void 0===t?i:a,n)}const Jn=Gn?y.default:void 0,Yn=Gn?Jn.define("ECDSASignature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())})):void 0,Zn=Gn?Jn.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").explicit(0).optional().any(),this.key("publicKey").explicit(1).optional().bitstr())})):void 0,Xn=Gn?Jn.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())})):void 0,$n=Gn?Jn.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Xn),this.key("subjectPublicKey").bitstr())})):void 0;var ea=/*#__PURE__*/Object.freeze({__proto__:null,sign:Wn,verify:Vn,validateParams:async function(e,t,r){const i=new Ln(e);if(i.keyType!==ue.publicKey.ecdsa)return!1;switch(i.type){case"web":case"node":{const i=rn(8),n=ue.hash.sha256,a=await ci.digest(n,i);try{const s=await Wn(e,n,i,t,r,a);return await Vn(e,n,s,i,t,a)}catch(e){return!1}}default:return Nn(ue.publicKey.ecdsa,e,t,r)}}});en.hash=e=>new Uint8Array(yr().update(e).digest());var ta=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ue.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const s=fe.concatUint8Array([n,i.subarray(1)]),o=en.sign.detached(a,s);if(we.checkEdDSAFaultySignatures&&!en.sign.detached.verify(a,o,i.subarray(1)))throw Error("Transient signing failure");return{r:o.subarray(0,32),s:o.subarray(32)}},verify:async function(e,t,{r,s:i},n,a,s){if(ci.getHashByteLength(t)<ci.getHashByteLength(ue.hash.sha256))throw Error("Hash algorithm too weak for EdDSA.");const o=fe.concatUint8Array([r,i]);return en.sign.detached.verify(s,o,a.subarray(1))},validateParams:async function(e,t,r){if("ed25519"!==e.getName())return!1;const{publicKey:i}=en.sign.keyPair.fromSeed(r),n=new Uint8Array([64,...i]);return fe.equalsUint8Array(t,n)}});function ra(e){if(e===ue.publicKey.ed25519)return ue.hash.sha256;throw Error("Unknown EdDSA algo")}en.hash=e=>new Uint8Array(yr().update(e).digest());var ia=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===ue.publicKey.ed25519){const e=rn(32),{publicKey:t}=en.sign.keyPair.fromSeed(e);return{A:t,seed:e}}throw Error("Unsupported EdDSA algorithm")},sign:async function(e,t,r,i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ra(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case ue.publicKey.ed25519:{const e=fe.concatUint8Array([n,i]),t=en.sign.detached(a,e);if(we.checkEdDSAFaultySignatures&&!en.sign.detached.verify(a,t,i))throw Error("Transient signing failure");return{RS:t}}case ue.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},verify:async function(e,t,{RS:r},i,n,a){if(ci.getHashByteLength(t)<ci.getHashByteLength(ra(e)))throw Error("Hash algorithm too weak for EdDSA.");switch(e){case ue.publicKey.ed25519:return en.sign.detached.verify(a,r,n);case ue.publicKey.ed448:default:throw Error("Unsupported EdDSA algorithm")}},validateParams:async function(e,t,r){switch(e){case ue.publicKey.ed25519:{const{publicKey:e}=en.sign.keyPair.fromSeed(r);return fe.equalsUint8Array(t,e)}case ue.publicKey.ed448:default:return!1}},getPreferredHashAlgo:ra});function na(e,t){const r=new st["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=sa(t);let a=i;const s=n,o=n.length/2,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=0;e<=5;++e)for(let t=0;t<o;++t)c[1]=o*e+(1+t),u[0]=a[0],u[1]=a[1],u[2]=s[2*t],u[3]=s[2*t+1],u=sa(r.encrypt(oa(u))),a=u.subarray(0,2),a[0]^=c[0],a[1]^=c[1],s[2*t]=u[2],s[2*t+1]=u[3];return oa(a,s)}function aa(e,t){const r=new st["aes"+8*e.length](e),i=new Uint32Array([2795939494,2795939494]),n=sa(t);let a=n.subarray(0,2);const s=n.subarray(2),o=n.length/2-1,c=new Uint32Array([0,0]);let u=new Uint32Array(4);for(let e=5;e>=0;--e)for(let t=o-1;t>=0;--t)c[1]=o*e+(t+1),u[0]=a[0]^c[0],u[1]=a[1]^c[1],u[2]=s[2*t],u[3]=s[2*t+1],u=sa(r.decrypt(oa(u))),a=u.subarray(0,2),s[2*t]=u[2],s[2*t+1]=u[3];if(a[0]===i[0]&&a[1]===i[1])return oa(s);throw Error("Key Data Integrity failed")}function sa(e){const{length:t}=e,r=function(e){if(fe.isString(e)){const{length:t}=e,r=new ArrayBuffer(t),i=new Uint8Array(r);for(let r=0;r<t;++r)i[r]=e.charCodeAt(r);return r}return new Uint8Array(e).buffer}(e),i=new DataView(r),n=new Uint32Array(t/4);for(let e=0;e<t/4;++e)n[e]=i.getUint32(4*e);return n}function oa(){let e=0;for(let t=0;t<arguments.length;++t)e+=4*arguments[t].length;const t=new ArrayBuffer(e),r=new DataView(t);let i=0;for(let e=0;e<arguments.length;++e){for(let t=0;t<arguments[e].length;++t)r.setUint32(i+4*t,arguments[e][t]);i+=4*arguments[e].length}return new Uint8Array(t)}var ca=/*#__PURE__*/Object.freeze({__proto__:null,wrap:na,unwrap:aa});function ua(e){const t=8-e.length%8,r=new Uint8Array(e.length+t).fill(t);return r.set(e),r}function ha(e){const t=e.length;if(t>0){const r=e[t-1];if(r>=1){const i=e.subarray(t-r),n=new Uint8Array(r).fill(r);if(fe.equalsUint8Array(i,n))return e.subarray(0,t-r)}}throw Error("Invalid padding")}var fa=/*#__PURE__*/Object.freeze({__proto__:null,encode:ua,decode:ha});const da=fe.getWebCrypto(),la=fe.getNodeCrypto();function pa(e,t,r,i){return fe.concatUint8Array([t.write(),new Uint8Array([e]),r.write(!0),fe.stringToUint8Array("Anonymous Sender "),r.replacementFingerprint||i.subarray(0,20)])}async function ya(e,t,r,i,n=!1,a=!1){let s;if(n){for(s=0;s<t.length&&0===t[s];s++);t=t.subarray(s)}if(a){for(s=t.length-1;s>=0&&0===t[s];s--);t=t.subarray(0,s+1)}return(await ci.digest(e,fe.concatUint8Array([new Uint8Array([0,0,0,1]),t,i]))).subarray(0,r)}async function ga(e,t){switch(e.type){case"curve25519":{const r=rn(32),{secretKey:i,sharedKey:n}=await ba(e,t,null,r);let{publicKey:a}=en.box.keyPair.fromSecretKey(i);return a=fe.concatUint8Array([new Uint8Array([64]),a]),{publicKey:a,sharedKey:n}}case"web":if(e.web&&fe.getWebCrypto())try{return await async function(e,t){const r=On(e.payloadSize,e.web.web,t);let i=da.generateKey({name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]),n=da.importKey("jwk",r,{name:"ECDH",namedCurve:e.web.web},!1,[]);[i,n]=await Promise.all([i,n]);let a=da.deriveBits({name:"ECDH",namedCurve:e.web.web,public:n},i.privateKey,e.web.sharedSize),s=da.exportKey("jwk",i.publicKey);[a,s]=await Promise.all([a,s]);const o=new Uint8Array(a),c=new Uint8Array(qn(s));return{publicKey:c,sharedKey:o}}(e,t)}catch(e){fe.printDebugError(e)}break;case"node":return async function(e,t){const r=la.createECDH(e.node.node);r.generateKeys();const i=new Uint8Array(r.computeSecret(t)),n=new Uint8Array(r.getPublicKey());return{publicKey:n,sharedKey:i}}(e,t)}return async function(e,t){const r=await En(e.name),i=await e.genKeyPair();t=_n(r,t);const n=kn(r,i.privateKey),a=i.publicKey,s=n.derive(t.getPublic()),o=r.curve.p.byteLength(),c=s.toArrayLike(Uint8Array,"be",o);return{publicKey:a,sharedKey:c}}(e,t)}async function ba(e,t,r,i){if(i.length!==e.payloadSize){const t=new Uint8Array(e.payloadSize);t.set(i,e.payloadSize-i.length),i=t}switch(e.type){case"curve25519":{const e=i.slice().reverse();return{secretKey:e,sharedKey:en.scalarMult(e,t.subarray(1))}}case"web":if(e.web&&fe.getWebCrypto())try{return await async function(e,t,r,i){const n=Hn(e.payloadSize,e.web.web,r,i);let a=da.importKey("jwk",n,{name:"ECDH",namedCurve:e.web.web},!0,["deriveKey","deriveBits"]);const s=On(e.payloadSize,e.web.web,t);let o=da.importKey("jwk",s,{name:"ECDH",namedCurve:e.web.web},!0,[]);[a,o]=await Promise.all([a,o]);let c=da.deriveBits({name:"ECDH",namedCurve:e.web.web,public:o},a,e.web.sharedSize),u=da.exportKey("jwk",a);[c,u]=await Promise.all([c,u]);const h=new Uint8Array(c);return{secretKey:be(u.d),sharedKey:h}}(e,t,r,i)}catch(e){fe.printDebugError(e)}break;case"node":return async function(e,t,r){const i=la.createECDH(e.node.node);i.setPrivateKey(r);const n=new Uint8Array(i.computeSecret(t));return{secretKey:new Uint8Array(i.getPrivateKey()),sharedKey:n}}(e,t,i)}return async function(e,t,r){const i=await En(e.name);t=_n(i,t),r=kn(i,r);const n=new Uint8Array(r.getPrivate()),a=r.derive(t.getPublic()),s=i.curve.p.byteLength(),o=a.toArrayLike(Uint8Array,"be",s);return{secretKey:n,sharedKey:o}}(e,t,i)}var ma=/*#__PURE__*/Object.freeze({__proto__:null,validateParams:async function(e,t,r){return Nn(ue.publicKey.ecdh,e,t,r)},encrypt:async function(e,t,r,i,n){const a=ua(r),s=new Ln(e),{publicKey:o,sharedKey:c}=await ga(s,i),u=pa(ue.publicKey.ecdh,e,t,n),{keySize:h}=hi(t.cipher);return{publicKey:o,wrappedKey:na(await ya(t.hash,c,h,u),a)}},decrypt:async function(e,t,r,i,n,a,s){const o=new Ln(e),{sharedKey:c}=await ba(o,r,n,a),u=pa(ue.publicKey.ecdh,e,t,s),{keySize:h}=hi(t.cipher);let f;for(let e=0;e<3;e++)try{return ha(aa(await ya(t.hash,c,h,u,1===e,2===e),i))}catch(e){f=e}throw f}});const wa=fe.getWebCrypto(),Aa=fe.getNodeCrypto(),va=Aa&&Aa.webcrypto&&Aa.webcrypto.subtle;async function ka(e,t,r,i,n){const a=ue.read(ue.webHash,e);if(!a)throw Error("Hash algo not supported with HKDF");if(wa||va){const e=wa||va,s=await e.importKey("raw",t,"HKDF",!1,["deriveBits"]),o=await e.deriveBits({name:"HKDF",hash:a,salt:r,info:i},s,8*n);return new Uint8Array(o)}if(Aa){const a=ue.read(ue.hash,e),s=(e,t)=>Aa.createHmac(a,e).update(t).digest(),o=s(r,t),c=o.length,u=Math.ceil(n/c),h=new Uint8Array(u*c),f=new Uint8Array(c+i.length+1);f.set(i,c);for(let e=0;e<u;e++){f[f.length-1]=e+1;const t=s(o,e>0?f:f.subarray(c));f.set(t,0),h.set(t,e*c)}return h.subarray(0,n)}throw Error("No HKDF implementation available")}const _a={x25519:fe.encodeUTF8("OpenPGP X25519")};var Ea=/*#__PURE__*/Object.freeze({__proto__:null,generate:async function(e){if(e===ue.publicKey.x25519){const e=rn(32),{publicKey:t}=en.box.keyPair.fromSecretKey(e);return{A:t,k:e}}throw Error("Unsupported ECDH algorithm")},validateParams:async function(e,t,r){if(e===ue.publicKey.x25519){const{publicKey:e}=en.box.keyPair.fromSecretKey(r);return fe.equalsUint8Array(t,e)}return!1},encrypt:async function(e,t,r){if(e===ue.publicKey.x25519){const e=rn(32),i=en.scalarMult(e,r),{publicKey:n}=en.box.keyPair.fromSecretKey(e),a=fe.concatUint8Array([n,r,i]),{keySize:s}=hi(ue.symmetric.aes128);return{ephemeralPublicKey:n,wrappedKey:na(await ka(ue.hash.sha256,a,new Uint8Array,_a.x25519,s),t)}}throw Error("Unsupported ECDH algorithm")},decrypt:async function(e,t,r,i,n){if(e===ue.publicKey.x25519){const e=en.scalarMult(n,t),a=fe.concatUint8Array([t,i,e]),{keySize:s}=hi(ue.symmetric.aes128);return aa(await ka(ue.hash.sha256,a,new Uint8Array,_a.x25519,s),r)}throw Error("Unsupported ECDH algorithm")}}),Sa=/*#__PURE__*/Object.freeze({__proto__:null,CurveWithOID:Ln,ecdh:ma,ecdhX:Ea,ecdsa:ea,eddsaLegacy:ta,eddsa:ia,generate:async function(e){const t=await fe.getBigInteger();e=new Ln(e);const r=await e.genKeyPair(),i=new t(r.publicKey).toUint8Array(),n=new t(r.privateKey).toUint8Array("be",e.payloadSize);return{oid:e.oid,Q:i,secret:n,hash:e.hash,cipher:e.cipher}},getPreferredHashAlgo:function(e){return Fn[ue.write(ue.curve,e.toHex())].hash}});var Ca=/*#__PURE__*/Object.freeze({__proto__:null,sign:async function(e,t,r,i,n,a){const s=await fe.getBigInteger(),o=new s(1);let c,u,h,f;i=new s(i),n=new s(n),r=new s(r),a=new s(a),r=r.mod(i),a=a.mod(n);const d=new s(t.subarray(0,n.byteLength())).mod(n);for(;;){if(c=await nn(o,n),u=r.modExp(c,i).imod(n),u.isZero())continue;const e=a.mul(u).imod(n);if(f=d.add(e).imod(n),h=c.modInv(n).imul(f).imod(n),!h.isZero())break}return{r:u.toUint8Array("be",n.byteLength()),s:h.toUint8Array("be",n.byteLength())}},verify:async function(e,t,r,i,n,a,s,o){const c=await fe.getBigInteger(),u=new c(0);if(t=new c(t),r=new c(r),a=new c(a),s=new c(s),n=new c(n),o=new c(o),t.lte(u)||t.gte(s)||r.lte(u)||r.gte(s))return fe.printDebug("invalid DSA Signature"),!1;const h=new c(i.subarray(0,s.byteLength())).imod(s),f=r.modInv(s);if(f.isZero())return fe.printDebug("invalid DSA Signature"),!1;n=n.mod(a),o=o.mod(a);const d=h.mul(f).imod(s),l=t.mul(f).imod(s),p=n.modExp(d,a),y=o.modExp(l,a);return p.mul(y).imod(a).imod(s).equal(t)},validateParams:async function(e,t,r,i,n){const a=await fe.getBigInteger();e=new a(e),t=new a(t),r=new a(r),i=new a(i);const s=new a(1);if(r.lte(s)||r.gte(e))return!1;if(!e.dec().mod(t).isZero())return!1;if(!r.modExp(t,e).isOne())return!1;const o=new a(t.bitLength()),c=new a(150);if(o.lt(c)||!await on(t,null,32))return!1;n=new a(n);const u=new a(2),h=await nn(u.leftShift(o.dec()),u.leftShift(o)),f=t.mul(h).add(n);return!!i.equal(r.modExp(f,e))}}),Ia={rsa:wn,elgamal:An,elliptic:Sa,dsa:Ca,nacl:en};function Ba(e,t,r){switch(e){case ue.hash.sha1:case ue.hash.sha256:case ue.hash.sha512:return async function(e,t,r){const i=ci.getBlockSize(e),n=new Uint8Array(i);n.fill(92),Pa(n,t);const a=new Uint8Array(i);a.fill(54),Pa(a,t);const s=fe.concatUint8Array([a,r]),o=await ci.digest(e,s),c=fe.concatUint8Array([n,o]);return ci.digest(e,c)}(e,t,r);default:throw Error("Unsupported hash algorithm.")}}function Pa(e,t){for(let r=0;r<e.length;r++)e[r]^=t[r]||0}class xa{constructor(e){if(void 0===e&&(e=new Uint8Array([])),!fe.isUint8Array(e))throw Error("data must be in the form of a Uint8Array");this.data=e,this.length=this.data.byteLength}write(){return fe.concatUint8Array([new Uint8Array([this.length]),this.data])}read(e){if(e.length>=1){const t=e[0];if(e.length>=t+1)return this.data=e.subarray(1,1+t),this.length=t,1+t}throw Error("Invalid octet string")}}var Ma=/*#__PURE__*/Object.freeze({__proto__:null,parseSignatureParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:return{s:fe.readMPI(t.subarray(r))};case ue.publicKey.dsa:case ue.publicKey.ecdsa:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;return{r:e,s:fe.readMPI(t.subarray(r))}}case ue.publicKey.eddsaLegacy:{let e=fe.readMPI(t.subarray(r));r+=e.length+2,e=fe.leftPad(e,32);let i=fe.readMPI(t.subarray(r));return i=fe.leftPad(i,32),{r:e,s:i}}case ue.publicKey.ed25519:{const e=t.subarray(r,r+64);return r+=e.length,{RS:e}}case ue.publicKey.hmac:{const e=new xa;return e.read(t.subarray(r)),{mac:e}}default:throw new Dn("Unknown signature algorithm.")}},verify:async function(e,t,r,i,n,a,s){switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:{const{n:e,e:n}=i,o=fe.leftPad(r.s,e.length);return Ia.rsa.verify(t,a,o,e,n,s)}case ue.publicKey.dsa:{const{g:e,p:n,q:a,y:o}=i,{r:c,s:u}=r;return Ia.dsa.verify(t,c,u,s,e,n,a,o)}case ue.publicKey.ecdsa:{const{oid:e,Q:n}=i,o=new Ia.elliptic.CurveWithOID(e).payloadSize,c=fe.leftPad(r.r,o),u=fe.leftPad(r.s,o);return Ia.elliptic.ecdsa.verify(e,t,{r:c,s:u},a,n,s)}case ue.publicKey.eddsaLegacy:{const{oid:e,Q:n}=i;return Ia.elliptic.eddsaLegacy.verify(e,t,r,a,n,s)}case ue.publicKey.ed25519:{const{A:n}=i;return Ia.elliptic.eddsa.verify(e,t,r,a,n,s)}case ue.publicKey.hmac:{if(!n)throw Error("Cannot verify HMAC signature with symmetric key missing private parameters");const{cipher:e}=i,{keyMaterial:t}=n,a=await Ba(e.getValue(),t,s);return fe.equalsUint8Array(a,r.mac.data)}default:throw Error("Unknown signature algorithm.")}},sign:async function(e,t,r,i,n,a){if(!r||!i)throw Error("Missing key parameters");switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaSign:{const{n:e,e:s}=r,{d:o,p:c,q:u,u:h}=i;return{s:await Ia.rsa.sign(t,n,e,s,o,c,u,h,a)}}case ue.publicKey.dsa:{const{g:e,p:n,q:s}=r,{x:o}=i;return Ia.dsa.sign(t,a,e,n,s,o)}case ue.publicKey.elgamal:throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");case ue.publicKey.ecdsa:{const{oid:e,Q:s}=r,{d:o}=i;return Ia.elliptic.ecdsa.sign(e,t,n,s,o,a)}case ue.publicKey.eddsaLegacy:{const{oid:e,Q:s}=r,{seed:o}=i;return Ia.elliptic.eddsaLegacy.sign(e,t,n,s,o,a)}case ue.publicKey.ed25519:{const{A:s}=r,{seed:o}=i;return Ia.elliptic.eddsa.sign(e,t,n,s,o,a)}case ue.publicKey.hmac:{const{cipher:e}=r,{keyMaterial:t}=i,n=await Ba(e.getValue(),t,a);return{mac:new xa(n)}}default:throw Error("Unknown signature algorithm.")}}});class Da{constructor(e){e&&(this.data=e)}read(e){if(e.length>=1){const t=e[0];if(e.length>=1+t)return this.data=e.subarray(1,1+t),1+this.data.length}throw Error("Invalid symmetric key")}write(){return fe.concatUint8Array([new Uint8Array([this.data.length]),this.data])}}class Ka{constructor(e){if(e){const{version:t,hash:r,cipher:i,replacementFingerprint:n}=e;this.version=t||1,this.hash=r,this.cipher=i,this.replacementFingerprint=n}else this.version=null,this.hash=null,this.cipher=null,this.replacementFingerprint=null}read(e){if(e.length<4||1!==e[1]&&255!==e[1])throw new Dn("Cannot read KDFParams");const t=e[0];this.version=e[1],this.hash=e[2],this.cipher=e[3];let r=4;if(255===this.version){const i=t-r+1;this.replacementFingerprint=e.slice(r,r+i),r+=i}return r}write(e){if(!this.version||1===this.version||e)return new Uint8Array([3,1,this.hash,this.cipher]);return fe.concatUint8Array([new Uint8Array([3+this.replacementFingerprint.length,this.version,this.hash,this.cipher]),this.replacementFingerprint])}}const Ua=e=>class{constructor(e){this.data=void 0===e?null:e}read(t){const r=t[0];return this.data=ue.write(e,r),1}write(){return new Uint8Array([this.data])}getName(){return ue.read(e,this.data)}getValue(){return this.data}},Ra=Ua(ue.aead),Ta=Ua(ue.symmetric),Qa=Ua(ue.hash);class za{static fromObject({wrappedKey:e,algorithm:t}){const r=new za;return r.wrappedKey=e,r.algorithm=t,r}read(e){let t=0,r=e[t++];this.algorithm=r%2?e[t++]:null,r-=r%2,this.wrappedKey=e.subarray(t,t+r),t+=r}write(){return fe.concatUint8Array([this.algorithm?new Uint8Array([this.wrappedKey.length+1,this.algorithm]):new Uint8Array([this.wrappedKey.length]),this.wrappedKey])}}async function Fa(e,t){const r=rn(32);return{privateParams:{hashSeed:r,keyMaterial:e},publicParams:{cipher:t,digest:await ci.sha256(r)}}}function La(e){const{keySize:t}=hi(e);return rn(t)}function Na(e){const t=ue.read(ue.aead,e);return $i[t]}function qa(e){try{e.getName()}catch(e){throw new Dn("Unknown curve OID")}}var Oa=/*#__PURE__*/Object.freeze({__proto__:null,publicKeyEncrypt:async function(e,t,r,i,n,a){switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:{const{n:e,e:t}=r;return{c:await Ia.rsa.encrypt(n,e,t)}}case ue.publicKey.elgamal:{const{p:e,g:t,y:i}=r;return Ia.elgamal.encrypt(n,e,t,i)}case ue.publicKey.ecdh:{const{oid:e,Q:t,kdfParams:i}=r,{publicKey:s,wrappedKey:o}=await Ia.elliptic.ecdh.encrypt(e,i,n,t,a);return{V:s,C:new Da(o)}}case ue.publicKey.x25519:{if(!fe.isAES(t))throw Error("X25519 keys can only encrypt AES session keys");const{A:i}=r,{ephemeralPublicKey:a,wrappedKey:s}=await Ia.elliptic.ecdhX.encrypt(e,n,i);return{ephemeralPublicKey:a,C:za.fromObject({algorithm:t,wrappedKey:s})}}case ue.publicKey.aead:{if(!i)throw Error("Cannot encrypt with symmetric key missing private parameters");const{cipher:e}=r,t=e.getValue(),{keyMaterial:a}=i,s=we.preferredAEADAlgorithm,o=Na(we.preferredAEADAlgorithm),{ivLength:c}=o,u=rn(c),h=await o(t,a),f=await h.encrypt(n,u,new Uint8Array);return{aeadMode:new Ra(s),iv:u,c:new xa(f)}}default:return[]}},publicKeyDecrypt:async function(e,t,r,i,n,a){switch(e){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaEncrypt:{const{c:e}=i,{n,e:s}=t,{d:o,p:c,q:u,u:h}=r;return Ia.rsa.decrypt(e,n,s,o,c,u,h,a)}case ue.publicKey.elgamal:{const{c1:e,c2:n}=i,s=t.p,o=r.x;return Ia.elgamal.decrypt(e,n,s,o,a)}case ue.publicKey.ecdh:{const{oid:e,Q:a,kdfParams:s}=t,{d:o}=r,{V:c,C:u}=i;return Ia.elliptic.ecdh.decrypt(e,s,c,u.data,a,o,n)}case ue.publicKey.x25519:{const{A:n}=t,{k:a}=r,{ephemeralPublicKey:s,C:o}=i;if(!fe.isAES(o.algorithm))throw Error("AES session key expected");return Ia.elliptic.ecdhX.decrypt(e,s,o.wrappedKey,n,a)}case ue.publicKey.aead:{const{cipher:e}=t,n=e.getValue(),{keyMaterial:a}=r,{aeadMode:s,iv:o,c}=i,u=Na(s.getValue());return(await u(n,a)).decrypt(c.data,o,new Uint8Array)}default:throw Error("Unknown public key encryption algorithm.")}},parsePublicKeyParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{n:e,e:i}}}case ue.publicKey.dsa:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=fe.readMPI(t.subarray(r));r+=n.length+2;const a=fe.readMPI(t.subarray(r));return r+=a.length+2,{read:r,publicParams:{p:e,q:i,g:n,y:a}}}case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=fe.readMPI(t.subarray(r));return r+=n.length+2,{read:r,publicParams:{p:e,g:i,y:n}}}case ue.publicKey.ecdsa:{const e=new vn;r+=e.read(t),qa(e);const i=fe.readMPI(t.subarray(r));return r+=i.length+2,{read:r,publicParams:{oid:e,Q:i}}}case ue.publicKey.eddsaLegacy:{const e=new vn;r+=e.read(t),qa(e);let i=fe.readMPI(t.subarray(r));return r+=i.length+2,i=fe.leftPad(i,33),{read:r,publicParams:{oid:e,Q:i}}}case ue.publicKey.ecdh:{const e=new vn;r+=e.read(t),qa(e);const i=fe.readMPI(t.subarray(r));r+=i.length+2;const n=new Ka;return r+=n.read(t.subarray(r)),{read:r,publicParams:{oid:e,Q:i,kdfParams:n}}}case ue.publicKey.ed25519:case ue.publicKey.x25519:{const e=t.subarray(r,r+32);return r+=e.length,{read:r,publicParams:{A:e}}}case ue.publicKey.hmac:case ue.publicKey.aead:{const e=new Ta;r+=e.read(t);const i=ci.getHashByteLength(ue.hash.sha256),n=t.subarray(r,r+i);return r+=i,{read:r,publicParams:{cipher:e,digest:n}}}default:throw new Dn("Unknown public key encryption algorithm.")}},parsePrivateKeyParams:function(e,t,r){let i=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const e=fe.readMPI(t.subarray(i));i+=e.length+2;const r=fe.readMPI(t.subarray(i));i+=r.length+2;const n=fe.readMPI(t.subarray(i));i+=n.length+2;const a=fe.readMPI(t.subarray(i));return i+=a.length+2,{read:i,privateParams:{d:e,p:r,q:n,u:a}}}case ue.publicKey.dsa:case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(i));return i+=e.length+2,{read:i,privateParams:{x:e}}}case ue.publicKey.ecdsa:case ue.publicKey.ecdh:{const e=new Ln(r.oid);let n=fe.readMPI(t.subarray(i));return i+=n.length+2,n=fe.leftPad(n,e.payloadSize),{read:i,privateParams:{d:n}}}case ue.publicKey.eddsaLegacy:{const e=new Ln(r.oid);let n=fe.readMPI(t.subarray(i));return i+=n.length+2,n=fe.leftPad(n,e.payloadSize),{read:i,privateParams:{seed:n}}}case ue.publicKey.ed25519:{const e=t.subarray(i,i+32);return i+=e.length,{read:i,privateParams:{seed:e}}}case ue.publicKey.x25519:{const e=t.subarray(i,i+32);return i+=e.length,{read:i,privateParams:{k:e}}}case ue.publicKey.hmac:{const{cipher:e}=r,n=ci.getHashByteLength(e.getValue()),a=t.subarray(i,i+32);i+=32;const s=t.subarray(i,i+n);return i+=n,{read:i,privateParams:{hashSeed:a,keyMaterial:s}}}case ue.publicKey.aead:{const{cipher:e}=r,n=t.subarray(i,i+32);i+=32;const{keySize:a}=hi(e.getValue()),s=t.subarray(i,i+a);return i+=a,{read:i,privateParams:{hashSeed:n,keyMaterial:s}}}default:throw new Dn("Unknown public key encryption algorithm.")}},parseEncSessionKeyParams:function(e,t){let r=0;switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:return{c:fe.readMPI(t.subarray(r))};case ue.publicKey.elgamal:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;return{c1:e,c2:fe.readMPI(t.subarray(r))}}case ue.publicKey.ecdh:{const e=fe.readMPI(t.subarray(r));r+=e.length+2;const i=new Da;return i.read(t.subarray(r)),{V:e,C:i}}case ue.publicKey.x25519:{const e=t.subarray(r,r+32);r+=e.length;const i=new za;return i.read(t.subarray(r)),{ephemeralPublicKey:e,C:i}}case ue.publicKey.aead:{const e=new Ra;r+=e.read(t.subarray(r));const{ivLength:i}=Na(e.getValue()),n=t.subarray(r,r+i);r+=i;const a=new xa;return r+=a.read(t.subarray(r)),{aeadMode:e,iv:n,c:a}}default:throw new Dn("Unknown public key encryption algorithm.")}},serializeParams:function(e,t){const r=new Set([ue.publicKey.ed25519,ue.publicKey.x25519,ue.publicKey.aead,ue.publicKey.hmac]),i=Object.keys(t).map((i=>{const n=t[i];return fe.isUint8Array(n)?r.has(e)?n:fe.uint8ArrayToMPI(n):n.write()}));return fe.concatUint8Array(i)},generateParams:function(e,t,r,i){switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:return Ia.rsa.generate(t,65537).then((({n:e,e:t,d:r,p:i,q:n,u:a})=>({privateParams:{d:r,p:i,q:n,u:a},publicParams:{n:e,e:t}})));case ue.publicKey.ecdsa:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{d:r},publicParams:{oid:new vn(e),Q:t}})));case ue.publicKey.eddsaLegacy:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r})=>({privateParams:{seed:r},publicParams:{oid:new vn(e),Q:t}})));case ue.publicKey.ecdh:return Ia.elliptic.generate(r).then((({oid:e,Q:t,secret:r,hash:i,cipher:n})=>({privateParams:{d:r},publicParams:{oid:new vn(e),Q:t,kdfParams:new Ka({hash:i,cipher:n})}})));case ue.publicKey.ed25519:return Ia.elliptic.eddsa.generate(e).then((({A:e,seed:t})=>({privateParams:{seed:t},publicParams:{A:e}})));case ue.publicKey.x25519:return Ia.elliptic.ecdhX.generate(e).then((({A:e,k:t})=>({privateParams:{k:t},publicParams:{A:e}})));case ue.publicKey.hmac:{const e=ue.write(ue.hash,i);return Fa(rn(ci.getHashByteLength(e)),new Qa(e))}case ue.publicKey.aead:{const e=ue.write(ue.symmetric,i);return Fa(La(e),new Ta(e))}case ue.publicKey.dsa:case ue.publicKey.elgamal:throw Error("Unsupported algorithm for key generation.");default:throw Error("Unknown public key algorithm.")}},validateParams:async function(e,t,r){if(!t||!r)throw Error("Missing key parameters");switch(e){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:{const{n:e,e:i}=t,{d:n,p:a,q:s,u:o}=r;return Ia.rsa.validateParams(e,i,n,a,s,o)}case ue.publicKey.dsa:{const{p:e,q:i,g:n,y:a}=t,{x:s}=r;return Ia.dsa.validateParams(e,i,n,a,s)}case ue.publicKey.elgamal:{const{p:e,g:i,y:n}=t,{x:a}=r;return Ia.elgamal.validateParams(e,i,n,a)}case ue.publicKey.ecdsa:case ue.publicKey.ecdh:{const i=Ia.elliptic[ue.read(ue.publicKey,e)],{oid:n,Q:a}=t,{d:s}=r;return i.validateParams(n,a,s)}case ue.publicKey.eddsaLegacy:{const{Q:e,oid:i}=t,{seed:n}=r;return Ia.elliptic.eddsaLegacy.validateParams(i,e,n)}case ue.publicKey.ed25519:{const{A:i}=t,{seed:n}=r;return Ia.elliptic.eddsa.validateParams(e,i,n)}case ue.publicKey.x25519:{const{A:i}=t,{k:n}=r;return Ia.elliptic.ecdhX.validateParams(e,i,n)}case ue.publicKey.hmac:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r;return ci.getHashByteLength(e.getValue())===a.length&&fe.equalsUint8Array(i,await ci.sha256(n))}case ue.publicKey.aead:{const{cipher:e,digest:i}=t,{hashSeed:n,keyMaterial:a}=r,{keySize:s}=hi(e.getValue());return s===a.length&&fe.equalsUint8Array(i,await ci.sha256(n))}default:throw Error("Unknown public key algorithm.")}},getPrefixRandom:async function(e){const{blockSize:t}=hi(e),r=await rn(t),i=new Uint8Array([r[r.length-2],r[r.length-1]]);return fe.concat([r,i])},generateSessionKey:La,getAEADMode:Na,getCipher:hi,getPreferredCurveHashAlgo:function(e,t){switch(e){case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:return Ia.elliptic.getPreferredHashAlgo(t);case ue.publicKey.ed25519:return Ia.elliptic.eddsa.getPreferredHashAlgo(e);default:throw Error("Unknown elliptic signing algo")}}});const Ha={cipher:st,hash:ci,mode:$i,publicKey:Ia,signature:Ma,random:an,pkcs1:ln,pkcs5:fa,aesKW:ca};Object.assign(Ha,Oa);class ja extends Error{constructor(...e){super(...e),Error.captureStackTrace&&Error.captureStackTrace(this,ja),this.name="Argon2OutOfMemoryError"}}let Ga,Wa;class Va{constructor(e=we){const{passes:t,parallelism:r,memoryExponent:i}=e.s2kArgon2Params;this.type="argon2",this.salt=null,this.t=t,this.p=r,this.encodedM=i}generateSalt(){this.salt=Ha.random.getRandomBytes(16)}read(e){let t=0;return this.salt=e.subarray(t,t+16),t+=16,this.t=e[t++],this.p=e[t++],this.encodedM=e[t++],t}write(){const e=[new Uint8Array([ue.write(ue.s2k,this.type)]),this.salt,new Uint8Array([this.t,this.p,this.encodedM])];return fe.concatUint8Array(e)}async produceKey(e,t){const r=2<<this.encodedM-1;try{Ga=Ga||(await Promise.resolve().then((function(){return kb}))).default,Wa=Wa||Ga();const i=await Wa,n=i({version:19,type:2,password:fe.encodeUTF8(e),salt:this.salt,tagLength:t,memorySize:r,parallelism:this.p,passes:this.t});return r>1048576&&(Wa=Ga(),Wa.catch((()=>{}))),n}catch(e){throw e.message&&(e.message.includes("Unable to grow instance memory")||e.message.includes("failed to grow memory")||e.message.includes("WebAssembly.Memory.grow")||e.message.includes("Out of memory"))?new ja("Could not allocate required memory for Argon2"):e}}}class Ja{constructor(e,t=we){this.algorithm=ue.hash.sha256,this.type=ue.read(ue.s2k,e),this.c=t.s2kIterationCountByte,this.salt=null}generateSalt(){switch(this.type){case"salted":case"iterated":this.salt=Ha.random.getRandomBytes(8)}}getCount(){return 16+(15&this.c)<<6+(this.c>>4)}read(e){let t=0;switch(this.algorithm=e[t++],this.type){case"simple":break;case"salted":this.salt=e.subarray(t,t+8),t+=8;break;case"iterated":this.salt=e.subarray(t,t+8),t+=8,this.c=e[t++];break;case"gnu":if("GNU"!==fe.uint8ArrayToString(e.subarray(t,t+3)))throw new Dn("Unknown s2k type.");t+=3;if(1001!==1e3+e[t++])throw new Dn("Unknown s2k gnu protection mode.");this.type="gnu-dummy";break;default:throw new Dn("Unknown s2k type.")}return t}write(){if("gnu-dummy"===this.type)return new Uint8Array([101,0,...fe.stringToUint8Array("GNU"),1]);const e=[new Uint8Array([ue.write(ue.s2k,this.type),this.algorithm])];switch(this.type){case"simple":break;case"salted":e.push(this.salt);break;case"iterated":e.push(this.salt),e.push(new Uint8Array([this.c]));break;case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}return fe.concatUint8Array(e)}async produceKey(e,t){e=fe.encodeUTF8(e);const r=[];let i=0,n=0;for(;i<t;){let t;switch(this.type){case"simple":t=fe.concatUint8Array([new Uint8Array(n),e]);break;case"salted":t=fe.concatUint8Array([new Uint8Array(n),this.salt,e]);break;case"iterated":{const r=fe.concatUint8Array([this.salt,e]);let i=r.length;const a=Math.max(this.getCount(),i);t=new Uint8Array(n+a),t.set(r,n);for(let e=n+i;e<a;e+=i,i*=2)t.copyWithin(e,n,e);break}case"gnu":throw Error("GNU s2k type not supported.");default:throw Error("Unknown s2k type.")}const a=await Ha.hash.digest(this.algorithm,t);r.push(a),i+=a.length,n++}return fe.concatUint8Array(r).subarray(0,t)}}const Ya=new Set([ue.s2k.argon2,ue.s2k.iterated]);function Za(e,t=we){switch(e){case ue.s2k.argon2:return new Va(t);case ue.s2k.iterated:case ue.s2k.gnu:case ue.s2k.salted:case ue.s2k.simple:return new Ja(e,t);default:throw new Dn("Unsupported S2K type "+e)}}function Xa(e){const{s2kType:t}=e;if(!Ya.has(t))throw Error("The provided `config.s2kType` value is not allowed");return Za(t,e)}var $a="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function es(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)}const ts={arraySet:function(e,t,r,i,n){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+i),n);else for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){let t,r,i,n,a;for(i=0,t=0,r=e.length;t<r;t++)i+=e[t].length;const s=new Uint8Array(i);for(n=0,t=0,r=e.length;t<r;t++)a=e[t],s.set(a,n),n+=a.length;return s}},rs={arraySet:function(e,t,r,i,n){for(let a=0;a<i;a++)e[n+a]=t[r+a]},flattenChunks:function(e){return[].concat.apply([],e)}};let is=$a?Uint8Array:Array,ns=$a?Uint16Array:Array,as=$a?Int32Array:Array,ss=$a?ts.flattenChunks:rs.flattenChunks,os=$a?ts.arraySet:rs.arraySet;const cs=0,us=1,hs=2,fs=3,ds=4,ls=5,ps=6,ys=0,gs=1,bs=2,ms=-2,ws=-3,As=-5,vs=-1,ks=1,_s=2,Es=3,Ss=4,Cs=0,Is=1,Bs=2,Ps=8;function xs(e){let t=e.length;for(;--t>=0;)e[t]=0}const Ms=0,Ds=1,Ks=2,Us=29,Rs=256,Ts=Rs+1+Us,Qs=30,zs=19,Fs=2*Ts+1,Ls=15,Ns=16,qs=7,Os=256,Hs=16,js=17,Gs=18,Ws=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Vs=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Js=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ys=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Zs=Array(2*(Ts+2));xs(Zs);const Xs=Array(2*Qs);xs(Xs);const $s=Array(512);xs($s);const eo=Array(256);xs(eo);const to=Array(Us);xs(to);const ro=Array(Qs);function io(e,t,r,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}let no,ao,so;function oo(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function co(e){return e<256?$s[e]:$s[256+(e>>>7)]}function uo(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function ho(e,t,r){e.bi_valid>Ns-r?(e.bi_buf|=t<<e.bi_valid&65535,uo(e,e.bi_buf),e.bi_buf=t>>Ns-e.bi_valid,e.bi_valid+=r-Ns):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function fo(e,t,r){ho(e,r[2*t],r[2*t+1])}function lo(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}function po(e,t,r){const i=Array(Ls+1);let n,a,s=0;for(n=1;n<=Ls;n++)i[n]=s=s+r[n-1]<<1;for(a=0;a<=t;a++){const t=e[2*a+1];0!==t&&(e[2*a]=lo(i[t]++,t))}}function yo(e){let t;for(t=0;t<Ts;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Qs;t++)e.dyn_dtree[2*t]=0;for(t=0;t<zs;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*Os]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function go(e){e.bi_valid>8?uo(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function bo(e,t,r,i){const n=2*t,a=2*r;return e[n]<e[a]||e[n]===e[a]&&i[t]<=i[r]}function mo(e,t,r){const i=e.heap[r];let n=r<<1;for(;n<=e.heap_len&&(n<e.heap_len&&bo(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!bo(t,i,e.heap[n],e.depth));)e.heap[r]=e.heap[n],r=n,n<<=1;e.heap[r]=i}function wo(e,t,r){let i,n,a,s,o=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],n=e.pending_buf[e.l_buf+o],o++,0===i?fo(e,n,t):(a=eo[n],fo(e,a+Rs+1,t),s=Ws[a],0!==s&&(n-=to[a],ho(e,n,s)),i--,a=co(i),fo(e,a,r),s=Vs[a],0!==s&&(i-=ro[a],ho(e,i,s)))}while(o<e.last_lit);fo(e,Os,t)}function Ao(e,t){const r=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,a=t.stat_desc.elems;let s,o,c,u=-1;for(e.heap_len=0,e.heap_max=Fs,s=0;s<a;s++)0!==r[2*s]?(e.heap[++e.heap_len]=u=s,e.depth[s]=0):r[2*s+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,n&&(e.static_len-=i[2*c+1]);for(t.max_code=u,s=e.heap_len>>1;s>=1;s--)mo(e,r,s);c=a;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],mo(e,r,1),o=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=o,r[2*c]=r[2*s]+r[2*o],e.depth[c]=(e.depth[s]>=e.depth[o]?e.depth[s]:e.depth[o])+1,r[2*s+1]=r[2*o+1]=c,e.heap[1]=c++,mo(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){const r=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,a=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,h,f,d,l,p,y=0;for(d=0;d<=Ls;d++)e.bl_count[d]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<Fs;u++)h=e.heap[u],d=r[2*r[2*h+1]+1]+1,d>c&&(d=c,y++),r[2*h+1]=d,h>i||(e.bl_count[d]++,l=0,h>=o&&(l=s[h-o]),p=r[2*h],e.opt_len+=p*(d+l),a&&(e.static_len+=p*(n[2*h+1]+l)));if(0!==y){do{for(d=c-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[c]--,y-=2}while(y>0);for(d=c;0!==d;d--)for(h=e.bl_count[d];0!==h;)f=e.heap[--u],f>i||(r[2*f+1]!==d&&(e.opt_len+=(d-r[2*f+1])*r[2*f],r[2*f+1]=d),h--)}}(e,t),po(r,u,e.bl_count)}function vo(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),t[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=t[2*(i+1)+1],++o<c&&n===s||(o<u?e.bl_tree[2*n]+=o:0!==n?(n!==a&&e.bl_tree[2*n]++,e.bl_tree[2*Hs]++):o<=10?e.bl_tree[2*js]++:e.bl_tree[2*Gs]++,o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4))}function ko(e,t,r){let i,n,a=-1,s=t[1],o=0,c=7,u=4;for(0===s&&(c=138,u=3),i=0;i<=r;i++)if(n=s,s=t[2*(i+1)+1],!(++o<c&&n===s)){if(o<u)do{fo(e,n,e.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(fo(e,n,e.bl_tree),o--),fo(e,Hs,e.bl_tree),ho(e,o-3,2)):o<=10?(fo(e,js,e.bl_tree),ho(e,o-3,3)):(fo(e,Gs,e.bl_tree),ho(e,o-11,7));o=0,a=n,0===s?(c=138,u=3):n===s?(c=6,u=3):(c=7,u=4)}}xs(ro);let _o=!1;function Eo(e){_o||(!function(){let e,t,r,i,n;const a=Array(Ls+1);for(r=0,i=0;i<Us-1;i++)for(to[i]=r,e=0;e<1<<Ws[i];e++)eo[r++]=i;for(eo[r-1]=i,n=0,i=0;i<16;i++)for(ro[i]=n,e=0;e<1<<Vs[i];e++)$s[n++]=i;for(n>>=7;i<Qs;i++)for(ro[i]=n<<7,e=0;e<1<<Vs[i]-7;e++)$s[256+n++]=i;for(t=0;t<=Ls;t++)a[t]=0;for(e=0;e<=143;)Zs[2*e+1]=8,e++,a[8]++;for(;e<=255;)Zs[2*e+1]=9,e++,a[9]++;for(;e<=279;)Zs[2*e+1]=7,e++,a[7]++;for(;e<=287;)Zs[2*e+1]=8,e++,a[8]++;for(po(Zs,Ts+1,a),e=0;e<Qs;e++)Xs[2*e+1]=5,Xs[2*e]=lo(e,5);no=new io(Zs,Ws,Rs+1,Ts,Ls),ao=new io(Xs,Vs,0,Qs,Ls),so=new io([],Js,0,zs,qs)}(),_o=!0),e.l_desc=new oo(e.dyn_ltree,no),e.d_desc=new oo(e.dyn_dtree,ao),e.bl_desc=new oo(e.bl_tree,so),e.bi_buf=0,e.bi_valid=0,yo(e)}function So(e,t,r,i){ho(e,(Ms<<1)+(i?1:0),3),function(e,t,r,i){go(e),i&&(uo(e,r),uo(e,~r)),os(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}function Co(e){ho(e,Ds<<1,3),fo(e,Os,Zs),function(e){16===e.bi_valid?(uo(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Io(e,t,r,i){let n,a,s=0;e.level>0?(e.strm.data_type===Bs&&(e.strm.data_type=function(e){let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return Cs;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Is;for(t=32;t<Rs;t++)if(0!==e.dyn_ltree[2*t])return Is;return Cs}(e)),Ao(e,e.l_desc),Ao(e,e.d_desc),s=function(e){let t;for(vo(e,e.dyn_ltree,e.l_desc.max_code),vo(e,e.dyn_dtree,e.d_desc.max_code),Ao(e,e.bl_desc),t=zs-1;t>=3&&0===e.bl_tree[2*Ys[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),n=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=n&&(n=a)):n=a=r+5,r+4<=n&&-1!==t?So(e,t,r,i):e.strategy===Ss||a===n?(ho(e,(Ds<<1)+(i?1:0),3),wo(e,Zs,Xs)):(ho(e,(Ks<<1)+(i?1:0),3),function(e,t,r,i){let n;for(ho(e,t-257,5),ho(e,r-1,5),ho(e,i-4,4),n=0;n<i;n++)ho(e,e.bl_tree[2*Ys[n]+1],3);ko(e,e.dyn_ltree,t-1),ko(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),wo(e,e.dyn_ltree,e.dyn_dtree)),yo(e),i&&go(e)}function Bo(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(eo[r]+Rs+1)]++,e.dyn_dtree[2*co(t)]++),e.last_lit===e.lit_bufsize-1}function Po(e,t,r,i){let n=65535&e|0,a=e>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+t[i++]|0,a=a+n|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}const xo=function(){let e;const t=[];for(let r=0;r<256;r++){e=r;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function Mo(e,t,r,i){const n=xo,a=i+r;e^=-1;for(let r=i;r<a;r++)e=e>>>8^n[255&(e^t[r])];return-1^e}var Do={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};const Ko=9,Uo=3,Ro=258,To=Ro+Uo+1,Qo=32,zo=42,Fo=69,Lo=73,No=91,qo=103,Oo=113,Ho=666,jo=1,Go=2,Wo=3,Vo=4,Jo=3;function Yo(e,t){return e.msg=Do[t],t}function Zo(e){return(e<<1)-(e>4?9:0)}function Xo(e){let t=e.length;for(;--t>=0;)e[t]=0}function $o(e){const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(os(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function ec(e,t){Io(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,$o(e.strm)}function tc(e,t){e.pending_buf[e.pending++]=t}function rc(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ic(e,t,r,i){let n=e.avail_in;return n>i&&(n=i),0===n?0:(e.avail_in-=n,os(t,e.input,e.next_in,n,r),1===e.state.wrap?e.adler=Po(e.adler,t,n,r):2===e.state.wrap&&(e.adler=Mo(e.adler,t,n,r)),e.next_in+=n,e.total_in+=n,n)}function nc(e,t){let r,i,n=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match;const c=e.strstart>e.w_size-To?e.strstart-(e.w_size-To):0,u=e.window,h=e.w_mask,f=e.prev,d=e.strstart+Ro;let l=u[a+s-1],p=u[a+s];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(r=t,u[r+s]===p&&u[r+s-1]===l&&u[r]===u[a]&&u[++r]===u[a+1]){a+=2,r++;do{}while(u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&u[++a]===u[++r]&&a<d);if(i=Ro-(d-a),a=d-Ro,i>s){if(e.match_start=t,s=i,i>=o)break;l=u[a+s-1],p=u[a+s]}}}while((t=f[t&h])>c&&0!=--n);return s<=e.lookahead?s:e.lookahead}function ac(e){const t=e.w_size;let r,i,n,a,s;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-To)){os(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,r=i;do{n=e.head[--r],e.head[r]=n>=t?n-t:0}while(--i);i=t,r=i;do{n=e.prev[--r],e.prev[r]=n>=t?n-t:0}while(--i);a+=t}if(0===e.strm.avail_in)break;if(i=ic(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=Uo)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+Uo-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<Uo)););}while(e.lookahead<To&&0!==e.strm.avail_in)}function sc(e,t){let r,i;for(;;){if(e.lookahead<To){if(ac(e),e.lookahead<To&&t===cs)return jo;if(0===e.lookahead)break}if(r=0,e.lookahead>=Uo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-To&&(e.match_length=nc(e,r)),e.match_length>=Uo)if(i=Bo(e,e.strstart-e.match_start,e.match_length-Uo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Uo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=e.strstart<Uo-1?e.strstart:Uo-1,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}function oc(e,t){let r,i,n;for(;;){if(e.lookahead<To){if(ac(e),e.lookahead<To&&t===cs)return jo;if(0===e.lookahead)break}if(r=0,e.lookahead>=Uo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Uo-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-To&&(e.match_length=nc(e,r),e.match_length<=5&&(e.strategy===ks||e.match_length===Uo&&e.strstart-e.match_start>4096)&&(e.match_length=Uo-1)),e.prev_length>=Uo&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-Uo,i=Bo(e,e.strstart-1-e.prev_match,e.prev_length-Uo),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Uo-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=Uo-1,e.strstart++,i&&(ec(e,!1),0===e.strm.avail_out))return jo}else if(e.match_available){if(i=Bo(e,0,e.window[e.strstart-1]),i&&ec(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return jo}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Bo(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Uo-1?e.strstart:Uo-1,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}class cc{constructor(e,t,r,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=i,this.func=n}}const uc=[new cc(0,0,0,0,(function(e,t){let r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(ac(e),0===e.lookahead&&t===cs)return jo;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;const i=e.block_start+r;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,ec(e,!1),0===e.strm.avail_out))return jo;if(e.strstart-e.block_start>=e.w_size-To&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):(e.strstart>e.block_start&&(ec(e,!1),e.strm.avail_out),jo)})),new cc(4,4,8,4,sc),new cc(4,5,16,8,sc),new cc(4,6,32,32,sc),new cc(4,4,16,16,oc),new cc(8,16,32,32,oc),new cc(8,16,128,128,oc),new cc(8,32,128,256,oc),new cc(32,128,258,1024,oc),new cc(32,258,258,4096,oc)];class hc{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ps,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new ns(1146),this.dyn_dtree=new ns(122),this.bl_tree=new ns(78),Xo(this.dyn_ltree),Xo(this.dyn_dtree),Xo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ns(16),this.heap=new ns(573),Xo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ns(573),Xo(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}}function fc(e){const t=function(e){let t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Bs,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?zo:Oo,e.adler=2===t.wrap?0:1,t.last_flush=cs,Eo(t),ys):Yo(e,ms)}(e);return t===ys&&function(e){e.window_size=2*e.w_size,Xo(e.head),e.max_lazy_match=uc[e.level].max_lazy,e.good_match=uc[e.level].good_length,e.nice_match=uc[e.level].nice_length,e.max_chain_length=uc[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Uo-1,e.match_available=0,e.ins_h=0}(e.state),t}function dc(e,t){let r,i,n,a;if(!e||!e.state||t>ls||t<0)return e?Yo(e,ms):ms;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===Ho&&t!==ds)return Yo(e,0===e.avail_out?As:ms);if(i.strm=e,r=i.last_flush,i.last_flush=t,i.status===zo)if(2===i.wrap)e.adler=0,tc(i,31),tc(i,139),tc(i,8),i.gzhead?(tc(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),tc(i,255&i.gzhead.time),tc(i,i.gzhead.time>>8&255),tc(i,i.gzhead.time>>16&255),tc(i,i.gzhead.time>>24&255),tc(i,9===i.level?2:i.strategy>=_s||i.level<2?4:0),tc(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(tc(i,255&i.gzhead.extra.length),tc(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Mo(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Fo):(tc(i,0),tc(i,0),tc(i,0),tc(i,0),tc(i,0),tc(i,9===i.level?2:i.strategy>=_s||i.level<2?4:0),tc(i,Jo),i.status=Oo);else{let t=Ps+(i.w_bits-8<<4)<<8,r=-1;r=i.strategy>=_s||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=r<<6,0!==i.strstart&&(t|=Qo),t+=31-t%31,i.status=Oo,rc(i,t),0!==i.strstart&&(rc(i,e.adler>>>16),rc(i,65535&e.adler)),e.adler=1}if(i.status===Fo)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending!==i.pending_buf_size));)tc(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=Lo)}else i.status=Lo;if(i.status===Lo)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,tc(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.gzindex=0,i.status=No)}else i.status=No;if(i.status===No)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),$o(e),n=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,tc(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>n&&(e.adler=Mo(e.adler,i.pending_buf,i.pending-n,n)),0===a&&(i.status=qo)}else i.status=qo;if(i.status===qo&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&$o(e),i.pending+2<=i.pending_buf_size&&(tc(i,255&e.adler),tc(i,e.adler>>8&255),e.adler=0,i.status=Oo)):i.status=Oo),0!==i.pending){if($o(e),0===e.avail_out)return i.last_flush=-1,ys}else if(0===e.avail_in&&Zo(t)<=Zo(r)&&t!==ds)return Yo(e,As);if(i.status===Ho&&0!==e.avail_in)return Yo(e,As);if(0!==e.avail_in||0!==i.lookahead||t!==cs&&i.status!==Ho){var s=i.strategy===_s?function(e,t){let r;for(;;){if(0===e.lookahead&&(ac(e),0===e.lookahead)){if(t===cs)return jo;break}if(e.match_length=0,r=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}(i,t):i.strategy===Es?function(e,t){let r,i,n,a;const s=e.window;for(;;){if(e.lookahead<=Ro){if(ac(e),e.lookahead<=Ro&&t===cs)return jo;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Uo&&e.strstart>0&&(n=e.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){a=e.strstart+Ro;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<a);e.match_length=Ro-(a-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Uo?(r=Bo(e,1,e.match_length-Uo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Bo(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ec(e,!1),0===e.strm.avail_out))return jo}return e.insert=0,t===ds?(ec(e,!0),0===e.strm.avail_out?Wo:Vo):e.last_lit&&(ec(e,!1),0===e.strm.avail_out)?jo:Go}(i,t):uc[i.level].func(i,t);if(s!==Wo&&s!==Vo||(i.status=Ho),s===jo||s===Wo)return 0===e.avail_out&&(i.last_flush=-1),ys;if(s===Go&&(t===us?Co(i):t!==ls&&(So(i,0,0,!1),t===fs&&(Xo(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),$o(e),0===e.avail_out))return i.last_flush=-1,ys}return t!==ds?ys:i.wrap<=0?gs:(2===i.wrap?(tc(i,255&e.adler),tc(i,e.adler>>8&255),tc(i,e.adler>>16&255),tc(i,e.adler>>24&255),tc(i,255&e.total_in),tc(i,e.total_in>>8&255),tc(i,e.total_in>>16&255),tc(i,e.total_in>>24&255)):(rc(i,e.adler>>>16),rc(i,65535&e.adler)),$o(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?ys:gs)}try{String.fromCharCode.call(null,0)}catch(e){}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){}const lc=new is(256);for(let e=0;e<256;e++)lc[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;function pc(e){let t,r,i,n,a=0;const s=e.length;for(i=0;i<s;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),a+=t<128?1:t<2048?2:t<65536?3:4;const o=new is(a);for(n=0,i=0;n<a;i++)t=e.charCodeAt(i),55296==(64512&t)&&i+1<s&&(r=e.charCodeAt(i+1),56320==(64512&r)&&(t=65536+(t-55296<<10)+(r-56320),i++)),t<128?o[n++]=t:t<2048?(o[n++]=192|t>>>6,o[n++]=128|63&t):t<65536?(o[n++]=224|t>>>12,o[n++]=128|t>>>6&63,o[n++]=128|63&t):(o[n++]=240|t>>>18,o[n++]=128|t>>>12&63,o[n++]=128|t>>>6&63,o[n++]=128|63&t);return o}lc[254]=lc[254]=1;class yc{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}class gc{constructor(e){this.options={level:vs,method:Ps,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,...e||{}};const t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yc,this.strm.avail_out=0;var r,i,n=function(e,t,r,i,n,a){if(!e)return ms;let s=1;if(t===vs&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>Ko||r!==Ps||i<8||i>15||t<0||t>9||a<0||a>Ss)return Yo(e,ms);8===i&&(i=9);const o=new hc;return e.state=o,o.strm=e,o.wrap=s,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Uo-1)/Uo),o.window=new is(2*o.w_size),o.head=new ns(o.hash_size),o.prev=new ns(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new is(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=a,o.method=r,fc(e)}(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ys)throw Error(Do[n]);if(t.header&&(r=this.strm,i=t.header,r&&r.state&&(2!==r.state.wrap||(r.state.gzhead=i))),t.dictionary){let e;if(e="string"==typeof t.dictionary?pc(t.dictionary):t.dictionary instanceof ArrayBuffer?new Uint8Array(t.dictionary):t.dictionary,n=function(e,t){let r,i,n,a,s,o,c,u,h=t.length;if(!e||!e.state)return ms;if(r=e.state,a=r.wrap,2===a||1===a&&r.status!==zo||r.lookahead)return ms;for(1===a&&(e.adler=Po(e.adler,t,h,0)),r.wrap=0,h>=r.w_size&&(0===a&&(Xo(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new is(r.w_size),os(u,t,h-r.w_size,r.w_size,0),t=u,h=r.w_size),s=e.avail_in,o=e.next_in,c=e.input,e.avail_in=h,e.next_in=0,e.input=t,ac(r);r.lookahead>=Uo;){i=r.strstart,n=r.lookahead-(Uo-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+Uo-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++}while(--n);r.strstart=i,r.lookahead=Uo-1,ac(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Uo-1,r.match_available=0,e.next_in=o,e.input=c,e.avail_in=s,r.wrap=a,ys}(this.strm,e),n!==ys)throw Error(Do[n]);this._dict_set=!0}}push(e,t){const{strm:r,options:{chunkSize:i}}=this;var n,a;if(this.ended)return!1;a=t===~~t?t:!0===t?ds:cs,"string"==typeof e?r.input=pc(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new is(i),r.next_out=0,r.avail_out=i),(n=dc(r,a))!==gs&&n!==ys)return this.onEnd(n),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||a!==ds&&a!==hs)||this.onData(es(r.output,r.next_out))}while((r.avail_in>0||0===r.avail_out)&&n!==gs);return a===ds?(n=function(e){let t;return e&&e.state?(t=e.state.status,t!==zo&&t!==Fo&&t!==Lo&&t!==No&&t!==qo&&t!==Oo&&t!==Ho?Yo(e,ms):(e.state=null,t===Oo?Yo(e,ws):ys)):ms}(this.strm),this.onEnd(n),this.ended=!0,n===ys):a!==hs||(this.onEnd(ys),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===ys&&(this.result=ss(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}const bc=30,mc=12;function wc(e,t){let r,i,n,a,s,o,c,u,h,f;const d=e.state;r=e.next_in;const l=e.input,p=r+(e.avail_in-5);i=e.next_out;const y=e.output,g=i-(t-e.avail_out),b=i+(e.avail_out-257),m=d.dmax,w=d.wsize,A=d.whave,v=d.wnext,k=d.window;n=d.hold,a=d.bits;const _=d.lencode,E=d.distcode,S=(1<<d.lenbits)-1,C=(1<<d.distbits)-1;e:do{a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=_[n&S];t:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,0===o)y[i++]=65535&s;else{if(!(16&o)){if(0==(64&o)){s=_[(65535&s)+(n&(1<<o)-1)];continue t}if(32&o){d.mode=mc;break e}e.msg="invalid literal/length code",d.mode=bc;break e}c=65535&s,o&=15,o&&(a<o&&(n+=l[r++]<<a,a+=8),c+=n&(1<<o)-1,n>>>=o,a-=o),a<15&&(n+=l[r++]<<a,a+=8,n+=l[r++]<<a,a+=8),s=E[n&C];r:for(;;){if(o=s>>>24,n>>>=o,a-=o,o=s>>>16&255,!(16&o)){if(0==(64&o)){s=E[(65535&s)+(n&(1<<o)-1)];continue r}e.msg="invalid distance code",d.mode=bc;break e}if(u=65535&s,o&=15,a<o&&(n+=l[r++]<<a,a+=8,a<o&&(n+=l[r++]<<a,a+=8)),u+=n&(1<<o)-1,u>m){e.msg="invalid distance too far back",d.mode=bc;break e}if(n>>>=o,a-=o,o=i-g,u>o){if(o=u-o,o>A&&d.sane){e.msg="invalid distance too far back",d.mode=bc;break e}if(h=0,f=k,0===v){if(h+=w-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}}else if(v<o){if(h+=w+v-o,o-=v,o<c){c-=o;do{y[i++]=k[h++]}while(--o);if(h=0,v<c){o=v,c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}}}else if(h+=v-o,o<c){c-=o;do{y[i++]=k[h++]}while(--o);h=i-u,f=y}for(;c>2;)y[i++]=f[h++],y[i++]=f[h++],y[i++]=f[h++],c-=3;c&&(y[i++]=f[h++],c>1&&(y[i++]=f[h++]))}else{h=i-u;do{y[i++]=y[h++],y[i++]=y[h++],y[i++]=y[h++],c-=3}while(c>2);c&&(y[i++]=y[h++],c>1&&(y[i++]=y[h++]))}break}}break}}while(r<p&&i<b);c=a>>3,r-=c,a-=c<<3,n&=(1<<a)-1,e.next_in=r,e.next_out=i,e.avail_in=r<p?p-r+5:5-(r-p),e.avail_out=i<b?b-i+257:257-(i-b),d.hold=n,d.bits=a}const Ac=15,vc=852,kc=592,_c=0,Ec=1,Sc=2,Cc=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ic=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Bc=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Pc=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function xc(e,t,r,i,n,a,s,o){const c=o.bits;let u,h,f,d,l,p=0,y=0,g=0,b=0,m=0,w=0,A=0,v=0,k=0,_=0,E=null,S=0;const C=new ns(Ac+1),I=new ns(Ac+1);let B,P,x,M=null,D=0;for(p=0;p<=Ac;p++)C[p]=0;for(y=0;y<i;y++)C[t[r+y]]++;for(m=c,b=Ac;b>=1&&0===C[b];b--);if(m>b&&(m=b),0===b)return n[a++]=20971520,n[a++]=20971520,o.bits=1,0;for(g=1;g<b&&0===C[g];g++);for(m<g&&(m=g),v=1,p=1;p<=Ac;p++)if(v<<=1,v-=C[p],v<0)return-1;if(v>0&&(e===_c||1!==b))return-1;for(I[1]=0,p=1;p<Ac;p++)I[p+1]=I[p]+C[p];for(y=0;y<i;y++)0!==t[r+y]&&(s[I[t[r+y]]++]=y);e===_c?(E=M=s,l=19):e===Ec?(E=Cc,S-=257,M=Ic,D-=257,l=256):(E=Bc,M=Pc,l=-1),_=0,y=0,p=g,d=a,w=m,A=0,f=-1,k=1<<m;const K=k-1;if(e===Ec&&k>vc||e===Sc&&k>kc)return 1;for(;;){B=p-A,s[y]<l?(P=0,x=s[y]):s[y]>l?(P=M[D+s[y]],x=E[S+s[y]]):(P=96,x=0),u=1<<p-A,h=1<<w,g=h;do{h-=u,n[d+(_>>A)+h]=B<<24|P<<16|x|0}while(0!==h);for(u=1<<p-1;_&u;)u>>=1;if(0!==u?(_&=u-1,_+=u):_=0,y++,0==--C[p]){if(p===b)break;p=t[r+s[y]]}if(p>m&&(_&K)!==f){for(0===A&&(A=m),d+=g,w=p-A,v=1<<w;w+A<b&&(v-=C[w+A],!(v<=0));)w++,v<<=1;if(k+=1<<w,e===Ec&&k>vc||e===Sc&&k>kc)return 1;f=_&K,n[f]=m<<24|w<<16|d-a|0}}return 0!==_&&(n[d+_]=p-A<<24|64<<16|0),o.bits=m,0}const Mc=0,Dc=1,Kc=2,Uc=1,Rc=2,Tc=3,Qc=4,zc=5,Fc=6,Lc=7,Nc=8,qc=9,Oc=10,Hc=11,jc=12,Gc=13,Wc=14,Vc=15,Jc=16,Yc=17,Zc=18,Xc=19,$c=20,eu=21,tu=22,ru=23,iu=24,nu=25,au=26,su=27,ou=28,cu=29,uu=30,hu=852,fu=592;function du(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}class lu{constructor(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new ns(320),this.work=new ns(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}}function pu(e){let t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,function(e){let t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Uc,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new as(hu),t.distcode=t.distdyn=new as(fu),t.sane=1,t.back=-1,ys):ms}(e)):ms}function yu(e,t){let r,i;return e?(i=new lu,e.state=i,i.window=null,r=function(e,t){let r,i;return e&&e.state?(i=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ms:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=r,i.wbits=t,pu(e))):ms}(e,t),r!==ys&&(e.state=null),r):ms}let gu,bu,mu=!0;function wu(e){if(mu){let t;for(gu=new as(512),bu=new as(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(xc(Dc,e.lens,0,288,gu,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;xc(Kc,e.lens,0,32,bu,0,e.work,{bits:5}),mu=!1}e.lencode=gu,e.lenbits=9,e.distcode=bu,e.distbits=5}function Au(e,t,r,i){let n;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new is(a.wsize)),i>=a.wsize?(os(a.window,t,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(n=a.wsize-a.wnext,n>i&&(n=i),os(a.window,t,r-i,n,a.wnext),(i-=n)?(os(a.window,t,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}function vu(e,t){let r,i,n,a,s,o,c,u,h,f,d,l,p,y,g,b,m,w,A,v,k,_,E,S,C=0,I=new is(4);const B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ms;r=e.state,r.mode===jc&&(r.mode=Gc),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,f=o,d=c,_=ys;e:for(;;)switch(r.mode){case Uc:if(0===r.wrap){r.mode=Gc;break}for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(2&r.wrap&&35615===u){r.check=0,I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0),u=0,h=0,r.mode=Rc;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=uu;break}if((15&u)!==Ps){e.msg="unknown compression method",r.mode=uu;break}if(u>>>=4,h-=4,k=8+(15&u),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=uu;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?Oc:jc,u=0,h=0;break;case Rc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.flags=u,(255&r.flags)!==Ps){e.msg="unknown compression method",r.mode=uu;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=uu;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0,r.mode=Tc;case Tc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.time=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,I[2]=u>>>16&255,I[3]=u>>>24&255,r.check=Mo(r.check,I,4,0)),u=0,h=0,r.mode=Qc;case Qc:for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0,r.mode=zc;case zc:if(1024&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(I[0]=255&u,I[1]=u>>>8&255,r.check=Mo(r.check,I,2,0)),u=0,h=0}else r.head&&(r.head.extra=null);r.mode=Fc;case Fc:if(1024&r.flags&&(l=r.length,l>o&&(l=o),l&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=Array(r.head.extra_len)),os(r.head.extra,i,a,l,k)),512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,r.length-=l),r.length))break e;r.length=0,r.mode=Lc;case Lc:if(2048&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=Nc;case Nc:if(4096&r.flags){if(0===o)break e;l=0;do{k=i[a+l++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k))}while(k&&l<o);if(512&r.flags&&(r.check=Mo(r.check,i,l,a)),o-=l,a+=l,k)break e}else r.head&&(r.head.comment=null);r.mode=qc;case qc:if(512&r.flags){for(;h<16;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=uu;break}u=0,h=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=jc;break;case Oc:for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}e.adler=r.check=du(u),u=0,h=0,r.mode=Hc;case Hc:if(0===r.havedict)return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,bs;e.adler=r.check=1,r.mode=jc;case jc:if(t===ls||t===ps)break e;case Gc:if(r.last){u>>>=7&h,h-=7&h,r.mode=su;break}for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}switch(r.last=1&u,u>>>=1,h-=1,3&u){case 0:r.mode=Wc;break;case 1:if(wu(r),r.mode=$c,t===ps){u>>>=2,h-=2;break e}break;case 2:r.mode=Yc;break;case 3:e.msg="invalid block type",r.mode=uu}u>>>=2,h-=2;break;case Wc:for(u>>>=7&h,h-=7&h;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=uu;break}if(r.length=65535&u,u=0,h=0,r.mode=Vc,t===ps)break e;case Vc:r.mode=Jc;case Jc:if(l=r.length,l){if(l>o&&(l=o),l>c&&(l=c),0===l)break e;os(n,i,a,l,s),o-=l,a+=l,c-=l,s+=l,r.length-=l;break}r.mode=jc;break;case Yc:for(;h<14;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(r.nlen=257+(31&u),u>>>=5,h-=5,r.ndist=1+(31&u),u>>>=5,h-=5,r.ncode=4+(15&u),u>>>=4,h-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=uu;break}r.have=0,r.mode=Zc;case Zc:for(;r.have<r.ncode;){for(;h<3;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.lens[B[r.have++]]=7&u,u>>>=3,h-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,E={bits:r.lenbits},_=xc(Mc,r.lens,0,19,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid code lengths set",r.mode=uu;break}r.have=0,r.mode=Xc;case Xc:for(;r.have<r.nlen+r.ndist;){for(;C=r.lencode[u&(1<<r.lenbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(m<16)u>>>=g,h-=g,r.lens[r.have++]=m;else{if(16===m){for(S=g+2;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u>>>=g,h-=g,0===r.have){e.msg="invalid bit length repeat",r.mode=uu;break}k=r.lens[r.have-1],l=3+(3&u),u>>>=2,h-=2}else if(17===m){for(S=g+3;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=g,h-=g,k=0,l=3+(7&u),u>>>=3,h-=3}else{for(S=g+7;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=g,h-=g,k=0,l=11+(127&u),u>>>=7,h-=7}if(r.have+l>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=uu;break}for(;l--;)r.lens[r.have++]=k}}if(r.mode===uu)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=uu;break}if(r.lenbits=9,E={bits:r.lenbits},_=xc(Dc,r.lens,0,r.nlen,r.lencode,0,r.work,E),r.lenbits=E.bits,_){e.msg="invalid literal/lengths set",r.mode=uu;break}if(r.distbits=6,r.distcode=r.distdyn,E={bits:r.distbits},_=xc(Kc,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,E),r.distbits=E.bits,_){e.msg="invalid distances set",r.mode=uu;break}if(r.mode=$c,t===ps)break e;case $c:r.mode=eu;case eu:if(o>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,wc(e,d),s=e.next_out,n=e.output,c=e.avail_out,a=e.next_in,i=e.input,o=e.avail_in,u=r.hold,h=r.bits,r.mode===jc&&(r.back=-1);break}for(r.back=0;C=r.lencode[u&(1<<r.lenbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(b&&0==(240&b)){for(w=g,A=b,v=m;C=r.lencode[v+((u&(1<<w+A)-1)>>w)],g=C>>>24,b=C>>>16&255,m=65535&C,!(w+g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=g,h-=g,r.back+=g,r.length=m,0===b){r.mode=au;break}if(32&b){r.back=-1,r.mode=jc;break}if(64&b){e.msg="invalid literal/length code",r.mode=uu;break}r.extra=15&b,r.mode=tu;case tu:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=ru;case ru:for(;C=r.distcode[u&(1<<r.distbits)-1],g=C>>>24,b=C>>>16&255,m=65535&C,!(g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(0==(240&b)){for(w=g,A=b,v=m;C=r.distcode[v+((u&(1<<w+A)-1)>>w)],g=C>>>24,b=C>>>16&255,m=65535&C,!(w+g<=h);){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}u>>>=w,h-=w,r.back+=w}if(u>>>=g,h-=g,r.back+=g,64&b){e.msg="invalid distance code",r.mode=uu;break}r.offset=m,r.extra=15&b,r.mode=iu;case iu:if(r.extra){for(S=r.extra;h<S;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,h-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=uu;break}r.mode=nu;case nu:if(0===c)break e;if(l=d-c,r.offset>l){if(l=r.offset-l,l>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=uu;break}l>r.wnext?(l-=r.wnext,p=r.wsize-l):p=r.wnext-l,l>r.length&&(l=r.length),y=r.window}else y=n,p=s-r.offset,l=r.length;l>c&&(l=c),c-=l,r.length-=l;do{n[s++]=y[p++]}while(--l);0===r.length&&(r.mode=eu);break;case au:if(0===c)break e;n[s++]=r.length,c--,r.mode=eu;break;case su:if(r.wrap){for(;h<32;){if(0===o)break e;o--,u|=i[a++]<<h,h+=8}if(d-=c,e.total_out+=d,r.total+=d,d&&(e.adler=r.check=r.flags?Mo(r.check,n,d,s-d):Po(r.check,n,d,s-d)),d=c,(r.flags?u:du(u))!==r.check){e.msg="incorrect data check",r.mode=uu;break}u=0,h=0}r.mode=ou;case ou:if(r.wrap&&r.flags){for(;h<32;){if(0===o)break e;o--,u+=i[a++]<<h,h+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=uu;break}u=0,h=0}r.mode=cu;case cu:_=gs;break e;case uu:_=ws;break e;default:return ms}return e.next_out=s,e.avail_out=c,e.next_in=a,e.avail_in=o,r.hold=u,r.bits=h,(r.wsize||d!==e.avail_out&&r.mode<uu&&(r.mode<su||t!==ds))&&Au(e,e.output,e.next_out,d-e.avail_out),f-=e.avail_in,d-=e.avail_out,e.total_in+=f,e.total_out+=d,r.total+=d,r.wrap&&d&&(e.adler=r.check=r.flags?Mo(r.check,n,d,e.next_out-d):Po(r.check,n,d,e.next_out-d)),e.data_type=r.bits+(r.last?64:0)+(r.mode===jc?128:0)+(r.mode===$c||r.mode===Vc?256:0),(0===f&&0===d||t===ds)&&_===ys&&(_=As),_}function ku(e,t){const r=t.length;let i,n;return e&&e.state?(i=e.state,0!==i.wrap&&i.mode!==Hc?ms:i.mode===Hc&&(n=1,n=Po(n,t,r,0),n!==i.check)?ws:(Au(e,t,r,r),i.havedict=1,ys)):ms}class _u{constructor(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}}class Eu{constructor(e){this.options={chunkSize:16384,windowBits:0,...e||{}};const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yc,this.strm.avail_out=0;let r=yu(this.strm,t.windowBits);if(r!==ys)throw Error(Do[r]);if(this.header=new _u,function(e,t){let r;e&&e.state&&(r=e.state,0==(2&r.wrap)||(r.head=t,t.done=!1))}(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=pc(t.dictionary):t.dictionary instanceof ArrayBuffer&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=ku(this.strm,t.dictionary),r!==ys)))throw Error(Do[r])}push(e,t){const{strm:r,options:{chunkSize:i,dictionary:n}}=this;let a,s,o=!1;if(this.ended)return!1;s=t===~~t?t:!0===t?ds:cs,"string"==typeof e?r.input=function(e){const t=new is(e.length);for(let r=0,i=t.length;r<i;r++)t[r]=e.charCodeAt(r);return t}(e):e instanceof ArrayBuffer?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new is(i),r.next_out=0,r.avail_out=i),a=vu(r,cs),a===bs&&n&&(a=ku(this.strm,n)),a===As&&!0===o&&(a=ys,o=!1),a!==gs&&a!==ys)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(0!==r.avail_out&&a!==gs&&(0!==r.avail_in||s!==ds&&s!==hs)||this.onData(es(r.output,r.next_out))),0===r.avail_in&&0===r.avail_out&&(o=!0)}while((r.avail_in>0||0===r.avail_out)&&a!==gs);return a===gs&&(s=ds),s===ds?(a=function(e){if(!e||!e.state)return ms;const t=e.state;return t.window&&(t.window=null),e.state=null,ys}(this.strm),this.onEnd(a),this.ended=!0,a===ys):s!==hs||(this.onEnd(ys),r.avail_out=0,!0)}onData(e){this.chunks.push(e)}onEnd(e){e===ys&&(this.result=ss(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}}var Su=[0,1,3,7,15,31,63,127,255],Cu=function(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1};Cu.prototype._ensureByte=function(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)},Cu.prototype.read=function(e){for(var t=0;e>0;){this._ensureByte();var r=8-this.bitOffset;if(e>=r)t<<=r,t|=Su[r]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=r;else{t<<=e;var i=r-e;t|=(this.curByte&Su[e]<<i)>>i,this.bitOffset+=e,e=0}}return t},Cu.prototype.seek=function(e){var t=e%8,r=(e-t)/8;this.bitOffset=t,this.stream.seek(r),this.hasByte=!1},Cu.prototype.pi=function(){var e,t=new Uint8Array(6);for(e=0;e<t.length;e++)t[e]=this.read(8);return function(e){return Array.prototype.map.call(e,(e=>("00"+e.toString(16)).slice(-2))).join("")}(t)};var Iu=Cu,Bu=function(){};Bu.prototype.readByte=function(){throw Error("abstract method readByte() not implemented")},Bu.prototype.read=function(e,t,r){for(var i=0;i<r;){var n=this.readByte();if(n<0)return 0===i?-1:i;e[t++]=n,i++}return i},Bu.prototype.seek=function(e){throw Error("abstract method seek() not implemented")},Bu.prototype.writeByte=function(e){throw Error("abstract method readByte() not implemented")},Bu.prototype.write=function(e,t,r){var i;for(i=0;i<r;i++)this.writeByte(e[t++]);return r},Bu.prototype.flush=function(){};var Pu,xu=Bu,Mu=(Pu=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]),function(){var e=4294967295;this.getCRC=function(){return~e>>>0},this.updateCRC=function(t){e=e<<8^Pu[255&(e>>>24^t)]},this.updateCRCRun=function(t,r){for(;r-- >0;)e=e<<8^Pu[255&(e>>>24^t)]}}),Du=function(e,t){var r,i=e[t];for(r=t;r>0;r--)e[r]=e[r-1];return e[0]=i,i},Ku={OK:0,LAST_BLOCK:-1,NOT_BZIP_DATA:-2,UNEXPECTED_INPUT_EOF:-3,UNEXPECTED_OUTPUT_EOF:-4,DATA_ERROR:-5,OUT_OF_MEMORY:-6,OBSOLETE_INPUT:-7,END_OF_BLOCK:-8},Uu={};Uu[Ku.LAST_BLOCK]="Bad file checksum",Uu[Ku.NOT_BZIP_DATA]="Not bzip data",Uu[Ku.UNEXPECTED_INPUT_EOF]="Unexpected input EOF",Uu[Ku.UNEXPECTED_OUTPUT_EOF]="Unexpected output EOF",Uu[Ku.DATA_ERROR]="Data error",Uu[Ku.OUT_OF_MEMORY]="Out of memory",Uu[Ku.OBSOLETE_INPUT]="Obsolete (pre 0.9.5) bzip format not supported.";var Ru=function(e,t){var r=Uu[e]||"unknown error";t&&(r+=": "+t);var i=new TypeError(r);throw i.errorCode=e,i},Tu=function(e,t){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,t)};Tu.prototype._init_block=function(){return this._get_next_block()?(this.blockCRC=new Mu,!0):(this.writeCount=-1,!1)},Tu.prototype._start_bunzip=function(e,t){var r=new Uint8Array(4);4===e.read(r,0,4)&&"BZh"===String.fromCharCode(r[0],r[1],r[2])||Ru(Ku.NOT_BZIP_DATA,"bad magic");var i=r[3]-48;(i<1||i>9)&&Ru(Ku.NOT_BZIP_DATA,"level out of range"),this.reader=new Iu(e),this.dbufSize=1e5*i,this.nextoutput=0,this.outputStream=t,this.streamCRC=0},Tu.prototype._get_next_block=function(){var e,t,r,i=this.reader,n=i.pi();if("177245385090"===n)return!1;"314159265359"!==n&&Ru(Ku.NOT_BZIP_DATA),this.targetBlockCRC=i.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,i.read(1)&&Ru(Ku.OBSOLETE_INPUT);var a=i.read(24);a>this.dbufSize&&Ru(Ku.DATA_ERROR,"initial position out of bounds");var s=i.read(16),o=new Uint8Array(256),c=0;for(e=0;e<16;e++)if(s&1<<15-e){var u=16*e;for(r=i.read(16),t=0;t<16;t++)r&1<<15-t&&(o[c++]=u+t)}var h=i.read(3);(h<2||h>6)&&Ru(Ku.DATA_ERROR);var f=i.read(15);0===f&&Ru(Ku.DATA_ERROR);var d=new Uint8Array(256);for(e=0;e<h;e++)d[e]=e;var l=new Uint8Array(f);for(e=0;e<f;e++){for(t=0;i.read(1);t++)t>=h&&Ru(Ku.DATA_ERROR);l[e]=Du(d,t)}var p,y=c+2,g=[];for(t=0;t<h;t++){var b,m,w=new Uint8Array(y),A=new Uint16Array(21);for(s=i.read(5),e=0;e<y;e++){for(;(s<1||s>20)&&Ru(Ku.DATA_ERROR),i.read(1);)i.read(1)?s--:s++;w[e]=s}for(b=m=w[0],e=1;e<y;e++)w[e]>m?m=w[e]:w[e]<b&&(b=w[e]);p={},g.push(p),p.permute=new Uint16Array(258),p.limit=new Uint32Array(22),p.base=new Uint32Array(21),p.minLen=b,p.maxLen=m;var v=0;for(e=b;e<=m;e++)for(A[e]=p.limit[e]=0,s=0;s<y;s++)w[s]===e&&(p.permute[v++]=s);for(e=0;e<y;e++)A[w[e]]++;for(v=s=0,e=b;e<m;e++)v+=A[e],p.limit[e]=v-1,v<<=1,s+=A[e],p.base[e+1]=v-s;p.limit[m+1]=Number.MAX_VALUE,p.limit[m]=v+A[m]-1,p.base[b]=0}var k=new Uint32Array(256);for(e=0;e<256;e++)d[e]=e;var _,E=0,S=0,C=0,I=this.dbuf=new Uint32Array(this.dbufSize);for(y=0;;){for(y--||(y=49,C>=f&&Ru(Ku.DATA_ERROR),p=g[l[C++]]),e=p.minLen,t=i.read(e);e>p.maxLen&&Ru(Ku.DATA_ERROR),!(t<=p.limit[e]);e++)t=t<<1|i.read(1);((t-=p.base[e])<0||t>=258)&&Ru(Ku.DATA_ERROR);var B=p.permute[t];if(0!==B&&1!==B){if(E)for(E=0,S+s>this.dbufSize&&Ru(Ku.DATA_ERROR),k[_=o[d[0]]]+=s;s--;)I[S++]=_;if(B>c)break;S>=this.dbufSize&&Ru(Ku.DATA_ERROR),k[_=o[_=Du(d,e=B-1)]]++,I[S++]=_}else E||(E=1,s=0),s+=0===B?E:2*E,E<<=1}for((a<0||a>=S)&&Ru(Ku.DATA_ERROR),t=0,e=0;e<256;e++)r=t+k[e],k[e]=t,t=r;for(e=0;e<S;e++)I[k[_=255&I[e]]]|=e<<8,k[_]++;var P=0,x=0,M=0;return S&&(x=255&(P=I[a]),P>>=8,M=-1),this.writePos=P,this.writeCurrent=x,this.writeCount=S,this.writeRun=M,!0},Tu.prototype._read_bunzip=function(e,t){var r,i,n;if(this.writeCount<0)return 0;var a=this.dbuf,s=this.writePos,o=this.writeCurrent,c=this.writeCount;this.outputsize;for(var u=this.writeRun;c;){for(c--,i=o,o=255&(s=a[s]),s>>=8,3==u++?(r=o,n=i,o=-1):(r=1,n=o),this.blockCRC.updateCRCRun(n,r);r--;)this.outputStream.writeByte(n),this.nextoutput++;o!=i&&(u=0)}return this.writeCount=c,this.blockCRC.getCRC()!==this.targetBlockCRC&&Ru(Ku.DATA_ERROR,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput};var Qu=function(e){if("readByte"in e)return e;var t=new xu;return t.pos=0,t.readByte=function(){return e[this.pos++]},t.seek=function(e){this.pos=e},t.eof=function(){return this.pos>=e.length},t},zu=function(e){var t=new xu,r=!0;if(e)if("number"==typeof e)t.buffer=new Uint8Array(e),r=!1;else{if("writeByte"in e)return e;t.buffer=e,r=!1}else t.buffer=new Uint8Array(16384);return t.pos=0,t.writeByte=function(e){if(r&&this.pos>=this.buffer.length){var t=new Uint8Array(2*this.buffer.length);t.set(this.buffer),this.buffer=t}this.buffer[this.pos++]=e},t.getBuffer=function(){if(this.pos!==this.buffer.length){if(!r)throw new TypeError("outputsize does not match decoded input");var e=new Uint8Array(this.pos);e.set(this.buffer.subarray(0,this.pos)),this.buffer=e}return this.buffer},t._coerced=!0,t};var Fu=function(e,t,r){for(var i=Qu(e),n=zu(t),a=new Tu(i,n);!("eof"in i)||!i.eof();)if(a._init_block())a._read_bunzip();else{var s=a.reader.read(32)>>>0;if(s!==a.streamCRC&&Ru(Ku.DATA_ERROR,"Bad stream CRC (got "+a.streamCRC.toString(16)+" expected "+s.toString(16)+")"),!r||!("eof"in i)||i.eof())break;a._start_bunzip(i,n)}if("getBuffer"in n)return n.getBuffer()};class Lu{static get tag(){return ue.packet.literalData}constructor(e=new Date){this.format=ue.literal.utf8,this.date=fe.normalizeDate(e),this.text=null,this.data=null,this.filename=""}setText(e,t=ue.literal.utf8){this.format=t,this.text=e,this.data=null}getText(e=!1){return(null===this.text||fe.isStream(this.text))&&(this.text=fe.decodeUTF8(fe.nativeEOL(this.getBytes(e)))),this.text}setBytes(e,t){this.format=t,this.data=e,this.text=null}getBytes(e=!1){return null===this.data&&(this.data=fe.canonicalizeEOL(fe.encodeUTF8(this.text))),e?ee(this.data):this.data}setFilename(e){this.filename=e}getFilename(){return this.filename}async read(e){await X(e,(async e=>{const t=await e.readByte(),r=await e.readByte();this.filename=fe.decodeUTF8(await e.readBytes(r)),this.date=fe.readDate(await e.readBytes(4));let i=e.remainder();v(i)&&(i=await ie(i)),this.setBytes(i,t)}))}writeHeader(){const e=fe.encodeUTF8(this.filename),t=new Uint8Array([e.length]),r=new Uint8Array([this.format]),i=fe.writeDate(this.date);return fe.concatUint8Array([r,t,e,i])}write(){const e=this.writeHeader(),t=this.getBytes();return fe.concat([e,t])}}const Nu=Symbol("verified"),qu=new Set([ue.signatureSubpacket.issuer,ue.signatureSubpacket.issuerFingerprint,ue.signatureSubpacket.embeddedSignature]);class Ou{static get tag(){return ue.packet.signature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.signatureData=null,this.unhashedSubpackets=[],this.signedHashValue=null,this.created=null,this.signatureExpirationTime=null,this.signatureNeverExpires=!0,this.exportable=null,this.trustLevel=null,this.trustAmount=null,this.regularExpression=null,this.revocable=null,this.keyExpirationTime=null,this.keyNeverExpires=null,this.preferredSymmetricAlgorithms=null,this.revocationKeyClass=null,this.revocationKeyAlgorithm=null,this.revocationKeyFingerprint=null,this.issuerKeyID=new Pe,this.rawNotations=[],this.notations={},this.preferredHashAlgorithms=null,this.preferredCompressionAlgorithms=null,this.keyServerPreferences=null,this.preferredKeyServer=null,this.isPrimaryUserID=null,this.policyURI=null,this.keyFlags=null,this.signersUserID=null,this.reasonForRevocationFlag=null,this.reasonForRevocationString=null,this.features=null,this.signatureTargetPublicKeyAlgorithm=null,this.signatureTargetHashAlgorithm=null,this.signatureTargetHash=null,this.embeddedSignature=null,this.issuerKeyVersion=null,this.issuerFingerprint=null,this.preferredAEADAlgorithms=null,this.revoked=null,this[Nu]=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new Dn(`Version ${this.version} of the signature packet is unsupported.`);if(this.signatureType=e[t++],this.publicKeyAlgorithm=e[t++],this.hashAlgorithm=e[t++],t+=this.readSubPackets(e.subarray(t,e.length),!0),!this.created)throw Error("Missing signature creation time subpacket.");this.signatureData=e.subarray(0,t),t+=this.readSubPackets(e.subarray(t,e.length),!1),this.signedHashValue=e.subarray(t,t+2),t+=2,this.params=Ha.signature.parseSignatureParams(this.publicKeyAlgorithm,e.subarray(t,e.length))}writeParams(){return this.params instanceof Promise?ae((async()=>Ha.serializeParams(this.publicKeyAlgorithm,await this.params))):Ha.serializeParams(this.publicKeyAlgorithm,this.params)}write(){const e=[];return e.push(this.signatureData),e.push(this.writeUnhashedSubPackets()),e.push(this.signedHashValue),e.push(this.writeParams()),fe.concat(e)}async sign(e,t,r=new Date,i=!1){5===e.version?this.version=5:this.version=4;const n=[new Uint8Array([this.version,this.signatureType,this.publicKeyAlgorithm,this.hashAlgorithm])];this.created=fe.normalizeDate(r),this.issuerKeyVersion=e.version,this.issuerFingerprint=e.getFingerprintBytes(),this.issuerKeyID=e.getKeyID(),n.push(this.writeHashedSubPackets()),this.unhashedSubpackets=[],this.signatureData=fe.concat(n);const a=this.toHash(this.signatureType,t,i),s=await this.hash(this.signatureType,t,a,i);this.signedHashValue=re($(s),0,2);const o=async()=>Ha.signature.sign(this.publicKeyAlgorithm,this.hashAlgorithm,e.publicParams,e.privateParams,a,await ie(s));fe.isStream(s)?this.params=o():(this.params=await o(),this[Nu]=!0)}writeHashedSubPackets(){const e=ue.signatureSubpacket,t=[];let r;if(null===this.created)throw Error("Missing signature creation time");t.push(Hu(e.signatureCreationTime,!0,fe.writeDate(this.created))),null!==this.signatureExpirationTime&&t.push(Hu(e.signatureExpirationTime,!0,fe.writeNumber(this.signatureExpirationTime,4))),null!==this.exportable&&t.push(Hu(e.exportableCertification,!0,new Uint8Array([this.exportable?1:0]))),null!==this.trustLevel&&(r=new Uint8Array([this.trustLevel,this.trustAmount]),t.push(Hu(e.trustSignature,!0,r))),null!==this.regularExpression&&t.push(Hu(e.regularExpression,!0,this.regularExpression)),null!==this.revocable&&t.push(Hu(e.revocable,!0,new Uint8Array([this.revocable?1:0]))),null!==this.keyExpirationTime&&t.push(Hu(e.keyExpirationTime,!0,fe.writeNumber(this.keyExpirationTime,4))),null!==this.preferredSymmetricAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredSymmetricAlgorithms)),t.push(Hu(e.preferredSymmetricAlgorithms,!1,r))),null!==this.revocationKeyClass&&(r=new Uint8Array([this.revocationKeyClass,this.revocationKeyAlgorithm]),r=fe.concat([r,this.revocationKeyFingerprint]),t.push(Hu(e.revocationKey,!1,r))),this.issuerKeyID.isNull()||5===this.issuerKeyVersion||t.push(Hu(e.issuer,!0,this.issuerKeyID.write())),this.rawNotations.forEach((({name:i,value:n,humanReadable:a,critical:s})=>{r=[new Uint8Array([a?128:0,0,0,0])];const o=fe.encodeUTF8(i);r.push(fe.writeNumber(o.length,2)),r.push(fe.writeNumber(n.length,2)),r.push(o),r.push(n),r=fe.concat(r),t.push(Hu(e.notationData,s,r))})),null!==this.preferredHashAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredHashAlgorithms)),t.push(Hu(e.preferredHashAlgorithms,!1,r))),null!==this.preferredCompressionAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredCompressionAlgorithms)),t.push(Hu(e.preferredCompressionAlgorithms,!1,r))),null!==this.keyServerPreferences&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.keyServerPreferences)),t.push(Hu(e.keyServerPreferences,!1,r))),null!==this.preferredKeyServer&&t.push(Hu(e.preferredKeyServer,!1,fe.encodeUTF8(this.preferredKeyServer))),null!==this.isPrimaryUserID&&t.push(Hu(e.primaryUserID,!1,new Uint8Array([this.isPrimaryUserID?1:0]))),null!==this.policyURI&&t.push(Hu(e.policyURI,!1,fe.encodeUTF8(this.policyURI))),null!==this.keyFlags&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.keyFlags)),t.push(Hu(e.keyFlags,!0,r))),null!==this.signersUserID&&t.push(Hu(e.signersUserID,!1,fe.encodeUTF8(this.signersUserID))),null!==this.reasonForRevocationFlag&&(r=fe.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag)+this.reasonForRevocationString),t.push(Hu(e.reasonForRevocation,!0,r))),null!==this.features&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.features)),t.push(Hu(e.features,!1,r))),null!==this.signatureTargetPublicKeyAlgorithm&&(r=[new Uint8Array([this.signatureTargetPublicKeyAlgorithm,this.signatureTargetHashAlgorithm])],r.push(fe.stringToUint8Array(this.signatureTargetHash)),r=fe.concat(r),t.push(Hu(e.signatureTarget,!0,r))),null!==this.embeddedSignature&&t.push(Hu(e.embeddedSignature,!0,this.embeddedSignature.write())),null!==this.issuerFingerprint&&(r=[new Uint8Array([this.issuerKeyVersion]),this.issuerFingerprint],r=fe.concat(r),t.push(Hu(e.issuerFingerprint,5===this.version,r))),null!==this.preferredAEADAlgorithms&&(r=fe.stringToUint8Array(fe.uint8ArrayToString(this.preferredAEADAlgorithms)),t.push(Hu(e.preferredAEADAlgorithms,!1,r)));const i=fe.concat(t),n=fe.writeNumber(i.length,2);return fe.concat([n,i])}writeUnhashedSubPackets(){const e=[];this.unhashedSubpackets.forEach((t=>{e.push(Cn(t.length)),e.push(t)}));const t=fe.concat(e),r=fe.writeNumber(t.length,2);return fe.concat([r,t])}readSubPacket(e,t=!0){let r=0;const i=!!(128&e[r]),n=127&e[r];if(t||(this.unhashedSubpackets.push(e.subarray(r,e.length)),qu.has(n)))switch(r++,n){case ue.signatureSubpacket.signatureCreationTime:this.created=fe.readDate(e.subarray(r,e.length));break;case ue.signatureSubpacket.signatureExpirationTime:{const t=fe.readNumber(e.subarray(r,e.length));this.signatureNeverExpires=0===t,this.signatureExpirationTime=t;break}case ue.signatureSubpacket.exportableCertification:this.exportable=1===e[r++];break;case ue.signatureSubpacket.trustSignature:this.trustLevel=e[r++],this.trustAmount=e[r++];break;case ue.signatureSubpacket.regularExpression:this.regularExpression=e[r];break;case ue.signatureSubpacket.revocable:this.revocable=1===e[r++];break;case ue.signatureSubpacket.keyExpirationTime:{const t=fe.readNumber(e.subarray(r,e.length));this.keyExpirationTime=t,this.keyNeverExpires=0===t;break}case ue.signatureSubpacket.preferredSymmetricAlgorithms:this.preferredSymmetricAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.revocationKey:this.revocationKeyClass=e[r++],this.revocationKeyAlgorithm=e[r++],this.revocationKeyFingerprint=e.subarray(r,r+20);break;case ue.signatureSubpacket.issuer:this.issuerKeyID.read(e.subarray(r,e.length));break;case ue.signatureSubpacket.notationData:{const t=!!(128&e[r]);r+=4;const n=fe.readNumber(e.subarray(r,r+2));r+=2;const a=fe.readNumber(e.subarray(r,r+2));r+=2;const s=fe.decodeUTF8(e.subarray(r,r+n)),o=e.subarray(r+n,r+n+a);this.rawNotations.push({name:s,humanReadable:t,value:o,critical:i}),t&&(this.notations[s]=fe.decodeUTF8(o));break}case ue.signatureSubpacket.preferredHashAlgorithms:this.preferredHashAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.preferredCompressionAlgorithms:this.preferredCompressionAlgorithms=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.keyServerPreferences:this.keyServerPreferences=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.preferredKeyServer:this.preferredKeyServer=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.primaryUserID:this.isPrimaryUserID=0!==e[r++];break;case ue.signatureSubpacket.policyURI:this.policyURI=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.keyFlags:this.keyFlags=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.signersUserID:this.signersUserID=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.reasonForRevocation:this.reasonForRevocationFlag=e[r++],this.reasonForRevocationString=fe.decodeUTF8(e.subarray(r,e.length));break;case ue.signatureSubpacket.features:this.features=[...e.subarray(r,e.length)];break;case ue.signatureSubpacket.signatureTarget:{this.signatureTargetPublicKeyAlgorithm=e[r++],this.signatureTargetHashAlgorithm=e[r++];const t=Ha.getHashByteLength(this.signatureTargetHashAlgorithm);this.signatureTargetHash=fe.uint8ArrayToString(e.subarray(r,r+t));break}case ue.signatureSubpacket.embeddedSignature:this.embeddedSignature=new Ou,this.embeddedSignature.read(e.subarray(r,e.length));break;case ue.signatureSubpacket.issuerFingerprint:this.issuerKeyVersion=e[r++],this.issuerFingerprint=e.subarray(r,e.length),5===this.issuerKeyVersion?this.issuerKeyID.read(this.issuerFingerprint):this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));break;case ue.signatureSubpacket.preferredAEADAlgorithms:this.preferredAEADAlgorithms=[...e.subarray(r,e.length)];break;default:{const e=Error("Unknown signature subpacket type "+n);if(i)throw e;fe.printDebug(e)}}}readSubPackets(e,t=!0,r){const i=fe.readNumber(e.subarray(0,2));let n=2;for(;n<2+i;){const i=Sn(e.subarray(n,e.length));n+=i.offset,this.readSubPacket(e.subarray(n,n+i.len),t,r),n+=i.len}return n}toSign(e,t){const r=ue.signature;switch(e){case r.binary:return null!==t.text?fe.encodeUTF8(t.getText(!0)):t.getBytes(!0);case r.text:{const e=t.getBytes(!0);return fe.canonicalizeEOL(e)}case r.standalone:return new Uint8Array(0);case r.certGeneric:case r.certPersona:case r.certCasual:case r.certPositive:case r.certRevocation:{let e,i;if(t.userID)i=180,e=t.userID;else{if(!t.userAttribute)throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");i=209,e=t.userAttribute}const n=e.write();return fe.concat([this.toSign(r.key,t),new Uint8Array([i]),fe.writeNumber(n.length,4),n])}case r.subkeyBinding:case r.subkeyRevocation:case r.keyBinding:return fe.concat([this.toSign(r.key,t),this.toSign(r.key,{key:t.bind})]);case r.key:if(void 0===t.key)throw Error("Key packet is required for this signature.");return t.key.writeForHash(this.version);case r.keyRevocation:return this.toSign(r.key,t);case r.timestamp:return new Uint8Array(0);case r.thirdParty:throw Error("Not implemented");default:throw Error("Unknown signature type.")}}calculateTrailer(e,t){let r=0;return Y($(this.signatureData),(e=>{r+=e.length}),(()=>{const i=[];return 5!==this.version||this.signatureType!==ue.signature.binary&&this.signatureType!==ue.signature.text||(t?i.push(new Uint8Array(6)):i.push(e.writeHeader())),i.push(new Uint8Array([this.version,255])),5===this.version&&i.push(new Uint8Array(4)),i.push(fe.writeNumber(r,4)),fe.concat(i)}))}toHash(e,t,r=!1){const i=this.toSign(e,t);return fe.concat([i,this.signatureData,this.calculateTrailer(t,r)])}async hash(e,t,r,i=!1){return r||(r=this.toHash(e,t,i)),Ha.hash.digest(this.hashAlgorithm,r)}async verify(e,t,r,i=new Date,n=!1,a=we){if(!this.issuerKeyID.equals(e.getKeyID()))throw Error("Signature was not issued by the given public key");if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");const s=t===ue.signature.binary||t===ue.signature.text;if(!(this[Nu]&&!s)){let i,a;if(this.hashed?a=await this.hashed:(i=this.toHash(t,r,n),a=await this.hash(t,r,i)),a=await ie(a),this.signedHashValue[0]!==a[0]||this.signedHashValue[1]!==a[1])throw Error("Signed digest did not match");this.params=await this.params;const s=this.publicKeyAlgorithm===ue.publicKey.hmac?e.privateParams:null;if(this[Nu]=await Ha.signature.verify(this.publicKeyAlgorithm,this.hashAlgorithm,this.params,e.publicParams,s,i,a),!this[Nu])throw Error("Signature verification failed")}const o=fe.normalizeDate(i);if(o&&this.created>o)throw Error("Signature creation time is in the future");if(o&&o>=this.getExpirationTime())throw Error("Signature is expired");if(a.rejectHashAlgorithms.has(this.hashAlgorithm))throw Error("Insecure hash algorithm: "+ue.read(ue.hash,this.hashAlgorithm).toUpperCase());if(a.rejectMessageHashAlgorithms.has(this.hashAlgorithm)&&[ue.signature.binary,ue.signature.text].includes(this.signatureType))throw Error("Insecure message hash algorithm: "+ue.read(ue.hash,this.hashAlgorithm).toUpperCase());if(this.rawNotations.forEach((({name:e,critical:t})=>{if(t&&a.knownNotations.indexOf(e)<0)throw Error("Unknown critical notation: "+e)})),null!==this.revocationKeyClass)throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.")}isExpired(e=new Date){const t=fe.normalizeDate(e);return null!==t&&!(this.created<=t&&t<this.getExpirationTime())}getExpirationTime(){return this.signatureNeverExpires?1/0:new Date(this.created.getTime()+1e3*this.signatureExpirationTime)}}function Hu(e,t,r){const i=[];return i.push(Cn(r.length+1)),i.push(new Uint8Array([(t?128:0)|e])),i.push(r),fe.concat(i)}class ju{static get tag(){return ue.packet.onePassSignature}constructor(){this.version=null,this.signatureType=null,this.hashAlgorithm=null,this.publicKeyAlgorithm=null,this.issuerKeyID=null,this.flags=null}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new Dn(`Version ${this.version} of the one-pass signature packet is unsupported.`);return this.signatureType=e[t++],this.hashAlgorithm=e[t++],this.publicKeyAlgorithm=e[t++],this.issuerKeyID=new Pe,this.issuerKeyID.read(e.subarray(t,t+8)),t+=8,this.flags=e[t++],this}write(){const e=new Uint8Array([3,this.signatureType,this.hashAlgorithm,this.publicKeyAlgorithm]),t=new Uint8Array([this.flags]);return fe.concatUint8Array([e,this.issuerKeyID.write(),t])}calculateTrailer(...e){return ae((async()=>Ou.prototype.calculateTrailer.apply(await this.correspondingSig,e)))}async verify(){const e=await this.correspondingSig;if(!e||e.constructor.tag!==ue.packet.signature)throw Error("Corresponding signature packet missing");if(e.signatureType!==this.signatureType||e.hashAlgorithm!==this.hashAlgorithm||e.publicKeyAlgorithm!==this.publicKeyAlgorithm||!e.issuerKeyID.equals(this.issuerKeyID))throw Error("Corresponding signature packet does not match one-pass signature packet");return e.hashed=this.hashed,e.verify.apply(e,arguments)}}function Gu(e,t){if(!t[e]){let t;try{t=ue.read(ue.packet,e)}catch(t){throw new Dn("Unknown packet type with tag: "+e)}throw Error("Packet not allowed in this context: "+t)}return new t[e]}ju.prototype.hash=Ou.prototype.hash,ju.prototype.toHash=Ou.prototype.toHash,ju.prototype.toSign=Ou.prototype.toSign;class Wu extends Array{static async fromBinary(e,t,r=we){const i=new Wu;return await i.read(e,t,r),i}async read(e,t,r=we){r.additionalAllowedPackets.length&&(t={...t,...fe.constructAllowedPackets(r.additionalAllowedPackets)}),this.stream=Z(e,(async(e,i)=>{const n=G(i);try{for(;;){await n.ready;if(await Mn(e,(async e=>{try{if(e.tag===ue.packet.marker||e.tag===ue.packet.trust)return;const i=Gu(e.tag,t);i.packets=new Wu,i.fromStream=fe.isStream(e.packet),await i.read(e.packet,r),await n.write(i)}catch(t){const i=!r.ignoreUnsupportedPackets&&t instanceof Dn,a=!(r.ignoreMalformedPackets||t instanceof Dn);if(i||a||xn(e.tag))await n.abort(t);else{const t=new Kn(e.tag,e.packet);await n.write(t)}fe.printDebugError(t)}})))return await n.ready,void await n.close()}}catch(e){await n.abort(e)}}));const i=j(this.stream);for(;;){const{done:e,value:t}=await i.read();if(e?this.stream=null:this.push(t),e||xn(t.constructor.tag))break}i.releaseLock()}write(){const e=[];for(let t=0;t<this.length;t++){const r=this[t]instanceof Kn?this[t].tag:this[t].constructor.tag,i=this[t].write();if(fe.isStream(i)&&xn(this[t].constructor.tag)){let t=[],n=0;const a=512;e.push(Bn(r)),e.push(Y(i,(e=>{if(t.push(e),n+=e.length,n>=a){const e=Math.min(Math.log(n)/Math.LN2|0,30),r=2**e,i=fe.concat([In(e)].concat(t));return t=[i.subarray(1+r)],n=t[0].length,i.subarray(0,1+r)}}),(()=>fe.concat([Cn(n)].concat(t)))))}else{if(fe.isStream(i)){let t=0;e.push(Y($(i),(e=>{t+=e.length}),(()=>Pn(r,t))))}else e.push(Pn(r,i.length));e.push(i)}}return fe.concat(e)}filterByTag(...e){const t=new Wu,r=e=>t=>e===t;for(let i=0;i<this.length;i++)e.some(r(this[i].constructor.tag))&&t.push(this[i]);return t}findPacket(e){return this.find((t=>t.constructor.tag===e))}indexOfTag(...e){const t=[],r=this,i=e=>t=>e===t;for(let n=0;n<this.length;n++)e.some(i(r[n].constructor.tag))&&t.push(n);return t}}const Vu=/*#__PURE__*/fe.constructAllowedPackets([Lu,ju,Ou]);class Ju{static get tag(){return ue.packet.compressedData}constructor(e=we){this.packets=null,this.algorithm=e.preferredCompressionAlgorithm,this.compressed=null,this.deflateLevel=e.deflateLevel}async read(e,t=we){await X(e,(async e=>{this.algorithm=await e.readByte(),this.compressed=e.remainder(),await this.decompress(t)}))}write(){return null===this.compressed&&this.compress(),fe.concat([new Uint8Array([this.algorithm]),this.compressed])}async decompress(e=we){const t=ue.read(ue.compression,this.algorithm),r=rh[t];if(!r)throw Error(t+" decompression not supported");this.packets=await Wu.fromBinary(r(this.compressed),Vu,e)}compress(){const e=ue.read(ue.compression,this.algorithm),t=th[e];if(!t)throw Error(e+" compression not supported");this.compressed=t(this.packets.write(),this.deflateLevel)}}const Yu=fe.getNodeZlib();function Zu(e){return e}function Xu(e,t,r={}){return function(i){return!fe.isStream(i)||v(i)?ae((()=>ie(i).then((t=>new Promise(((i,n)=>{e(t,r,((e,t)=>{if(e)return n(e);i(t)}))})))))):x(M(i).pipe(t(r)))}}function $u(e,t={}){return function(r){const i=new e(t);return Y(r,(e=>{if(e.length)return i.push(e,hs),i.result}),(()=>{if(e===gc)return i.push([],ds),i.result}))}}function eh(e){return function(t){return ae((async()=>e(await ie(t))))}}const th=Yu?{zip:/*#__PURE__*/(e,t)=>Xu(Yu.deflateRaw,Yu.createDeflateRaw,{level:t})(e),zlib:/*#__PURE__*/(e,t)=>Xu(Yu.deflate,Yu.createDeflate,{level:t})(e)}:{zip:/*#__PURE__*/(e,t)=>$u(gc,{raw:!0,level:t})(e),zlib:/*#__PURE__*/(e,t)=>$u(gc,{level:t})(e)},rh=Yu?{uncompressed:Zu,zip:/*#__PURE__*/Xu(Yu.inflateRaw,Yu.createInflateRaw),zlib:/*#__PURE__*/Xu(Yu.inflate,Yu.createInflate),bzip2:/*#__PURE__*/eh(Fu)}:{uncompressed:Zu,zip:/*#__PURE__*/$u(Eu,{raw:!0}),zlib:/*#__PURE__*/$u(Eu),bzip2:/*#__PURE__*/eh(Fu)},ih=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class nh{static get tag(){return ue.packet.symEncryptedIntegrityProtectedData}constructor(){this.version=1,this.encrypted=null,this.packets=null}async read(e){await X(e,(async e=>{const t=await e.readByte();if(1!==t)throw new Dn(`Version ${t} of the SEIP packet is unsupported.`);this.encrypted=e.remainder()}))}write(){return fe.concat([new Uint8Array([1]),this.encrypted])}async encrypt(e,t,r=we){const{blockSize:i}=Ha.getCipher(e);let n=this.packets.write();v(n)&&(n=await ie(n));const a=await Ha.getPrefixRandom(e),s=new Uint8Array([211,20]),o=fe.concat([a,n,s]),c=await Ha.hash.sha1(ee(o)),u=fe.concat([o,c]);return this.encrypted=await Ha.mode.cfb.encrypt(e,t,u,new Uint8Array(i),r),!0}async decrypt(e,t,r=we){const{blockSize:i}=Ha.getCipher(e);let n=$(this.encrypted);v(n)&&(n=await ie(n));const a=await Ha.mode.cfb.decrypt(e,t,n,new Uint8Array(i)),s=re(ee(a),-20),o=re(a,0,-20),c=Promise.all([ie(await Ha.hash.sha1(ee(o))),ie(s)]).then((([e,t])=>{if(!fe.equalsUint8Array(e,t))throw Error("Modification detected.");return new Uint8Array})),u=re(o,i+2);let h=re(u,0,-2);return h=H([h,ae((()=>c))]),fe.isStream(n)&&r.allowUnauthenticatedStream||(h=await ie(h)),this.packets=await Wu.fromBinary(h,ih,r),!0}}const ah=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class sh{static get tag(){return ue.packet.aeadEncryptedData}constructor(){this.version=1,this.cipherAlgorithm=null,this.aeadAlgorithm=ue.aead.eax,this.chunkSizeByte=null,this.iv=null,this.encrypted=null,this.packets=null}async read(e){await X(e,(async e=>{const t=await e.readByte();if(1!==t)throw new Dn(`Version ${t} of the AEAD-encrypted data packet is not supported.`);this.cipherAlgorithm=await e.readByte(),this.aeadAlgorithm=await e.readByte(),this.chunkSizeByte=await e.readByte();const r=Ha.getAEADMode(this.aeadAlgorithm);this.iv=await e.readBytes(r.ivLength),this.encrypted=e.remainder()}))}write(){return fe.concat([new Uint8Array([this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte]),this.iv,this.encrypted])}async decrypt(e,t,r=we){this.packets=await Wu.fromBinary(await this.crypt("decrypt",t,$(this.encrypted)),ah,r)}async encrypt(e,t,r=we){this.cipherAlgorithm=e;const{ivLength:i}=Ha.getAEADMode(this.aeadAlgorithm);this.iv=Ha.random.getRandomBytes(i),this.chunkSizeByte=r.aeadChunkSizeByte;const n=this.packets.write();this.encrypted=await this.crypt("encrypt",t,n)}async crypt(e,t,r){const i=Ha.getAEADMode(this.aeadAlgorithm),n=await i(this.cipherAlgorithm,t),a="decrypt"===e?i.tagLength:0,s="encrypt"===e?i.tagLength:0,o=2**(this.chunkSizeByte+6)+a,c=new ArrayBuffer(21),u=new Uint8Array(c,0,13),h=new Uint8Array(c),f=new DataView(c),d=new Uint8Array(c,5,8);u.set([192|sh.tag,this.version,this.cipherAlgorithm,this.aeadAlgorithm,this.chunkSizeByte],0);let l=0,p=Promise.resolve(),y=0,g=0;const b=this.iv;return Z(r,(async(t,r)=>{if("array"!==fe.isStream(t)){const e=new F({},{highWaterMark:fe.getHardwareConcurrency()*2**(this.chunkSizeByte+6),size:e=>e.length});W(e.readable,r),r=e.writable}const c=j(t),m=G(r);try{for(;;){let t=await c.readBytes(o+a)||new Uint8Array;const r=t.subarray(t.length-a);let w,A;if(t=t.subarray(0,t.length-a),!l||t.length?(c.unshift(r),w=n[e](t,i.getNonce(b,d),u),g+=t.length-a+s):(f.setInt32(17,y),w=n[e](r,i.getNonce(b,d),h),g+=s,A=!0),y+=t.length-a,p=p.then((()=>w)).then((async e=>{await m.ready,await m.write(e),g-=e.length})).catch((e=>m.abort(e))),(A||g>m.desiredSize)&&await p,A){await m.close();break}f.setInt32(9,++l)}}catch(e){await m.abort(e)}}))}}class oh{static get tag(){return ue.packet.publicKeyEncryptedSessionKey}constructor(){this.version=3,this.publicKeyID=new Pe,this.publicKeyAlgorithm=null,this.sessionKey=null,this.sessionKeyAlgorithm=null,this.encrypted={}}read(e){let t=0;if(this.version=e[t++],3!==this.version)throw new Dn(`Version ${this.version} of the PKESK packet is unsupported.`);t+=this.publicKeyID.read(e.subarray(t)),this.publicKeyAlgorithm=e[t++],this.encrypted=Ha.parseEncSessionKeyParams(this.publicKeyAlgorithm,e.subarray(t),this.version),this.publicKeyAlgorithm===ue.publicKey.x25519&&(this.sessionKeyAlgorithm=ue.write(ue.symmetric,this.encrypted.C.algorithm))}write(){const e=[new Uint8Array([this.version]),this.publicKeyID.write(),new Uint8Array([this.publicKeyAlgorithm]),Ha.serializeParams(this.publicKeyAlgorithm,this.encrypted)];return fe.concatUint8Array(e)}async encrypt(e){const t=ue.write(ue.publicKey,this.publicKeyAlgorithm),r=ch(this.version,t,this.sessionKeyAlgorithm,this.sessionKey),i=t===ue.publicKey.aead?e.privateParams:null;this.encrypted=await Ha.publicKeyEncrypt(t,this.sessionKeyAlgorithm,e.publicParams,i,r,e.getFingerprintBytes())}async decrypt(e,t){if(this.publicKeyAlgorithm!==e.algorithm)throw Error("Decryption error");const r=t?ch(this.version,this.publicKeyAlgorithm,t.sessionKeyAlgorithm,t.sessionKey):null,i=await Ha.publicKeyDecrypt(this.publicKeyAlgorithm,e.publicParams,e.privateParams,this.encrypted,e.getFingerprintBytes(),r),{sessionKey:n,sessionKeyAlgorithm:a}=function(e,t,r,i){switch(t){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.elgamal:case ue.publicKey.ecdh:case ue.publicKey.aead:{const e=r.subarray(0,r.length-2),t=r.subarray(r.length-2),n=fe.writeChecksum(e.subarray(e.length%8)),a=n[0]===t[0]&n[1]===t[1],s={sessionKeyAlgorithm:e[0],sessionKey:e.subarray(1)};if(i){const e=a&s.sessionKeyAlgorithm===i.sessionKeyAlgorithm&s.sessionKey.length===i.sessionKey.length;return{sessionKey:fe.selectUint8Array(e,s.sessionKey,i.sessionKey),sessionKeyAlgorithm:fe.selectUint8(e,s.sessionKeyAlgorithm,i.sessionKeyAlgorithm)}}if(a&&ue.read(ue.symmetric,s.sessionKeyAlgorithm))return s;throw Error("Decryption error")}case ue.publicKey.x25519:return{sessionKey:r};default:throw Error("Unsupported public key algorithm")}}(this.version,this.publicKeyAlgorithm,i,t);this.publicKeyAlgorithm!==ue.publicKey.x25519&&(this.sessionKeyAlgorithm=a),this.sessionKey=n}}function ch(e,t,r,i){switch(t){case ue.publicKey.rsaEncrypt:case ue.publicKey.rsaEncryptSign:case ue.publicKey.elgamal:case ue.publicKey.ecdh:case ue.publicKey.aead:return fe.concatUint8Array([new Uint8Array([r]),i,fe.writeChecksum(i.subarray(i.length%8))]);case ue.publicKey.x25519:return i;default:throw Error("Unsupported public key algorithm")}}class uh{static get tag(){return ue.packet.symEncryptedSessionKey}constructor(e=we){this.version=e.aeadProtect?5:4,this.sessionKey=null,this.sessionKeyEncryptionAlgorithm=null,this.sessionKeyAlgorithm=ue.symmetric.aes256,this.aeadAlgorithm=ue.write(ue.aead,e.preferredAEADAlgorithm),this.encrypted=null,this.s2k=null,this.iv=null}read(e){let t=0;if(this.version=e[t++],4!==this.version&&5!==this.version)throw new Dn(`Version ${this.version} of the SKESK packet is unsupported.`);const r=e[t++];5===this.version&&(this.aeadAlgorithm=e[t++]);const i=e[t++];if(this.s2k=Za(i),t+=this.s2k.read(e.subarray(t,e.length)),5===this.version){const r=Ha.getAEADMode(this.aeadAlgorithm);this.iv=e.subarray(t,t+=r.ivLength)}5===this.version||t<e.length?(this.encrypted=e.subarray(t,e.length),this.sessionKeyEncryptionAlgorithm=r):this.sessionKeyAlgorithm=r}write(){const e=null===this.encrypted?this.sessionKeyAlgorithm:this.sessionKeyEncryptionAlgorithm;let t;return 5===this.version?t=fe.concatUint8Array([new Uint8Array([this.version,e,this.aeadAlgorithm]),this.s2k.write(),this.iv,this.encrypted]):(t=fe.concatUint8Array([new Uint8Array([this.version,e]),this.s2k.write()]),null!==this.encrypted&&(t=fe.concatUint8Array([t,this.encrypted]))),t}async decrypt(e){const t=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm,{blockSize:r,keySize:i}=Ha.getCipher(t),n=await this.s2k.produceKey(e,i);if(5===this.version){const e=Ha.getAEADMode(this.aeadAlgorithm),r=new Uint8Array([192|uh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(t,n);this.sessionKey=await i.decrypt(this.encrypted,this.iv,r)}else if(null!==this.encrypted){const e=await Ha.mode.cfb.decrypt(t,n,this.encrypted,new Uint8Array(r));this.sessionKeyAlgorithm=ue.write(ue.symmetric,e[0]),this.sessionKey=e.subarray(1,e.length)}else this.sessionKey=n}async encrypt(e,t=we){const r=null!==this.sessionKeyEncryptionAlgorithm?this.sessionKeyEncryptionAlgorithm:this.sessionKeyAlgorithm;this.sessionKeyEncryptionAlgorithm=r,this.s2k=Xa(t),this.s2k.generateSalt();const{blockSize:i,keySize:n}=Ha.getCipher(r),a=await this.s2k.produceKey(e,n);if(null===this.sessionKey&&(this.sessionKey=Ha.generateSessionKey(this.sessionKeyAlgorithm)),5===this.version){const e=Ha.getAEADMode(this.aeadAlgorithm);this.iv=Ha.random.getRandomBytes(e.ivLength);const t=new Uint8Array([192|uh.tag,this.version,this.sessionKeyEncryptionAlgorithm,this.aeadAlgorithm]),i=await e(r,a);this.encrypted=await i.encrypt(this.sessionKey,this.iv,t)}else{const e=fe.concatUint8Array([new Uint8Array([this.sessionKeyAlgorithm]),this.sessionKey]);this.encrypted=await Ha.mode.cfb.encrypt(r,a,e,new Uint8Array(i),t)}}}class hh{static get tag(){return ue.packet.publicKey}constructor(e=new Date,t=we){this.version=t.v5Keys?5:4,this.created=fe.normalizeDate(e),this.algorithm=null,this.publicParams=null,this.expirationTimeV3=0,this.fingerprint=null,this.keyID=null}static fromSecretKeyPacket(e){const t=new hh,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}async read(e){let t=0;if(this.version=e[t++],4===this.version||5===this.version){this.created=fe.readDate(e.subarray(t,t+4)),t+=4,this.algorithm=e[t++],5===this.version&&(t+=4);const{read:r,publicParams:i}=Ha.parsePublicKeyParams(this.algorithm,e.subarray(t));return this.publicParams=i,t+=r,await this.computeFingerprintAndKeyID(),t}throw new Dn(`Version ${this.version} of the key packet is unsupported.`)}write(){const e=[];e.push(new Uint8Array([this.version])),e.push(fe.writeDate(this.created)),e.push(new Uint8Array([this.algorithm]));const t=Ha.serializeParams(this.algorithm,this.publicParams);return 5===this.version&&e.push(fe.writeNumber(t.length,4)),e.push(t),fe.concatUint8Array(e)}writeForHash(e){const t=this.writePublicKey();return 5===e?fe.concatUint8Array([new Uint8Array([154]),fe.writeNumber(t.length,4),t]):fe.concatUint8Array([new Uint8Array([153]),fe.writeNumber(t.length,2),t])}isDecrypted(){return null}getCreationTime(){return this.created}getKeyID(){return this.keyID}async computeFingerprintAndKeyID(){if(await this.computeFingerprint(),this.keyID=new Pe,5===this.version)this.keyID.read(this.fingerprint.subarray(0,8));else{if(4!==this.version)throw Error("Unsupported key version");this.keyID.read(this.fingerprint.subarray(12,20))}}async computeFingerprint(){const e=this.writeForHash(this.version);if(5===this.version)this.fingerprint=await Ha.hash.sha256(e);else{if(4!==this.version)throw Error("Unsupported key version");this.fingerprint=await Ha.hash.sha1(e)}}getFingerprintBytes(){return this.fingerprint}getFingerprint(){return fe.uint8ArrayToHex(this.getFingerprintBytes())}hasSameFingerprintAs(e){return this.version===e.version&&fe.equalsUint8Array(this.writePublicKey(),e.writePublicKey())}getAlgorithmInfo(){const e={};e.algorithm=ue.read(ue.publicKey,this.algorithm);const t=this.publicParams.n||this.publicParams.p;return t?e.bits=fe.uint8ArrayBitLength(t):this.publicParams.oid?e.curve=this.publicParams.oid.getName():this.publicParams.cipher&&(e.symmetric=this.publicParams.cipher.getName()),e}}hh.prototype.readPublicKey=hh.prototype.read,hh.prototype.writePublicKey=hh.prototype.write;const fh=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,ju,Ou]);class dh{static get tag(){return ue.packet.symmetricallyEncryptedData}constructor(){this.encrypted=null,this.packets=null}read(e){this.encrypted=e}write(){return this.encrypted}async decrypt(e,t,r=we){if(!r.allowUnauthenticatedMessages)throw Error("Message is not authenticated.");const{blockSize:i}=Ha.getCipher(e),n=await ie($(this.encrypted)),a=await Ha.mode.cfb.decrypt(e,t,n.subarray(i+2),n.subarray(2,i+2));this.packets=await Wu.fromBinary(a,fh,r)}async encrypt(e,t,r=we){const i=this.packets.write(),{blockSize:n}=Ha.getCipher(e),a=await Ha.getPrefixRandom(e),s=await Ha.mode.cfb.encrypt(e,t,a,new Uint8Array(n),r),o=await Ha.mode.cfb.encrypt(e,t,i,s.subarray(2),r);this.encrypted=fe.concat([s,o])}}class lh extends hh{static get tag(){return ue.packet.publicSubkey}constructor(e,t){super(e,t)}static fromSecretSubkeyPacket(e){const t=new lh,{version:r,created:i,algorithm:n,publicParams:a,keyID:s,fingerprint:o}=e;return t.version=r,t.created=i,t.algorithm=n,t.publicParams=a,t.keyID=s,t.fingerprint=o,t}}class ph{static get tag(){return ue.packet.userAttribute}constructor(){this.attributes=[]}read(e){let t=0;for(;t<e.length;){const r=Sn(e.subarray(t,e.length));t+=r.offset,this.attributes.push(fe.uint8ArrayToString(e.subarray(t,t+r.len))),t+=r.len}}write(){const e=[];for(let t=0;t<this.attributes.length;t++)e.push(Cn(this.attributes[t].length)),e.push(fe.stringToUint8Array(this.attributes[t]));return fe.concatUint8Array(e)}equals(e){return!!(e&&e instanceof ph)&&this.attributes.every((function(t,r){return t===e.attributes[r]}))}}class yh extends hh{static get tag(){return ue.packet.secretKey}constructor(e=new Date,t=we){super(e,t),this.keyMaterial=null,this.isEncrypted=null,this.s2kUsage=0,this.s2k=null,this.symmetric=null,this.aead=null,this.privateParams=null}async read(e){let t=await this.readPublicKey(e);const r=t;this.s2kUsage=e[t++],5===this.version&&t++;try{if(255===this.s2kUsage||254===this.s2kUsage||253===this.s2kUsage){this.symmetric=e[t++],253===this.s2kUsage&&(this.aead=e[t++]);const r=e[t++];if(this.s2k=Za(r),t+=this.s2k.read(e.subarray(t,e.length)),"gnu-dummy"===this.s2k.type)return}else this.s2kUsage&&(this.symmetric=this.s2kUsage);this.s2kUsage&&(this.iv=e.subarray(t,t+Ha.getCipher(this.symmetric).blockSize),t+=this.iv.length)}catch(t){if(!this.s2kUsage)throw t;this.unparseableKeyMaterial=e.subarray(r),this.isEncrypted=!0}if(5===this.version&&(t+=4),this.keyMaterial=e.subarray(t),this.isEncrypted=!!this.s2kUsage,!this.isEncrypted){const e=this.keyMaterial.subarray(0,-2);if(!fe.equalsUint8Array(fe.writeChecksum(e),this.keyMaterial.subarray(-2)))throw Error("Key checksum mismatch");try{const{privateParams:t}=Ha.parsePrivateKeyParams(this.algorithm,e,this.publicParams);this.privateParams=t}catch(e){if(e instanceof Dn)throw e;throw Error("Error reading MPIs")}}}write(){const e=this.writePublicKey();if(this.unparseableKeyMaterial)return fe.concatUint8Array([e,this.unparseableKeyMaterial]);const t=[e];t.push(new Uint8Array([this.s2kUsage]));const r=[];return 255!==this.s2kUsage&&254!==this.s2kUsage&&253!==this.s2kUsage||(r.push(this.symmetric),253===this.s2kUsage&&r.push(this.aead),r.push(...this.s2k.write())),this.s2kUsage&&"gnu-dummy"!==this.s2k.type&&r.push(...this.iv),5===this.version&&t.push(new Uint8Array([r.length])),t.push(new Uint8Array(r)),this.isDummy()||(this.s2kUsage||(this.keyMaterial=Ha.serializeParams(this.algorithm,this.privateParams)),5===this.version&&t.push(fe.writeNumber(this.keyMaterial.length,4)),t.push(this.keyMaterial),this.s2kUsage||t.push(fe.writeChecksum(this.keyMaterial))),fe.concatUint8Array(t)}isDecrypted(){return!1===this.isEncrypted}isMissingSecretKeyMaterial(){return void 0!==this.unparseableKeyMaterial||this.isDummy()}isDummy(){return!(!this.s2k||"gnu-dummy"!==this.s2k.type)}makeDummy(e=we){this.isDummy()||(this.isDecrypted()&&this.clearPrivateParams(),delete this.unparseableKeyMaterial,this.isEncrypted=null,this.keyMaterial=null,this.s2k=Za(ue.s2k.gnu,e),this.s2k.algorithm=0,this.s2k.c=0,this.s2k.type="gnu-dummy",this.s2kUsage=254,this.symmetric=ue.symmetric.aes256)}async encrypt(e,t=we){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key packet is already encrypted");if(!e)throw Error("A non-empty passphrase is required for key encryption.");this.s2k=Xa(t),this.s2k.generateSalt();const r=Ha.serializeParams(this.algorithm,this.privateParams);this.symmetric=ue.symmetric.aes256;const i=await gh(this.s2k,e,this.symmetric),{blockSize:n}=Ha.getCipher(this.symmetric);if(this.iv=Ha.random.getRandomBytes(n),t.aeadProtect){this.s2kUsage=253,this.aead=ue.aead.eax;const e=Ha.getAEADMode(this.aead),t=await e(this.symmetric,i);this.keyMaterial=await t.encrypt(r,this.iv.subarray(0,e.ivLength),new Uint8Array)}else this.s2kUsage=254,this.keyMaterial=await Ha.mode.cfb.encrypt(this.symmetric,i,fe.concatUint8Array([r,await Ha.hash.sha1(r,t)]),this.iv,t)}async decrypt(e){if(this.isDummy())return!1;if(this.unparseableKeyMaterial)throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");if(this.isDecrypted())throw Error("Key packet is already decrypted.");let t,r;if(254!==this.s2kUsage&&253!==this.s2kUsage)throw 255===this.s2kUsage?Error("Encrypted private key is authenticated using an insecure two-byte hash"):Error("Private key is encrypted using an insecure S2K function: unsalted MD5");if(t=await gh(this.s2k,e,this.symmetric),253===this.s2kUsage){const e=Ha.getAEADMode(this.aead),i=await e(this.symmetric,t);try{r=await i.decrypt(this.keyMaterial,this.iv.subarray(0,e.ivLength),new Uint8Array)}catch(e){if("Authentication tag mismatch"===e.message)throw Error("Incorrect key passphrase: "+e.message);throw e}}else{const e=await Ha.mode.cfb.decrypt(this.symmetric,t,this.keyMaterial,this.iv);r=e.subarray(0,-20);const i=await Ha.hash.sha1(r);if(!fe.equalsUint8Array(i,e.subarray(-20)))throw Error("Incorrect key passphrase")}try{const{privateParams:e}=Ha.parsePrivateKeyParams(this.algorithm,r,this.publicParams);this.privateParams=e}catch(e){throw Error("Error reading MPIs")}this.isEncrypted=!1,this.keyMaterial=null,this.s2kUsage=0}async validate(){if(this.isDummy())return;if(!this.isDecrypted())throw Error("Key is not decrypted");let e;try{e=await Ha.validateParams(this.algorithm,this.publicParams,this.privateParams)}catch(t){e=!1}if(!e)throw Error("Key is invalid")}async generate(e,t,r){const{privateParams:i,publicParams:n}=await Ha.generateParams(this.algorithm,e,t,r);this.privateParams=i,this.publicParams=n,this.isEncrypted=!1}clearPrivateParams(){this.isMissingSecretKeyMaterial()||(Object.keys(this.privateParams).forEach((e=>{this.privateParams[e].fill(0),delete this.privateParams[e]})),this.privateParams=null,this.isEncrypted=!0)}}async function gh(e,t,r){const{keySize:i}=Ha.getCipher(r);return e.produceKey(t,i)}var bh=mt((function(e){!function(t){function r(e){function t(){return _e<Ee}function r(){return _e}function n(e){_e=e}function a(){_e=0,Ee=ke.length}function s(e,t){return{name:e,tokens:t||"",semantic:t||"",children:[]}}function o(e,t){var r;return null===t?null:((r=s(e)).tokens=t.tokens,r.semantic=t.semantic,r.children.push(t),r)}function c(e,t){return null!==t&&(e.tokens+=t.tokens,e.semantic+=t.semantic),e.children.push(t),e}function u(e){var r;return t()&&e(r=ke[_e])?(_e+=1,s("token",r)):null}function h(e){return function(){return o("literal",u((function(t){return t===e})))}}function f(){var e=arguments;return function(){var t,i,a,o;for(o=r(),i=s("and"),t=0;t<e.length;t+=1){if(null===(a=e[t]()))return n(o),null;c(i,a)}return i}}function d(){var e=arguments;return function(){var t,i,a;for(a=r(),t=0;t<e.length;t+=1){if(null!==(i=e[t]()))return i;n(a)}return null}}function l(e){return function(){var t,i;return i=r(),null!==(t=e())?t:(n(i),s("opt"))}}function p(e){return function(){var t=e();return null!==t&&(t.semantic=""),t}}function y(e){return function(){var t=e();return null!==t&&t.semantic.length>0&&(t.semantic=" "),t}}function g(e,t){return function(){var i,a,o,u,h;for(u=r(),i=s("star"),o=0,h=void 0===t?0:t;null!==(a=e());)o+=1,c(i,a);return o>=h?i:(n(u),null)}}function b(e){return e.charCodeAt(0)>=128}function m(){return o("cr",h("\r")())}function w(){return o("crlf",f(m,k)())}function A(){return o("dquote",h('"')())}function v(){return o("htab",h("\t")())}function k(){return o("lf",h("\n")())}function _(){return o("sp",h(" ")())}function E(){return o("vchar",u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i})))}function S(){return o("wsp",d(_,v)())}function C(){var e=o("quoted-pair",d(f(h("\\"),d(E,S)),ie)());return null===e?null:(e.semantic=e.semantic[1],e)}function I(){return o("fws",d(ae,f(l(f(g(S),p(w))),g(S,1)))())}function B(){return o("ctext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=39||42<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),te)())}function P(){return o("ccontent",d(B,C,x)())}function x(){return o("comment",f(h("("),g(f(l(I),P)),l(I),h(")"))())}function M(){return o("cfws",d(f(g(f(l(I),x),1),l(I)),I)())}function D(){return o("atext",u((function(t){var r="a"<=t&&t<="z"||"A"<=t&&t<="Z"||"0"<=t&&t<="9"||["!","#","$","%","&","'","*","+","-","/","=","?","^","_","`","{","|","}","~"].indexOf(t)>=0;return e.rfc6532&&(r=r||b(t)),r})))}function K(){return o("atom",f(y(l(M)),g(D,1),y(l(M)))())}function U(){var e,t;return null===(e=o("dot-atom-text",g(D,1)()))||null!==(t=g(f(h("."),g(D,1)))())&&c(e,t),e}function R(){return o("dot-atom",f(p(l(M)),U,p(l(M)))())}function T(){return o("qtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33===r||35<=r&&r<=91||93<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),re)())}function Q(){return o("qcontent",d(T,C)())}function z(){return o("quoted-string",f(p(l(M)),p(A),g(f(l(y(I)),Q)),l(p(I)),p(A),p(l(M)))())}function F(){return o("word",d(K,z)())}function L(){return o("address",d(N,H)())}function N(){return o("mailbox",d(q,$)())}function q(){return o("name-addr",f(l(j),O)())}function O(){return o("angle-addr",d(f(p(l(M)),h("<"),$,h(">"),p(l(M))),se)())}function H(){return o("group",f(j,h(":"),l(V),h(";"),p(l(M)))())}function j(){return o("display-name",(null!==(e=o("phrase",d(ne,g(F,1))()))&&(e.semantic=function(e){return e.replace(/([ \t]|\r\n)+/g," ").replace(/^\s*/,"").replace(/\s*$/,"")}(e.semantic)),e));var e}function G(){return o("mailbox-list",d(f(N,g(f(h(","),N))),ue)())}function W(){return o("address-list",d(f(L,g(f(h(","),L))),he)())}function V(){return o("group-list",d(G,p(M),fe)())}function J(){return o("local-part",d(de,R,z)())}function Y(){return o("dtext",d((function(){return u((function(t){var r=t.charCodeAt(0),i=33<=r&&r<=90||94<=r&&r<=126;return e.rfc6532&&(i=i||b(t)),i}))}),pe)())}function Z(){return o("domain-literal",f(p(l(M)),h("["),g(f(l(I),Y)),l(I),h("]"),p(l(M)))())}function X(){return o("domain",(t=d(le,R,Z)(),e.rejectTLD&&t&&t.semantic&&t.semantic.indexOf(".")<0?null:(t&&(t.semantic=t.semantic.replace(/\s+/g,"")),t)));var t}function $(){return o("addr-spec",f(J,h("@"),X)())}function ee(){return e.strict?null:o("obs-NO-WS-CTL",u((function(e){var t=e.charCodeAt(0);return 1<=t&&t<=8||11===t||12===t||14<=t&&t<=31||127===t})))}function te(){return e.strict?null:o("obs-ctext",ee())}function re(){return e.strict?null:o("obs-qtext",ee())}function ie(){return e.strict?null:o("obs-qp",f(h("\\"),d(h("\0"),ee,k,m))())}function ne(){return e.strict?null:e.atInDisplayName?o("obs-phrase",f(F,g(d(F,h("."),h("@"),y(M))))()):o("obs-phrase",f(F,g(d(F,h("."),y(M))))())}function ae(){return e.strict?null:o("obs-FWS",g(f(p(l(w)),S),1)())}function se(){return e.strict?null:o("obs-angle-addr",f(p(l(M)),h("<"),oe,$,h(">"),p(l(M)))())}function oe(){return e.strict?null:o("obs-route",f(ce,h(":"))())}function ce(){return e.strict?null:o("obs-domain-list",f(g(d(p(M),h(","))),h("@"),X,g(f(h(","),p(l(M)),l(f(h("@"),X)))))())}function ue(){return e.strict?null:o("obs-mbox-list",f(g(f(p(l(M)),h(","))),N,g(f(h(","),l(f(N,p(M))))))())}function he(){return e.strict?null:o("obs-addr-list",f(g(f(p(l(M)),h(","))),L,g(f(h(","),l(f(L,p(M))))))())}function fe(){return e.strict?null:o("obs-group-list",f(g(f(p(l(M)),h(",")),1),p(l(M)))())}function de(){return e.strict?null:o("obs-local-part",f(F,g(f(h("."),F)))())}function le(){return e.strict?null:o("obs-domain",f(K,g(f(h("."),K)))())}function pe(){return e.strict?null:o("obs-dtext",d(ee,C)())}function ye(e,t){var r,i,n;if(null==t)return null;for(i=[t];i.length>0;){if((n=i.pop()).name===e)return n;for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r])}return null}function ge(e,t){var r,i,n,a,s;if(null==t)return null;for(i=[t],a=[],s={},r=0;r<e.length;r+=1)s[e[r]]=!0;for(;i.length>0;)if((n=i.pop()).name in s)a.push(n);else for(r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}function be(t){var r,i,n,a,s;if(null===t)return null;for(r=[],i=ge(["group","mailbox"],t),n=0;n<i.length;n+=1)"group"===(a=i[n]).name?r.push(me(a)):"mailbox"===a.name&&r.push(we(a));return s={ast:t,addresses:r},e.simple&&(s=function(e){var t;if(e&&e.addresses)for(t=0;t<e.addresses.length;t+=1)delete e.addresses[t].node;return e}(s)),e.oneResult?function(t){if(!t)return null;if(!e.partial&&t.addresses.length>1)return null;return t.addresses&&t.addresses[0]}(s):e.simple?s&&s.addresses:s}function me(e){var t,r=ye("display-name",e),i=[],n=ge(["mailbox"],e);for(t=0;t<n.length;t+=1)i.push(we(n[t]));return{node:e,parts:{name:r},type:e.name,name:Ae(r),addresses:i}}function we(e){var t=ye("display-name",e),r=ye("addr-spec",e),i=function(e,t){var r,i,n,a;if(null==t)return null;for(i=[t],a=[];i.length>0;)for((n=i.pop()).name===e&&a.push(n),r=n.children.length-1;r>=0;r-=1)i.push(n.children[r]);return a}("cfws",e),n=ge(["comment"],e),a=ye("local-part",r),s=ye("domain",r);return{node:e,parts:{name:t,address:r,local:a,domain:s,comments:i},type:e.name,name:Ae(t),address:Ae(r),local:Ae(a),domain:Ae(s),comments:ve(n),groupName:Ae(e.groupName)}}function Ae(e){return null!=e?e.semantic:null}function ve(e){var t="";if(e)for(var r=0;r<e.length;r+=1)t+=Ae(e[r]);return t}var ke,_e,Ee,Se,Ce;if(null===(e=i(e,{})))return null;if(ke=e.input,Ce={address:L,"address-list":W,"angle-addr":O,from:function(){return o("from",d(G,W)())},group:H,mailbox:N,"mailbox-list":G,"reply-to":function(){return o("reply-to",W())},sender:function(){return o("sender",d(N,L)())}}[e.startAt]||W,!e.strict){if(a(),e.strict=!0,Se=Ce(ke),e.partial||!t())return be(Se);e.strict=!1}return a(),Se=Ce(ke),!e.partial&&t()?null:be(Se)}function i(e,t){function r(e){return"[object String]"===Object.prototype.toString.call(e)}function i(e){return null==e}var n,a;if(r(e))e={input:e};else if(!function(e){return e===Object(e)}(e))return null;if(!r(e.input))return null;if(!t)return null;for(a in n={oneResult:!1,partial:!1,rejectTLD:!1,rfc6532:!1,simple:!1,startAt:"address-list",strict:!1,atInDisplayName:!1})i(e[a])&&(e[a]=i(t[a])?n[a]:t[a]);return e}r.parseOneAddress=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseAddressList=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"address-list"}))},r.parseFrom=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"from"}))},r.parseSender=function(e){return r(i(e,{oneResult:!0,rfc6532:!0,simple:!0,startAt:"sender"}))},r.parseReplyTo=function(e){return r(i(e,{rfc6532:!0,simple:!0,startAt:"reply-to"}))},e.exports=r}()}));class mh{static get tag(){return ue.packet.userID}constructor(){this.userID="",this.name="",this.email="",this.comment=""}static fromObject(e){if(fe.isString(e)||e.name&&!fe.isString(e.name)||e.email&&!fe.isEmailAddress(e.email)||e.comment&&!fe.isString(e.comment))throw Error("Invalid user ID format");const t=new mh;Object.assign(t,e);const r=[];return t.name&&r.push(t.name),t.comment&&r.push(`(${t.comment})`),t.email&&r.push(`<${t.email}>`),t.userID=r.join(" "),t}read(e,t=we){const r=fe.decodeUTF8(e);if(r.length>t.maxUserIDLength)throw Error("User ID string is too long");try{const{name:e,address:t,comments:i}=bh.parseOneAddress({input:r,atInDisplayName:!0});this.comment=i.replace(/^\(|\)$/g,""),this.name=e,this.email=t}catch(e){}this.userID=r}write(){return fe.encodeUTF8(this.userID)}equals(e){return e&&e.userID===this.userID}}class wh extends yh{static get tag(){return ue.packet.secretSubkey}constructor(e=new Date,t=we){super(e,t)}}const Ah=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class vh{constructor(e){this.packets=e||new Wu}write(){return this.packets.write()}armor(e=we){return Be(ue.armor.signature,this.write(),void 0,void 0,void 0,e)}getSigningKeyIDs(){return this.packets.map((e=>e.issuerKeyID))}}async function kh(e,t){const r=new wh(e.date,t);return r.packets=null,r.algorithm=ue.write(ue.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function _h(e,t){const r=new yh(e.date,t);return r.packets=null,r.algorithm=ue.write(ue.publicKey,e.algorithm),await r.generate(e.rsaBits,e.curve,e.symmetric),await r.computeFingerprintAndKeyID(),r}async function Eh(e,t,r,i,n=new Date,a){let s,o;for(let c=e.length-1;c>=0;c--)try{(!s||e[c].created>=s.created)&&(await e[c].verify(t,r,i,n,void 0,a),s=e[c])}catch(e){o=e}if(!s)throw fe.wrapError(`Could not find valid ${ue.read(ue.signature,r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ","self-").replace(/([a-z])([A-Z])/g,((e,t,r)=>t+" "+r.toLowerCase())),o);return s}function Sh(e,t,r=new Date){const i=fe.normalizeDate(r);if(null!==i){const r=Dh(e,t);return!(e.created<=i&&i<r)}return!1}async function Ch(e,t,r,i){const n={};n.key=t,n.bind=e;const a={signatureType:ue.signature.subkeyBinding};r.sign?(a.keyFlags=[ue.keyFlags.signData],a.embeddedSignature=await Ph(n,null,e,{signatureType:ue.signature.keyBinding},r.date,void 0,void 0,void 0,i)):a.keyFlags=r.forwarding?[ue.keyFlags.forwardedCommunication]:[ue.keyFlags.encryptCommunication|ue.keyFlags.encryptStorage],r.keyExpirationTime>0&&(a.keyExpirationTime=r.keyExpirationTime,a.keyNeverExpires=!1);return await Ph(n,null,t,a,r.date,void 0,void 0,void 0,i)}async function Ih(e,t,r=new Date,i={},n){let a=n.preferredHashAlgorithm,s=a;if(e){const t=await e.getPrimaryUser(r,i,n);t.selfCertification.preferredHashAlgorithms&&([s]=t.selfCertification.preferredHashAlgorithms,a=Ha.hash.getHashByteLength(a)<=Ha.hash.getHashByteLength(s)?s:a)}switch(t.algorithm){case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:case ue.publicKey.ed25519:s=Ha.getPreferredCurveHashAlgo(t.algorithm,t.publicParams.oid)}return Ha.hash.getHashByteLength(a)<=Ha.hash.getHashByteLength(s)?s:a}async function Bh(e,t=[],r=new Date,i=[],n=we){const a={symmetric:ue.symmetric.aes128,aead:ue.aead.eax,compression:ue.compression.uncompressed}[e],s={symmetric:n.preferredSymmetricAlgorithm,aead:n.preferredAEADAlgorithm,compression:n.preferredCompressionAlgorithm}[e],o={symmetric:"preferredSymmetricAlgorithms",aead:"preferredAEADAlgorithms",compression:"preferredCompressionAlgorithms"}[e],c=await Promise.all(t.map((async function(e,t){const a=(await e.getPrimaryUser(r,i[t],n)).selfCertification[o];return!!a&&a.indexOf(s)>=0})));return c.every(Boolean)?s:a}async function Ph(e,t,r,i,n,a,s=[],o=!1,c){if(r.isDummy())throw Error("Cannot sign with a gnu-dummy key.");if(!r.isDecrypted())throw Error("Signing key is not decrypted.");const u=new Ou;return Object.assign(u,i),u.publicKeyAlgorithm=r.algorithm,u.hashAlgorithm=await Ih(t,r,n,a,c),u.rawNotations=s,await u.sign(r,e,n,o),u}async function xh(e,t,r,i=new Date,n){(e=e[r])&&(t[r].length?await Promise.all(e.map((async function(e){e.isExpired(i)||n&&!await n(e)||t[r].some((function(t){return fe.equalsUint8Array(t.writeParams(),e.writeParams())}))||t[r].push(e)}))):t[r]=e)}async function Mh(e,t,r,i,n,a,s=new Date,o){a=a||e;const c=[];return await Promise.all(i.map((async function(e){try{n&&!e.issuerKeyID.equals(n.issuerKeyID)||(await e.verify(a,t,r,o.revocationsExpire?s:null,!1,o),c.push(e.issuerKeyID))}catch(e){}}))),n?(n.revoked=!!c.some((e=>e.equals(n.issuerKeyID)))||(n.revoked||!1),n.revoked):c.length>0}function Dh(e,t){let r;return!1===t.keyNeverExpires&&(r=e.created.getTime()+1e3*t.keyExpirationTime),r?new Date(r):1/0}function Kh(e,t={}){if(e.type=e.type||t.type,e.curve=e.curve||t.curve,e.rsaBits=e.rsaBits||t.rsaBits,e.keyExpirationTime=void 0!==e.keyExpirationTime?e.keyExpirationTime:t.keyExpirationTime,e.passphrase=fe.isString(e.passphrase)?e.passphrase:t.passphrase,e.date=e.date||t.date,e.sign=e.sign||!1,e.forwarding=e.forwarding||!1,e.sign&&e.forwarding)throw Error('Incompatible options: "sign" and "forwarding" cannot be set together');switch(e.type){case"ecc":try{e.curve=ue.write(ue.curve,e.curve)}catch(e){throw Error("Unknown curve")}e.curve!==ue.curve.ed25519Legacy&&e.curve!==ue.curve.curve25519Legacy||(e.curve=e.sign?ue.curve.ed25519Legacy:ue.curve.curve25519Legacy),e.sign?e.algorithm=e.curve===ue.curve.ed25519Legacy?ue.publicKey.eddsaLegacy:ue.publicKey.ecdsa:e.algorithm=ue.publicKey.ecdh;break;case"rsa":e.algorithm=ue.publicKey.rsaEncryptSign;break;case"symmetric":e.sign?(e.algorithm=ue.publicKey.hmac,e.symmetric=e.symmetricHash||t.symmetricHash):(e.algorithm=ue.publicKey.aead,e.symmetric=e.symmetricCipher||t.symmetricCipher);break;default:throw Error("Unsupported key type "+e.type)}return e}function Uh(e,t){const r=e.algorithm;return r!==ue.publicKey.rsaEncrypt&&r!==ue.publicKey.elgamal&&r!==ue.publicKey.ecdh&&r!==ue.publicKey.x25519&&(!t.keyFlags||0!=(t.keyFlags[0]&ue.keyFlags.signData))}function Rh(e,t){const r=e.algorithm;return r!==ue.publicKey.dsa&&r!==ue.publicKey.rsaSign&&r!==ue.publicKey.ecdsa&&r!==ue.publicKey.eddsaLegacy&&r!==ue.publicKey.ed25519&&(!t.keyFlags||0!=(t.keyFlags[0]&ue.keyFlags.encryptCommunication)||0!=(t.keyFlags[0]&ue.keyFlags.encryptStorage))}function Th(e,t){return!(e.keyFlags&&0==(e.keyFlags[0]&ue.keyFlags.sign)&&0==(e.keyFlags[0]&ue.keyFlags.certifyKeys)&&0==(e.keyFlags[0]&ue.keyFlags.authentication)||!t.allowInsecureDecryptionWithSigningKeys)||(!e.keyFlags||0!=(e.keyFlags[0]&ue.keyFlags.encryptCommunication)||0!=(e.keyFlags[0]&ue.keyFlags.encryptStorage)||t.allowForwardedMessages&&0!=(e.keyFlags[0]&ue.keyFlags.forwardedCommunication))}function Qh(e,t){const r=ue.write(ue.publicKey,e.algorithm),i=e.getAlgorithmInfo();if(t.rejectPublicKeyAlgorithms.has(r))throw Error(i.algorithm+" keys are considered too weak.");switch(r){case ue.publicKey.rsaEncryptSign:case ue.publicKey.rsaSign:case ue.publicKey.rsaEncrypt:if(i.bits<t.minRSABits)throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);break;case ue.publicKey.ecdsa:case ue.publicKey.eddsaLegacy:case ue.publicKey.ecdh:if(t.rejectCurves.has(i.curve))throw Error(`Support for ${i.algorithm} keys using curve ${i.curve} is disabled.`)}}class zh{constructor(e,t){this.userID=e.constructor.tag===ue.packet.userID?e:null,this.userAttribute=e.constructor.tag===ue.packet.userAttribute?e:null,this.selfCertifications=[],this.otherCertifications=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Wu;return e.push(this.userID||this.userAttribute),e.push(...this.revocationSignatures),e.push(...this.selfCertifications),e.push(...this.otherCertifications),e}clone(){const e=new zh(this.userID||this.userAttribute,this.mainKey);return e.selfCertifications=[...this.selfCertifications],e.otherCertifications=[...this.otherCertifications],e.revocationSignatures=[...this.revocationSignatures],e}async certify(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i},a=new zh(n.userID||n.userAttribute,this.mainKey);return a.otherCertifications=await Promise.all(e.map((async function(e){if(!e.isPrivate())throw Error("Need private key for signing");if(e.hasSameFingerprintAs(i))throw Error("The user's own key can only be used for self-certifications");const a=await e.getSigningKey(void 0,t,void 0,r);return Ph(n,e,a.keyPacket,{signatureType:ue.signature.certGeneric,keyFlags:[ue.keyFlags.certifyKeys|ue.keyFlags.signData]},t,void 0,void 0,void 0,r)}))),await a.update(this,t,r),a}async isRevoked(e,t,r=new Date,i=we){const n=this.mainKey.keyPacket;return Mh(n,ue.signature.certRevocation,{key:n,userID:this.userID,userAttribute:this.userAttribute},this.revocationSignatures,e,t,r,i)}async verifyCertificate(e,t,r=new Date,i){const n=this,a=this.mainKey.keyPacket,s={userID:this.userID,userAttribute:this.userAttribute,key:a},{issuerKeyID:o}=e,c=t.filter((e=>e.getKeys(o).length>0));return 0===c.length?null:(await Promise.all(c.map((async t=>{const a=await t.getSigningKey(o,e.created,void 0,i);if(e.revoked||await n.isRevoked(e,a.keyPacket,r,i))throw Error("User certificate is revoked");try{await e.verify(a.keyPacket,ue.signature.certGeneric,s,r,void 0,i)}catch(e){throw fe.wrapError("User certificate is invalid",e)}}))),!0)}async verifyAllCertifications(e,t=new Date,r){const i=this,n=this.selfCertifications.concat(this.otherCertifications);return Promise.all(n.map((async n=>({keyID:n.issuerKeyID,valid:await i.verifyCertificate(n,e,t,r).catch((()=>!1))}))))}async verify(e=new Date,t){if(!this.selfCertifications.length)throw Error("No self-certifications found");const r=this,i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};let a;for(let s=this.selfCertifications.length-1;s>=0;s--)try{const a=this.selfCertifications[s];if(a.revoked||await r.isRevoked(a,void 0,e,t))throw Error("Self-certification is revoked");try{await a.verify(i,ue.signature.certGeneric,n,e,void 0,t)}catch(e){throw fe.wrapError("Self-certification is invalid",e)}return!0}catch(e){a=e}throw a}async update(e,t,r){const i=this.mainKey.keyPacket,n={userID:this.userID,userAttribute:this.userAttribute,key:i};await xh(e,this,"selfCertifications",t,(async function(e){try{return await e.verify(i,ue.signature.certGeneric,n,t,!1,r),!0}catch(e){return!1}})),await xh(e,this,"otherCertifications",t),await xh(e,this,"revocationSignatures",t,(function(e){return Mh(i,ue.signature.certRevocation,n,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ue.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=we){const a={userID:this.userID,userAttribute:this.userAttribute,key:e},s=new zh(a.userID||a.userAttribute,this.mainKey);return s.revocationSignatures.push(await Ph(a,null,e,{signatureType:ue.signature.certRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}}class Fh{constructor(e,t){this.keyPacket=e,this.bindingSignatures=[],this.revocationSignatures=[],this.mainKey=t}toPacketList(){const e=new Wu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.bindingSignatures),e}clone(){const e=new Fh(this.keyPacket,this.mainKey);return e.bindingSignatures=[...this.bindingSignatures],e.revocationSignatures=[...this.revocationSignatures],e}async isRevoked(e,t,r=new Date,i=we){const n=this.mainKey.keyPacket;return Mh(n,ue.signature.subkeyRevocation,{key:n,bind:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verify(e=new Date,t=we){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket},n=await Eh(this.bindingSignatures,r,ue.signature.subkeyBinding,i,e,t);if(n.revoked||await this.isRevoked(n,null,e,t))throw Error("Subkey is revoked");if(Sh(this.keyPacket,n,e))throw Error("Subkey is expired");return n}async getExpirationTime(e=new Date,t=we){const r=this.mainKey.keyPacket,i={key:r,bind:this.keyPacket};let n;try{n=await Eh(this.bindingSignatures,r,ue.signature.subkeyBinding,i,e,t)}catch(e){return null}const a=Dh(this.keyPacket,n),s=n.getExpirationTime();return a<s?a:s}async update(e,t=new Date,r=we){const i=this.mainKey.keyPacket;if(!this.hasSameFingerprintAs(e))throw Error("Subkey update method: fingerprints of subkeys not equal");this.keyPacket.constructor.tag===ue.packet.publicSubkey&&e.keyPacket.constructor.tag===ue.packet.secretSubkey&&(this.keyPacket=e.keyPacket);const n=this,a={key:i,bind:n.keyPacket};await xh(e,this,"bindingSignatures",t,(async function(e){for(let t=0;t<n.bindingSignatures.length;t++)if(n.bindingSignatures[t].issuerKeyID.equals(e.issuerKeyID))return e.created>n.bindingSignatures[t].created&&(n.bindingSignatures[t]=e),!1;try{return await e.verify(i,ue.signature.subkeyBinding,a,t,void 0,r),!0}catch(e){return!1}})),await xh(e,this,"revocationSignatures",t,(function(e){return Mh(i,ue.signature.subkeyRevocation,a,[e],void 0,void 0,t,r)}))}async revoke(e,{flag:t=ue.reasonForRevocation.noReason,string:r=""}={},i=new Date,n=we){const a={key:e,bind:this.keyPacket},s=new Fh(this.keyPacket,this.mainKey);return s.revocationSignatures.push(await Ph(a,null,e,{signatureType:ue.signature.subkeyRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,t),reasonForRevocationString:r},i,void 0,void 0,!1,n)),await s.update(this),s}hasSameFingerprintAs(e){return this.keyPacket.hasSameFingerprintAs(e.keyPacket||e)}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","isDecrypted"].forEach((e=>{Fh.prototype[e]=function(){return this.keyPacket[e]()}}));const Lh=/*#__PURE__*/fe.constructAllowedPackets([Ou]),Nh=new Set([ue.packet.publicKey,ue.packet.privateKey]),qh=new Set([ue.packet.publicKey,ue.packet.privateKey,ue.packet.publicSubkey,ue.packet.privateSubkey]);class Oh{packetListToStructure(e,t=new Set){let r,i,n,a;for(const s of e){if(s instanceof Kn){qh.has(s.tag)&&!a&&(a=Nh.has(s.tag)?Nh:qh);continue}const e=s.constructor.tag;if(a){if(!a.has(e))continue;a=null}if(t.has(e))throw Error("Unexpected packet type: "+e);switch(e){case ue.packet.publicKey:case ue.packet.secretKey:if(this.keyPacket)throw Error("Key block contains multiple keys");if(this.keyPacket=s,i=this.getKeyID(),!i)throw Error("Missing Key ID");break;case ue.packet.userID:case ue.packet.userAttribute:r=new zh(s,this),this.users.push(r);break;case ue.packet.publicSubkey:case ue.packet.secretSubkey:r=null,n=new Fh(s,this),this.subkeys.push(n);break;case ue.packet.signature:switch(s.signatureType){case ue.signature.certGeneric:case ue.signature.certPersona:case ue.signature.certCasual:case ue.signature.certPositive:if(!r){fe.printDebug("Dropping certification signatures without preceding user packet");continue}s.issuerKeyID.equals(i)?r.selfCertifications.push(s):r.otherCertifications.push(s);break;case ue.signature.certRevocation:r?r.revocationSignatures.push(s):this.directSignatures.push(s);break;case ue.signature.key:this.directSignatures.push(s);break;case ue.signature.subkeyBinding:if(!n){fe.printDebug("Dropping subkey binding signature without preceding subkey packet");continue}n.bindingSignatures.push(s);break;case ue.signature.keyRevocation:this.revocationSignatures.push(s);break;case ue.signature.subkeyRevocation:if(!n){fe.printDebug("Dropping subkey revocation signature without preceding subkey packet");continue}n.revocationSignatures.push(s)}}}}toPacketList(){const e=new Wu;return e.push(this.keyPacket),e.push(...this.revocationSignatures),e.push(...this.directSignatures),this.users.map((t=>e.push(...t.toPacketList()))),this.subkeys.map((t=>e.push(...t.toPacketList()))),e}clone(e=!1){const t=new this.constructor(this.toPacketList());return e&&t.getKeys().forEach((e=>{if(e.keyPacket=Object.create(Object.getPrototypeOf(e.keyPacket),Object.getOwnPropertyDescriptors(e.keyPacket)),!e.keyPacket.isDecrypted())return;const t={};Object.keys(e.keyPacket.privateParams).forEach((r=>{t[r]=new Uint8Array(e.keyPacket.privateParams[r])})),e.keyPacket.privateParams=t})),t}getSubkeys(e=null){return this.subkeys.filter((t=>!e||t.getKeyID().equals(e,!0)))}getKeys(e=null){const t=[];return e&&!this.getKeyID().equals(e,!0)||t.push(this),t.concat(this.getSubkeys(e))}getKeyIDs(){return this.getKeys().map((e=>e.getKeyID()))}getUserIDs(){return this.users.map((e=>e.userID?e.userID.userID:null)).filter((e=>null!==e))}write(){return this.toPacketList().write()}async getSigningKey(e=null,t=new Date,r={},i=we){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await Eh(r.bindingSignatures,n,ue.signature.subkeyBinding,e,t,i);if(!Uh(r.keyPacket,a))continue;if(!a.embeddedSignature)throw Error("Missing embedded signature");return await Eh([a.embeddedSignature],r.keyPacket,ue.signature.keyBinding,e,t,i),Qh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&Uh(n,a.selfCertification))return Qh(n,i),this}catch(e){s=e}throw fe.wrapError("Could not find valid signing key packet in key "+this.getKeyID().toHex(),s)}async getEncryptionKey(e,t=new Date,r={},i=we){await this.verifyPrimaryKey(t,r,i);const n=this.keyPacket,a=this.subkeys.slice().sort(((e,t)=>t.keyPacket.created-e.keyPacket.created));let s;for(const r of a)if(!e||r.getKeyID().equals(e))try{await r.verify(t,i);const e={key:n,bind:r.keyPacket},a=await Eh(r.bindingSignatures,n,ue.signature.subkeyBinding,e,t,i);if(Rh(r.keyPacket,a))return Qh(r.keyPacket,i),r}catch(e){s=e}try{const a=await this.getPrimaryUser(t,r,i);if((!e||n.getKeyID().equals(e))&&Rh(n,a.selfCertification))return Qh(n,i),this}catch(e){s=e}throw fe.wrapError("Could not find valid encryption key packet in key "+this.getKeyID().toHex(),s)}async isRevoked(e,t,r=new Date,i=we){return Mh(this.keyPacket,ue.signature.keyRevocation,{key:this.keyPacket},this.revocationSignatures,e,t,r,i)}async verifyPrimaryKey(e=new Date,t={},r=we){const i=this.keyPacket;if(await this.isRevoked(null,null,e,r))throw Error("Primary key is revoked");const{selfCertification:n}=await this.getPrimaryUser(e,t,r);if(Sh(i,n,e))throw Error("Primary key is expired");const a=await Eh(this.directSignatures,i,ue.signature.key,{key:i},e,r).catch((()=>{}));if(a&&Sh(i,a,e))throw Error("Primary key is expired")}async getExpirationTime(e,t=we){let r;try{const{selfCertification:i}=await this.getPrimaryUser(null,e,t),n=Dh(this.keyPacket,i),a=i.getExpirationTime(),s=await Eh(this.directSignatures,this.keyPacket,ue.signature.key,{key:this.keyPacket},null,t).catch((()=>{}));if(s){const e=Dh(this.keyPacket,s);r=Math.min(n,a,e)}else r=n<a?n:a}catch(e){r=null}return fe.normalizeDate(r)}async getPrimaryUser(e=new Date,t={},r=we){const i=this.keyPacket,n=[];let a;for(let s=0;s<this.users.length;s++)try{const a=this.users[s];if(!a.userID)continue;if(void 0!==t.name&&a.userID.name!==t.name||void 0!==t.email&&a.userID.email!==t.email||void 0!==t.comment&&a.userID.comment!==t.comment)throw Error("Could not find user that matches that user ID");const o={userID:a.userID,key:i},c=await Eh(a.selfCertifications,i,ue.signature.certGeneric,o,e,r);n.push({index:s,user:a,selfCertification:c})}catch(e){a=e}if(!n.length)throw a||Error("Could not find primary user");await Promise.all(n.map((async function(t){return t.selfCertification.revoked||t.user.isRevoked(t.selfCertification,null,e,r)})));const s=n.sort((function(e,t){const r=e.selfCertification,i=t.selfCertification;return i.revoked-r.revoked||r.isPrimaryUserID-i.isPrimaryUserID||r.created-i.created})).pop(),{user:o,selfCertification:c}=s;if(c.revoked||await o.isRevoked(c,null,e,r))throw Error("Primary user is revoked");return s}async update(e,t=new Date,r=we){if(!this.hasSameFingerprintAs(e))throw Error("Primary key fingerprints must be equal to update the key");if(!this.isPrivate()&&e.isPrivate()){if(!(this.subkeys.length===e.subkeys.length&&this.subkeys.every((t=>e.subkeys.some((e=>t.hasSameFingerprintAs(e)))))))throw Error("Cannot update public key with private key if subkeys mismatch");return e.update(this,r)}const i=this.clone();return await xh(e,i,"revocationSignatures",t,(n=>Mh(i.keyPacket,ue.signature.keyRevocation,i,[n],null,e.keyPacket,t,r))),await xh(e,i,"directSignatures",t),await Promise.all(e.users.map((async e=>{const n=i.users.filter((t=>e.userID&&e.userID.equals(t.userID)||e.userAttribute&&e.userAttribute.equals(t.userAttribute)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.users.push(t)}}))),await Promise.all(e.subkeys.map((async e=>{const n=i.subkeys.filter((t=>t.hasSameFingerprintAs(e)));if(n.length>0)await Promise.all(n.map((i=>i.update(e,t,r))));else{const t=e.clone();t.mainKey=i,i.subkeys.push(t)}}))),i}async getRevocationCertificate(e=new Date,t=we){const r={key:this.keyPacket},i=await Eh(this.revocationSignatures,this.keyPacket,ue.signature.keyRevocation,r,e,t),n=new Wu;return n.push(i),Be(ue.armor.publicKey,n.write(),null,null,"This is a revocation certificate")}async applyRevocationCertificate(e,t=new Date,r=we){const i=await Ie(e,r),n=(await Wu.fromBinary(i.data,Lh,r)).findPacket(ue.packet.signature);if(!n||n.signatureType!==ue.signature.keyRevocation)throw Error("Could not find revocation signature packet");if(!n.issuerKeyID.equals(this.getKeyID()))throw Error("Revocation signature does not match key");try{await n.verify(this.keyPacket,ue.signature.keyRevocation,{key:this.keyPacket},t,void 0,r)}catch(e){throw fe.wrapError("Could not verify revocation signature",e)}const a=this.clone();return a.revocationSignatures.push(n),a}async signPrimaryUser(e,t,r,i=we){const{index:n,user:a}=await this.getPrimaryUser(t,r,i),s=await a.certify(e,t,i),o=this.clone();return o.users[n]=s,o}async signAllUsers(e,t=new Date,r=we){const i=this.clone();return i.users=await Promise.all(this.users.map((function(i){return i.certify(e,t,r)}))),i}async verifyPrimaryUser(e,t=new Date,r,i=we){const n=this.keyPacket,{user:a}=await this.getPrimaryUser(t,r,i);return e?await a.verifyAllCertifications(e,t,i):[{keyID:n.getKeyID(),valid:await a.verify(t,i).catch((()=>!1))}]}async verifyAllUsers(e,t=new Date,r=we){const i=this.keyPacket,n=[];return await Promise.all(this.users.map((async a=>{const s=e?await a.verifyAllCertifications(e,t,r):[{keyID:i.getKeyID(),valid:await a.verify(t,r).catch((()=>!1))}];n.push(...s.map((e=>({userID:a.userID?a.userID.userID:null,userAttribute:a.userAttribute,keyID:e.keyID,valid:e.valid}))))}))),n}}["getKeyID","getFingerprint","getAlgorithmInfo","getCreationTime","hasSameFingerprintAs"].forEach((e=>{Oh.prototype[e]=Fh.prototype[e]}));class Hh extends Oh{constructor(e){if(super(),this.keyPacket=null,this.revocationSignatures=[],this.directSignatures=[],this.users=[],this.subkeys=[],e&&(this.packetListToStructure(e,new Set([ue.packet.secretKey,ue.packet.secretSubkey])),!this.keyPacket))throw Error("Invalid key: missing public-key packet")}isPrivate(){return!1}toPublic(){return this}armor(e=we){return Be(ue.armor.publicKey,this.toPacketList().write(),void 0,void 0,void 0,e)}}class jh extends Hh{constructor(e){if(super(),this.packetListToStructure(e,new Set([ue.packet.publicKey,ue.packet.publicSubkey])),!this.keyPacket)throw Error("Invalid key: missing private-key packet")}isPrivate(){return!0}toPublic(){const e=new Wu,t=this.toPacketList();let r=!1;for(const i of t)if(!r||i.constructor.tag!==ue.packet.Signature)switch(r&&(r=!1),i.constructor.tag){case ue.packet.secretKey:{const t=ue.write(ue.publicKey,i.algorithm);if(t===ue.publicKey.aead||t===ue.publicKey.hmac)throw Error("Cannot create public key from symmetric private");const r=hh.fromSecretKeyPacket(i);e.push(r);break}case ue.packet.secretSubkey:{const t=ue.write(ue.publicKey,i.algorithm);if(t===ue.publicKey.aead||t===ue.publicKey.hmac){r=!0;break}const n=lh.fromSecretSubkeyPacket(i);e.push(n);break}default:e.push(i)}return new Hh(e)}armor(e=we){return Be(ue.armor.privateKey,this.toPacketList().write(),void 0,void 0,void 0,e)}async getDecryptionKeys(e,t=new Date,r={},i=we){const n=this.keyPacket,a=[];for(let r=0;r<this.subkeys.length;r++)if(!e||this.subkeys[r].getKeyID().equals(e,!0))try{const e={key:n,bind:this.subkeys[r].keyPacket};Th(await Eh(this.subkeys[r].bindingSignatures,n,ue.signature.subkeyBinding,e,t,i),i)&&a.push(this.subkeys[r])}catch(e){}const s=await this.getPrimaryUser(t,r,i);return e&&!n.getKeyID().equals(e,!0)||!Th(s.selfCertification,i)||a.push(this),a}isDecrypted(){return this.getKeys().some((({keyPacket:e})=>e.isDecrypted()))}async validate(e=we){if(!this.isPrivate())throw Error("Cannot validate a public key");let t;if(this.keyPacket.isDummy()){const r=await this.getSigningKey(null,null,void 0,{...e,rejectPublicKeyAlgorithms:new Set,minRSABits:0});r&&!r.keyPacket.isDummy()&&(t=r.keyPacket)}else t=this.keyPacket;if(t)return t.validate();{const e=this.getKeys(),t=e.map((e=>e.keyPacket.isDummy())).every(Boolean);if(t)throw Error("Cannot validate an all-gnu-dummy key");return Promise.all(e.map((async e=>e.keyPacket.validate())))}}clearPrivateParams(){this.getKeys().forEach((({keyPacket:e})=>{e.isDecrypted()&&e.clearPrivateParams()}))}async revoke({flag:e=ue.reasonForRevocation.noReason,string:t=""}={},r=new Date,i=we){if(!this.isPrivate())throw Error("Need private key for revoking");const n={key:this.keyPacket},a=this.clone();return a.revocationSignatures.push(await Ph(n,null,this.keyPacket,{signatureType:ue.signature.keyRevocation,reasonForRevocationFlag:ue.write(ue.reasonForRevocation,e),reasonForRevocationString:t},r,void 0,void 0,void 0,i)),a}async addSubkey(e={}){const t={...we,...e.config};if(e.passphrase)throw Error("Subkey could not be encrypted here, please encrypt whole key");if(e.rsaBits<t.minRSABits)throw Error(`rsaBits should be at least ${t.minRSABits}, got: ${e.rsaBits}`);const r=this.keyPacket;if(r.isDummy())throw Error("Cannot add subkey to gnu-dummy primary key");if(!r.isDecrypted())throw Error("Key is not decrypted");const i=r.getAlgorithmInfo();i.type=i.curve?"ecc":"rsa",i.rsaBits=i.bits||4096,i.curve=i.curve||"curve25519",e=Kh(e,i);const n=await kh(e);Qh(n,t);const a=await Ch(n,r,e,t),s=this.toPacketList();return s.push(n,a),new jh(s)}}const Gh=/*#__PURE__*/fe.constructAllowedPackets([hh,lh,yh,wh,mh,ph,Ou]);function Wh(e){for(const t of e)switch(t.constructor.tag){case ue.packet.secretKey:return new jh(e);case ue.packet.publicKey:return new Hh(e)}throw Error("No key packet found")}async function Vh(e,t,r,i){r.passphrase&&await e.encrypt(r.passphrase,i),await Promise.all(t.map((async function(e,t){const n=r.subkeys[t].passphrase;n&&await e.encrypt(n,i)})));const n=new Wu;n.push(e),await Promise.all(r.userIDs.map((async function(t,n){function a(e,t){return[t,...e.filter((e=>e!==t))]}const s=mh.fromObject(t),o={};o.userID=s,o.key=e;const c={};c.signatureType=ue.signature.certGeneric,c.keyFlags=[ue.keyFlags.certifyKeys|ue.keyFlags.signData],c.preferredSymmetricAlgorithms=a([ue.symmetric.aes256,ue.symmetric.aes128,ue.symmetric.aes192],i.preferredSymmetricAlgorithm),i.aeadProtect&&(c.preferredAEADAlgorithms=a([ue.aead.eax,ue.aead.ocb],i.preferredAEADAlgorithm)),c.preferredHashAlgorithms=a([ue.hash.sha256,ue.hash.sha512],i.preferredHashAlgorithm),c.preferredCompressionAlgorithms=a([ue.compression.zlib,ue.compression.zip,ue.compression.uncompressed],i.preferredCompressionAlgorithm),0===n&&(c.isPrimaryUserID=!0),c.features=[0],c.features[0]|=ue.features.modificationDetection,i.aeadProtect&&(c.features[0]|=ue.features.aead),i.v5Keys&&(c.features[0]|=ue.features.v5Keys),r.keyExpirationTime>0&&(c.keyExpirationTime=r.keyExpirationTime,c.keyNeverExpires=!1);return{userIDPacket:s,signaturePacket:await Ph(o,null,e,c,r.date,void 0,void 0,void 0,i)}}))).then((e=>{e.forEach((({userIDPacket:e,signaturePacket:t})=>{n.push(e),n.push(t)}))})),await Promise.all(t.map((async function(t,n){const a=r.subkeys[n];return{secretSubkeyPacket:t,subkeySignaturePacket:await Ch(t,e,a,i)}}))).then((e=>{e.forEach((({secretSubkeyPacket:e,subkeySignaturePacket:t})=>{n.push(e),n.push(t)}))}));const a={key:e};return n.push(await Ph(a,null,e,{signatureType:ue.signature.keyRevocation,reasonForRevocationFlag:ue.reasonForRevocation.noReason,reasonForRevocationString:""},r.date,void 0,void 0,void 0,i)),r.passphrase&&e.clearPrivateParams(),await Promise.all(t.map((async function(e,t){r.subkeys[t].passphrase&&e.clearPrivateParams()}))),new jh(n)}const Jh=/*#__PURE__*/fe.constructAllowedPackets([Lu,Ju,sh,nh,dh,oh,uh,ju,Ou]),Yh=/*#__PURE__*/fe.constructAllowedPackets([uh]),Zh=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class Xh{constructor(e){this.packets=e||new Wu}getEncryptionKeyIDs(){const e=[];return this.packets.filterByTag(ue.packet.publicKeyEncryptedSessionKey).forEach((function(t){e.push(t.publicKeyID)})),e}getSigningKeyIDs(){const e=this.unwrapCompressed(),t=e.packets.filterByTag(ue.packet.onePassSignature);if(t.length>0)return t.map((e=>e.issuerKeyID));return e.packets.filterByTag(ue.packet.signature).map((e=>e.issuerKeyID))}async decrypt(e,t,r,i=new Date,n=we){const a=r||await this.decryptSessionKeys(e,t,i,n),s=this.packets.filterByTag(ue.packet.symmetricallyEncryptedData,ue.packet.symEncryptedIntegrityProtectedData,ue.packet.aeadEncryptedData);if(0===s.length)throw Error("No encrypted data found");const o=s[0];let c=null;const u=Promise.all(a.map((async({algorithm:e,data:t})=>{if(!fe.isUint8Array(t)||!fe.isString(e))throw Error("Invalid session key for decryption.");try{const r=ue.write(ue.symmetric,e);await o.decrypt(r,t,n)}catch(e){fe.printDebugError(e),c=e}})));if(ne(o.encrypted),o.encrypted=null,await u,!o.packets||!o.packets.length)throw c||Error("Decryption failed.");const h=new Xh(o.packets);return o.packets=new Wu,h}async decryptSessionKeys(e,t,r=new Date,i=we){let n,a=[];if(t){const e=this.packets.filterByTag(ue.packet.symEncryptedSessionKey);if(0===e.length)throw Error("No symmetrically encrypted session key packet found.");await Promise.all(t.map((async function(t,r){let s;s=r?await Wu.fromBinary(e.write(),Yh,i):e,await Promise.all(s.map((async function(e){try{await e.decrypt(t),a.push(e)}catch(e){fe.printDebugError(e),e instanceof ja&&(n=e)}})))})))}else{if(!e)throw Error("No key or password specified.");{const t=this.packets.filterByTag(ue.packet.publicKeyEncryptedSessionKey);if(0===t.length)throw Error("No public key encrypted session key packet found.");await Promise.all(t.map((async function(t){await Promise.all(e.map((async function(e){let s=[ue.symmetric.aes256,ue.symmetric.aes128,ue.symmetric.tripledes,ue.symmetric.cast5];try{const t=await e.getPrimaryUser(r,void 0,i);t.selfCertification.preferredSymmetricAlgorithms&&(s=s.concat(t.selfCertification.preferredSymmetricAlgorithms))}catch(e){}const o=(await e.getDecryptionKeys(t.publicKeyID,null,void 0,i)).map((e=>e.keyPacket));await Promise.all(o.map((async function(e){if(!e||e.isDummy())return;if(!e.isDecrypted())throw Error("Decryption key is not decrypted.");if(i.constantTimePKCS1Decryption&&(t.publicKeyAlgorithm===ue.publicKey.rsaEncrypt||t.publicKeyAlgorithm===ue.publicKey.rsaEncryptSign||t.publicKeyAlgorithm===ue.publicKey.rsaSign||t.publicKeyAlgorithm===ue.publicKey.elgamal)){const r=t.write();await Promise.all(Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms).map((async t=>{const i=new oh;i.read(r);const s={sessionKeyAlgorithm:t,sessionKey:Ha.generateSessionKey(t)};try{await i.decrypt(e,s),a.push(i)}catch(e){fe.printDebugError(e),n=e}})))}else try{if(await t.decrypt(e),!s.includes(ue.write(ue.symmetric,t.sessionKeyAlgorithm)))throw Error("A non-preferred symmetric algorithm was used.");a.push(t)}catch(e){fe.printDebugError(e),n=e}})))}))),ne(t.encrypted),t.encrypted=null})))}}if(a.length>0){if(a.length>1){const e=new Set;a=a.filter((t=>{const r=t.sessionKeyAlgorithm+fe.uint8ArrayToString(t.sessionKey);return!e.has(r)&&(e.add(r),!0)}))}return a.map((e=>({data:e.sessionKey,algorithm:ue.read(ue.symmetric,e.sessionKeyAlgorithm)})))}throw n||Error("Session key decryption failed.")}getLiteralData(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e&&e.getBytes()||null}getFilename(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e&&e.getFilename()||null}getText(){const e=this.unwrapCompressed().packets.findPacket(ue.packet.literalData);return e?e.getText():null}static async generateSessionKey(e=[],t=new Date,r=[],i=we){const n=await Bh("symmetric",e,t,r,i),a=ue.read(ue.symmetric,n),s=i.aeadProtect&&await async function(e,t=new Date,r=[],i=we){let n=!0;return await Promise.all(e.map((async function(e,a){const s=await e.getPrimaryUser(t,r[a],i);s.selfCertification.features&&s.selfCertification.features[0]&ue.features.aead||(n=!1)}))),n}(e,t,r,i)?ue.read(ue.aead,await Bh("aead",e,t,r,i)):void 0;await Promise.all(e.map((e=>e.getEncryptionKey().catch((()=>null)).then((e=>{if(e&&e.keyPacket.algorithm===ue.publicKey.x25519&&!fe.isAES(n))throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.")})))));return{data:Ha.generateSessionKey(n),algorithm:a,aeadAlgorithm:s}}async encrypt(e,t,r,i=!1,n=[],a=new Date,s=[],o=we){if(r){if(!fe.isUint8Array(r.data)||!fe.isString(r.algorithm))throw Error("Invalid session key for encryption.")}else if(e&&e.length)r=await Xh.generateSessionKey(e,a,s,o);else{if(!t||!t.length)throw Error("No keys, passwords, or session key provided.");r=await Xh.generateSessionKey(void 0,void 0,void 0,o)}const{data:c,algorithm:u,aeadAlgorithm:h}=r,f=await Xh.encryptSessionKey(c,u,h,e,t,i,n,a,s,o);let d;h?(d=new sh,d.aeadAlgorithm=ue.write(ue.aead,h)):d=new nh,d.packets=this.packets;const l=ue.write(ue.symmetric,u);return await d.encrypt(l,c,o),f.packets.push(d),d.packets=new Wu,f}static async encryptSessionKey(e,t,r,i,n,a=!1,s=[],o=new Date,c=[],u=we){const h=new Wu,f=ue.write(ue.symmetric,t),d=r&&ue.write(ue.aead,r);if(i){const t=await Promise.all(i.map((async function(t,r){const i=await t.getEncryptionKey(s[r],o,c,u),n=new oh;return n.publicKeyID=a?Pe.wildcard():i.getKeyID(),n.publicKeyAlgorithm=i.keyPacket.algorithm,n.sessionKey=e,n.sessionKeyAlgorithm=f,await n.encrypt(i.keyPacket),delete n.sessionKey,n})));h.push(...t)}if(n){const t=async function(e,t){try{return await e.decrypt(t),1}catch(e){return 0}},r=(e,t)=>e+t,i=async function(e,a,s,o){const c=new uh(u);if(c.sessionKey=e,c.sessionKeyAlgorithm=a,s&&(c.aeadAlgorithm=s),await c.encrypt(o,u),u.passwordCollisionCheck){if(1!==(await Promise.all(n.map((e=>t(c,e))))).reduce(r))return i(e,a,o)}return delete c.sessionKey,c},a=await Promise.all(n.map((t=>i(e,f,d,t))));h.push(...a)}return new Xh(h)}async sign(e=[],t=null,r=[],i=new Date,n=[],a=[],s=we){const o=new Wu,c=this.packets.findPacket(ue.packet.literalData);if(!c)throw Error("No literal data packet to sign.");let u,h;const f=null===c.text?ue.signature.binary:ue.signature.text;if(t)for(h=t.packets.filterByTag(ue.packet.signature),u=h.length-1;u>=0;u--){const t=h[u],r=new ju;r.signatureType=t.signatureType,r.hashAlgorithm=t.hashAlgorithm,r.publicKeyAlgorithm=t.publicKeyAlgorithm,r.issuerKeyID=t.issuerKeyID,e.length||0!==u||(r.flags=1),o.push(r)}return await Promise.all(Array.from(e).reverse().map((async function(t,a){if(!t.isPrivate())throw Error("Need private key for signing");const o=r[e.length-1-a],c=await t.getSigningKey(o,i,n,s),u=new ju;return u.signatureType=f,u.hashAlgorithm=await Ih(t,c.keyPacket,i,n,s),u.publicKeyAlgorithm=c.keyPacket.algorithm,u.issuerKeyID=c.getKeyID(),a===e.length-1&&(u.flags=1),u}))).then((e=>{e.forEach((e=>o.push(e)))})),o.push(c),o.push(...await $h(c,e,t,r,i,n,a,!1,s)),new Xh(o)}compress(e,t=we){if(e===ue.compression.uncompressed)return this;const r=new Ju(t);r.algorithm=e,r.packets=this.packets;const i=new Wu;return i.push(r),new Xh(i)}async signDetached(e=[],t=null,r=[],i=new Date,n=[],a=[],s=we){const o=this.packets.findPacket(ue.packet.literalData);if(!o)throw Error("No literal data packet to sign.");return new vh(await $h(o,e,t,r,i,n,a,!0,s))}async verify(e,t=new Date,r=we){const i=this.unwrapCompressed(),n=i.packets.filterByTag(ue.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");v(i.packets.stream)&&i.packets.push(...await ie(i.packets.stream,(e=>e||[])));const a=i.packets.filterByTag(ue.packet.onePassSignature).reverse(),s=i.packets.filterByTag(ue.packet.signature);return a.length&&!s.length&&fe.isStream(i.packets.stream)&&!v(i.packets.stream)?(await Promise.all(a.map((async e=>{e.correspondingSig=new Promise(((t,r)=>{e.correspondingSigResolve=t,e.correspondingSigReject=r})),e.signatureData=ae((async()=>(await e.correspondingSig).signatureData)),e.hashed=ie(await e.hash(e.signatureType,n[0],void 0,!1)),e.hashed.catch((()=>{}))}))),i.packets.stream=Z(i.packets.stream,(async(e,t)=>{const r=j(e),i=G(t);try{for(let e=0;e<a.length;e++){const{value:t}=await r.read();a[e].correspondingSigResolve(t)}await r.readToEnd(),await i.ready,await i.close()}catch(e){a.forEach((t=>{t.correspondingSigReject(e)})),await i.abort(e)}})),ef(a,n,e,t,!1,r)):ef(s,n,e,t,!1,r)}verifyDetached(e,t,r=new Date,i=we){const n=this.unwrapCompressed().packets.filterByTag(ue.packet.literalData);if(1!==n.length)throw Error("Can only verify message with one literal data packet.");return ef(e.packets.filterByTag(ue.packet.signature),n,t,r,!0,i)}unwrapCompressed(){const e=this.packets.filterByTag(ue.packet.compressedData);return e.length?new Xh(e[0].packets):this}async appendSignature(e,t=we){await this.packets.read(fe.isUint8Array(e)?e:(await Ie(e)).data,Zh,t)}write(){return this.packets.write()}armor(e=we){return Be(ue.armor.message,this.write(),null,null,null,e)}}async function $h(e,t,r=null,i=[],n=new Date,a=[],s=[],o=!1,c=we){const u=new Wu,h=null===e.text?ue.signature.binary:ue.signature.text;if(await Promise.all(t.map((async(t,r)=>{const u=a[r];if(!t.isPrivate())throw Error("Need private key for signing");const f=await t.getSigningKey(i[r],n,u,c);return Ph(e,t,f.keyPacket,{signatureType:h},n,u,s,o,c)}))).then((e=>{u.push(...e)})),r){const e=r.packets.filterByTag(ue.packet.signature);u.push(...e)}return u}async function ef(e,t,r,i=new Date,n=!1,a=we){return Promise.all(e.filter((function(e){return["text","binary"].includes(ue.read(ue.signature,e.signatureType))})).map((async function(e){return async function(e,t,r,i=new Date,n=!1,a=we){let s,o;for(const t of r){const r=t.getKeys(e.issuerKeyID);if(r.length>0){s=t,o=r[0];break}}const c=e instanceof ju?e.correspondingSig:e,u={keyID:e.issuerKeyID,verified:(async()=>{if(!o)throw Error("Could not find signing key with key ID "+e.issuerKeyID.toHex());await e.verify(o.keyPacket,e.signatureType,t[0],i,n,a);const r=await c;if(o.getCreationTime()>r.created)throw Error("Key is newer than the signature");try{await s.getSigningKey(o.getKeyID(),r.created,void 0,a)}catch(e){if(!a.allowInsecureVerificationWithReformattedKeys||!e.message.match(/Signature creation time is in the future/))throw e;await s.getSigningKey(o.getKeyID(),i,void 0,a)}return!0})(),signature:(async()=>{const e=await c,t=new Wu;return e&&t.push(e),new vh(t)})()};return u.signature.catch((()=>{})),u.verified.catch((()=>{})),u}(e,t,r,i,n,a)})))}const tf=/*#__PURE__*/fe.constructAllowedPackets([Ou]);class rf{constructor(e,t){if(this.text=fe.removeTrailingSpaces(e).replace(/\r?\n/g,"\r\n"),t&&!(t instanceof vh))throw Error("Invalid signature input");this.signature=t||new vh(new Wu)}getSigningKeyIDs(){const e=[];return this.signature.packets.forEach((function(t){e.push(t.issuerKeyID)})),e}async sign(e,t=null,r=[],i=new Date,n=[],a=[],s=we){const o=new Lu;o.setText(this.text);const c=new vh(await $h(o,e,t,r,i,n,a,!0,s));return new rf(this.text,c)}verify(e,t=new Date,r=we){const i=this.signature.packets.filterByTag(ue.packet.signature),n=new Lu;return n.setText(this.text),ef(i,[n],e,t,!0,r)}getText(){return this.text.replace(/\r\n/g,"\n")}armor(e=we){let t=this.signature.packets.map((function(e){return ue.read(ue.hash,e.hashAlgorithm).toUpperCase()}));t=t.filter((function(e,t,r){return r.indexOf(e)===t}));const r={hash:t.join(),text:this.text,data:this.signature.packets.write()};return Be(ue.armor.signed,r,void 0,void 0,void 0,e)}}function nf(e){if(!(e instanceof Xh))throw Error("Parameter [message] needs to be of type Message")}function af(e){if(!(e instanceof rf||e instanceof Xh))throw Error("Parameter [message] needs to be of type Message or CleartextMessage")}function sf(e){if("armored"!==e&&"binary"!==e&&"object"!==e)throw Error("Unsupported format "+e)}const of=Object.keys(we).length;function cf(e){const t=Object.keys(e);if(t.length!==of)for(const e of t)if(void 0===we[e])throw Error("Unknown config property: "+e)}function uf(e){return e&&!fe.isArray(e)&&(e=[e]),e}async function hf(e,t,r="utf8"){const i=fe.isStream(e);return"array"===i?ie(e):"node"===t?(e=M(e),"binary"!==r&&e.setEncoding(r),e):"web"===t&&"ponyfill"===i?T(e):e}function ff(e,t){e.data=Z(t.packets.stream,(async(t,r)=>{await W(e.data,r,{preventClose:!0});const i=G(r);try{await ie(t,(e=>e)),await i.close()}catch(e){await i.abort(e)}}))}function df(e,t,r){switch(t){case"object":return e;case"armored":return e.armor(r);case"binary":return e.write();default:throw Error("Unsupported format "+t)}}const lf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:e=>`Symbol(${e})`;function pf(){}const yf="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;function gf(e){return"object"==typeof e&&null!==e||"function"==typeof e}const bf=pf,mf=Promise,wf=Promise.prototype.then,Af=Promise.resolve.bind(mf),vf=Promise.reject.bind(mf);function kf(e){return new mf(e)}function _f(e){return Af(e)}function Ef(e){return vf(e)}function Sf(e,t,r){return wf.call(e,t,r)}function Cf(e,t,r){Sf(Sf(e,t,r),void 0,bf)}function If(e,t){Cf(e,t)}function Bf(e,t){Cf(e,void 0,t)}function Pf(e,t,r){return Sf(e,t,r)}function xf(e){Sf(e,void 0,bf)}const Mf=(()=>{const e=yf&&yf.queueMicrotask;if("function"==typeof e)return e;const t=_f(void 0);return e=>Sf(t,e)})();function Df(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Kf(e,t,r){try{return _f(Df(e,t,r))}catch(e){return Ef(e)}}class Uf{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){const t=this._back;let r=t;16383===t._elements.length&&(r={_elements:[],_next:void 0}),t._elements.push(e),r!==t&&(this._back=r,t._next=r),++this._size}shift(){const e=this._front;let t=e;const r=this._cursor;let i=r+1;const n=e._elements,a=n[r];return 16384===i&&(t=e._next,i=0),--this._size,this._cursor=i,e!==t&&(this._front=t),n[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,i=r._elements;for(;!(t===i.length&&void 0===r._next||t===i.length&&(r=r._next,i=r._elements,t=0,0===i.length));)e(i[t]),++t}peek(){const e=this._front,t=this._cursor;return e._elements[t]}}function Rf(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?Ff(e):"closed"===t._state?function(e){Ff(e),qf(e)}(e):Lf(e,t._storedError)}function Tf(e,t){return wp(e._ownerReadableStream,t)}function Qf(e){"readable"===e._ownerReadableStream._state?Nf(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){Lf(e,t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function zf(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Ff(e){e._closedPromise=kf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r}))}function Lf(e,t){Ff(e),Nf(e,t)}function Nf(e,t){void 0!==e._closedPromise_reject&&(xf(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function qf(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}const Of=lf("[[AbortSteps]]"),Hf=lf("[[ErrorSteps]]"),jf=lf("[[CancelSteps]]"),Gf=lf("[[PullSteps]]"),Wf=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},Vf=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Jf(e,t){if(void 0!==e&&("object"!=typeof(r=e)&&"function"!=typeof r))throw new TypeError(t+" is not an object.");var r}function Yf(e,t){if("function"!=typeof e)throw new TypeError(t+" is not a function.")}function Zf(e,t){if(!function(e){return"object"==typeof e&&null!==e||"function"==typeof e}(e))throw new TypeError(t+" is not an object.")}function Xf(e,t,r){if(void 0===e)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function $f(e,t,r){if(void 0===e)throw new TypeError(`${t} is required in '${r}'.`)}function ed(e){return Number(e)}function td(e){return 0===e?0:e}function rd(e,t){const r=Number.MAX_SAFE_INTEGER;let i=Number(e);if(i=td(i),!Wf(i))throw new TypeError(t+" is not a finite number");if(i=function(e){return td(Vf(e))}(i),i<0||i>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return Wf(i)&&0!==i?i:0}function id(e,t){if(!bp(e))throw new TypeError(t+" is not a ReadableStream.")}function nd(e){return new ud(e)}function ad(e,t){e._reader._readRequests.push(t)}function sd(e,t,r){const i=e._reader._readRequests.shift();r?i._closeSteps():i._chunkSteps(t)}function od(e){return e._reader._readRequests.length}function cd(e){const t=e._reader;return void 0!==t&&!!hd(t)}class ud{constructor(e){if(Xf(e,1,"ReadableStreamDefaultReader"),id(e,"First parameter"),mp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Rf(this,e),this._readRequests=new Uf}get closed(){return hd(this)?this._closedPromise:Ef(dd("closed"))}cancel(e=undefined){return hd(this)?void 0===this._ownerReadableStream?Ef(zf("cancel")):Tf(this,e):Ef(dd("cancel"))}read(){if(!hd(this))return Ef(dd("read"));if(void 0===this._ownerReadableStream)return Ef(zf("read from"));let e,t;const r=kf(((r,i)=>{e=r,t=i}));return fd(this,{_chunkSteps:t=>e({value:t,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:e=>t(e)}),r}releaseLock(){if(!hd(this))throw dd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Qf(this)}}}function hd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function fd(e,t){const r=e._ownerReadableStream;r._disturbed=!0,"closed"===r._state?t._closeSteps():"errored"===r._state?t._errorSteps(r._storedError):r._readableStreamController[Gf](t)}function dd(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let ld;Object.defineProperties(ud.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(ud.prototype,lf.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0}),"symbol"==typeof lf.asyncIterator&&(ld={[lf.asyncIterator](){return this}},Object.defineProperty(ld,lf.asyncIterator,{enumerable:!1}));class pd{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){const e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Pf(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){const t=()=>this._returnSteps(e);return this._ongoingPromise?Pf(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});const e=this._reader;if(void 0===e._ownerReadableStream)return Ef(zf("iterate"));let t,r;const i=kf(((e,i)=>{t=e,r=i}));return fd(e,{_chunkSteps:e=>{this._ongoingPromise=void 0,Mf((()=>t({value:e,done:!1})))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Qf(e),t({value:void 0,done:!0})},_errorSteps:t=>{this._ongoingPromise=void 0,this._isFinished=!0,Qf(e),r(t)}}),i}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;const t=this._reader;if(void 0===t._ownerReadableStream)return Ef(zf("finish iterating"));if(!this._preventCancel){const r=Tf(t,e);return Qf(t),Pf(r,(()=>({value:e,done:!0})))}return Qf(t),_f({value:e,done:!0})}}const yd={next(){return gd(this)?this._asyncIteratorImpl.next():Ef(bd("next"))},return(e){return gd(this)?this._asyncIteratorImpl.return(e):Ef(bd("return"))}};function gd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl")}function bd(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}void 0!==ld&&Object.setPrototypeOf(yd,ld);const md=Number.isNaN||function(e){return e!=e};function wd(e){return!!function(e){if("number"!=typeof e)return!1;if(md(e))return!1;if(e<0)return!1;return!0}(e)&&e!==1/0}function Ad(e){const t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function vd(e,t,r){if(!wd(r=Number(r)))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function kd(e){e._queue=new Uf,e._queueTotalSize=0}function _d(e){return e.slice()}class Ed{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Id(this))throw Od("view");return this._view}respond(e){if(!Id(this))throw Od("respond");if(Xf(e,1,"respond"),e=rd(e,"First parameter"),void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(t=Number(t),!wd(t))throw new RangeError("bytesWritten must be a finite");Qd(e,t)}(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!Id(this))throw Od("respondWithNewView");if(Xf(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){const r=e._pendingPullIntos.peek();if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,Qd(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}}Object.defineProperties(Ed.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Ed.prototype,lf.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class Sd{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Cd(this))throw Hd("byobRequest");if(null===this._byobRequest&&this._pendingPullIntos.length>0){const e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=Object.create(Ed.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}get desiredSize(){if(!Cd(this))throw Hd("desiredSize");return Nd(this)}close(){if(!Cd(this))throw Hd("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");const e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);!function(e){const t=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==t._state)return;if(e._queueTotalSize>0)return void(e._closeRequested=!0);if(e._pendingPullIntos.length>0){if(e._pendingPullIntos.peek().bytesFilled>0){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Ld(e,t),t}}Fd(e),Ap(t)}(this)}enqueue(e){if(!Cd(this))throw Hd("enqueue");if(Xf(e,1,"enqueue"),!ArrayBuffer.isView(e))throw new TypeError("chunk must be an array buffer view");if(0===e.byteLength)throw new TypeError("chunk must have non-zero byteLength");if(0===e.buffer.byteLength)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");const t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);!function(e,t){const r=e._controlledReadableByteStream;if(e._closeRequested||"readable"!==r._state)return;const i=t.buffer,n=t.byteOffset,a=t.byteLength,s=i;if(cd(r))if(0===od(r))Md(e,s,n,a);else{sd(r,new Uint8Array(s,n,a),!1)}else Wd(r)?(Md(e,s,n,a),Td(e)):Md(e,s,n,a);Bd(e)}(this,e)}error(e=undefined){if(!Cd(this))throw Hd("error");Ld(this,e)}[jf](e){if(this._pendingPullIntos.length>0){this._pendingPullIntos.peek().bytesFilled=0}kd(this);const t=this._cancelAlgorithm(e);return Fd(this),t}[Gf](e){const t=this._controlledReadableByteStream;if(this._queueTotalSize>0){const t=this._queue.shift();this._queueTotalSize-=t.byteLength,Ud(this);const r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return void e._chunkSteps(r)}const r=this._autoAllocateChunkSize;if(void 0!==r){let t;try{t=new ArrayBuffer(r)}catch(t){return void e._errorSteps(t)}const i={buffer:t,byteOffset:0,byteLength:r,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}ad(t,e),Bd(this)}}function Cd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Id(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Bd(e){const t=function(e){const t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(cd(t)&&od(t)>0)return!0;if(Wd(t)&&Gd(t)>0)return!0;const r=Nd(e);if(r>0)return!0;return!1}(e);if(!t)return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;Cf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Bd(e))}),(t=>{Ld(e,t)}))}function Pd(e,t){let r=!1;"closed"===e._state&&(r=!0);const i=xd(t);"default"===t.readerType?sd(e,i,r):function(e,t,r){const i=e._reader,n=i._readIntoRequests.shift();r?n._closeSteps(t):n._chunkSteps(t)}(e,i,r)}function xd(e){const t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Md(e,t,r,i){e._queue.push({buffer:t,byteOffset:r,byteLength:i}),e._queueTotalSize+=i}function Dd(e,t){const r=t.elementSize,i=t.bytesFilled-t.bytesFilled%r,n=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+n,s=a-a%r;let o=n,c=!1;s>i&&(o=s-t.bytesFilled,c=!0);const u=e._queue;for(;o>0;){const r=u.peek(),i=Math.min(o,r.byteLength),n=t.byteOffset+t.bytesFilled;h=t.buffer,f=n,d=r.buffer,l=r.byteOffset,p=i,new Uint8Array(h).set(new Uint8Array(d,l,p),f),r.byteLength===i?u.shift():(r.byteOffset+=i,r.byteLength-=i),e._queueTotalSize-=i,Kd(e,i,t),o-=i}var h,f,d,l,p;return c}function Kd(e,t,r){Rd(e),r.bytesFilled+=t}function Ud(e){0===e._queueTotalSize&&e._closeRequested?(Fd(e),Ap(e._controlledReadableByteStream)):Bd(e)}function Rd(e){null!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Td(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;const t=e._pendingPullIntos.peek();Dd(e,t)&&(zd(e),Pd(e._controlledReadableByteStream,t))}}function Qd(e,t){const r=e._pendingPullIntos.peek();if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=t.buffer;const r=e._controlledReadableByteStream;if(Wd(r))for(;Gd(r)>0;)Pd(r,zd(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Kd(e,t,r),r.bytesFilled<r.elementSize)return;zd(e);const i=r.bytesFilled%r.elementSize;if(i>0){const t=r.byteOffset+r.bytesFilled,n=r.buffer.slice(t-i,t);Md(e,n,0,n.byteLength)}r.buffer=r.buffer,r.bytesFilled-=i,Pd(e._controlledReadableByteStream,r),Td(e)}(e,t,r);Bd(e)}function zd(e){const t=e._pendingPullIntos.shift();return Rd(e),t}function Fd(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function Ld(e,t){const r=e._controlledReadableByteStream;"readable"===r._state&&(!function(e){Rd(e),e._pendingPullIntos=new Uf}(e),kd(e),Fd(e),vp(r,t))}function Nd(e){const t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function qd(e,t,r){const i=Object.create(Sd.prototype);let n=()=>{},a=()=>_f(void 0),s=()=>_f(void 0);void 0!==t.start&&(n=()=>t.start(i)),void 0!==t.pull&&(a=()=>t.pull(i)),void 0!==t.cancel&&(s=e=>t.cancel(e));const o=t.autoAllocateChunkSize;if(0===o)throw new TypeError("autoAllocateChunkSize must be greater than 0");!function(e,t,r,i,n,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,kd(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,t._autoAllocateChunkSize=s,t._pendingPullIntos=new Uf,e._readableStreamController=t,Cf(_f(r()),(()=>{t._started=!0,Bd(t)}),(e=>{Ld(t,e)}))}(e,i,n,a,s,r,o)}function Od(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function Hd(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function jd(e,t){e._reader._readIntoRequests.push(t)}function Gd(e){return e._reader._readIntoRequests.length}function Wd(e){const t=e._reader;return void 0!==t&&!!Jd(t)}Object.defineProperties(Sd.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Sd.prototype,lf.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class Vd{constructor(e){if(Xf(e,1,"ReadableStreamBYOBReader"),id(e,"First parameter"),mp(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Cd(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Rf(this,e),this._readIntoRequests=new Uf}get closed(){return Jd(this)?this._closedPromise:Ef(Yd("closed"))}cancel(e=undefined){return Jd(this)?void 0===this._ownerReadableStream?Ef(zf("cancel")):Tf(this,e):Ef(Yd("cancel"))}read(e){if(!Jd(this))return Ef(Yd("read"));if(!ArrayBuffer.isView(e))return Ef(new TypeError("view must be an array buffer view"));if(0===e.byteLength)return Ef(new TypeError("view must have non-zero byteLength"));if(0===e.buffer.byteLength)return Ef(new TypeError("view's buffer must have non-zero byteLength"));if(void 0===this._ownerReadableStream)return Ef(zf("read from"));let t,r;const i=kf(((e,i)=>{t=e,r=i}));return function(e,t,r){const i=e._ownerReadableStream;i._disturbed=!0,"errored"===i._state?r._errorSteps(i._storedError):function(e,t,r){const i=e._controlledReadableByteStream;let n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);const a=t.constructor,s={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),void jd(i,r);if("closed"!==i._state){if(e._queueTotalSize>0){if(Dd(e,s)){const t=xd(s);return Ud(e),void r._chunkSteps(t)}if(e._closeRequested){const t=new TypeError("Insufficient bytes to fill elements in the given buffer");return Ld(e,t),void r._errorSteps(t)}}e._pendingPullIntos.push(s),jd(i,r),Bd(e)}else{const e=new a(s.buffer,s.byteOffset,0);r._closeSteps(e)}}(i._readableStreamController,t,r)}(this,e,{_chunkSteps:e=>t({value:e,done:!1}),_closeSteps:e=>t({value:e,done:!0}),_errorSteps:e=>r(e)}),i}releaseLock(){if(!Jd(this))throw Yd("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Qf(this)}}}function Jd(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Yd(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Zd(e,t){const{highWaterMark:r}=e;if(void 0===r)return t;if(md(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function Xd(e){const{size:t}=e;return t||(()=>1)}function $d(e,t){Jf(e,t);const r=null==e?void 0:e.highWaterMark,i=null==e?void 0:e.size;return{highWaterMark:void 0===r?void 0:ed(r),size:void 0===i?void 0:el(i,t+" has member 'size' that")}}function el(e,t){return Yf(e,t),t=>ed(e(t))}function tl(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function rl(e,t,r){return Yf(e,r),()=>Kf(e,t,[])}function il(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function nl(e,t,r){return Yf(e,r),(r,i)=>Kf(e,t,[r,i])}function al(e,t){if(!ul(e))throw new TypeError(t+" is not a WritableStream.")}Object.defineProperties(Vd.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Vd.prototype,lf.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});class sl{constructor(e={},t={}){void 0===e?e=null:Zf(e,"First parameter");const r=$d(t,"Second parameter"),i=function(e,t){Jf(e,t);const r=null==e?void 0:e.abort,i=null==e?void 0:e.close,n=null==e?void 0:e.start,a=null==e?void 0:e.type,s=null==e?void 0:e.write;return{abort:void 0===r?void 0:tl(r,e,t+" has member 'abort' that"),close:void 0===i?void 0:rl(i,e,t+" has member 'close' that"),start:void 0===n?void 0:il(n,e,t+" has member 'start' that"),write:void 0===s?void 0:nl(s,e,t+" has member 'write' that"),type:a}}(e,"First parameter");cl(this);if(void 0!==i.type)throw new RangeError("Invalid type is specified");const n=Xd(r);!function(e,t,r,i){const n=Object.create(Il.prototype);let a=()=>{},s=()=>_f(void 0),o=()=>_f(void 0),c=()=>_f(void 0);void 0!==t.start&&(a=()=>t.start(n));void 0!==t.write&&(s=e=>t.write(e,n));void 0!==t.close&&(o=()=>t.close());void 0!==t.abort&&(c=e=>t.abort(e));Bl(e,n,a,s,o,c,r,i)}(this,i,Zd(r,1),n)}get locked(){if(!ul(this))throw Rl("locked");return hl(this)}abort(e=undefined){return ul(this)?hl(this)?Ef(new TypeError("Cannot abort a stream that already has a writer")):fl(this,e):Ef(Rl("abort"))}close(){return ul(this)?hl(this)?Ef(new TypeError("Cannot close a stream that already has a writer")):gl(this)?Ef(new TypeError("Cannot close an already-closing stream")):dl(this):Ef(Rl("close"))}getWriter(){if(!ul(this))throw Rl("getWriter");return ol(this)}}function ol(e){return new wl(e)}function cl(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new Uf,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function ul(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function hl(e){return void 0!==e._writer}function fl(e,t){const r=e._state;if("closed"===r||"errored"===r)return _f(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;let i=!1;"erroring"===r&&(i=!0,t=void 0);const n=kf(((r,n)=>{e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}}));return e._pendingAbortRequest._promise=n,i||pl(e,t),n}function dl(e){const t=e._state;if("closed"===t||"errored"===t)return Ef(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));const r=kf(((t,r)=>{const i={_resolve:t,_reject:r};e._closeRequest=i})),i=e._writer;var n;return void 0!==i&&e._backpressure&&"writable"===t&&Gl(i),vd(n=e._writableStreamController,Cl,0),Ml(n),r}function ll(e,t){"writable"!==e._state?yl(e):pl(e,t)}function pl(e,t){const r=e._writableStreamController;e._state="erroring",e._storedError=t;const i=e._writer;void 0!==i&&_l(i,t),!function(e){if(void 0===e._inFlightWriteRequest&&void 0===e._inFlightCloseRequest)return!1;return!0}(e)&&r._started&&yl(e)}function yl(e){e._state="errored",e._writableStreamController[Hf]();const t=e._storedError;if(e._writeRequests.forEach((e=>{e._reject(t)})),e._writeRequests=new Uf,void 0===e._pendingAbortRequest)return void bl(e);const r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void bl(e);Cf(e._writableStreamController[Of](r._reason),(()=>{r._resolve(),bl(e)}),(t=>{r._reject(t),bl(e)}))}function gl(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function bl(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);const t=e._writer;void 0!==t&&Ll(t,e._storedError)}function ml(e,t){const r=e._writer;void 0!==r&&t!==e._backpressure&&(t?function(e){ql(e)}(r):Gl(r)),e._backpressure=t}Object.defineProperties(sl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(sl.prototype,lf.toStringTag,{value:"WritableStream",configurable:!0});class wl{constructor(e){if(Xf(e,1,"WritableStreamDefaultWriter"),al(e,"First parameter"),hl(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;const t=e._state;if("writable"===t)!gl(e)&&e._backpressure?ql(this):Hl(this),zl(this);else if("erroring"===t)Ol(this,e._storedError),zl(this);else if("closed"===t)Hl(this),zl(r=this),Nl(r);else{const t=e._storedError;Ol(this,t),Fl(this,t)}var r}get closed(){return Al(this)?this._closedPromise:Ef(Tl("closed"))}get desiredSize(){if(!Al(this))throw Tl("desiredSize");if(void 0===this._ownerWritableStream)throw Ql("desiredSize");return function(e){const t=e._ownerWritableStream,r=t._state;if("errored"===r||"erroring"===r)return null;if("closed"===r)return 0;return xl(t._writableStreamController)}(this)}get ready(){return Al(this)?this._readyPromise:Ef(Tl("ready"))}abort(e=undefined){return Al(this)?void 0===this._ownerWritableStream?Ef(Ql("abort")):function(e,t){const r=e._ownerWritableStream;return fl(r,t)}(this,e):Ef(Tl("abort"))}close(){if(!Al(this))return Ef(Tl("close"));const e=this._ownerWritableStream;return void 0===e?Ef(Ql("close")):gl(e)?Ef(new TypeError("Cannot close an already-closing stream")):vl(this)}releaseLock(){if(!Al(this))throw Tl("releaseLock");void 0!==this._ownerWritableStream&&El(this)}write(e=undefined){return Al(this)?void 0===this._ownerWritableStream?Ef(Ql("write to")):Sl(this,e):Ef(Tl("write"))}}function Al(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function vl(e){return dl(e._ownerWritableStream)}function kl(e,t){"pending"===e._closedPromiseState?Ll(e,t):function(e,t){Fl(e,t)}(e,t)}function _l(e,t){"pending"===e._readyPromiseState?jl(e,t):function(e,t){Ol(e,t)}(e,t)}function El(e){const t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");_l(e,r),kl(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function Sl(e,t){const r=e._ownerWritableStream,i=r._writableStreamController,n=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return Dl(e,t),1}}(i,t);if(r!==e._ownerWritableStream)return Ef(Ql("write to"));const a=r._state;if("errored"===a)return Ef(r._storedError);if(gl(r)||"closed"===a)return Ef(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===a)return Ef(r._storedError);const s=function(e){return kf(((t,r)=>{const i={_resolve:t,_reject:r};e._writeRequests.push(i)}))}(r);return function(e,t,r){try{vd(e,t,r)}catch(t){return void Dl(e,t)}const i=e._controlledWritableStream;if(!gl(i)&&"writable"===i._state){ml(i,Kl(e))}Ml(e)}(i,t,n),s}Object.defineProperties(wl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(wl.prototype,lf.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});const Cl={};class Il{constructor(){throw new TypeError("Illegal constructor")}error(e=undefined){if(!function(e){if(!gf(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return!0}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&Ul(this,e)}[Of](e){const t=this._abortAlgorithm(e);return Pl(this),t}[Hf](){kd(this)}}function Bl(e,t,r,i,n,a,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,kd(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=i,t._closeAlgorithm=n,t._abortAlgorithm=a;const c=Kl(t);ml(e,c);Cf(_f(r()),(()=>{t._started=!0,Ml(t)}),(r=>{t._started=!0,ll(e,r)}))}function Pl(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function xl(e){return e._strategyHWM-e._queueTotalSize}function Ml(e){const t=e._controlledWritableStream;if(!e._started)return;if(void 0!==t._inFlightWriteRequest)return;if("erroring"===t._state)return void yl(t);if(0===e._queue.length)return;const r=e._queue.peek().value;r===Cl?function(e){const t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),Ad(e);const r=e._closeAlgorithm();Pl(e),Cf(r,(()=>{!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";const t=e._writer;void 0!==t&&Nl(t)}(t)}),(e=>{!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),ll(e,t)}(t,e)}))}(e):function(e,t){const r=e._controlledWritableStream;!function(e){e._inFlightWriteRequest=e._writeRequests.shift()}(r);const i=e._writeAlgorithm(t);Cf(i,(()=>{!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);const t=r._state;if(Ad(e),!gl(r)&&"writable"===t){const t=Kl(e);ml(r,t)}Ml(e)}),(t=>{"writable"===r._state&&Pl(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,ll(e,t)}(r,t)}))}(e,r)}function Dl(e,t){"writable"===e._controlledWritableStream._state&&Ul(e,t)}function Kl(e){return xl(e)<=0}function Ul(e,t){const r=e._controlledWritableStream;Pl(e),pl(r,t)}function Rl(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Tl(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Ql(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function zl(e){e._closedPromise=kf(((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"}))}function Fl(e,t){zl(e),Ll(e,t)}function Ll(e,t){void 0!==e._closedPromise_reject&&(xf(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function Nl(e){void 0!==e._closedPromise_resolve&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function ql(e){e._readyPromise=kf(((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r})),e._readyPromiseState="pending"}function Ol(e,t){ql(e),jl(e,t)}function Hl(e){ql(e),Gl(e)}function jl(e,t){void 0!==e._readyPromise_reject&&(xf(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function Gl(e){void 0!==e._readyPromise_resolve&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}Object.defineProperties(Il.prototype,{error:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Il.prototype,lf.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});const Wl="undefined"!=typeof DOMException?DOMException:void 0;const Vl=function(e){if("function"!=typeof e&&"object"!=typeof e)return!1;try{return new e,!0}catch(e){return!1}}(Wl)?Wl:function(){const e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return Object.defineProperty(e.prototype=Object.create(Error.prototype),"constructor",{value:e,writable:!0,configurable:!0}),e}();function Jl(e,t,r,i,n,a){const s=nd(e),o=ol(t);e._disturbed=!0;let c=!1,u=_f(void 0);return kf(((h,f)=>{let d;if(void 0!==a){if(d=()=>{const r=new Vl("Aborted","AbortError"),a=[];i||a.push((()=>"writable"===t._state?fl(t,r):_f(void 0))),n||a.push((()=>"readable"===e._state?wp(e,r):_f(void 0))),y((()=>Promise.all(a.map((e=>e())))),!0,r)},a.aborted)return void d();a.addEventListener("abort",d)}if(p(e,s._closedPromise,(e=>{i?g(!0,e):y((()=>fl(t,e)),!0,e)})),p(t,o._closedPromise,(t=>{n?g(!0,t):y((()=>wp(e,t)),!0,t)})),function(e,t,r){"closed"===e._state?r():If(t,r)}(e,s._closedPromise,(()=>{r?g():y((()=>function(e){const t=e._ownerWritableStream,r=t._state;return gl(t)||"closed"===r?_f(void 0):"errored"===r?Ef(t._storedError):vl(e)}(o)))})),gl(t)||"closed"===t._state){const t=new TypeError("the destination writable stream closed before all data could be piped to it");n?g(!0,t):y((()=>wp(e,t)),!0,t)}function l(){const e=u;return Sf(u,(()=>e!==u?l():void 0))}function p(e,t,r){"errored"===e._state?r(e._storedError):Bf(t,r)}function y(e,r,i){function n(){Cf(e(),(()=>b(r,i)),(e=>b(!0,e)))}c||(c=!0,"writable"!==t._state||gl(t)?n():If(l(),n))}function g(e,r){c||(c=!0,"writable"!==t._state||gl(t)?b(e,r):If(l(),(()=>b(e,r))))}function b(e,t){El(o),Qf(s),void 0!==a&&a.removeEventListener("abort",d),e?f(t):h(void 0)}xf(kf(((e,t)=>{!function r(i){i?e():Sf(c?_f(!0):Sf(o._readyPromise,(()=>kf(((e,t)=>{fd(s,{_chunkSteps:t=>{u=Sf(Sl(o,t),void 0,pf),e(!1)},_closeSteps:()=>e(!0),_errorSteps:t})})))),r,t)}(!1)})))}))}class Yl{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Zl(this))throw op("desiredSize");return np(this)}close(){if(!Zl(this))throw op("close");if(!ap(this))throw new TypeError("The stream is not in a state that permits close");tp(this)}enqueue(e=undefined){if(!Zl(this))throw op("enqueue");if(!ap(this))throw new TypeError("The stream is not in a state that permits enqueue");return rp(this,e)}error(e=undefined){if(!Zl(this))throw op("error");ip(this,e)}[jf](e){kd(this);const t=this._cancelAlgorithm(e);return ep(this),t}[Gf](e){const t=this._controlledReadableStream;if(this._queue.length>0){const r=Ad(this);this._closeRequested&&0===this._queue.length?(ep(this),Ap(t)):Xl(this),e._chunkSteps(r)}else ad(t,e),Xl(this)}}function Zl(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Xl(e){if(!$l(e))return;if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0;Cf(e._pullAlgorithm(),(()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Xl(e))}),(t=>{ip(e,t)}))}function $l(e){const t=e._controlledReadableStream;if(!ap(e))return!1;if(!e._started)return!1;if(mp(t)&&od(t)>0)return!0;return np(e)>0}function ep(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function tp(e){if(!ap(e))return;const t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(ep(e),Ap(t))}function rp(e,t){if(!ap(e))return;const r=e._controlledReadableStream;if(mp(r)&&od(r)>0)sd(r,t,!1);else{let r;try{r=e._strategySizeAlgorithm(t)}catch(t){throw ip(e,t),t}try{vd(e,t,r)}catch(t){throw ip(e,t),t}}Xl(e)}function ip(e,t){const r=e._controlledReadableStream;"readable"===r._state&&(kd(e),ep(e),vp(r,t))}function np(e){const t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function ap(e){const t=e._controlledReadableStream._state;return!e._closeRequested&&"readable"===t}function sp(e,t,r,i,n,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,kd(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=i,t._cancelAlgorithm=n,e._readableStreamController=t;Cf(_f(r()),(()=>{t._started=!0,Xl(t)}),(e=>{ip(t,e)}))}function op(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function cp(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function up(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function hp(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function fp(e,t){if("bytes"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function dp(e,t){if("byob"!==(e=""+e))throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function lp(e,t){Jf(e,t);const r=null==e?void 0:e.preventAbort,i=null==e?void 0:e.preventCancel,n=null==e?void 0:e.preventClose,a=null==e?void 0:e.signal;return void 0!==a&&function(e,t){if(!function(e){if("object"!=typeof e||null===e)return!1;try{return"boolean"==typeof e.aborted}catch(e){return!1}}(e))throw new TypeError(t+" is not an AbortSignal.")}(a,t+" has member 'signal' that"),{preventAbort:!!r,preventCancel:!!i,preventClose:!!n,signal:a}}Object.defineProperties(Yl.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Yl.prototype,lf.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class pp{constructor(e={},t={}){void 0===e?e=null:Zf(e,"First parameter");const r=$d(t,"Second parameter"),i=function(e,t){Jf(e,t);const r=e,i=null==r?void 0:r.autoAllocateChunkSize,n=null==r?void 0:r.cancel,a=null==r?void 0:r.pull,s=null==r?void 0:r.start,o=null==r?void 0:r.type;return{autoAllocateChunkSize:void 0===i?void 0:rd(i,t+" has member 'autoAllocateChunkSize' that"),cancel:void 0===n?void 0:cp(n,r,t+" has member 'cancel' that"),pull:void 0===a?void 0:up(a,r,t+" has member 'pull' that"),start:void 0===s?void 0:hp(s,r,t+" has member 'start' that"),type:void 0===o?void 0:fp(o,t+" has member 'type' that")}}(e,"First parameter");if(gp(this),"bytes"===i.type){if(void 0!==r.size)throw new RangeError("The strategy for a byte stream cannot have a size function");qd(this,i,Zd(r,0))}else{const e=Xd(r);!function(e,t,r,i){const n=Object.create(Yl.prototype);let a=()=>{},s=()=>_f(void 0),o=()=>_f(void 0);void 0!==t.start&&(a=()=>t.start(n)),void 0!==t.pull&&(s=()=>t.pull(n)),void 0!==t.cancel&&(o=e=>t.cancel(e)),sp(e,n,a,s,o,r,i)}(this,i,Zd(r,1),e)}}get locked(){if(!bp(this))throw kp("locked");return mp(this)}cancel(e=undefined){return bp(this)?mp(this)?Ef(new TypeError("Cannot cancel a stream that already has a reader")):wp(this,e):Ef(kp("cancel"))}getReader(e=undefined){if(!bp(this))throw kp("getReader");const t=function(e,t){Jf(e,t);const r=null==e?void 0:e.mode;return{mode:void 0===r?void 0:dp(r,t+" has member 'mode' that")}}(e,"First parameter");return void 0===t.mode?nd(this):function(e){return new Vd(e)}(this)}pipeThrough(e,t={}){if(!bp(this))throw kp("pipeThrough");Xf(e,1,"pipeThrough");const r=function(e,t){Jf(e,t);const r=null==e?void 0:e.readable;$f(r,"readable","ReadableWritablePair"),id(r,t+" has member 'readable' that");const i=null==e?void 0:e.writable;return $f(i,"writable","ReadableWritablePair"),al(i,t+" has member 'writable' that"),{readable:r,writable:i}}(e,"First parameter"),i=lp(t,"Second parameter");if(mp(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(hl(r.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return xf(Jl(this,r.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),r.readable}pipeTo(e,t={}){if(!bp(this))return Ef(kp("pipeTo"));if(void 0===e)return Ef("Parameter 1 is required in 'pipeTo'.");if(!ul(e))return Ef(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=lp(t,"Second parameter")}catch(e){return Ef(e)}return mp(this)?Ef(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):hl(e)?Ef(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Jl(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!bp(this))throw kp("tee");const e=function(e,t){const r=nd(e);let i,n,a,s,o,c=!1,u=!1,h=!1;const f=kf((e=>{o=e}));function d(){return c||(c=!0,fd(r,{_chunkSteps:e=>{Mf((()=>{c=!1;const t=e,r=e;u||rp(a._readableStreamController,t),h||rp(s._readableStreamController,r)}))},_closeSteps:()=>{c=!1,u||tp(a._readableStreamController),h||tp(s._readableStreamController),u&&h||o(void 0)},_errorSteps:()=>{c=!1}})),_f(void 0)}function l(){}return a=yp(l,d,(function(t){if(u=!0,i=t,h){const t=_d([i,n]),r=wp(e,t);o(r)}return f})),s=yp(l,d,(function(t){if(h=!0,n=t,u){const t=_d([i,n]),r=wp(e,t);o(r)}return f})),Bf(r._closedPromise,(e=>{ip(a._readableStreamController,e),ip(s._readableStreamController,e),u&&h||o(void 0)})),[a,s]}(this);return _d(e)}values(e=undefined){if(!bp(this))throw kp("values");return function(e,t){const r=nd(e),i=new pd(r,t),n=Object.create(yd);return n._asyncIteratorImpl=i,n}(this,function(e,t){return Jf(e,t),{preventCancel:!!(null==e?void 0:e.preventCancel)}}(e,"First parameter").preventCancel)}}function yp(e,t,r,i=1,n=(()=>1)){const a=Object.create(pp.prototype);gp(a);return sp(a,Object.create(Yl.prototype),e,t,r,i,n),a}function gp(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function bp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function mp(e){return void 0!==e._reader}function wp(e,t){if(e._disturbed=!0,"closed"===e._state)return _f(void 0);if("errored"===e._state)return Ef(e._storedError);Ap(e);return Pf(e._readableStreamController[jf](t),pf)}function Ap(e){e._state="closed";const t=e._reader;void 0!==t&&(qf(t),hd(t)&&(t._readRequests.forEach((e=>{e._closeSteps()})),t._readRequests=new Uf))}function vp(e,t){e._state="errored",e._storedError=t;const r=e._reader;void 0!==r&&(Nf(r,t),hd(r)?(r._readRequests.forEach((e=>{e._errorSteps(t)})),r._readRequests=new Uf):(r._readIntoRequests.forEach((e=>{e._errorSteps(t)})),r._readIntoRequests=new Uf))}function kp(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function _p(e,t){Jf(e,t);const r=null==e?void 0:e.highWaterMark;return $f(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:ed(r)}}Object.defineProperties(pp.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(pp.prototype,lf.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof lf.asyncIterator&&Object.defineProperty(pp.prototype,lf.asyncIterator,{value:pp.prototype.values,writable:!0,configurable:!0});const Ep=function(e){return e.byteLength};class Sp{constructor(e){Xf(e,1,"ByteLengthQueuingStrategy"),e=_p(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Ip(this))throw Cp("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Ip(this))throw Cp("size");return Ep}}function Cp(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Ip(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")}Object.defineProperties(Sp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Sp.prototype,lf.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});const Bp=function(){return 1};class Pp{constructor(e){Xf(e,1,"CountQueuingStrategy"),e=_p(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Mp(this))throw xp("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Mp(this))throw xp("size");return Bp}}function xp(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function Mp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")}function Dp(e,t,r){return Yf(e,r),r=>Kf(e,t,[r])}function Kp(e,t,r){return Yf(e,r),r=>Df(e,t,[r])}function Up(e,t,r){return Yf(e,r),(r,i)=>Kf(e,t,[r,i])}Object.defineProperties(Pp.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Pp.prototype,lf.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class Rp{constructor(e={},t={},r={}){void 0===e&&(e=null);const i=$d(t,"Second parameter"),n=$d(r,"Third parameter"),a=function(e,t){Jf(e,t);const r=null==e?void 0:e.flush,i=null==e?void 0:e.readableType,n=null==e?void 0:e.start,a=null==e?void 0:e.transform,s=null==e?void 0:e.writableType;return{flush:void 0===r?void 0:Dp(r,e,t+" has member 'flush' that"),readableType:i,start:void 0===n?void 0:Kp(n,e,t+" has member 'start' that"),transform:void 0===a?void 0:Up(a,e,t+" has member 'transform' that"),writableType:s}}(e,"First parameter");if(void 0!==a.readableType)throw new RangeError("Invalid readableType specified");if(void 0!==a.writableType)throw new RangeError("Invalid writableType specified");const s=Zd(n,0),o=Xd(n),c=Zd(i,1),u=Xd(i);let h;!function(e,t,r,i,n,a){function s(){return t}function o(t){return function(e,t){const r=e._transformStreamController;if(e._backpressure){return Pf(e._backpressureChangePromise,(()=>{const i=e._writable;if("erroring"===i._state)throw i._storedError;return Hp(r,t)}))}return Hp(r,t)}(e,t)}function c(t){return function(e,t){return Qp(e,t),_f(void 0)}(e,t)}function u(){return function(e){const t=e._readable,r=e._transformStreamController,i=r._flushAlgorithm();return qp(r),Pf(i,(()=>{if("errored"===t._state)throw t._storedError;tp(t._readableStreamController)}),(r=>{throw Qp(e,r),t._storedError}))}(e)}function h(){return function(e){return Fp(e,!1),e._backpressureChangePromise}(e)}function f(t){return zp(e,t),_f(void 0)}e._writable=function(e,t,r,i,n=1,a=(()=>1)){const s=Object.create(sl.prototype);return cl(s),Bl(s,Object.create(Il.prototype),e,t,r,i,n,a),s}(s,o,u,c,r,i),e._readable=yp(s,h,f,n,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Fp(e,!0),e._transformStreamController=void 0}(this,kf((e=>{h=e})),c,u,s,o),function(e,t){const r=Object.create(Lp.prototype);let i=e=>{try{return Op(r,e),_f(void 0)}catch(e){return Ef(e)}},n=()=>_f(void 0);void 0!==t.transform&&(i=e=>t.transform(e,r));void 0!==t.flush&&(n=()=>t.flush(r));!function(e,t,r,i){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=i}(e,r,i,n)}(this,a),void 0!==a.start?h(a.start(this._transformStreamController)):h(void 0)}get readable(){if(!Tp(this))throw Gp("readable");return this._readable}get writable(){if(!Tp(this))throw Gp("writable");return this._writable}}function Tp(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Qp(e,t){ip(e._readable._readableStreamController,t),zp(e,t)}function zp(e,t){qp(e._transformStreamController),Dl(e._writable._writableStreamController,t),e._backpressure&&Fp(e,!1)}function Fp(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=kf((t=>{e._backpressureChangePromise_resolve=t})),e._backpressure=t}Object.defineProperties(Rp.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Rp.prototype,lf.toStringTag,{value:"TransformStream",configurable:!0});class Lp{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Np(this))throw jp("desiredSize");return np(this._controlledTransformStream._readable._readableStreamController)}enqueue(e=undefined){if(!Np(this))throw jp("enqueue");Op(this,e)}error(e=undefined){if(!Np(this))throw jp("error");var t;t=e,Qp(this._controlledTransformStream,t)}terminate(){if(!Np(this))throw jp("terminate");!function(e){const t=e._controlledTransformStream,r=t._readable._readableStreamController;tp(r);zp(t,new TypeError("TransformStream terminated"))}(this)}}function Np(e){return!!gf(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function qp(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Op(e,t){const r=e._controlledTransformStream,i=r._readable._readableStreamController;if(!ap(i))throw new TypeError("Readable side is not in a state that permits enqueue");try{rp(i,t)}catch(e){throw zp(r,e),r._readable._storedError}const n=function(e){return!$l(e)}(i);n!==r._backpressure&&Fp(r,!0)}function Hp(e,t){return Pf(e._transformAlgorithm(t),void 0,(t=>{throw Qp(e._controlledTransformStream,t),t}))}function jp(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function Gp(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}Object.defineProperties(Lp.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),"symbol"==typeof lf.toStringTag&&Object.defineProperty(Lp.prototype,lf.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var Wp=/*#__PURE__*/Object.freeze({__proto__:null,ByteLengthQueuingStrategy:Sp,CountQueuingStrategy:Pp,ReadableByteStreamController:Sd,ReadableStream:pp,ReadableStreamBYOBReader:Vd,ReadableStreamBYOBRequest:Ed,ReadableStreamDefaultController:Yl,ReadableStreamDefaultReader:ud,TransformStream:Rp,TransformStreamDefaultController:Lp,WritableStream:sl,WritableStreamDefaultController:Il,WritableStreamDefaultWriter:wl}),Vp=function(e,t){return Vp=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},Vp(e,t)};
|
|
3
3
|
/*! *****************************************************************************
|
|
4
4
|
Copyright (c) Microsoft Corporation.
|
|
5
5
|
|