@virgilsecurity/virgil-crypto-core 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/foundation/browser.cjs.js +1 -1
- package/dist/foundation/browser.es.js +1 -1
- package/dist/foundation/libfoundation.browser.wasm +0 -0
- package/dist/foundation/libfoundation.wasm +0 -0
- package/dist/foundation/libfoundation.worker.wasm +0 -0
- package/dist/foundation/node.cjs.js +1 -1
- package/dist/foundation/node.es.mjs +1 -1
- package/dist/foundation/worker.cjs.js +1 -1
- package/dist/foundation/worker.es.js +1 -1
- package/dist/phe/browser.cjs.js +1 -1
- package/dist/phe/browser.es.js +1 -1
- package/dist/phe/libphe.browser.wasm +0 -0
- package/dist/phe/libphe.wasm +0 -0
- package/dist/phe/libphe.worker.wasm +0 -0
- package/dist/phe/node.cjs.js +1 -1
- package/dist/phe/node.es.mjs +1 -1
- package/dist/phe/worker.cjs.js +1 -1
- package/dist/phe/worker.es.js +1 -1
- package/dist/ratchet/browser.cjs.js +1 -1
- package/dist/ratchet/browser.es.js +1 -1
- package/dist/ratchet/libratchet.browser.wasm +0 -0
- package/dist/ratchet/libratchet.wasm +0 -0
- package/dist/ratchet/libratchet.worker.wasm +0 -0
- package/dist/ratchet/node.cjs.js +1 -1
- package/dist/ratchet/node.es.mjs +1 -1
- package/dist/ratchet/worker.cjs.js +1 -1
- package/dist/ratchet/worker.es.js +1 -1
- package/package.json +1 -1
package/dist/ratchet/node.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,r,n,s,a,i,_,o,c,u={exports:{}};function f(){return t||(t=1,function(e){var t,r=(t="undefined"!=typeof document?document.currentScript?.src:void 0,"undefined"!=typeof __filename&&(t=t||__filename),async function(e={}){var t,r,n,s,a,i=e,_=new Promise((e,n)=>{t=e,r=n}),o=Object.assign({},i),c=require("fs");require("path"),n=__dirname+"/",a=e=>(e=E(e)?new URL(e):e,c.readFileSync(e)),s=async e=>(e=E(e)?new URL(e):e,c.readFileSync(e,void 0)),process.argv.slice(2);var u=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,o),o=null;var l,d,h,w,v,m,b,p=i.wasmBinary,y=!1,E=e=>e.startsWith("file://");function g(){var e=l.buffer;i.HEAP8=d=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAPU8=h=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAP32=v=new Int32Array(e),i.HEAPU32=m=new Uint32Array(e),i.HEAPF32=new Float32Array(e),i.HEAPF64=new Float64Array(e),i.HEAP64=b=new BigInt64Array(e),i.HEAPU64=new BigUint64Array(e)}var P,A=0,I=null;function x(e){throw i.onAbort?.(e),f(e="Aborted("+e+")"),y=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),r(e),e}async function C(e){var t=P;try{var r=await async function(e){if(!p)try{var t=await s(e);return new Uint8Array(t)}catch{}if(e==P&&p)e=new Uint8Array(p);else{if(!a)throw"both async and sync fetching of the wasm failed";e=a(e)}return e}(t);return await WebAssembly.instantiate(r,e)}catch(e){f(`failed to asynchronously prepare wasm: ${e}`),x(e)}}var T=e=>{for(;0<e.length;)e.shift()(i)},N=[],k=[],R=()=>{var e=i.preRun.shift();k.unshift(e)},S=()=>{var e=v[+Ae>>2];return Ae+=4,e},F=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var s=e[n];"."===s?e.splice(n,1):".."===s?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},K=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=F(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},L=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},D=e=>{(D=(()=>{var e=require("crypto");return t=>e.randomFillSync(t)})())(e)},M="undefined"!=typeof TextDecoder?new TextDecoder:void 0,O=(e,t=0)=>{for(var r=t+NaN,n=t;e[n]&&!(n>=r);)++n;if(16<n-t&&e.buffer&&M)return M.decode(e.subarray(t,n));for(r="";t<n;){var s=e[t++];if(128&s){var a=63&e[t++];if(192==(224&s))r+=String.fromCharCode((31&s)<<6|a);else{var i=63&e[t++];65536>(s=224==(240&s)?(15&s)<<12|a<<6|i:(7&s)<<18|a<<12|i<<6|63&e[t++])?r+=String.fromCharCode(s):(s-=65536,r+=String.fromCharCode(55296|s>>10,56320|1023&s))}}else r+=String.fromCharCode(s)}return r},B=[],H=[];function U(e,t){H[e]={input:[],output:[],lb:t},we(e,Y)}var Y={open(e){var t=H[e.node.rdev];if(!t)throw new te(43);e.tty=t,e.seekable=!1},close(e){e.tty.lb.fsync(e.tty)},fsync(e){e.tty.lb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.lb.zb)throw new te(60);for(var s=0,a=0;a<n;a++){try{var i=e.tty.lb.zb(e.tty)}catch(e){throw new te(29)}if(void 0===i&&0===s)throw new te(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n){if(!e.tty||!e.tty.lb.vb)throw new te(60);try{for(var s=0;s<n;s++)e.tty.lb.vb(e.tty,t[r+s])}catch(e){throw new te(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}},z={zb(){e:{if(!B.length){var e=null,t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=c.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}if(0<r&&(e=t.slice(0,r).toString("utf-8")),!e){t=null;break e}for(r=t=0;r<e.length;++r)127>=(n=e.charCodeAt(r))?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3;var s=(t=Array(t+1)).length;if(r=0,0<s){n=r,s=r+s-1;for(var a=0;a<e.length;++a){var i=e.charCodeAt(a);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a)),127>=i){if(r>=s)break;t[r++]=i}else{if(2047>=i){if(r+1>=s)break;t[r++]=192|i>>6}else{if(65535>=i){if(r+2>=s)break;t[r++]=224|i>>12}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63}t[r++]=128|i>>6&63}t[r++]=128|63&i}}t[r]=0,e=r-n}else e=0;t.length=e,B=t}t=B.shift()}return t},vb(e,t){null===t||10===t?(u(O(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(u(O(e.output)),e.output=[])},Fb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Gb:()=>0,Hb:()=>[24,80]},G={vb(e,t){null===t||10===t?(f(O(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(f(O(e.output)),e.output=[])}};function $(e,t){var r=e.eb?e.eb.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.eb,e.eb=new Uint8Array(t),0<e.gb&&e.eb.set(r.subarray(0,e.gb),0))}var V={ib:null,kb:()=>V.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new te(63);return V.ib||(V.ib={dir:{node:{nb:V.fb.nb,jb:V.fb.jb,lookup:V.fb.lookup,qb:V.fb.qb,rename:V.fb.rename,unlink:V.fb.unlink,rmdir:V.fb.rmdir,readdir:V.fb.readdir,symlink:V.fb.symlink},stream:{hb:V.cb.hb}},file:{node:{nb:V.fb.nb,jb:V.fb.jb},stream:{hb:V.cb.hb,read:V.cb.read,write:V.cb.write,wb:V.cb.wb,Bb:V.cb.Bb,Db:V.cb.Db}},link:{node:{nb:V.fb.nb,jb:V.fb.jb,readlink:V.fb.readlink},stream:{}},xb:{node:{nb:V.fb.nb,jb:V.fb.jb},stream:he}}),16384==(61440&(r=_e(e,t,r,n)).mode)?(r.fb=V.ib.dir.node,r.cb=V.ib.dir.stream,r.eb={}):32768==(61440&r.mode)?(r.fb=V.ib.file.node,r.cb=V.ib.file.stream,r.gb=0,r.eb=null):40960==(61440&r.mode)?(r.fb=V.ib.link.node,r.cb=V.ib.link.stream):8192==(61440&r.mode)&&(r.fb=V.ib.xb.node,r.cb=V.ib.xb.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.eb[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Tb:e=>e.eb?e.eb.subarray?e.eb.subarray(0,e.gb):new Uint8Array(e.eb):new Uint8Array(0),fb:{nb(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.gb:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},jb(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.gb!=t&&(0==t?(e.eb=null,e.gb=0):(r=e.eb,e.eb=new Uint8Array(t),r&&e.eb.set(r.subarray(0,Math.min(t,e.gb))),e.gb=t)))},lookup(){throw V.yb},qb:(e,t,r,n)=>V.createNode(e,t,r,n),rename(e,t,r){try{var n=ie(t,r)}catch(e){}if(n){if(16384==(61440&e.mode))for(var s in n.eb)throw new te(55);if(s=ae(n.parent.id,n.name),X[s]===n)X[s]=n.ob;else for(s=X[s];s;){if(s.ob===n){s.ob=n.ob;break}s=s.ob}}delete e.parent.eb[e.name],t.eb[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.eb[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=ie(e,t);for(r in n.eb)throw new te(55);delete e.eb[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.eb)],symlink:(e,t,r)=>((e=V.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new te(28);return e.link}},cb:{read(e,t,r,n,s){var a=e.node.eb;if(s>=e.node.gb)return 0;if(8<(e=Math.min(e.node.gb-s,n))&&a.subarray)t.set(a.subarray(s,s+e),r);else for(n=0;n<e;n++)t[r+n]=a[s+n];return e},write(e,t,r,n,s,a){if(t.buffer===d.buffer&&(a=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.eb||e.eb.subarray)){if(a)return e.eb=t.subarray(r,r+n),e.gb=n;if(0===e.gb&&0===s)return e.eb=t.slice(r,r+n),e.gb=n;if(s+n<=e.gb)return e.eb.set(t.subarray(r,r+n),s),n}if($(e,s+n),e.eb.subarray&&t.subarray)e.eb.set(t.subarray(r,r+n),s);else for(a=0;a<n;a++)e.eb[s+a]=t[r+a];return e.gb=Math.max(e.gb,s+n),n},hb(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.gb),0>t)throw new te(28);return t},wb(e,t,r){$(e.node,t+r),e.node.gb=Math.max(e.node.gb,t+r)},Bb(e,t,r,n,s){if(32768!=(61440&e.node.mode))throw new te(43);if(e=e.node.eb,2&s||!e||e.buffer!==d.buffer){if(n=!0,x(),!(s=void 0))throw new te(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),d.set(e,s))}else n=!1,s=e.byteOffset;return{Vb:s,Lb:n}},Db:(e,t,r,n)=>(V.cb.write(e,t,0,n,r,!1),0)}},j=null,q={},Z=[],W=1,X=null,J=!1,Q=!0,ee={},te=class{name="ErrnoError";constructor(e){this.mb=e}},re=class{pb={};node=null;get flags(){return this.pb.flags}set flags(e){this.pb.flags=e}get position(){return this.pb.position}set position(e){this.pb.position=e}},ne=class{fb={};cb={};rb=null;constructor(e,t,r,n){e||=this,this.parent=e,this.kb=e.kb,this.id=W++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function se(e,t={}){if(!e)throw new te(44);t.tb??(t.tb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=j,s="/",a=0;a<e.length;a++){var i=a===e.length-1;if(i&&t.parent)break;if("."!==e[a])if(".."===e[a])s=L(s),n=n.parent;else{s=K(s+"/"+e[a]);try{n=ie(n,e[a])}catch(e){if(44===e?.mb&&i&&t.Jb)return{path:s};throw e}if(!n.rb||i&&!t.tb||(n=n.rb.root),40960==(61440&n.mode)&&(!i||t.sb)){if(!n.fb.readlink)throw new te(52);"/"===(n=n.fb.readlink(n)).charAt(0)||(n=L(s)+"/"+n),e=n+"/"+e.slice(a+1).join("/");continue e}}}return{path:s,node:n}}throw new te(32)}function ae(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%X.length}function ie(e,t){var r=16384==(61440&e.mode)?(r=ce(e,"x"))?r:e.fb.lookup?0:2:54;if(r)throw new te(r);for(r=X[ae(e.id,t)];r;r=r.ob){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.fb.lookup(e,t)}function _e(e,t,r,n){return t=ae((e=new ne(e,t,r,n)).parent.id,e.name),e.ob=X[t],X[t]=e}function oe(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function ce(e,t){return Q?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function ue(e,t){if(16384!=(61440&e.mode))return 54;try{return ie(e,t),20}catch(e){}return ce(e,"wx")}function fe(e){if(!(e=Z[e]))throw new te(8);return e}function le(e,t=-1){if(e=Object.assign(new re,e),-1==t)e:{for(t=0;4096>=t;t++)if(!Z[t])break e;throw new te(33)}return e.fd=t,Z[t]=e}function de(e,t){var r=void 0,n=r?null:e;if(r??=e.fb.jb,!r)throw new te(63);r(n,t)}var he={open(e){e.cb=q[e.node.rdev].cb,e.cb.open?.(e)},hb(){throw new te(70)}};function we(e,t){q[e]={cb:t}}function ve(e,t){var r="/"===t;if(r&&j)throw new te(10);if(!r&&t){var n=se(t,{tb:!1});if(t=n.path,(n=n.node).rb)throw new te(10);if(16384!=(61440&n.mode))throw new te(54)}t={type:e,Ub:{},Cb:t,Ib:[]},(e=e.kb(t)).kb=t,t.root=e,r?j=e:n&&(n.rb=t,n.kb&&n.kb.Ib.push(t))}function me(e,t,r){var n=se(e,{parent:!0}).node;if(!(e=e&&e.match(/([^\/]+|\/)\/*$/)[1]))throw new te(28);if("."===e||".."===e)throw new te(20);var s=ue(n,e);if(s)throw new te(s);if(!n.fb.qb)throw new te(63);return n.fb.qb(n,e,t,r)}function be(e){return me(e,16895,0)}function pe(e,t,r){void 0===r&&(r=t,t=438),me(e,8192|t,r)}function ye(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return(r?"/":"")+(t=F(t.split("/").filter(e=>!!e),!r).join("/"))||"."})(e))throw new te(44);var r=se(t,{parent:!0}).node;if(!r)throw new te(44);var n=ue(r,t=t&&t.match(/([^\/]+|\/)\/*$/)[1]);if(n)throw new te(n);if(!r.fb.symlink)throw new te(63);r.fb.symlink(r,t,e)}function Ee(e,t,r=438){if(""===e)throw new te(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var s=e.endsWith("/");n=(e=se(e,{sb:!(131072&t),Jb:!0})).node,e=e.path}var a=!1;if(64&t)if(n){if(128&t)throw new te(20)}else{if(s)throw new te(31);n=me(e,511|r,0),a=!0}if(!n)throw new te(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&16384!=(61440&n.mode))throw new te(54);if(!a&&(s=n?40960==(61440&n.mode)?32:16384==(61440&n.mode)&&("r"!==oe(t)||576&t)?31:ce(n,oe(t)):44))throw new te(s);if(512&t&&!a){if(16384==(61440&(s="string"==typeof(s=n)?se(s,{sb:!0}).node:s).mode))throw new te(31);if(32768!=(61440&s.mode))throw new te(28);var _=ce(s,"w");if(_)throw new te(_);de(s,{size:0,timestamp:Date.now()})}t&=-131713;e:for(s=n;;){if(s===s.parent){s=s.kb.Cb;var o=o?"/"!==s[s.length-1]?`${s}/${o}`:s+o:s;break e}o=o?`${s.name}/${o}`:s.name,s=s.parent}return(o=le({node:n,path:o,flags:t,seekable:!0,position:0,cb:n.cb,Kb:[],error:!1})).cb.open&&o.cb.open(o),a&&(r&=511,de(n="string"==typeof n?se(n,{sb:!0}).node:n,{mode:4095&r|-4096&n.mode,ctime:Date.now(),Rb:void 0})),!i.logReadFiles||1&t||e in ee||(ee[e]=1),o}function ge(e,t,r){if(null===e.fd)throw new te(8);if(!e.seekable||!e.cb.hb)throw new te(70);if(0!=r&&1!=r&&2!=r)throw new te(28);e.position=e.cb.hb(e,t,r),e.Kb=[]}function Pe(e,t,r){e=K("/dev/"+e);var n=((e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r})(!!t,!!r);Pe.Ab??(Pe.Ab=64);var s=Pe.Ab++<<8;we(s,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,s){for(var a=0,i=0;i<s;i++){try{var _=t()}catch(e){throw new te(29)}if(void 0===_&&0===a)throw new te(6);if(null==_)break;a++,r[n+i]=_}return a&&(e.node.atime=Date.now()),a},write(e,t,n,s){for(var a=0;a<s;a++)try{r(t[n+a])}catch(e){throw new te(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),a}}),pe(e,n,s)}var Ae=void 0;X=Array(4096),ve(V,"/"),be("/tmp"),be("/home"),be("/home/web_user"),function(){be("/dev"),we(259,{read:()=>0,write:(e,t,r,n)=>n,hb:()=>0}),pe("/dev/null",259),U(1280,z),U(1536,G),pe("/dev/tty",1280),pe("/dev/tty1",1536);var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(D(e),t=e.byteLength),e[--t]);Pe("random",r),Pe("urandom",r),be("/dev/shm"),be("/dev/shm/tmp")}(),function(){be("/proc");var e=be("/proc/self");be("/proc/self/fd"),ve({kb(){var t=_e(e,"fd",16895,73);return t.cb={hb:V.cb.hb},t.fb={lookup(e,t){var r=fe(e=+t);return(e={parent:null,kb:{Cb:"fake"},fb:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(Z.entries()).filter(([,e])=>e).map(([e])=>e.toString())},t}},"/proc/self/fd")}(),V.yb=new te(44),V.yb.stack="<generic error, no stack>";var Ie,xe={b:function(e,t,r){Ae=r;try{var n=fe(e);switch(t){case 0:var s=S();if(0>s)break;for(;Z[s];)s++;return function(e,t=-1){return e=le(e,t),e.cb?.Sb?.(e),e}(n,s).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return s=S(),n.flags|=s,0;case 12:return s=S(),w[s+0>>1]=2,0}return-28}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},f:function(e,t,r){Ae=r;try{var n=fe(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.lb.Fb){e=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var s=S();v[s>>2]=25856,v[s+4>>2]=5,v[s+8>>2]=191,v[s+12>>2]=35387;for(var a=0;32>a;a++)d[s+a+17]=e[a]||0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.lb.Gb)for(s=S(),e=[],a=0;32>a;a++)e.push(d[s+a+17]);return 0;case 21519:return n.tty?(s=S(),v[s>>2]=0):-59;case 21520:return n.tty?-28:-59;case 21531:if(s=S(),!n.cb.Eb)throw new te(59);return n.cb.Eb(n,t,s);case 21523:return n.tty?(n.tty.lb.Hb&&(a=[24,80],s=S(),w[s>>1]=a[0],w[s+2>>1]=a[1]),0):-59;default:return-28}}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},g:function(e,t,r,n){Ae=n;try{var s=t=t?O(h,t):"";if("/"===s.charAt(0))t=s;else{var a=-100===e?"/":fe(e).path;if(0==s.length)throw new te(44);t=a+"/"+s}return Ee(t,r,n?S():0).fd}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},i:()=>x(""),h:e=>{var t=h.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);e:{n=(Math.min(2147483648,65536*Math.ceil(Math.max(e,n)/65536))-l.buffer.byteLength+65535)/65536|0;try{l.grow(n),g();var s=1;break e}catch(e){}s=void 0}if(s)return!0}return!1},a:function(e){try{var t=fe(e);if(null===t.fd)throw new te(8);t.ub&&(t.ub=null);try{t.cb.close&&t.cb.close(t)}catch(e){throw e}finally{Z[t.fd]=null}return t.fd=null,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},d:function(e,t,r,n){try{e:{var s=fe(e);e=t;for(var a,i=t=0;i<r;i++){var _=m[e>>2],o=m[e+4>>2];e+=8;var c=s,u=a,f=d;if(0>o||0>u)throw new te(28);if(null===c.fd)throw new te(8);if(1==(2097155&c.flags))throw new te(8);if(16384==(61440&c.node.mode))throw new te(31);if(!c.cb.read)throw new te(28);var l=void 0!==u;if(l){if(!c.seekable)throw new te(70)}else u=c.position;var h=c.cb.read(c,f,_,o,u);l||(c.position+=h);var w=h;if(0>w){var v=-1;break e}if(t+=w,w<o)break;void 0!==a&&(a+=w)}v=t}return m[n>>2]=v,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},e:function(e,t,r,n){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var s=fe(e);return ge(s,t,r),b[n>>3]=BigInt(s.position),s.ub&&0===t&&0===r&&(s.ub=null),0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},c:function(e,t,r,n){try{e:{var s=fe(e);e=t;for(var a,i=t=0;i<r;i++){var _=m[e>>2],o=m[e+4>>2];e+=8;var c=s,u=_,f=o,l=a,h=d;if(0>f||0>l)throw new te(28);if(null===c.fd)throw new te(8);if(!(2097155&c.flags))throw new te(8);if(16384==(61440&c.node.mode))throw new te(31);if(!c.cb.write)throw new te(28);c.seekable&&1024&c.flags&&ge(c,0,2);var w=void 0!==l;if(w){if(!c.seekable)throw new te(70)}else l=c.position;var v=c.cb.write(c,h,u,f,l,void 0);w||(c.position+=v);var b=v;if(0>b){var p=-1;break e}if(t+=b,b<o)break;void 0!==a&&(a+=b)}p=t}return m[n>>2]=p,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}}};if(async function(){function e(e){return Ie=e.exports,l=Ie.j,g(),A--,i.monitorRunDependencies?.(A),0==A&&I&&(e=I,I=null,e()),Ie}A++,i.monitorRunDependencies?.(A);var t={a:xe};if(i.instantiateWasm)return new Promise(r=>{i.instantiateWasm(t,(t,n)=>{e(t),r(t.exports)})});P??=i.locateFile?i.locateFile("libratchet.wasm",n):n+"libratchet.wasm";try{var s=await async function(e){return C(e)}(t);return e(s.instance)}catch(e){return r(e),Promise.reject(e)}}(),i._vscr_error_ctx_size=()=>(i._vscr_error_ctx_size=Ie.l)(),i._vscr_error_reset=e=>(i._vscr_error_reset=Ie.m)(e),i._vscr_error_status=e=>(i._vscr_error_status=Ie.n)(e),i._vscr_ratchet_message_new=()=>(i._vscr_ratchet_message_new=Ie.o)(),i._vscr_ratchet_message_delete=e=>(i._vscr_ratchet_message_delete=Ie.p)(e),i._vscr_ratchet_message_shallow_copy=e=>(i._vscr_ratchet_message_shallow_copy=Ie.q)(e),i._vscr_ratchet_message_get_type=e=>(i._vscr_ratchet_message_get_type=Ie.r)(e),i._vscr_ratchet_message_get_counter=e=>(i._vscr_ratchet_message_get_counter=Ie.s)(e),i._vscr_ratchet_message_get_sender_identity_key_id=(e,t)=>(i._vscr_ratchet_message_get_sender_identity_key_id=Ie.t)(e,t),i._vscr_ratchet_message_get_receiver_identity_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_identity_key_id=Ie.u)(e,t),i._vscr_ratchet_message_get_receiver_long_term_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_long_term_key_id=Ie.v)(e,t),i._vscr_ratchet_message_get_receiver_one_time_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_one_time_key_id=Ie.w)(e,t),i._vscr_ratchet_message_serialize_len=e=>(i._vscr_ratchet_message_serialize_len=Ie.x)(e),i._vscr_ratchet_message_serialize=(e,t)=>(i._vscr_ratchet_message_serialize=Ie.y)(e,t),i._vscr_ratchet_message_deserialize=(e,t)=>(i._vscr_ratchet_message_deserialize=Ie.z)(e,t),i._vscr_ratchet_session_release_rng=e=>(i._vscr_ratchet_session_release_rng=Ie.A)(e),i._vscr_ratchet_session_new=()=>(i._vscr_ratchet_session_new=Ie.B)(),i._vscr_ratchet_session_delete=e=>(i._vscr_ratchet_session_delete=Ie.C)(e),i._vscr_ratchet_session_shallow_copy=e=>(i._vscr_ratchet_session_shallow_copy=Ie.D)(e),i._vscr_ratchet_session_use_rng=(e,t)=>(i._vscr_ratchet_session_use_rng=Ie.E)(e,t),i._vscr_ratchet_session_setup_defaults=e=>(i._vscr_ratchet_session_setup_defaults=Ie.F)(e),i._vscr_ratchet_session_initiate=(e,t,r,n,s,a,_,o,c)=>(i._vscr_ratchet_session_initiate=Ie.G)(e,t,r,n,s,a,_,o,c),i._vscr_ratchet_session_initiate_no_one_time_key=(e,t,r,n,s,a,_)=>(i._vscr_ratchet_session_initiate_no_one_time_key=Ie.H)(e,t,r,n,s,a,_),i._vscr_ratchet_session_respond=(e,t,r,n,s,a)=>(i._vscr_ratchet_session_respond=Ie.I)(e,t,r,n,s,a),i._vscr_ratchet_session_respond_no_one_time_key=(e,t,r,n,s)=>(i._vscr_ratchet_session_respond_no_one_time_key=Ie.J)(e,t,r,n,s),i._vscr_ratchet_session_is_initiator=e=>(i._vscr_ratchet_session_is_initiator=Ie.K)(e),i._vscr_ratchet_session_is_pqc_enabled=e=>(i._vscr_ratchet_session_is_pqc_enabled=Ie.L)(e),i._vscr_ratchet_session_received_first_response=e=>(i._vscr_ratchet_session_received_first_response=Ie.M)(e),i._vscr_ratchet_session_receiver_has_one_time_public_key=e=>(i._vscr_ratchet_session_receiver_has_one_time_public_key=Ie.N)(e),i._vscr_ratchet_session_encrypt=(e,t,r)=>(i._vscr_ratchet_session_encrypt=Ie.O)(e,t,r),i._vscr_ratchet_session_decrypt_len=(e,t)=>(i._vscr_ratchet_session_decrypt_len=Ie.P)(e,t),i._vscr_ratchet_session_decrypt=(e,t,r)=>(i._vscr_ratchet_session_decrypt=Ie.Q)(e,t,r),i._vscr_ratchet_session_serialize=e=>(i._vscr_ratchet_session_serialize=Ie.R)(e),i._vscr_ratchet_session_deserialize=(e,t)=>(i._vscr_ratchet_session_deserialize=Ie.S)(e,t),i._vscf_impl_api=(e,t)=>(i._vscf_impl_api=Ie.T)(e,t),i._vscf_impl_tag=e=>(i._vscf_impl_tag=Ie.U)(e),i._vscf_impl_shallow_copy=e=>(i._vscf_impl_shallow_copy=Ie.V)(e),i._vscf_error_ctx_size=()=>(i._vscf_error_ctx_size=Ie.W)(),i._vscf_error_reset=e=>(i._vscf_error_reset=Ie.X)(e),i._vscf_error_status=e=>(i._vscf_error_status=Ie.Y)(e),i._vscf_sha512_alg_id=e=>(i._vscf_sha512_alg_id=Ie.Z)(e),i._vscf_sha512_produce_alg_info=e=>(i._vscf_sha512_produce_alg_info=Ie._)(e),i._vscf_sha512_restore_alg_info=(e,t)=>(i._vscf_sha512_restore_alg_info=Ie.$)(e,t),i._vscf_sha512_hash=(e,t)=>(i._vscf_sha512_hash=Ie.aa)(e,t),i._vscf_sha512_finish=(e,t)=>(i._vscf_sha512_finish=Ie.ba)(e,t),i._vscf_sha512_start=e=>(i._vscf_sha512_start=Ie.ca)(e),i._vscf_sha512_update=(e,t)=>(i._vscf_sha512_update=Ie.da)(e,t),i._vscf_sha512_new=()=>(i._vscf_sha512_new=Ie.ea)(),i._vscf_sha512_delete=e=>(i._vscf_sha512_delete=Ie.fa)(e),i._vscf_sha512_shallow_copy=e=>(i._vscf_sha512_shallow_copy=Ie.ga)(e),i._vscf_ctr_drbg_setup_defaults=e=>(i._vscf_ctr_drbg_setup_defaults=Ie.ha)(e),i._vscf_ctr_drbg_enable_prediction_resistance=e=>(i._vscf_ctr_drbg_enable_prediction_resistance=Ie.ia)(e),i._vscf_ctr_drbg_set_reseed_interval=(e,t)=>(i._vscf_ctr_drbg_set_reseed_interval=Ie.ja)(e,t),i._vscf_ctr_drbg_set_entropy_len=(e,t)=>(i._vscf_ctr_drbg_set_entropy_len=Ie.ka)(e,t),i._vscf_ctr_drbg_random=(e,t,r)=>(i._vscf_ctr_drbg_random=Ie.la)(e,t,r),i._vscf_ctr_drbg_reseed=e=>(i._vscf_ctr_drbg_reseed=Ie.ma)(e),i._vscf_ctr_drbg_use_entropy_source=(e,t)=>(i._vscf_ctr_drbg_use_entropy_source=Ie.na)(e,t),i._vscf_ctr_drbg_release_entropy_source=e=>(i._vscf_ctr_drbg_release_entropy_source=Ie.oa)(e),i._vscf_ctr_drbg_new=()=>(i._vscf_ctr_drbg_new=Ie.pa)(),i._vscf_ctr_drbg_delete=e=>(i._vscf_ctr_drbg_delete=Ie.qa)(e),i._vscf_ctr_drbg_shallow_copy=e=>(i._vscf_ctr_drbg_shallow_copy=Ie.ra)(e),i._vscf_hmac_alg_id=e=>(i._vscf_hmac_alg_id=Ie.sa)(e),i._vscf_hmac_produce_alg_info=e=>(i._vscf_hmac_produce_alg_info=Ie.ta)(e),i._vscf_hmac_restore_alg_info=(e,t)=>(i._vscf_hmac_restore_alg_info=Ie.ua)(e,t),i._vscf_hmac_digest_len=e=>(i._vscf_hmac_digest_len=Ie.va)(e),i._vscf_hmac_mac=(e,t,r,n)=>(i._vscf_hmac_mac=Ie.wa)(e,t,r,n),i._vscf_hmac_start=(e,t)=>(i._vscf_hmac_start=Ie.xa)(e,t),i._vscf_hmac_finish=(e,t)=>(i._vscf_hmac_finish=Ie.ya)(e,t),i._vscf_hmac_update=(e,t)=>(i._vscf_hmac_update=Ie.za)(e,t),i._vscf_hmac_reset=e=>(i._vscf_hmac_reset=Ie.Aa)(e),i._vscf_hmac_use_hash=(e,t)=>(i._vscf_hmac_use_hash=Ie.Ba)(e,t),i._vscf_hmac_release_hash=e=>(i._vscf_hmac_release_hash=Ie.Ca)(e),i._vscf_hmac_new=()=>(i._vscf_hmac_new=Ie.Da)(),i._vscf_hmac_delete=e=>(i._vscf_hmac_delete=Ie.Ea)(e),i._vscf_hmac_shallow_copy=e=>(i._vscf_hmac_shallow_copy=Ie.Fa)(e),i._vscf_hkdf_alg_id=e=>(i._vscf_hkdf_alg_id=Ie.Ga)(e),i._vscf_hkdf_produce_alg_info=e=>(i._vscf_hkdf_produce_alg_info=Ie.Ha)(e),i._vscf_hkdf_restore_alg_info=(e,t)=>(i._vscf_hkdf_restore_alg_info=Ie.Ia)(e,t),i._vscf_hkdf_derive=(e,t,r,n)=>(i._vscf_hkdf_derive=Ie.Ja)(e,t,r,n),i._vscf_hkdf_reset=(e,t,r)=>(i._vscf_hkdf_reset=Ie.Ka)(e,t,r),i._vscf_hkdf_set_info=(e,t)=>(i._vscf_hkdf_set_info=Ie.La)(e,t),i._vscf_hkdf_use_hash=(e,t)=>(i._vscf_hkdf_use_hash=Ie.Ma)(e,t),i._vscf_hkdf_release_hash=e=>(i._vscf_hkdf_release_hash=Ie.Na)(e),i._vscf_hkdf_new=()=>(i._vscf_hkdf_new=Ie.Oa)(),i._vscf_hkdf_delete=e=>(i._vscf_hkdf_delete=Ie.Pa)(e),i._vscf_hkdf_shallow_copy=e=>(i._vscf_hkdf_shallow_copy=Ie.Qa)(e),i._vsc_data_ctx_size=()=>(i._vsc_data_ctx_size=Ie.Ra)(),i._vsc_data=(e,t,r)=>(i._vsc_data=Ie.Sa)(e,t,r),i._vsc_data_len=e=>(i._vsc_data_len=Ie.Ta)(e),i._vsc_data_bytes=e=>(i._vsc_data_bytes=Ie.Ua)(e),i._vsc_buffer_new=()=>(i._vsc_buffer_new=Ie.Va)(),i._vsc_buffer_new_with_capacity=e=>(i._vsc_buffer_new_with_capacity=Ie.Wa)(e),i._vsc_buffer_delete=e=>(i._vsc_buffer_delete=Ie.Xa)(e),i._vsc_buffer_data=(e,t)=>(i._vsc_buffer_data=Ie.Ya)(e,t),i._vsc_buffer_make_secure=e=>(i._vsc_buffer_make_secure=Ie.Za)(e),i._vsc_buffer_bytes=e=>(i._vsc_buffer_bytes=Ie._a)(e),i._vsc_buffer_len=e=>(i._vsc_buffer_len=Ie.$a)(e),i._malloc=e=>(i._malloc=Ie.ab)(e),i._free=e=>(i._free=Ie.bb)(e),i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);0<i.preInit.length;)i.preInit.pop()();return function e(){function r(){if(i.calledRun=!0,!y){var e,r;if(i.noFSInit||J||(J=!0,n??=i.stdin,e??=i.stdout,r??=i.stderr,n?Pe("stdin",n):ye("/dev/tty","/dev/stdin"),e?Pe("stdout",null,e):ye("/dev/tty","/dev/stdout"),r?Pe("stderr",null,r):ye("/dev/tty1","/dev/stderr"),Ee("/dev/stdin",0),Ee("/dev/stdout",1),Ee("/dev/stderr",1)),Ie.k(),Q=!1,t(i),i.onRuntimeInitialized?.(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var n=i.postRun.shift();N.unshift(n)}T(N)}}if(0<A)I=e;else{if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)R();T(k),0<A?I=e:i.setStatus?(i.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>i.setStatus(""),1),r()},1)):r()}}(),_});e.exports=r,e.exports.default=r}(u)),u.exports}var l,d,h,w,v,m,b,p,y,E,g,P,A,I,x,C={};function T(){if(l)return C;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return l=1,C.ensureNumber=e,C.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},C.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},C.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},C.ensureClass=function(e,r,n){if(!(r instanceof n))throw new TypeError(`'${e}' is not an instance of the class ${n.name}`);t(e,r.ctxPtr)},C.ensureNotNull=t,C.ensureImplementInterface=function(e,r,n,s,a){if(t(e,r.ctxPtr),!a.isImplemented(r.ctxPtr,s))throw new TypeError(`'${e}' does not implement interface '${n}'`)},C}var N,k,R,S,F,K,L,D,M,O={};function B(){if(N)return O;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return N=1,O.ensureNumber=e,O.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},O.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},O.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},O.ensureClass=function(e,r,n){if(!(r instanceof n))throw new TypeError(`'${e}' is not an instance of the class ${n.name}`);t(e,r.ctxPtr)},O.ensureNotNull=t,O.ensureImplementInterface=function(e,r,n,s,a){if(t(e,r.ctxPtr),!a.isImplemented(r.ctxPtr,s))throw new TypeError(`'${e}' does not implement interface '${n}'`)},O}var H=function(){if(M)return D;M=1;const e=f(),t=n?r:(n=1,r=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="FoundationError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("This error should not be returned if assertions is enabled.");if(-2==e)throw new r("Can be used to define that not all context prerequisites are satisfied. Note, this error should not be returned if assertions is enabled.");if(-3==e)throw new r("Define that error code from one of third-party module was not handled. Note, this error should not be returned if assertions is enabled.");if(-101==e)throw new r("Buffer capacity is not enough to hold result.");if(-200==e)throw new r("Unsupported algorithm.");if(-201==e)throw new r("Authentication failed during decryption.");if(-202==e)throw new r("Attempt to read data out of buffer bounds.");if(-203==e)throw new r("ASN.1 encoded data is corrupted.");if(-204==e)throw new r("Attempt to read ASN.1 type that is bigger then requested C type.");if(-205==e)throw new r("ASN.1 representation of PKCS#1 public key is corrupted.");if(-206==e)throw new r("ASN.1 representation of PKCS#1 private key is corrupted.");if(-207==e)throw new r("ASN.1 representation of PKCS#8 public key is corrupted.");if(-208==e)throw new r("ASN.1 representation of PKCS#8 private key is corrupted.");if(-209==e)throw new r("Encrypted data is corrupted.");if(-210==e)throw new r("Underlying random operation returns error.");if(-211==e)throw new r("Generation of the private or secret key failed.");if(-212==e)throw new r("One of the entropy sources failed.");if(-213==e)throw new r("Requested data to be generated is too big.");if(-214==e)throw new r("Base64 encoded string contains invalid characters.");if(-215==e)throw new r("PEM data is corrupted.");if(-216==e)throw new r("Exchange key return zero.");if(-217==e)throw new r("Ed25519 public key is corrupted.");if(-218==e)throw new r("Ed25519 private key is corrupted.");if(-219==e)throw new r("CURVE25519 public key is corrupted.");if(-220==e)throw new r("CURVE25519 private key is corrupted.");if(-221==e)throw new r("Elliptic curve public key format is corrupted see RFC 5480.");if(-222==e)throw new r("Elliptic curve public key format is corrupted see RFC 5915.");if(-223==e)throw new r("ASN.1 representation of a public key is corrupted.");if(-224==e)throw new r("ASN.1 representation of a private key is corrupted.");if(-225==e)throw new r("Key algorithm does not accept given type of public key.");if(-226==e)throw new r("Key algorithm does not accept given type of private key.");if(-227==e)throw new r("Post-quantum Falcon-Sign public key is corrupted.");if(-228==e)throw new r("Post-quantum Falcon-Sign private key is corrupted.");if(-232==e)throw new r("Compound public key is corrupted.");if(-233==e)throw new r("Compound private key is corrupted.");if(-234==e)throw new r("Compound public hybrid key is corrupted.");if(-235==e)throw new r("Compound private hybrid key is corrupted.");if(-236==e)throw new r("ASN.1 AlgorithmIdentifer is corrupted.");if(-237==e)throw new r("ASN.1 AlgorithmIdentifer with ECParameters is corrupted.");if(-238==e)throw new r("ASN.1 AlgorithmIdentifer with CompoundKeyParams is corrupted.");if(-239==e)throw new r("ASN.1 AlgorithmIdentifer with HybridKeyParams is corrupted.");if(-240==e)throw new r("Post-quantum ML-KEM-768 public key is corrupted.");if(-241==e)throw new r("Post-quantum ML-KEM-768 private key is corrupted.");if(-242==e)throw new r("Post-quantum ML-DSA-65 public key is corrupted.");if(-243==e)throw new r("Post-quantum ML-DSA-65 private key is corrupted.");if(-301==e)throw new r("Decryption failed, because message info was not given explicitly, and was not part of an encrypted message.");if(-302==e)throw new r("Message Info is corrupted.");if(-303==e)throw new r("Recipient defined with id is not found within message info during data decryption.");if(-304==e)throw new r("Content encryption key can not be decrypted with a given private key.");if(-305==e)throw new r("Content encryption key can not be decrypted with a given password.");if(-306==e)throw new r("Custom parameter with a given key is not found within message info.");if(-307==e)throw new r("A custom parameter with a given key is found, but the requested value type does not correspond to the actual type.");if(-308==e)throw new r("Signature format is corrupted.");if(-309==e)throw new r("Message Info footer is corrupted.");if(-401==e)throw new r("Brainkey password length is out of range.");if(-402==e)throw new r("Brainkey number length should be 32 byte.");if(-403==e)throw new r("Brainkey point length should be 65 bytes.");if(-404==e)throw new r("Brainkey name is out of range.");if(-405==e)throw new r("Brainkey internal error.");if(-406==e)throw new r("Brainkey point is invalid.");if(-407==e)throw new r("Brainkey number buffer length capacity should be >= 32 byte.");if(-408==e)throw new r("Brainkey point buffer length capacity should be >= 32 byte.");if(-409==e)throw new r("Brainkey seed buffer length capacity should be >= 32 byte.");if(-410==e)throw new r("Brainkey identity secret is invalid.");if(-411==e)throw new r("KEM encapsulated key is invalid or does not correspond to the private key.");if(-501==e)throw new r("Invalid padding.");if(-601==e)throw new r("Protobuf error.");if(-701==e)throw new r("Session id doesnt match.");if(-702==e)throw new r("Epoch not found.");if(-703==e)throw new r("Wrong key type.");if(-704==e)throw new r("Invalid signature.");if(-705==e)throw new r("Ed25519 error.");if(-706==e)throw new r("Duplicate epoch.");if(-707==e)throw new r("Plain text too long.");throw new r("Unexpected status code:"+e)}}}return r}),u=a?s:(a=1,s=(e,t)=>class{static newAndTakeCContext(r){const n=e._vscf_impl_tag(r);switch(n){case t.FoundationImplTag.AES256_CBC:return t.Aes256Cbc.newAndTakeCContext(r);case t.FoundationImplTag.AES256_GCM:return t.Aes256Gcm.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_DESERIALIZER:return t.AlgInfoDerDeserializer.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_SERIALIZER:return t.AlgInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ASN1RD:return t.Asn1rd.newAndTakeCContext(r);case t.FoundationImplTag.ASN1WR:return t.Asn1wr.newAndTakeCContext(r);case t.FoundationImplTag.CIPHER_ALG_INFO:return t.CipherAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG:return t.CompoundKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG_INFO:return t.CompoundKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PRIVATE_KEY:return t.CompoundPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PUBLIC_KEY:return t.CompoundPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.CTR_DRBG:return t.CtrDrbg.newAndTakeCContext(r);case t.FoundationImplTag.CURVE25519:return t.Curve25519.newAndTakeCContext(r);case t.FoundationImplTag.ECC:return t.Ecc.newAndTakeCContext(r);case t.FoundationImplTag.ECC_ALG_INFO:return t.EccAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PRIVATE_KEY:return t.EccPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PUBLIC_KEY:return t.EccPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.ED25519:return t.Ed25519.newAndTakeCContext(r);case t.FoundationImplTag.ENTROPY_ACCUMULATOR:return t.EntropyAccumulator.newAndTakeCContext(r);case t.FoundationImplTag.FAKE_RANDOM:return t.FakeRandom.newAndTakeCContext(r);case t.FoundationImplTag.FALCON:return t.Falcon.newAndTakeCContext(r);case t.FoundationImplTag.HASH_BASED_ALG_INFO:return t.HashBasedAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HKDF:return t.Hkdf.newAndTakeCContext(r);case t.FoundationImplTag.HMAC:return t.Hmac.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG:return t.HybridKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG_INFO:return t.HybridKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PRIVATE_KEY:return t.HybridPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PUBLIC_KEY:return t.HybridPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.KDF1:return t.Kdf1.newAndTakeCContext(r);case t.FoundationImplTag.KDF2:return t.Kdf2.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_DESERIALIZER:return t.KeyAsn1Deserializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_SERIALIZER:return t.KeyAsn1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_MATERIAL_RNG:return t.KeyMaterialRng.newAndTakeCContext(r);case t.FoundationImplTag.MESSAGE_INFO_DER_SERIALIZER:return t.MessageInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ML_DSA:return t.MlDsa.newAndTakeCContext(r);case t.FoundationImplTag.ML_KEM:return t.MlKem.newAndTakeCContext(r);case t.FoundationImplTag.PBE_ALG_INFO:return t.PbeAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBES2:return t.Pkcs5Pbes2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBKDF2:return t.Pkcs5Pbkdf2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS8_SERIALIZER:return t.Pkcs8Serializer.newAndTakeCContext(r);case t.FoundationImplTag.RANDOM_PADDING:return t.RandomPadding.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PRIVATE_KEY:return t.RawPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PUBLIC_KEY:return t.RawPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA:return t.Rsa.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PRIVATE_KEY:return t.RsaPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PUBLIC_KEY:return t.RsaPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.SALTED_KDF_ALG_INFO:return t.SaltedKdfAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.SEC1_SERIALIZER:return t.Sec1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.SEED_ENTROPY_SOURCE:return t.SeedEntropySource.newAndTakeCContext(r);case t.FoundationImplTag.SHA224:return t.Sha224.newAndTakeCContext(r);case t.FoundationImplTag.SHA256:return t.Sha256.newAndTakeCContext(r);case t.FoundationImplTag.SHA384:return t.Sha384.newAndTakeCContext(r);case t.FoundationImplTag.SHA512:return t.Sha512.newAndTakeCContext(r);case t.FoundationImplTag.SIMPLE_ALG_INFO:return t.SimpleAlgInfo.newAndTakeCContext(r);default:throw new Error("Unexpected implementation tag found: "+n)}}static newAndUseCContext(r){return new t.FoundationInterface.newAndTakeCContext(e._vscf_impl_shallow_copy(r))}static isImplemented(t,r){return 0!=e._vscf_impl_api(t,r)}}),l=_?i:(_=1,i=(e,t)=>Object.freeze({ALG:1,ALG_INFO:2,ALG_INFO_DESERIALIZER:3,ALG_INFO_SERIALIZER:4,ASN1_READER:5,ASN1_WRITER:6,AUTH_DECRYPT:7,AUTH_ENCRYPT:8,CIPHER:9,CIPHER_AUTH:10,CIPHER_AUTH_INFO:11,CIPHER_INFO:12,COMPUTE_SHARED_KEY:13,DECRYPT:14,ENCRYPT:15,ENTROPY_SOURCE:16,HASH:17,KDF:18,KEM:19,KEY:20,KEY_ALG:21,KEY_CIPHER:22,KEY_DESERIALIZER:23,KEY_SERIALIZER:24,KEY_SIGNER:25,MAC:26,MESSAGE_INFO_FOOTER_SERIALIZER:27,MESSAGE_INFO_SERIALIZER:28,PADDING:29,PRIVATE_KEY:30,PUBLIC_KEY:31,RANDOM:32,SALTED_KDF:33})),C=c?o:(c=1,o=(e,t)=>Object.freeze({AES256_CBC:1,AES256_GCM:2,ALG_INFO_DER_DESERIALIZER:3,ALG_INFO_DER_SERIALIZER:4,ASN1RD:5,ASN1WR:6,CIPHER_ALG_INFO:7,COMPOUND_KEY_ALG:8,COMPOUND_KEY_ALG_INFO:9,COMPOUND_PRIVATE_KEY:10,COMPOUND_PUBLIC_KEY:11,CTR_DRBG:12,CURVE25519:13,ECC:14,ECC_ALG_INFO:15,ECC_PRIVATE_KEY:16,ECC_PUBLIC_KEY:17,ED25519:18,ENTROPY_ACCUMULATOR:19,FAKE_RANDOM:20,FALCON:21,HASH_BASED_ALG_INFO:22,HKDF:23,HMAC:24,HYBRID_KEY_ALG:25,HYBRID_KEY_ALG_INFO:26,HYBRID_PRIVATE_KEY:27,HYBRID_PUBLIC_KEY:28,KDF1:29,KDF2:30,KEY_ASN1_DESERIALIZER:31,KEY_ASN1_SERIALIZER:32,KEY_MATERIAL_RNG:33,MESSAGE_INFO_DER_SERIALIZER:34,ML_DSA:35,ML_KEM:36,PBE_ALG_INFO:37,PKCS5_PBES2:38,PKCS5_PBKDF2:39,PKCS8_SERIALIZER:40,RANDOM_PADDING:41,RAW_PRIVATE_KEY:42,RAW_PUBLIC_KEY:43,RSA:44,RSA_PRIVATE_KEY:45,RSA_PUBLIC_KEY:46,SALTED_KDF_ALG_INFO:47,SEC1_SERIALIZER:48,SEED_ENTROPY_SOURCE:49,SHA224:50,SHA256:51,SHA384:52,SHA512:53,SIMPLE_ALG_INFO:54})),N=function(){if(h)return d;h=1;const e=T();return d=(t,r)=>{class n{constructor(e){this.name="CtrDrbg",this.ctxPtr=void 0===e?t._vscf_ctr_drbg_new():e}static newAndUseCContext(e){return new n(t._vscf_ctr_drbg_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_ctr_drbg_delete(this.ctxPtr),this.ctxPtr=null)}set entropySource(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("entropySource",n,"Foundation.EntropySource",r.FoundationInterfaceTag.ENTROPY_SOURCE,r.FoundationInterface),t._vscf_ctr_drbg_release_entropy_source(this.ctxPtr),t._vscf_ctr_drbg_use_entropy_source(this.ctxPtr,n.ctxPtr)}static get RESEED_INTERVAL(){return 1e4}get RESEED_INTERVAL(){return 1e4}static get ENTROPY_LEN(){return 48}get ENTROPY_LEN(){return 48}random(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("dataLen",n);const s=n,a=t._vsc_buffer_new_with_capacity(s);try{const e=t._vscf_ctr_drbg_random(this.ctxPtr,n,a);r.FoundationError.handleStatusCode(e);const s=t._vsc_buffer_bytes(a),i=t._vsc_buffer_len(a);return t.HEAPU8.slice(s,s+i)}finally{t._vsc_buffer_delete(a)}}reseed(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscf_ctr_drbg_reseed(this.ctxPtr);r.FoundationError.handleStatusCode(n)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscf_ctr_drbg_setup_defaults(this.ctxPtr);r.FoundationError.handleStatusCode(n)}enablePredictionResistance(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_ctr_drbg_enable_prediction_resistance(this.ctxPtr)}setReseedInterval(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("interval",r),t._vscf_ctr_drbg_set_reseed_interval(this.ctxPtr,r)}setEntropyLen(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("len",r),t._vscf_ctr_drbg_set_entropy_len(this.ctxPtr,r)}}return n}}(),O=function(){if(v)return w;v=1;const e=T();return w=(t,r)=>{class n{constructor(e){this.name="Hmac",this.ctxPtr=void 0===e?t._vscf_hmac_new():e}static newAndUseCContext(e){return new n(t._vscf_hmac_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hmac_delete(this.ctxPtr),this.ctxPtr=null)}set hash(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",n,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hmac_release_hash(this.ctxPtr),t._vscf_hmac_use_hash(this.ctxPtr,n.ctxPtr)}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_hmac_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_hmac_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}digestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_digest_len(this.ctxPtr),r}mac(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r),e.ensureByteArray("data",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=n.length*n.BYTES_PER_ELEMENT,c=t._malloc(o);t.HEAP8.set(n,c);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,c,o);const l=this.digestLen(),d=t._vsc_buffer_new_with_capacity(l);try{t._vscf_hmac_mac(this.ctxPtr,_,f,d);const e=t._vsc_buffer_bytes(d),r=t._vsc_buffer_len(d);return t.HEAPU8.slice(e,e+r)}finally{t._free(a),t._free(_),t._free(c),t._free(f),t._vsc_buffer_delete(d)}}start(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hmac_start(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hmac_update(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.digestLen(),n=t._vsc_buffer_new_with_capacity(r);try{t._vscf_hmac_finish(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}reset(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_hmac_reset(this.ctxPtr)}}return n}}(),H=function(){if(b)return m;b=1;const e=T();return m=(t,r)=>{class n{constructor(e){this.name="Hkdf",this.ctxPtr=void 0===e?t._vscf_hkdf_new():e}static newAndUseCContext(e){return new n(t._vscf_hkdf_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hkdf_delete(this.ctxPtr),this.ctxPtr=null)}set hash(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",n,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hkdf_release_hash(this.ctxPtr),t._vscf_hkdf_use_hash(this.ctxPtr,n.ctxPtr)}static get HASH_COUNTER_MAX(){return 255}get HASH_COUNTER_MAX(){return 255}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hkdf_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_hkdf_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_hkdf_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}derive(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r),e.ensureNumber("keyLen",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=n,c=t._vsc_buffer_new_with_capacity(o);try{t._vscf_hkdf_derive(this.ctxPtr,_,n,c);const e=t._vsc_buffer_bytes(c),r=t._vsc_buffer_len(c);return t.HEAPU8.slice(e,e+r)}finally{t._free(a),t._free(_),t._vsc_buffer_delete(c)}}reset(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("salt",r),e.ensureNumber("iterationCount",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);try{t._vscf_hkdf_reset(this.ctxPtr,_,n)}finally{t._free(a),t._free(_)}}setInfo(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("info",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hkdf_set_info(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}}return n}}(),U=function(){if(y)return p;y=1;const e=T();return p=(t,r)=>{class n{constructor(e){this.name="Sha512",this.ctxPtr=void 0===e?t._vscf_sha512_new():e}static newAndUseCContext(e){return new n(t._vscf_sha512_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_sha512_delete(this.ctxPtr),this.ctxPtr=null)}static get DIGEST_LEN(){return 64}get DIGEST_LEN(){return 64}static get BLOCK_LEN(){return 128}get BLOCK_LEN(){return 128}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_sha512_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_sha512_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_sha512_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}static hash(r){e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);const _=this.DIGEST_LEN,o=t._vsc_buffer_new_with_capacity(_);try{t._vscf_sha512_hash(i,o);const e=t._vsc_buffer_bytes(o),r=t._vsc_buffer_len(o);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(i),t._vsc_buffer_delete(o)}}hash(e){return n.hash(e)}start(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_sha512_start(this.ctxPtr)}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_sha512_update(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.DIGEST_LEN,n=t._vsc_buffer_new_with_capacity(r);try{t._vscf_sha512_finish(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}}return n}}(),Y=g?E:(g=1,E=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="RatchetError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("Error during protobuf deserialization.");if(-2==e)throw new r("Bad message type.");if(-3==e)throw new r("AES error.");if(-4==e)throw new r("RNG failed.");if(-5==e)throw new r("Curve25519 error.");if(-6==e)throw new r("Curve25519 error.");if(-7==e)throw new r("Key deserialization failed.");if(-8==e)throw new r("Invalid key type.");if(-9==e)throw new r("Identity key doesn't match.");if(-10==e)throw new r("Message already decrypted.");if(-11==e)throw new r("Too many lost messages.");if(-12==e)throw new r("Sender chain missing.");if(-13==e)throw new r("Skipped message missing.");if(-14==e)throw new r("Session is not initialized.");if(-15==e)throw new r("Exceeded max plain text len.");if(-16==e)throw new r("Too many messages for sender chain.");if(-17==e)throw new r("Too many messages for receiver chain.");if(-18==e)throw new r("Invalid padding.");if(-19==e)throw new r("Too many participants.");if(-20==e)throw new r("Too few participants.");if(-21==e)throw new r("Sender not found.");if(-22==e)throw new r("Cannot decrypt own messages.");if(-23==e)throw new r("Invalid signature.");if(-24==e)throw new r("Cannot remove myself.");if(-25==e)throw new r("Epoch mismatch.");if(-26==e)throw new r("Epoch not found.");if(-27==e)throw new r("Session id mismatch.");if(-28==e)throw new r("Simultaneous group user operation.");if(-29==e)throw new r("Myself is included in info.");if(-30==e)throw new r("KEM encapsulate or decapsulate operation failed.");if(-31==e)throw new r("Signing operation failed.");if(-32==e)throw new r("Decaps signature is invalid.");throw new r("Unexpected status code:"+e)}}}return r}),z=A?P:(A=1,P=(e,t)=>Object.freeze({REGULAR:1,PREKEY:2})),G=x?I:(x=1,I=(e,t)=>Object.freeze({GROUP_INFO:1,REGULAR:2})),$=R?k:(R=1,B(),k=(e,t)=>class{static get MAX_PLAIN_TEXT_LEN(){return 3e4}get MAX_PLAIN_TEXT_LEN(){return 3e4}static get MAX_MESSAGE_LEN(){return 35583}get MAX_MESSAGE_LEN(){return 35583}static get KEY_ID_LEN(){return 8}get KEY_ID_LEN(){return 8}static get PARTICIPANT_ID_LEN(){return 32}get PARTICIPANT_ID_LEN(){return 32}static get SESSION_ID_LEN(){return 32}get SESSION_ID_LEN(){return 32}static get MAX_PARTICIPANTS_COUNT(){return 100}get MAX_PARTICIPANTS_COUNT(){return 100}static get MIN_PARTICIPANTS_COUNT(){return 2}get MIN_PARTICIPANTS_COUNT(){return 2}static get MAX_GROUP_MESSAGE_LEN(){return 32918}get MAX_GROUP_MESSAGE_LEN(){return 32918}}),V=function(){if(F)return S;F=1;const e=B();return S=(t,r)=>{class n{constructor(e){this.name="RatchetMessage",this.ctxPtr=void 0===e?t._vscr_ratchet_message_new():e}static newAndUseCContext(e){return new n(t._vscr_ratchet_message_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscr_ratchet_message_delete(this.ctxPtr),this.ctxPtr=null)}getType(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_get_type(this.ctxPtr),r}getCounter(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_get_counter(this.ctxPtr),r}getSenderIdentityKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_sender_identity_key_id(this.ctxPtr)}getReceiverIdentityKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_identity_key_id(this.ctxPtr)}getReceiverLongTermKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_long_term_key_id(this.ctxPtr)}getReceiverOneTimeKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_one_time_key_id(this.ctxPtr)}serializeLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_serialize_len(this.ctxPtr),r}serialize(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.serializeLen(),n=t._vsc_buffer_new_with_capacity(r);try{t._vscr_ratchet_message_serialize(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}static deserialize(n){e.ensureByteArray("input",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_message_deserialize(_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.Self.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}deserialize(e){return n.deserialize(e)}}return n}}(),j=function(){if(L)return K;L=1;const e=B();return K=(t,r)=>{class n{constructor(e){this.name="RatchetSession",this.ctxPtr=void 0===e?t._vscr_ratchet_session_new():e}static newAndUseCContext(e){return new n(t._vscr_ratchet_session_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscr_ratchet_session_delete(this.ctxPtr),this.ctxPtr=null)}set rng(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("rng",n,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vscr_ratchet_session_release_rng(this.ctxPtr),t._vscr_ratchet_session_use_rng(this.ctxPtr,n.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscr_ratchet_session_setup_defaults(this.ctxPtr);r.RatchetError.handleStatusCode(n)}initiate(n,s,a,i,_,o,c,u){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPrivateKey",n,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureByteArray("senderIdentityKeyId",s),e.ensureImplementInterface("receiverIdentityPublicKey",a,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverIdentityKeyId",i),e.ensureImplementInterface("receiverLongTermPublicKey",_,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverLongTermKeyId",o),e.ensureImplementInterface("receiverOneTimePublicKey",c,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverOneTimeKeyId",u);const f=s.length*s.BYTES_PER_ELEMENT,l=t._malloc(f);t.HEAP8.set(s,l);const d=t._vsc_data_ctx_size(),h=t._malloc(d);t._vsc_data(h,l,f);const w=i.length*i.BYTES_PER_ELEMENT,v=t._malloc(w);t.HEAP8.set(i,v);const m=t._vsc_data_ctx_size(),b=t._malloc(m);t._vsc_data(b,v,w);const p=o.length*o.BYTES_PER_ELEMENT,y=t._malloc(p);t.HEAP8.set(o,y);const E=t._vsc_data_ctx_size(),g=t._malloc(E);t._vsc_data(g,y,p);const P=u.length*u.BYTES_PER_ELEMENT,A=t._malloc(P);t.HEAP8.set(u,A);const I=t._vsc_data_ctx_size(),x=t._malloc(I);t._vsc_data(x,A,P);try{const e=t._vscr_ratchet_session_initiate(this.ctxPtr,n.ctxPtr,h,a.ctxPtr,b,_.ctxPtr,g,c.ctxPtr,x);r.RatchetError.handleStatusCode(e)}finally{t._free(l),t._free(h),t._free(v),t._free(b),t._free(y),t._free(g),t._free(A),t._free(x)}}initiateNoOneTimeKey(n,s,a,i,_,o){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPrivateKey",n,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureByteArray("senderIdentityKeyId",s),e.ensureImplementInterface("receiverIdentityPublicKey",a,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverIdentityKeyId",i),e.ensureImplementInterface("receiverLongTermPublicKey",_,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverLongTermKeyId",o);const c=s.length*s.BYTES_PER_ELEMENT,u=t._malloc(c);t.HEAP8.set(s,u);const f=t._vsc_data_ctx_size(),l=t._malloc(f);t._vsc_data(l,u,c);const d=i.length*i.BYTES_PER_ELEMENT,h=t._malloc(d);t.HEAP8.set(i,h);const w=t._vsc_data_ctx_size(),v=t._malloc(w);t._vsc_data(v,h,d);const m=o.length*o.BYTES_PER_ELEMENT,b=t._malloc(m);t.HEAP8.set(o,b);const p=t._vsc_data_ctx_size(),y=t._malloc(p);t._vsc_data(y,b,m);try{const e=t._vscr_ratchet_session_initiate_no_one_time_key(this.ctxPtr,n.ctxPtr,l,a.ctxPtr,v,_.ctxPtr,y);r.RatchetError.handleStatusCode(e)}finally{t._free(u),t._free(l),t._free(h),t._free(v),t._free(b),t._free(y)}}respond(n,s,a,i,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPublicKey",n,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverIdentityPrivateKey",s,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverLongTermPrivateKey",a,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverOneTimePrivateKey",i,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureClass("message",_,r.RatchetMessage);const o=t._vscr_ratchet_session_respond(this.ctxPtr,n.ctxPtr,s.ctxPtr,a.ctxPtr,i.ctxPtr,_.ctxPtr);r.RatchetError.handleStatusCode(o)}respondNoOneTimeKey(n,s,a,i){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPublicKey",n,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverIdentityPrivateKey",s,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverLongTermPrivateKey",a,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureClass("message",i,r.RatchetMessage);const _=t._vscr_ratchet_session_respond_no_one_time_key(this.ctxPtr,n.ctxPtr,s.ctxPtr,a.ctxPtr,i.ctxPtr);r.RatchetError.handleStatusCode(_)}isInitiator(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_is_initiator(this.ctxPtr),!!r}isPqcEnabled(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_is_pqc_enabled(this.ctxPtr),!!r}receivedFirstResponse(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_received_first_response(this.ctxPtr),!!r}receiverHasOneTimePublicKey(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_receiver_has_one_time_public_key(this.ctxPtr),!!r}encrypt(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_session_encrypt(this.ctxPtr,_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.RatchetMessage.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}decryptLen(n){let s;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureClass("message",n,r.RatchetMessage),s=t._vscr_ratchet_session_decrypt_len(this.ctxPtr,n.ctxPtr),s}decrypt(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureClass("message",n,r.RatchetMessage);const s=this.decryptLen(n),a=t._vsc_buffer_new_with_capacity(s);try{const e=t._vscr_ratchet_session_decrypt(this.ctxPtr,n.ctxPtr,a);r.RatchetError.handleStatusCode(e);const s=t._vsc_buffer_bytes(a),i=t._vsc_buffer_len(a);return t.HEAPU8.slice(s,s+i)}finally{t._vsc_buffer_delete(a)}}serialize(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_serialize(this.ctxPtr),r}static deserialize(n){e.ensureByteArray("input",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_session_deserialize(_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.Self.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}deserialize(e){return n.deserialize(e)}}return n}}();return D=r=>new Promise((n,s)=>{e(r).then(e=>{const r={};r.FoundationError=t(e,r),r.FoundationInterface=u(e,r),r.FoundationInterfaceTag=l(e,r),r.FoundationImplTag=C(e,r),r.CtrDrbg=N(e,r),r.Hmac=O(e,r),r.Hkdf=H(e,r),r.Sha512=U(e,r),r.RatchetError=Y(e,r),r.MsgType=z(e,r),r.GroupMsgType=G(e,r),r.RatchetCommon=$(e,r),r.RatchetMessage=V(e,r),r.RatchetSession=j(e,r),n(r)}).catch(e=>{s(e)})})}(),U=e(H);module.exports=U;
|
|
1
|
+
"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,r,n,s,a,i,_,o,c,u={exports:{}};function f(){return t||(t=1,function(e){var t,r=(t="undefined"!=typeof document?document.currentScript?.src:void 0,"undefined"!=typeof __filename&&(t=t||__filename),async function(e={}){var t,r,n,s,a,i=e,_=new Promise((e,n)=>{t=e,r=n}),o=Object.assign({},i),c=require("fs");require("path"),n=__dirname+"/",a=e=>(e=E(e)?new URL(e):e,c.readFileSync(e)),s=async e=>(e=E(e)?new URL(e):e,c.readFileSync(e,void 0)),process.argv.slice(2);var u=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,o),o=null;var l,d,h,w,v,m,b,p=i.wasmBinary,y=!1,E=e=>e.startsWith("file://");function g(){var e=l.buffer;i.HEAP8=d=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAPU8=h=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAP32=v=new Int32Array(e),i.HEAPU32=m=new Uint32Array(e),i.HEAPF32=new Float32Array(e),i.HEAPF64=new Float64Array(e),i.HEAP64=b=new BigInt64Array(e),i.HEAPU64=new BigUint64Array(e)}var P,A=0,I=null;function x(e){throw i.onAbort?.(e),f(e="Aborted("+e+")"),y=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),r(e),e}async function C(e){var t=P;try{var r=await async function(e){if(!p)try{var t=await s(e);return new Uint8Array(t)}catch{}if(e==P&&p)e=new Uint8Array(p);else{if(!a)throw"both async and sync fetching of the wasm failed";e=a(e)}return e}(t);return await WebAssembly.instantiate(r,e)}catch(e){f(`failed to asynchronously prepare wasm: ${e}`),x(e)}}var T=e=>{for(;0<e.length;)e.shift()(i)},N=[],k=[],R=()=>{var e=i.preRun.shift();k.unshift(e)},S=()=>{var e=v[+Ae>>2];return Ae+=4,e},F=(e,t)=>{for(var r=0,n=e.length-1;0<=n;n--){var s=e[n];"."===s?e.splice(n,1):".."===s?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},K=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=F(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},L=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},D=e=>{(D=(()=>{var e=require("crypto");return t=>e.randomFillSync(t)})())(e)},M="undefined"!=typeof TextDecoder?new TextDecoder:void 0,O=(e,t=0)=>{for(var r=t+NaN,n=t;e[n]&&!(n>=r);)++n;if(16<n-t&&e.buffer&&M)return M.decode(e.subarray(t,n));for(r="";t<n;){var s=e[t++];if(128&s){var a=63&e[t++];if(192==(224&s))r+=String.fromCharCode((31&s)<<6|a);else{var i=63&e[t++];65536>(s=224==(240&s)?(15&s)<<12|a<<6|i:(7&s)<<18|a<<12|i<<6|63&e[t++])?r+=String.fromCharCode(s):(s-=65536,r+=String.fromCharCode(55296|s>>10,56320|1023&s))}}else r+=String.fromCharCode(s)}return r},B=[],H=[];function Y(e,t){H[e]={input:[],output:[],lb:t},we(e,U)}var U={open(e){var t=H[e.node.rdev];if(!t)throw new te(43);e.tty=t,e.seekable=!1},close(e){e.tty.lb.fsync(e.tty)},fsync(e){e.tty.lb.fsync(e.tty)},read(e,t,r,n){if(!e.tty||!e.tty.lb.zb)throw new te(60);for(var s=0,a=0;a<n;a++){try{var i=e.tty.lb.zb(e.tty)}catch(e){throw new te(29)}if(void 0===i&&0===s)throw new te(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n){if(!e.tty||!e.tty.lb.vb)throw new te(60);try{for(var s=0;s<n;s++)e.tty.lb.vb(e.tty,t[r+s])}catch(e){throw new te(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}},z={zb(){e:{if(!B.length){var e=null,t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=c.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}if(0<r&&(e=t.slice(0,r).toString("utf-8")),!e){t=null;break e}for(r=t=0;r<e.length;++r)127>=(n=e.charCodeAt(r))?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3;var s=(t=Array(t+1)).length;if(r=0,0<s){n=r,s=r+s-1;for(var a=0;a<e.length;++a){var i=e.charCodeAt(a);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a)),127>=i){if(r>=s)break;t[r++]=i}else{if(2047>=i){if(r+1>=s)break;t[r++]=192|i>>6}else{if(65535>=i){if(r+2>=s)break;t[r++]=224|i>>12}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63}t[r++]=128|i>>6&63}t[r++]=128|63&i}}t[r]=0,e=r-n}else e=0;t.length=e,B=t}t=B.shift()}return t},vb(e,t){null===t||10===t?(u(O(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(u(O(e.output)),e.output=[])},Fb:()=>({Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Gb:()=>0,Hb:()=>[24,80]},G={vb(e,t){null===t||10===t?(f(O(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){0<e.output?.length&&(f(O(e.output)),e.output=[])}};function $(e,t){var r=e.eb?e.eb.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.eb,e.eb=new Uint8Array(t),0<e.gb&&e.eb.set(r.subarray(0,e.gb),0))}var V={ib:null,kb:()=>V.createNode(null,"/",16895,0),createNode(e,t,r,n){if(24576==(61440&r)||4096==(61440&r))throw new te(63);return V.ib||(V.ib={dir:{node:{nb:V.fb.nb,jb:V.fb.jb,lookup:V.fb.lookup,qb:V.fb.qb,rename:V.fb.rename,unlink:V.fb.unlink,rmdir:V.fb.rmdir,readdir:V.fb.readdir,symlink:V.fb.symlink},stream:{hb:V.cb.hb}},file:{node:{nb:V.fb.nb,jb:V.fb.jb},stream:{hb:V.cb.hb,read:V.cb.read,write:V.cb.write,wb:V.cb.wb,Bb:V.cb.Bb,Db:V.cb.Db}},link:{node:{nb:V.fb.nb,jb:V.fb.jb,readlink:V.fb.readlink},stream:{}},xb:{node:{nb:V.fb.nb,jb:V.fb.jb},stream:he}}),16384==(61440&(r=_e(e,t,r,n)).mode)?(r.fb=V.ib.dir.node,r.cb=V.ib.dir.stream,r.eb={}):32768==(61440&r.mode)?(r.fb=V.ib.file.node,r.cb=V.ib.file.stream,r.gb=0,r.eb=null):40960==(61440&r.mode)?(r.fb=V.ib.link.node,r.cb=V.ib.link.stream):8192==(61440&r.mode)&&(r.fb=V.ib.xb.node,r.cb=V.ib.xb.stream),r.atime=r.mtime=r.ctime=Date.now(),e&&(e.eb[t]=r,e.atime=e.mtime=e.ctime=r.atime),r},Tb:e=>e.eb?e.eb.subarray?e.eb.subarray(0,e.gb):new Uint8Array(e.eb):new Uint8Array(0),fb:{nb(e){var t={};return t.dev=8192==(61440&e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.gb:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},jb(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.gb!=t&&(0==t?(e.eb=null,e.gb=0):(r=e.eb,e.eb=new Uint8Array(t),r&&e.eb.set(r.subarray(0,Math.min(t,e.gb))),e.gb=t)))},lookup(){throw V.yb},qb:(e,t,r,n)=>V.createNode(e,t,r,n),rename(e,t,r){try{var n=ie(t,r)}catch(e){}if(n){if(16384==(61440&e.mode))for(var s in n.eb)throw new te(55);if(s=ae(n.parent.id,n.name),X[s]===n)X[s]=n.ob;else for(s=X[s];s;){if(s.ob===n){s.ob=n.ob;break}s=s.ob}}delete e.parent.eb[e.name],t.eb[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.eb[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r,n=ie(e,t);for(r in n.eb)throw new te(55);delete e.eb[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.eb)],symlink:(e,t,r)=>((e=V.createNode(e,t,41471,0)).link=r,e),readlink(e){if(40960!=(61440&e.mode))throw new te(28);return e.link}},cb:{read(e,t,r,n,s){var a=e.node.eb;if(s>=e.node.gb)return 0;if(8<(e=Math.min(e.node.gb-s,n))&&a.subarray)t.set(a.subarray(s,s+e),r);else for(n=0;n<e;n++)t[r+n]=a[s+n];return e},write(e,t,r,n,s,a){if(t.buffer===d.buffer&&(a=!1),!n)return 0;if((e=e.node).mtime=e.ctime=Date.now(),t.subarray&&(!e.eb||e.eb.subarray)){if(a)return e.eb=t.subarray(r,r+n),e.gb=n;if(0===e.gb&&0===s)return e.eb=t.slice(r,r+n),e.gb=n;if(s+n<=e.gb)return e.eb.set(t.subarray(r,r+n),s),n}if($(e,s+n),e.eb.subarray&&t.subarray)e.eb.set(t.subarray(r,r+n),s);else for(a=0;a<n;a++)e.eb[s+a]=t[r+a];return e.gb=Math.max(e.gb,s+n),n},hb(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.gb),0>t)throw new te(28);return t},wb(e,t,r){$(e.node,t+r),e.node.gb=Math.max(e.node.gb,t+r)},Bb(e,t,r,n,s){if(32768!=(61440&e.node.mode))throw new te(43);if(e=e.node.eb,2&s||!e||e.buffer!==d.buffer){if(n=!0,x(),!(s=void 0))throw new te(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),d.set(e,s))}else n=!1,s=e.byteOffset;return{Vb:s,Lb:n}},Db:(e,t,r,n)=>(V.cb.write(e,t,0,n,r,!1),0)}},j=null,q={},Z=[],W=1,X=null,J=!1,Q=!0,ee={},te=class{name="ErrnoError";constructor(e){this.mb=e}},re=class{pb={};node=null;get flags(){return this.pb.flags}set flags(e){this.pb.flags=e}get position(){return this.pb.position}set position(e){this.pb.position=e}},ne=class{fb={};cb={};rb=null;constructor(e,t,r,n){e||=this,this.parent=e,this.kb=e.kb,this.id=W++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function se(e,t={}){if(!e)throw new te(44);t.tb??(t.tb=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var n=j,s="/",a=0;a<e.length;a++){var i=a===e.length-1;if(i&&t.parent)break;if("."!==e[a])if(".."===e[a])s=L(s),n=n.parent;else{s=K(s+"/"+e[a]);try{n=ie(n,e[a])}catch(e){if(44===e?.mb&&i&&t.Jb)return{path:s};throw e}if(!n.rb||i&&!t.tb||(n=n.rb.root),40960==(61440&n.mode)&&(!i||t.sb)){if(!n.fb.readlink)throw new te(52);"/"===(n=n.fb.readlink(n)).charAt(0)||(n=L(s)+"/"+n),e=n+"/"+e.slice(a+1).join("/");continue e}}}return{path:s,node:n}}throw new te(32)}function ae(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%X.length}function ie(e,t){var r=16384==(61440&e.mode)?(r=ce(e,"x"))?r:e.fb.lookup?0:2:54;if(r)throw new te(r);for(r=X[ae(e.id,t)];r;r=r.ob){var n=r.name;if(r.parent.id===e.id&&n===t)return r}return e.fb.lookup(e,t)}function _e(e,t,r,n){return t=ae((e=new ne(e,t,r,n)).parent.id,e.name),e.ob=X[t],X[t]=e}function oe(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function ce(e,t){return Q?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function ue(e,t){if(16384!=(61440&e.mode))return 54;try{return ie(e,t),20}catch(e){}return ce(e,"wx")}function fe(e){if(!(e=Z[e]))throw new te(8);return e}function le(e,t=-1){if(e=Object.assign(new re,e),-1==t)e:{for(t=0;4096>=t;t++)if(!Z[t])break e;throw new te(33)}return e.fd=t,Z[t]=e}function de(e,t){var r=void 0,n=r?null:e;if(r??=e.fb.jb,!r)throw new te(63);r(n,t)}var he={open(e){e.cb=q[e.node.rdev].cb,e.cb.open?.(e)},hb(){throw new te(70)}};function we(e,t){q[e]={cb:t}}function ve(e,t){var r="/"===t;if(r&&j)throw new te(10);if(!r&&t){var n=se(t,{tb:!1});if(t=n.path,(n=n.node).rb)throw new te(10);if(16384!=(61440&n.mode))throw new te(54)}t={type:e,Ub:{},Cb:t,Ib:[]},(e=e.kb(t)).kb=t,t.root=e,r?j=e:n&&(n.rb=t,n.kb&&n.kb.Ib.push(t))}function me(e,t,r){var n=se(e,{parent:!0}).node;if(!(e=e&&e.match(/([^\/]+|\/)\/*$/)[1]))throw new te(28);if("."===e||".."===e)throw new te(20);var s=ue(n,e);if(s)throw new te(s);if(!n.fb.qb)throw new te(63);return n.fb.qb(n,e,t,r)}function be(e){return me(e,16895,0)}function pe(e,t,r){void 0===r&&(r=t,t=438),me(e,8192|t,r)}function ye(e,t){if(!((...e)=>{for(var t="",r=!1,n=e.length-1;-1<=n&&!r;n--){if("string"!=typeof(r=0<=n?e[n]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return(r?"/":"")+(t=F(t.split("/").filter(e=>!!e),!r).join("/"))||"."})(e))throw new te(44);var r=se(t,{parent:!0}).node;if(!r)throw new te(44);var n=ue(r,t=t&&t.match(/([^\/]+|\/)\/*$/)[1]);if(n)throw new te(n);if(!r.fb.symlink)throw new te(63);r.fb.symlink(r,t,e)}function Ee(e,t,r=438){if(""===e)throw new te(44);if("string"==typeof t){var n={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===n)throw Error(`Unknown file open mode: ${t}`);t=n}if(r=64&t?4095&r|32768:0,"object"==typeof e)n=e;else{var s=e.endsWith("/");n=(e=se(e,{sb:!(131072&t),Jb:!0})).node,e=e.path}var a=!1;if(64&t)if(n){if(128&t)throw new te(20)}else{if(s)throw new te(31);n=me(e,511|r,0),a=!0}if(!n)throw new te(44);if(8192==(61440&n.mode)&&(t&=-513),65536&t&&16384!=(61440&n.mode))throw new te(54);if(!a&&(s=n?40960==(61440&n.mode)?32:16384==(61440&n.mode)&&("r"!==oe(t)||576&t)?31:ce(n,oe(t)):44))throw new te(s);if(512&t&&!a){if(16384==(61440&(s="string"==typeof(s=n)?se(s,{sb:!0}).node:s).mode))throw new te(31);if(32768!=(61440&s.mode))throw new te(28);var _=ce(s,"w");if(_)throw new te(_);de(s,{size:0,timestamp:Date.now()})}t&=-131713;e:for(s=n;;){if(s===s.parent){s=s.kb.Cb;var o=o?"/"!==s[s.length-1]?`${s}/${o}`:s+o:s;break e}o=o?`${s.name}/${o}`:s.name,s=s.parent}return(o=le({node:n,path:o,flags:t,seekable:!0,position:0,cb:n.cb,Kb:[],error:!1})).cb.open&&o.cb.open(o),a&&(r&=511,de(n="string"==typeof n?se(n,{sb:!0}).node:n,{mode:4095&r|-4096&n.mode,ctime:Date.now(),Rb:void 0})),!i.logReadFiles||1&t||e in ee||(ee[e]=1),o}function ge(e,t,r){if(null===e.fd)throw new te(8);if(!e.seekable||!e.cb.hb)throw new te(70);if(0!=r&&1!=r&&2!=r)throw new te(28);e.position=e.cb.hb(e,t,r),e.Kb=[]}function Pe(e,t,r){e=K("/dev/"+e);var n=((e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r})(!!t,!!r);Pe.Ab??(Pe.Ab=64);var s=Pe.Ab++<<8;we(s,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,n,s){for(var a=0,i=0;i<s;i++){try{var _=t()}catch(e){throw new te(29)}if(void 0===_&&0===a)throw new te(6);if(null==_)break;a++,r[n+i]=_}return a&&(e.node.atime=Date.now()),a},write(e,t,n,s){for(var a=0;a<s;a++)try{r(t[n+a])}catch(e){throw new te(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),a}}),pe(e,n,s)}var Ae=void 0;X=Array(4096),ve(V,"/"),be("/tmp"),be("/home"),be("/home/web_user"),function(){be("/dev"),we(259,{read:()=>0,write:(e,t,r,n)=>n,hb:()=>0}),pe("/dev/null",259),Y(1280,z),Y(1536,G),pe("/dev/tty",1280),pe("/dev/tty1",1536);var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(D(e),t=e.byteLength),e[--t]);Pe("random",r),Pe("urandom",r),be("/dev/shm"),be("/dev/shm/tmp")}(),function(){be("/proc");var e=be("/proc/self");be("/proc/self/fd"),ve({kb(){var t=_e(e,"fd",16895,73);return t.cb={hb:V.cb.hb},t.fb={lookup(e,t){var r=fe(e=+t);return(e={parent:null,kb:{Cb:"fake"},fb:{readlink:()=>r.path},id:e+1}).parent=e},readdir:()=>Array.from(Z.entries()).filter(([,e])=>e).map(([e])=>e.toString())},t}},"/proc/self/fd")}(),V.yb=new te(44),V.yb.stack="<generic error, no stack>";var Ie,xe={b:function(e,t,r){Ae=r;try{var n=fe(e);switch(t){case 0:var s=S();if(0>s)break;for(;Z[s];)s++;return function(e,t=-1){return e=le(e,t),e.cb?.Sb?.(e),e}(n,s).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:return s=S(),n.flags|=s,0;case 12:return s=S(),w[s+0>>1]=2,0}return-28}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},f:function(e,t,r){Ae=r;try{var n=fe(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.lb.Fb){e=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var s=S();v[s>>2]=25856,v[s+4>>2]=5,v[s+8>>2]=191,v[s+12>>2]=35387;for(var a=0;32>a;a++)d[s+a+17]=e[a]||0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.lb.Gb)for(s=S(),e=[],a=0;32>a;a++)e.push(d[s+a+17]);return 0;case 21519:return n.tty?(s=S(),v[s>>2]=0):-59;case 21520:return n.tty?-28:-59;case 21531:if(s=S(),!n.cb.Eb)throw new te(59);return n.cb.Eb(n,t,s);case 21523:return n.tty?(n.tty.lb.Hb&&(a=[24,80],s=S(),w[s>>1]=a[0],w[s+2>>1]=a[1]),0):-59;default:return-28}}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},g:function(e,t,r,n){Ae=n;try{var s=t=t?O(h,t):"";if("/"===s.charAt(0))t=s;else{var a=-100===e?"/":fe(e).path;if(0==s.length)throw new te(44);t=a+"/"+s}return Ee(t,r,n?S():0).fd}catch(e){if("ErrnoError"!==e.name)throw e;return-e.mb}},i:()=>x(""),h:e=>{var t=h.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);e:{n=(Math.min(2147483648,65536*Math.ceil(Math.max(e,n)/65536))-l.buffer.byteLength+65535)/65536|0;try{l.grow(n),g();var s=1;break e}catch(e){}s=void 0}if(s)return!0}return!1},a:function(e){try{var t=fe(e);if(null===t.fd)throw new te(8);t.ub&&(t.ub=null);try{t.cb.close&&t.cb.close(t)}catch(e){throw e}finally{Z[t.fd]=null}return t.fd=null,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},d:function(e,t,r,n){try{e:{var s=fe(e);e=t;for(var a,i=t=0;i<r;i++){var _=m[e>>2],o=m[e+4>>2];e+=8;var c=s,u=a,f=d;if(0>o||0>u)throw new te(28);if(null===c.fd)throw new te(8);if(1==(2097155&c.flags))throw new te(8);if(16384==(61440&c.node.mode))throw new te(31);if(!c.cb.read)throw new te(28);var l=void 0!==u;if(l){if(!c.seekable)throw new te(70)}else u=c.position;var h=c.cb.read(c,f,_,o,u);l||(c.position+=h);var w=h;if(0>w){var v=-1;break e}if(t+=w,w<o)break;void 0!==a&&(a+=w)}v=t}return m[n>>2]=v,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},e:function(e,t,r,n){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var s=fe(e);return ge(s,t,r),b[n>>3]=BigInt(s.position),s.ub&&0===t&&0===r&&(s.ub=null),0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}},c:function(e,t,r,n){try{e:{var s=fe(e);e=t;for(var a,i=t=0;i<r;i++){var _=m[e>>2],o=m[e+4>>2];e+=8;var c=s,u=_,f=o,l=a,h=d;if(0>f||0>l)throw new te(28);if(null===c.fd)throw new te(8);if(!(2097155&c.flags))throw new te(8);if(16384==(61440&c.node.mode))throw new te(31);if(!c.cb.write)throw new te(28);c.seekable&&1024&c.flags&&ge(c,0,2);var w=void 0!==l;if(w){if(!c.seekable)throw new te(70)}else l=c.position;var v=c.cb.write(c,h,u,f,l,void 0);w||(c.position+=v);var b=v;if(0>b){var p=-1;break e}if(t+=b,b<o)break;void 0!==a&&(a+=b)}p=t}return m[n>>2]=p,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.mb}}};if(async function(){function e(e){return Ie=e.exports,l=Ie.j,g(),A--,i.monitorRunDependencies?.(A),0==A&&I&&(e=I,I=null,e()),Ie}A++,i.monitorRunDependencies?.(A);var t={a:xe};if(i.instantiateWasm)return new Promise(r=>{i.instantiateWasm(t,(t,n)=>{e(t),r(t.exports)})});P??=i.locateFile?i.locateFile("libratchet.wasm",n):n+"libratchet.wasm";try{var s=await async function(e){return C(e)}(t);return e(s.instance)}catch(e){return r(e),Promise.reject(e)}}(),i._vscr_error_ctx_size=()=>(i._vscr_error_ctx_size=Ie.l)(),i._vscr_error_reset=e=>(i._vscr_error_reset=Ie.m)(e),i._vscr_error_status=e=>(i._vscr_error_status=Ie.n)(e),i._vscr_ratchet_message_new=()=>(i._vscr_ratchet_message_new=Ie.o)(),i._vscr_ratchet_message_delete=e=>(i._vscr_ratchet_message_delete=Ie.p)(e),i._vscr_ratchet_message_shallow_copy=e=>(i._vscr_ratchet_message_shallow_copy=Ie.q)(e),i._vscr_ratchet_message_get_type=e=>(i._vscr_ratchet_message_get_type=Ie.r)(e),i._vscr_ratchet_message_get_counter=e=>(i._vscr_ratchet_message_get_counter=Ie.s)(e),i._vscr_ratchet_message_get_sender_identity_key_id=(e,t)=>(i._vscr_ratchet_message_get_sender_identity_key_id=Ie.t)(e,t),i._vscr_ratchet_message_get_receiver_identity_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_identity_key_id=Ie.u)(e,t),i._vscr_ratchet_message_get_receiver_long_term_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_long_term_key_id=Ie.v)(e,t),i._vscr_ratchet_message_get_receiver_one_time_key_id=(e,t)=>(i._vscr_ratchet_message_get_receiver_one_time_key_id=Ie.w)(e,t),i._vscr_ratchet_message_serialize_len=e=>(i._vscr_ratchet_message_serialize_len=Ie.x)(e),i._vscr_ratchet_message_serialize=(e,t)=>(i._vscr_ratchet_message_serialize=Ie.y)(e,t),i._vscr_ratchet_message_deserialize=(e,t)=>(i._vscr_ratchet_message_deserialize=Ie.z)(e,t),i._vscr_ratchet_session_release_rng=e=>(i._vscr_ratchet_session_release_rng=Ie.A)(e),i._vscr_ratchet_session_new=()=>(i._vscr_ratchet_session_new=Ie.B)(),i._vscr_ratchet_session_delete=e=>(i._vscr_ratchet_session_delete=Ie.C)(e),i._vscr_ratchet_session_shallow_copy=e=>(i._vscr_ratchet_session_shallow_copy=Ie.D)(e),i._vscr_ratchet_session_use_rng=(e,t)=>(i._vscr_ratchet_session_use_rng=Ie.E)(e,t),i._vscr_ratchet_session_setup_defaults=e=>(i._vscr_ratchet_session_setup_defaults=Ie.F)(e),i._vscr_ratchet_session_initiate=(e,t,r,n,s,a,_,o,c)=>(i._vscr_ratchet_session_initiate=Ie.G)(e,t,r,n,s,a,_,o,c),i._vscr_ratchet_session_initiate_no_one_time_key=(e,t,r,n,s,a,_)=>(i._vscr_ratchet_session_initiate_no_one_time_key=Ie.H)(e,t,r,n,s,a,_),i._vscr_ratchet_session_respond=(e,t,r,n,s,a)=>(i._vscr_ratchet_session_respond=Ie.I)(e,t,r,n,s,a),i._vscr_ratchet_session_respond_no_one_time_key=(e,t,r,n,s)=>(i._vscr_ratchet_session_respond_no_one_time_key=Ie.J)(e,t,r,n,s),i._vscr_ratchet_session_is_initiator=e=>(i._vscr_ratchet_session_is_initiator=Ie.K)(e),i._vscr_ratchet_session_is_pqc_enabled=e=>(i._vscr_ratchet_session_is_pqc_enabled=Ie.L)(e),i._vscr_ratchet_session_received_first_response=e=>(i._vscr_ratchet_session_received_first_response=Ie.M)(e),i._vscr_ratchet_session_receiver_has_one_time_public_key=e=>(i._vscr_ratchet_session_receiver_has_one_time_public_key=Ie.N)(e),i._vscr_ratchet_session_encrypt=(e,t,r)=>(i._vscr_ratchet_session_encrypt=Ie.O)(e,t,r),i._vscr_ratchet_session_decrypt_len=(e,t)=>(i._vscr_ratchet_session_decrypt_len=Ie.P)(e,t),i._vscr_ratchet_session_decrypt=(e,t,r)=>(i._vscr_ratchet_session_decrypt=Ie.Q)(e,t,r),i._vscr_ratchet_session_serialize=e=>(i._vscr_ratchet_session_serialize=Ie.R)(e),i._vscr_ratchet_session_deserialize=(e,t)=>(i._vscr_ratchet_session_deserialize=Ie.S)(e,t),i._vscf_impl_api=(e,t)=>(i._vscf_impl_api=Ie.T)(e,t),i._vscf_impl_tag=e=>(i._vscf_impl_tag=Ie.U)(e),i._vscf_impl_shallow_copy=e=>(i._vscf_impl_shallow_copy=Ie.V)(e),i._vscf_error_ctx_size=()=>(i._vscf_error_ctx_size=Ie.W)(),i._vscf_error_reset=e=>(i._vscf_error_reset=Ie.X)(e),i._vscf_error_status=e=>(i._vscf_error_status=Ie.Y)(e),i._vscf_sha512_alg_id=e=>(i._vscf_sha512_alg_id=Ie.Z)(e),i._vscf_sha512_produce_alg_info=e=>(i._vscf_sha512_produce_alg_info=Ie._)(e),i._vscf_sha512_restore_alg_info=(e,t)=>(i._vscf_sha512_restore_alg_info=Ie.$)(e,t),i._vscf_sha512_hash=(e,t)=>(i._vscf_sha512_hash=Ie.aa)(e,t),i._vscf_sha512_finish=(e,t)=>(i._vscf_sha512_finish=Ie.ba)(e,t),i._vscf_sha512_start=e=>(i._vscf_sha512_start=Ie.ca)(e),i._vscf_sha512_update=(e,t)=>(i._vscf_sha512_update=Ie.da)(e,t),i._vscf_sha512_new=()=>(i._vscf_sha512_new=Ie.ea)(),i._vscf_sha512_delete=e=>(i._vscf_sha512_delete=Ie.fa)(e),i._vscf_sha512_shallow_copy=e=>(i._vscf_sha512_shallow_copy=Ie.ga)(e),i._vscf_ctr_drbg_setup_defaults=e=>(i._vscf_ctr_drbg_setup_defaults=Ie.ha)(e),i._vscf_ctr_drbg_enable_prediction_resistance=e=>(i._vscf_ctr_drbg_enable_prediction_resistance=Ie.ia)(e),i._vscf_ctr_drbg_set_reseed_interval=(e,t)=>(i._vscf_ctr_drbg_set_reseed_interval=Ie.ja)(e,t),i._vscf_ctr_drbg_set_entropy_len=(e,t)=>(i._vscf_ctr_drbg_set_entropy_len=Ie.ka)(e,t),i._vscf_ctr_drbg_random=(e,t,r)=>(i._vscf_ctr_drbg_random=Ie.la)(e,t,r),i._vscf_ctr_drbg_reseed=e=>(i._vscf_ctr_drbg_reseed=Ie.ma)(e),i._vscf_ctr_drbg_use_entropy_source=(e,t)=>(i._vscf_ctr_drbg_use_entropy_source=Ie.na)(e,t),i._vscf_ctr_drbg_release_entropy_source=e=>(i._vscf_ctr_drbg_release_entropy_source=Ie.oa)(e),i._vscf_ctr_drbg_new=()=>(i._vscf_ctr_drbg_new=Ie.pa)(),i._vscf_ctr_drbg_delete=e=>(i._vscf_ctr_drbg_delete=Ie.qa)(e),i._vscf_ctr_drbg_shallow_copy=e=>(i._vscf_ctr_drbg_shallow_copy=Ie.ra)(e),i._vscf_hmac_alg_id=e=>(i._vscf_hmac_alg_id=Ie.sa)(e),i._vscf_hmac_produce_alg_info=e=>(i._vscf_hmac_produce_alg_info=Ie.ta)(e),i._vscf_hmac_restore_alg_info=(e,t)=>(i._vscf_hmac_restore_alg_info=Ie.ua)(e,t),i._vscf_hmac_digest_len=e=>(i._vscf_hmac_digest_len=Ie.va)(e),i._vscf_hmac_mac=(e,t,r,n)=>(i._vscf_hmac_mac=Ie.wa)(e,t,r,n),i._vscf_hmac_start=(e,t)=>(i._vscf_hmac_start=Ie.xa)(e,t),i._vscf_hmac_finish=(e,t)=>(i._vscf_hmac_finish=Ie.ya)(e,t),i._vscf_hmac_update=(e,t)=>(i._vscf_hmac_update=Ie.za)(e,t),i._vscf_hmac_reset=e=>(i._vscf_hmac_reset=Ie.Aa)(e),i._vscf_hmac_use_hash=(e,t)=>(i._vscf_hmac_use_hash=Ie.Ba)(e,t),i._vscf_hmac_release_hash=e=>(i._vscf_hmac_release_hash=Ie.Ca)(e),i._vscf_hmac_new=()=>(i._vscf_hmac_new=Ie.Da)(),i._vscf_hmac_delete=e=>(i._vscf_hmac_delete=Ie.Ea)(e),i._vscf_hmac_shallow_copy=e=>(i._vscf_hmac_shallow_copy=Ie.Fa)(e),i._vscf_hkdf_alg_id=e=>(i._vscf_hkdf_alg_id=Ie.Ga)(e),i._vscf_hkdf_produce_alg_info=e=>(i._vscf_hkdf_produce_alg_info=Ie.Ha)(e),i._vscf_hkdf_restore_alg_info=(e,t)=>(i._vscf_hkdf_restore_alg_info=Ie.Ia)(e,t),i._vscf_hkdf_derive=(e,t,r,n)=>(i._vscf_hkdf_derive=Ie.Ja)(e,t,r,n),i._vscf_hkdf_reset=(e,t,r)=>(i._vscf_hkdf_reset=Ie.Ka)(e,t,r),i._vscf_hkdf_set_info=(e,t)=>(i._vscf_hkdf_set_info=Ie.La)(e,t),i._vscf_hkdf_use_hash=(e,t)=>(i._vscf_hkdf_use_hash=Ie.Ma)(e,t),i._vscf_hkdf_release_hash=e=>(i._vscf_hkdf_release_hash=Ie.Na)(e),i._vscf_hkdf_new=()=>(i._vscf_hkdf_new=Ie.Oa)(),i._vscf_hkdf_delete=e=>(i._vscf_hkdf_delete=Ie.Pa)(e),i._vscf_hkdf_shallow_copy=e=>(i._vscf_hkdf_shallow_copy=Ie.Qa)(e),i._vsc_data_ctx_size=()=>(i._vsc_data_ctx_size=Ie.Ra)(),i._vsc_data=(e,t,r)=>(i._vsc_data=Ie.Sa)(e,t,r),i._vsc_data_len=e=>(i._vsc_data_len=Ie.Ta)(e),i._vsc_data_bytes=e=>(i._vsc_data_bytes=Ie.Ua)(e),i._vsc_buffer_new=()=>(i._vsc_buffer_new=Ie.Va)(),i._vsc_buffer_new_with_capacity=e=>(i._vsc_buffer_new_with_capacity=Ie.Wa)(e),i._vsc_buffer_delete=e=>(i._vsc_buffer_delete=Ie.Xa)(e),i._vsc_buffer_data=(e,t)=>(i._vsc_buffer_data=Ie.Ya)(e,t),i._vsc_buffer_make_secure=e=>(i._vsc_buffer_make_secure=Ie.Za)(e),i._vsc_buffer_bytes=e=>(i._vsc_buffer_bytes=Ie._a)(e),i._vsc_buffer_len=e=>(i._vsc_buffer_len=Ie.$a)(e),i._malloc=e=>(i._malloc=Ie.ab)(e),i._free=e=>(i._free=Ie.bb)(e),i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);0<i.preInit.length;)i.preInit.pop()();return function e(){function r(){if(i.calledRun=!0,!y){var e,r;if(i.noFSInit||J||(J=!0,n??=i.stdin,e??=i.stdout,r??=i.stderr,n?Pe("stdin",n):ye("/dev/tty","/dev/stdin"),e?Pe("stdout",null,e):ye("/dev/tty","/dev/stdout"),r?Pe("stderr",null,r):ye("/dev/tty1","/dev/stderr"),Ee("/dev/stdin",0),Ee("/dev/stdout",1),Ee("/dev/stderr",1)),Ie.k(),Q=!1,t(i),i.onRuntimeInitialized?.(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var n=i.postRun.shift();N.unshift(n)}T(N)}}if(0<A)I=e;else{if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)R();T(k),0<A?I=e:i.setStatus?(i.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>i.setStatus(""),1),r()},1)):r()}}(),_});e.exports=r,e.exports.default=r}(u)),u.exports}var l,d,h,w,v,m,b,p,y,E,g,P,A,I,x,C={};function T(){if(l)return C;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return l=1,C.ensureNumber=e,C.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},C.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},C.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},C.ensureClass=function(e,r,n){if(!(r instanceof n))throw new TypeError(`'${e}' is not an instance of the class ${n.name}`);t(e,r.ctxPtr)},C.ensureNotNull=t,C.ensureImplementInterface=function(e,r,n,s,a){if(t(e,r.ctxPtr),!a.isImplemented(r.ctxPtr,s))throw new TypeError(`'${e}' does not implement interface '${n}'`)},C}var N,k,R,S,F,K,L,D,M,O={};function B(){if(N)return O;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return N=1,O.ensureNumber=e,O.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},O.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},O.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},O.ensureClass=function(e,r,n){if(!(r instanceof n))throw new TypeError(`'${e}' is not an instance of the class ${n.name}`);t(e,r.ctxPtr)},O.ensureNotNull=t,O.ensureImplementInterface=function(e,r,n,s,a){if(t(e,r.ctxPtr),!a.isImplemented(r.ctxPtr,s))throw new TypeError(`'${e}' does not implement interface '${n}'`)},O}var H=function(){if(M)return D;M=1;const e=f(),t=n?r:(n=1,r=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="FoundationError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("This error should not be returned if assertions is enabled.");if(-2==e)throw new r("Can be used to define that not all context prerequisites are satisfied. Note, this error should not be returned if assertions is enabled.");if(-3==e)throw new r("Define that error code from one of third-party module was not handled. Note, this error should not be returned if assertions is enabled.");if(-101==e)throw new r("Buffer capacity is not enough to hold result.");if(-200==e)throw new r("Unsupported algorithm.");if(-201==e)throw new r("Authentication failed during decryption.");if(-202==e)throw new r("Attempt to read data out of buffer bounds.");if(-203==e)throw new r("ASN.1 encoded data is corrupted.");if(-204==e)throw new r("Attempt to read ASN.1 type that is bigger then requested C type.");if(-205==e)throw new r("ASN.1 representation of PKCS#1 public key is corrupted.");if(-206==e)throw new r("ASN.1 representation of PKCS#1 private key is corrupted.");if(-207==e)throw new r("ASN.1 representation of PKCS#8 public key is corrupted.");if(-208==e)throw new r("ASN.1 representation of PKCS#8 private key is corrupted.");if(-209==e)throw new r("Encrypted data is corrupted.");if(-210==e)throw new r("Underlying random operation returns error.");if(-211==e)throw new r("Generation of the private or secret key failed.");if(-212==e)throw new r("One of the entropy sources failed.");if(-213==e)throw new r("Requested data to be generated is too big.");if(-214==e)throw new r("Base64 encoded string contains invalid characters.");if(-215==e)throw new r("PEM data is corrupted.");if(-216==e)throw new r("Exchange key return zero.");if(-217==e)throw new r("Ed25519 public key is corrupted.");if(-218==e)throw new r("Ed25519 private key is corrupted.");if(-219==e)throw new r("CURVE25519 public key is corrupted.");if(-220==e)throw new r("CURVE25519 private key is corrupted.");if(-221==e)throw new r("Elliptic curve public key format is corrupted see RFC 5480.");if(-222==e)throw new r("Elliptic curve public key format is corrupted see RFC 5915.");if(-223==e)throw new r("ASN.1 representation of a public key is corrupted.");if(-224==e)throw new r("ASN.1 representation of a private key is corrupted.");if(-225==e)throw new r("Key algorithm does not accept given type of public key.");if(-226==e)throw new r("Key algorithm does not accept given type of private key.");if(-227==e)throw new r("Post-quantum Falcon-Sign public key is corrupted.");if(-228==e)throw new r("Post-quantum Falcon-Sign private key is corrupted.");if(-232==e)throw new r("Compound public key is corrupted.");if(-233==e)throw new r("Compound private key is corrupted.");if(-234==e)throw new r("Compound public hybrid key is corrupted.");if(-235==e)throw new r("Compound private hybrid key is corrupted.");if(-236==e)throw new r("ASN.1 AlgorithmIdentifer is corrupted.");if(-237==e)throw new r("ASN.1 AlgorithmIdentifer with ECParameters is corrupted.");if(-238==e)throw new r("ASN.1 AlgorithmIdentifer with CompoundKeyParams is corrupted.");if(-239==e)throw new r("ASN.1 AlgorithmIdentifer with HybridKeyParams is corrupted.");if(-240==e)throw new r("Post-quantum ML-KEM-768 public key is corrupted.");if(-241==e)throw new r("Post-quantum ML-KEM-768 private key is corrupted.");if(-242==e)throw new r("Post-quantum ML-DSA-65 public key is corrupted.");if(-243==e)throw new r("Post-quantum ML-DSA-65 private key is corrupted.");if(-301==e)throw new r("Decryption failed, because message info was not given explicitly, and was not part of an encrypted message.");if(-302==e)throw new r("Message Info is corrupted.");if(-303==e)throw new r("Recipient defined with id is not found within message info during data decryption.");if(-304==e)throw new r("Content encryption key can not be decrypted with a given private key.");if(-305==e)throw new r("Content encryption key can not be decrypted with a given password.");if(-306==e)throw new r("Custom parameter with a given key is not found within message info.");if(-307==e)throw new r("A custom parameter with a given key is found, but the requested value type does not correspond to the actual type.");if(-308==e)throw new r("Signature format is corrupted.");if(-309==e)throw new r("Message Info footer is corrupted.");if(-310==e)throw new r("Chunk cipher frame counter limit is reached, so no more chunks can be processed under the same key and nonce.");if(-311==e)throw new r("Content encryption key can not be decrypted with a given key encryption key (KEK).");if(-401==e)throw new r("Brainkey password length is out of range.");if(-402==e)throw new r("Brainkey number length should be 32 byte.");if(-403==e)throw new r("Brainkey point length should be 65 bytes.");if(-404==e)throw new r("Brainkey name is out of range.");if(-405==e)throw new r("Brainkey internal error.");if(-406==e)throw new r("Brainkey point is invalid.");if(-407==e)throw new r("Brainkey number buffer length capacity should be >= 32 byte.");if(-408==e)throw new r("Brainkey point buffer length capacity should be >= 32 byte.");if(-409==e)throw new r("Brainkey seed buffer length capacity should be >= 32 byte.");if(-410==e)throw new r("Brainkey identity secret is invalid.");if(-411==e)throw new r("KEM encapsulated key is invalid or does not correspond to the private key.");if(-501==e)throw new r("Invalid padding.");if(-601==e)throw new r("Protobuf error.");if(-701==e)throw new r("Session id doesnt match.");if(-702==e)throw new r("Epoch not found.");if(-703==e)throw new r("Wrong key type.");if(-704==e)throw new r("Invalid signature.");if(-705==e)throw new r("Ed25519 error.");if(-706==e)throw new r("Duplicate epoch.");if(-707==e)throw new r("Plain text too long.");throw new r("Unexpected status code:"+e)}}}return r}),u=a?s:(a=1,s=(e,t)=>class{static newAndTakeCContext(r){const n=e._vscf_impl_tag(r);switch(n){case t.FoundationImplTag.AES128_KW:return t.Aes128Kw.newAndTakeCContext(r);case t.FoundationImplTag.AES256_CBC:return t.Aes256Cbc.newAndTakeCContext(r);case t.FoundationImplTag.AES256_GCM:return t.Aes256Gcm.newAndTakeCContext(r);case t.FoundationImplTag.AES256_KW:return t.Aes256Kw.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_DESERIALIZER:return t.AlgInfoDerDeserializer.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_SERIALIZER:return t.AlgInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ASN1RD:return t.Asn1rd.newAndTakeCContext(r);case t.FoundationImplTag.ASN1WR:return t.Asn1wr.newAndTakeCContext(r);case t.FoundationImplTag.CIPHER_ALG_INFO:return t.CipherAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG:return t.CompoundKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG_INFO:return t.CompoundKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PRIVATE_KEY:return t.CompoundPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PUBLIC_KEY:return t.CompoundPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.CTR_DRBG:return t.CtrDrbg.newAndTakeCContext(r);case t.FoundationImplTag.CURVE25519:return t.Curve25519.newAndTakeCContext(r);case t.FoundationImplTag.ECC:return t.Ecc.newAndTakeCContext(r);case t.FoundationImplTag.ECC_ALG_INFO:return t.EccAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PRIVATE_KEY:return t.EccPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PUBLIC_KEY:return t.EccPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.ED25519:return t.Ed25519.newAndTakeCContext(r);case t.FoundationImplTag.ENTROPY_ACCUMULATOR:return t.EntropyAccumulator.newAndTakeCContext(r);case t.FoundationImplTag.FAKE_RANDOM:return t.FakeRandom.newAndTakeCContext(r);case t.FoundationImplTag.FALCON:return t.Falcon.newAndTakeCContext(r);case t.FoundationImplTag.HASH_BASED_ALG_INFO:return t.HashBasedAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HKDF:return t.Hkdf.newAndTakeCContext(r);case t.FoundationImplTag.HMAC:return t.Hmac.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG:return t.HybridKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG_INFO:return t.HybridKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PRIVATE_KEY:return t.HybridPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PUBLIC_KEY:return t.HybridPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.KDF1:return t.Kdf1.newAndTakeCContext(r);case t.FoundationImplTag.KDF2:return t.Kdf2.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_DESERIALIZER:return t.KeyAsn1Deserializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_SERIALIZER:return t.KeyAsn1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_MATERIAL_RNG:return t.KeyMaterialRng.newAndTakeCContext(r);case t.FoundationImplTag.MESSAGE_INFO_DER_SERIALIZER:return t.MessageInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ML_DSA:return t.MlDsa.newAndTakeCContext(r);case t.FoundationImplTag.ML_KEM:return t.MlKem.newAndTakeCContext(r);case t.FoundationImplTag.PBE_ALG_INFO:return t.PbeAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBES2:return t.Pkcs5Pbes2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBKDF2:return t.Pkcs5Pbkdf2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS8_SERIALIZER:return t.Pkcs8Serializer.newAndTakeCContext(r);case t.FoundationImplTag.RANDOM_PADDING:return t.RandomPadding.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PRIVATE_KEY:return t.RawPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PUBLIC_KEY:return t.RawPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA:return t.Rsa.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PRIVATE_KEY:return t.RsaPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PUBLIC_KEY:return t.RsaPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.SALTED_KDF_ALG_INFO:return t.SaltedKdfAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.SEC1_SERIALIZER:return t.Sec1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.SEED_ENTROPY_SOURCE:return t.SeedEntropySource.newAndTakeCContext(r);case t.FoundationImplTag.SHA224:return t.Sha224.newAndTakeCContext(r);case t.FoundationImplTag.SHA256:return t.Sha256.newAndTakeCContext(r);case t.FoundationImplTag.SHA384:return t.Sha384.newAndTakeCContext(r);case t.FoundationImplTag.SHA512:return t.Sha512.newAndTakeCContext(r);case t.FoundationImplTag.SIMPLE_ALG_INFO:return t.SimpleAlgInfo.newAndTakeCContext(r);default:throw new Error("Unexpected implementation tag found: "+n)}}static newAndUseCContext(r){return new t.FoundationInterface.newAndTakeCContext(e._vscf_impl_shallow_copy(r))}static isImplemented(t,r){return 0!=e._vscf_impl_api(t,r)}}),l=_?i:(_=1,i=(e,t)=>Object.freeze({ALG:1,ALG_INFO:2,ALG_INFO_DESERIALIZER:3,ALG_INFO_SERIALIZER:4,ASN1_READER:5,ASN1_WRITER:6,AUTH_DECRYPT:7,AUTH_ENCRYPT:8,CIPHER:9,CIPHER_AUTH:10,CIPHER_AUTH_INFO:11,CIPHER_INFO:12,COMPUTE_SHARED_KEY:13,DECRYPT:14,ENCRYPT:15,ENTROPY_SOURCE:16,HASH:17,KDF:18,KEM:19,KEY:20,KEY_ALG:21,KEY_CIPHER:22,KEY_DESERIALIZER:23,KEY_SERIALIZER:24,KEY_SIGNER:25,KEY_WRAP:26,MAC:27,MESSAGE_INFO_FOOTER_SERIALIZER:28,MESSAGE_INFO_SERIALIZER:29,PADDING:30,PRIVATE_KEY:31,PUBLIC_KEY:32,RANDOM:33,SALTED_KDF:34})),C=c?o:(c=1,o=(e,t)=>Object.freeze({AES128_KW:1,AES256_CBC:2,AES256_GCM:3,AES256_KW:4,ALG_INFO_DER_DESERIALIZER:5,ALG_INFO_DER_SERIALIZER:6,ASN1RD:7,ASN1WR:8,CIPHER_ALG_INFO:9,COMPOUND_KEY_ALG:10,COMPOUND_KEY_ALG_INFO:11,COMPOUND_PRIVATE_KEY:12,COMPOUND_PUBLIC_KEY:13,CTR_DRBG:14,CURVE25519:15,ECC:16,ECC_ALG_INFO:17,ECC_PRIVATE_KEY:18,ECC_PUBLIC_KEY:19,ED25519:20,ENTROPY_ACCUMULATOR:21,FAKE_RANDOM:22,FALCON:23,HASH_BASED_ALG_INFO:24,HKDF:25,HMAC:26,HYBRID_KEY_ALG:27,HYBRID_KEY_ALG_INFO:28,HYBRID_PRIVATE_KEY:29,HYBRID_PUBLIC_KEY:30,KDF1:31,KDF2:32,KEY_ASN1_DESERIALIZER:33,KEY_ASN1_SERIALIZER:34,KEY_MATERIAL_RNG:35,MESSAGE_INFO_DER_SERIALIZER:36,ML_DSA:37,ML_KEM:38,PBE_ALG_INFO:39,PKCS5_PBES2:40,PKCS5_PBKDF2:41,PKCS8_SERIALIZER:42,RANDOM_PADDING:43,RAW_PRIVATE_KEY:44,RAW_PUBLIC_KEY:45,RSA:46,RSA_PRIVATE_KEY:47,RSA_PUBLIC_KEY:48,SALTED_KDF_ALG_INFO:49,SEC1_SERIALIZER:50,SEED_ENTROPY_SOURCE:51,SHA224:52,SHA256:53,SHA384:54,SHA512:55,SIMPLE_ALG_INFO:56})),N=function(){if(h)return d;h=1;const e=T();return d=(t,r)=>{class n{constructor(e){this.name="CtrDrbg",this.ctxPtr=void 0===e?t._vscf_ctr_drbg_new():e}static newAndUseCContext(e){return new n(t._vscf_ctr_drbg_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_ctr_drbg_delete(this.ctxPtr),this.ctxPtr=null)}set entropySource(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("entropySource",n,"Foundation.EntropySource",r.FoundationInterfaceTag.ENTROPY_SOURCE,r.FoundationInterface),t._vscf_ctr_drbg_release_entropy_source(this.ctxPtr),t._vscf_ctr_drbg_use_entropy_source(this.ctxPtr,n.ctxPtr)}static get RESEED_INTERVAL(){return 1e4}get RESEED_INTERVAL(){return 1e4}static get ENTROPY_LEN(){return 48}get ENTROPY_LEN(){return 48}random(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("dataLen",n);const s=n,a=t._vsc_buffer_new_with_capacity(s);try{const e=t._vscf_ctr_drbg_random(this.ctxPtr,n,a);r.FoundationError.handleStatusCode(e);const s=t._vsc_buffer_bytes(a),i=t._vsc_buffer_len(a);return t.HEAPU8.slice(s,s+i)}finally{t._vsc_buffer_delete(a)}}reseed(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscf_ctr_drbg_reseed(this.ctxPtr);r.FoundationError.handleStatusCode(n)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscf_ctr_drbg_setup_defaults(this.ctxPtr);r.FoundationError.handleStatusCode(n)}enablePredictionResistance(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_ctr_drbg_enable_prediction_resistance(this.ctxPtr)}setReseedInterval(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("interval",r),t._vscf_ctr_drbg_set_reseed_interval(this.ctxPtr,r)}setEntropyLen(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("len",r),t._vscf_ctr_drbg_set_entropy_len(this.ctxPtr,r)}}return n}}(),O=function(){if(v)return w;v=1;const e=T();return w=(t,r)=>{class n{constructor(e){this.name="Hmac",this.ctxPtr=void 0===e?t._vscf_hmac_new():e}static newAndUseCContext(e){return new n(t._vscf_hmac_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hmac_delete(this.ctxPtr),this.ctxPtr=null)}set hash(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",n,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hmac_release_hash(this.ctxPtr),t._vscf_hmac_use_hash(this.ctxPtr,n.ctxPtr)}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_hmac_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_hmac_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}digestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_digest_len(this.ctxPtr),r}mac(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r),e.ensureByteArray("data",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=n.length*n.BYTES_PER_ELEMENT,c=t._malloc(o);t.HEAP8.set(n,c);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,c,o);const l=this.digestLen(),d=t._vsc_buffer_new_with_capacity(l);try{t._vscf_hmac_mac(this.ctxPtr,_,f,d);const e=t._vsc_buffer_bytes(d),r=t._vsc_buffer_len(d);return t.HEAPU8.slice(e,e+r)}finally{t._free(a),t._free(_),t._free(c),t._free(f),t._vsc_buffer_delete(d)}}start(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hmac_start(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hmac_update(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.digestLen(),n=t._vsc_buffer_new_with_capacity(r);try{t._vscf_hmac_finish(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}reset(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_hmac_reset(this.ctxPtr)}}return n}}(),H=function(){if(b)return m;b=1;const e=T();return m=(t,r)=>{class n{constructor(e){this.name="Hkdf",this.ctxPtr=void 0===e?t._vscf_hkdf_new():e}static newAndUseCContext(e){return new n(t._vscf_hkdf_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hkdf_delete(this.ctxPtr),this.ctxPtr=null)}set hash(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",n,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hkdf_release_hash(this.ctxPtr),t._vscf_hkdf_use_hash(this.ctxPtr,n.ctxPtr)}static get HASH_COUNTER_MAX(){return 255}get HASH_COUNTER_MAX(){return 255}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hkdf_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_hkdf_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_hkdf_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}derive(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r),e.ensureNumber("keyLen",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=n,c=t._vsc_buffer_new_with_capacity(o);try{t._vscf_hkdf_derive(this.ctxPtr,_,n,c);const e=t._vsc_buffer_bytes(c),r=t._vsc_buffer_len(c);return t.HEAPU8.slice(e,e+r)}finally{t._free(a),t._free(_),t._vsc_buffer_delete(c)}}reset(r,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("salt",r),e.ensureNumber("iterationCount",n);const s=r.length*r.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(r,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);try{t._vscf_hkdf_reset(this.ctxPtr,_,n)}finally{t._free(a),t._free(_)}}setInfo(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("info",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_hkdf_set_info(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}}return n}}(),Y=function(){if(y)return p;y=1;const e=T();return p=(t,r)=>{class n{constructor(e){this.name="Sha512",this.ctxPtr=void 0===e?t._vscf_sha512_new():e}static newAndUseCContext(e){return new n(t._vscf_sha512_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_sha512_delete(this.ctxPtr),this.ctxPtr=null)}static get DIGEST_LEN(){return 64}get DIGEST_LEN(){return 64}static get BLOCK_LEN(){return 128}get BLOCK_LEN(){return 128}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_sha512_alg_id(this.ctxPtr),r}produceAlgInfo(){let n;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),n=t._vscf_sha512_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(n)}restoreAlgInfo(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",n,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const s=t._vscf_sha512_restore_alg_info(this.ctxPtr,n.ctxPtr);r.FoundationError.handleStatusCode(s)}static hash(r){e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);const _=this.DIGEST_LEN,o=t._vsc_buffer_new_with_capacity(_);try{t._vscf_sha512_hash(i,o);const e=t._vsc_buffer_bytes(o),r=t._vsc_buffer_len(o);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(i),t._vsc_buffer_delete(o)}}hash(e){return n.hash(e)}start(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_sha512_start(this.ctxPtr)}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const a=t._vsc_data_ctx_size(),i=t._malloc(a);t._vsc_data(i,s,n);try{t._vscf_sha512_update(this.ctxPtr,i)}finally{t._free(s),t._free(i)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.DIGEST_LEN,n=t._vsc_buffer_new_with_capacity(r);try{t._vscf_sha512_finish(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}}return n}}(),U=g?E:(g=1,E=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="RatchetError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("Error during protobuf deserialization.");if(-2==e)throw new r("Bad message type.");if(-3==e)throw new r("AES error.");if(-4==e)throw new r("RNG failed.");if(-5==e)throw new r("Curve25519 error.");if(-6==e)throw new r("Curve25519 error.");if(-7==e)throw new r("Key deserialization failed.");if(-8==e)throw new r("Invalid key type.");if(-9==e)throw new r("Identity key doesn't match.");if(-10==e)throw new r("Message already decrypted.");if(-11==e)throw new r("Too many lost messages.");if(-12==e)throw new r("Sender chain missing.");if(-13==e)throw new r("Skipped message missing.");if(-14==e)throw new r("Session is not initialized.");if(-15==e)throw new r("Exceeded max plain text len.");if(-16==e)throw new r("Too many messages for sender chain.");if(-17==e)throw new r("Too many messages for receiver chain.");if(-18==e)throw new r("Invalid padding.");if(-19==e)throw new r("Too many participants.");if(-20==e)throw new r("Too few participants.");if(-21==e)throw new r("Sender not found.");if(-22==e)throw new r("Cannot decrypt own messages.");if(-23==e)throw new r("Invalid signature.");if(-24==e)throw new r("Cannot remove myself.");if(-25==e)throw new r("Epoch mismatch.");if(-26==e)throw new r("Epoch not found.");if(-27==e)throw new r("Session id mismatch.");if(-28==e)throw new r("Simultaneous group user operation.");if(-29==e)throw new r("Myself is included in info.");if(-30==e)throw new r("KEM encapsulate or decapsulate operation failed.");if(-31==e)throw new r("Signing operation failed.");if(-32==e)throw new r("Decaps signature is invalid.");throw new r("Unexpected status code:"+e)}}}return r}),z=A?P:(A=1,P=(e,t)=>Object.freeze({REGULAR:1,PREKEY:2})),G=x?I:(x=1,I=(e,t)=>Object.freeze({GROUP_INFO:1,REGULAR:2})),$=R?k:(R=1,B(),k=(e,t)=>class{static get MAX_PLAIN_TEXT_LEN(){return 3e4}get MAX_PLAIN_TEXT_LEN(){return 3e4}static get MAX_MESSAGE_LEN(){return 35583}get MAX_MESSAGE_LEN(){return 35583}static get KEY_ID_LEN(){return 8}get KEY_ID_LEN(){return 8}static get PARTICIPANT_ID_LEN(){return 32}get PARTICIPANT_ID_LEN(){return 32}static get SESSION_ID_LEN(){return 32}get SESSION_ID_LEN(){return 32}static get MAX_PARTICIPANTS_COUNT(){return 100}get MAX_PARTICIPANTS_COUNT(){return 100}static get MIN_PARTICIPANTS_COUNT(){return 2}get MIN_PARTICIPANTS_COUNT(){return 2}static get MAX_GROUP_MESSAGE_LEN(){return 32918}get MAX_GROUP_MESSAGE_LEN(){return 32918}}),V=function(){if(F)return S;F=1;const e=B();return S=(t,r)=>{class n{constructor(e){this.name="RatchetMessage",this.ctxPtr=void 0===e?t._vscr_ratchet_message_new():e}static newAndUseCContext(e){return new n(t._vscr_ratchet_message_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscr_ratchet_message_delete(this.ctxPtr),this.ctxPtr=null)}getType(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_get_type(this.ctxPtr),r}getCounter(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_get_counter(this.ctxPtr),r}getSenderIdentityKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_sender_identity_key_id(this.ctxPtr)}getReceiverIdentityKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_identity_key_id(this.ctxPtr)}getReceiverLongTermKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_long_term_key_id(this.ctxPtr)}getReceiverOneTimeKeyId(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscr_ratchet_message_get_receiver_one_time_key_id(this.ctxPtr)}serializeLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_message_serialize_len(this.ctxPtr),r}serialize(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.serializeLen(),n=t._vsc_buffer_new_with_capacity(r);try{t._vscr_ratchet_message_serialize(this.ctxPtr,n);const e=t._vsc_buffer_bytes(n),r=t._vsc_buffer_len(n);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(n)}}static deserialize(n){e.ensureByteArray("input",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_message_deserialize(_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.Self.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}deserialize(e){return n.deserialize(e)}}return n}}(),j=function(){if(L)return K;L=1;const e=B();return K=(t,r)=>{class n{constructor(e){this.name="RatchetSession",this.ctxPtr=void 0===e?t._vscr_ratchet_session_new():e}static newAndUseCContext(e){return new n(t._vscr_ratchet_session_shallow_copy(e))}static newAndTakeCContext(e){return new n(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscr_ratchet_session_delete(this.ctxPtr),this.ctxPtr=null)}set rng(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("rng",n,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vscr_ratchet_session_release_rng(this.ctxPtr),t._vscr_ratchet_session_use_rng(this.ctxPtr,n.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const n=t._vscr_ratchet_session_setup_defaults(this.ctxPtr);r.RatchetError.handleStatusCode(n)}initiate(n,s,a,i,_,o,c,u){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPrivateKey",n,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureByteArray("senderIdentityKeyId",s),e.ensureImplementInterface("receiverIdentityPublicKey",a,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverIdentityKeyId",i),e.ensureImplementInterface("receiverLongTermPublicKey",_,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverLongTermKeyId",o),e.ensureImplementInterface("receiverOneTimePublicKey",c,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverOneTimeKeyId",u);const f=s.length*s.BYTES_PER_ELEMENT,l=t._malloc(f);t.HEAP8.set(s,l);const d=t._vsc_data_ctx_size(),h=t._malloc(d);t._vsc_data(h,l,f);const w=i.length*i.BYTES_PER_ELEMENT,v=t._malloc(w);t.HEAP8.set(i,v);const m=t._vsc_data_ctx_size(),b=t._malloc(m);t._vsc_data(b,v,w);const p=o.length*o.BYTES_PER_ELEMENT,y=t._malloc(p);t.HEAP8.set(o,y);const E=t._vsc_data_ctx_size(),g=t._malloc(E);t._vsc_data(g,y,p);const P=u.length*u.BYTES_PER_ELEMENT,A=t._malloc(P);t.HEAP8.set(u,A);const I=t._vsc_data_ctx_size(),x=t._malloc(I);t._vsc_data(x,A,P);try{const e=t._vscr_ratchet_session_initiate(this.ctxPtr,n.ctxPtr,h,a.ctxPtr,b,_.ctxPtr,g,c.ctxPtr,x);r.RatchetError.handleStatusCode(e)}finally{t._free(l),t._free(h),t._free(v),t._free(b),t._free(y),t._free(g),t._free(A),t._free(x)}}initiateNoOneTimeKey(n,s,a,i,_,o){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPrivateKey",n,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureByteArray("senderIdentityKeyId",s),e.ensureImplementInterface("receiverIdentityPublicKey",a,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverIdentityKeyId",i),e.ensureImplementInterface("receiverLongTermPublicKey",_,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureByteArray("receiverLongTermKeyId",o);const c=s.length*s.BYTES_PER_ELEMENT,u=t._malloc(c);t.HEAP8.set(s,u);const f=t._vsc_data_ctx_size(),l=t._malloc(f);t._vsc_data(l,u,c);const d=i.length*i.BYTES_PER_ELEMENT,h=t._malloc(d);t.HEAP8.set(i,h);const w=t._vsc_data_ctx_size(),v=t._malloc(w);t._vsc_data(v,h,d);const m=o.length*o.BYTES_PER_ELEMENT,b=t._malloc(m);t.HEAP8.set(o,b);const p=t._vsc_data_ctx_size(),y=t._malloc(p);t._vsc_data(y,b,m);try{const e=t._vscr_ratchet_session_initiate_no_one_time_key(this.ctxPtr,n.ctxPtr,l,a.ctxPtr,v,_.ctxPtr,y);r.RatchetError.handleStatusCode(e)}finally{t._free(u),t._free(l),t._free(h),t._free(v),t._free(b),t._free(y)}}respond(n,s,a,i,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPublicKey",n,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverIdentityPrivateKey",s,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverLongTermPrivateKey",a,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverOneTimePrivateKey",i,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureClass("message",_,r.RatchetMessage);const o=t._vscr_ratchet_session_respond(this.ctxPtr,n.ctxPtr,s.ctxPtr,a.ctxPtr,i.ctxPtr,_.ctxPtr);r.RatchetError.handleStatusCode(o)}respondNoOneTimeKey(n,s,a,i){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("senderIdentityPublicKey",n,"Foundation.PublicKey",r.FoundationInterfaceTag.PUBLIC_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverIdentityPrivateKey",s,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureImplementInterface("receiverLongTermPrivateKey",a,"Foundation.PrivateKey",r.FoundationInterfaceTag.PRIVATE_KEY,r.FoundationInterface),e.ensureClass("message",i,r.RatchetMessage);const _=t._vscr_ratchet_session_respond_no_one_time_key(this.ctxPtr,n.ctxPtr,s.ctxPtr,a.ctxPtr,i.ctxPtr);r.RatchetError.handleStatusCode(_)}isInitiator(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_is_initiator(this.ctxPtr),!!r}isPqcEnabled(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_is_pqc_enabled(this.ctxPtr),!!r}receivedFirstResponse(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_received_first_response(this.ctxPtr),!!r}receiverHasOneTimePublicKey(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_receiver_has_one_time_public_key(this.ctxPtr),!!r}encrypt(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_session_encrypt(this.ctxPtr,_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.RatchetMessage.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}decryptLen(n){let s;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureClass("message",n,r.RatchetMessage),s=t._vscr_ratchet_session_decrypt_len(this.ctxPtr,n.ctxPtr),s}decrypt(n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureClass("message",n,r.RatchetMessage);const s=this.decryptLen(n),a=t._vsc_buffer_new_with_capacity(s);try{const e=t._vscr_ratchet_session_decrypt(this.ctxPtr,n.ctxPtr,a);r.RatchetError.handleStatusCode(e);const s=t._vsc_buffer_bytes(a),i=t._vsc_buffer_len(a);return t.HEAPU8.slice(s,s+i)}finally{t._vsc_buffer_delete(a)}}serialize(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscr_ratchet_session_serialize(this.ctxPtr),r}static deserialize(n){e.ensureByteArray("input",n);const s=n.length*n.BYTES_PER_ELEMENT,a=t._malloc(s);t.HEAP8.set(n,a);const i=t._vsc_data_ctx_size(),_=t._malloc(i);t._vsc_data(_,a,s);const o=t._vscr_error_ctx_size(),c=t._malloc(o);let u;t._vscr_error_reset(c);try{u=t._vscr_ratchet_session_deserialize(_,c);const e=t._vscr_error_status(c);return r.RatchetError.handleStatusCode(e),r.Self.newAndTakeCContext(u)}finally{t._free(a),t._free(_),t._free(c)}}deserialize(e){return n.deserialize(e)}}return n}}();return D=r=>new Promise((n,s)=>{e(r).then(e=>{const r={};r.FoundationError=t(e,r),r.FoundationInterface=u(e,r),r.FoundationInterfaceTag=l(e,r),r.FoundationImplTag=C(e,r),r.CtrDrbg=N(e,r),r.Hmac=O(e,r),r.Hkdf=H(e,r),r.Sha512=Y(e,r),r.RatchetError=U(e,r),r.MsgType=z(e,r),r.GroupMsgType=G(e,r),r.RatchetCommon=$(e,r),r.RatchetMessage=V(e,r),r.RatchetSession=j(e,r),n(r)}).catch(e=>{s(e)})})}(),Y=e(H);module.exports=Y;
|