mirror of
https://github.com/stjet/banani.git
synced 2025-12-29 09:39:23 +00:00
7 lines
60 KiB
JavaScript
7 lines
60 KiB
JavaScript
(()=>{var ur=Object.create;var Le=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var Er=Object.getPrototypeOf,wr=Object.prototype.hasOwnProperty;var c=(e,n)=>Le(e,"name",{value:n,configurable:!0}),tn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,t)=>(typeof require<"u"?require:n)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var M=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),Me=(e,n)=>{for(var t in n)Le(e,t,{get:n[t],enumerable:!0})},Br=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of yr(n))!wr.call(e,g)&&g!==t&&Le(e,g,{get:()=>n[g],enumerable:!(i=lr(n,g))||i.enumerable});return e};var nn=(e,n,t)=>(t=e!=null?ur(Er(e)):{},Br(n||!e||!e.__esModule?Le(t,"default",{value:e,enumerable:!0}):t,e));var lt=M((Di,An)=>{An.exports=rn;var Ve=class extends Error{static{c(this,"AssertionError")}};Ve.prototype.name="AssertionError";function rn(e,n){if(!e){var t=new Ve(n);throw Error.captureStackTrace&&Error.captureStackTrace(t,rn),t}}c(rn,"assert")});var an=M((mi,In)=>{function on(e){return e.length}c(on,"byteLength");function xr(e){let n=e.byteLength,t="";for(let i=0;i<n;i++)t+=String.fromCharCode(e[i]);return t}c(xr,"toString");function Qr(e,n,t=0,i=on(n)){let g=Math.min(i,e.byteLength-t);for(let f=0;f<g;f++)e[t+f]=n.charCodeAt(f);return g}c(Qr,"write");In.exports={byteLength:on,toString:xr,write:Qr}});var sn=M((Fi,gn)=>{var ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Z=new Uint8Array(256);for(let e=0;e<ce.length;e++)Z[ce.charCodeAt(e)]=e;Z[45]=62;Z[95]=63;function cn(e){let n=e.length;return e.charCodeAt(n-1)===61&&n--,n>1&&e.charCodeAt(n-1)===61&&n--,n*3>>>2}c(cn,"byteLength");function dr(e){let n=e.byteLength,t="";for(let i=0;i<n;i+=3)t+=ce[e[i]>>2]+ce[(e[i]&3)<<4|e[i+1]>>4]+ce[(e[i+1]&15)<<2|e[i+2]>>6]+ce[e[i+2]&63];return n%3===2?t=t.substring(0,t.length-1)+"=":n%3===1&&(t=t.substring(0,t.length-2)+"=="),t}c(dr,"toString");function br(e,n,t=0,i=cn(n)){let g=Math.min(i,e.byteLength-t);for(let f=0,y=0;y<g;f+=4){let w=Z[n.charCodeAt(f)],x=Z[n.charCodeAt(f+1)],b=Z[n.charCodeAt(f+2)],_=Z[n.charCodeAt(f+3)];e[y++]=w<<2|x>>4,e[y++]=(x&15)<<4|b>>2,e[y++]=(b&3)<<6|_&63}return g}c(br,"write");gn.exports={byteLength:cn,toString:dr,write:br}});var un=M((Ki,Cn)=>{function fn(e){return e.length>>>1}c(fn,"byteLength");function _r(e){let n=e.byteLength;e=new DataView(e.buffer,e.byteOffset,n);let t="",i=0;for(let g=n-n%4;i<g;i+=4)t+=e.getUint32(i).toString(16).padStart(8,"0");for(;i<n;i++)t+=e.getUint8(i).toString(16).padStart(2,"0");return t}c(_r,"toString");function pr(e,n,t=0,i=fn(n)){let g=Math.min(i,e.byteLength-t);for(let f=0;f<g;f++){let y=hn(n.charCodeAt(f*2)),w=hn(n.charCodeAt(f*2+1));if(y===void 0||w===void 0)return e.subarray(0,f);e[t+f]=y<<4|w}return g}c(pr,"write");Cn.exports={byteLength:fn,toString:_r,write:pr};function hn(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}c(hn,"hexValue")});var yn=M((Yi,ln)=>{function yt(e){let n=0;for(let t=0,i=e.length;t<i;t++){let g=e.charCodeAt(t);if(g>=55296&&g<=56319&&t+1<i){let f=e.charCodeAt(t+1);if(f>=56320&&f<=57343){n+=4,t++;continue}}g<=127?n+=1:g<=2047?n+=2:n+=3}return n}c(yt,"byteLength");var Et;if(typeof TextDecoder<"u"){let e=new TextDecoder;Et=c(function(t){return e.decode(t)},"toString")}else Et=c(function(n){let t=n.byteLength,i="",g=0;for(;g<t;){let f=n[g];if(f<=127){i+=String.fromCharCode(f),g++;continue}let y=0,w=0;if(f<=223?(y=1,w=f&31):f<=239?(y=2,w=f&15):f<=244&&(y=3,w=f&7),t-g-y>0){let x=0;for(;x<y;)f=n[g+x+1],w=w<<6|f&63,x+=1}else w=65533,y=t-g;i+=String.fromCodePoint(w),g+=y+1}return i},"toString");var wt;if(typeof TextEncoder<"u"){let e=new TextEncoder;wt=c(function(t,i,g=0,f=yt(i)){let y=Math.min(f,t.byteLength-g);return e.encodeInto(i,t.subarray(g,g+y)),y},"write")}else wt=c(function(n,t,i=0,g=yt(t)){let f=Math.min(g,n.byteLength-i);n=n.subarray(i,i+f);let y=0,w=0;for(;y<t.length;){let x=t.codePointAt(y);if(x<=127){n[w++]=x,y++;continue}let b=0,_=0;for(x<=2047?(b=6,_=192):x<=65535?(b=12,_=224):x<=2097151&&(b=18,_=240),n[w++]=_|x>>b,b-=6;b>=0;)n[w++]=128|x>>b&63,b-=6;y+=x>=65536?2:1}return f},"write");ln.exports={byteLength:yt,toString:Et,write:wt}});var Bn=M((Hi,wn)=>{function En(e){return e.length*2}c(En,"byteLength");function Sr(e){let n=e.byteLength,t="";for(let i=0;i<n-1;i+=2)t+=String.fromCharCode(e[i]+e[i+1]*256);return t}c(Sr,"toString");function Dr(e,n,t=0,i=En(n)){let g=Math.min(i,e.byteLength-t),f=g;for(let y=0;y<n.length&&!((f-=2)<0);++y){let w=n.charCodeAt(y),x=w>>8,b=w%256;e[t+y*2]=b,e[t+y*2+1]=x}return g}c(Dr,"write");wn.exports={byteLength:En,toString:Sr,write:Dr}});var _n=M((xt,bn)=>{var Ur=an(),mr=sn(),vr=un(),Fr=yn(),Pr=Bn(),Ge=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function xe(e){switch(e){case"ascii":return Ur;case"base64":return mr;case"hex":return vr;case"utf8":case"utf-8":case void 0:return Fr;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pr;default:throw new Error(`Unknown encoding: ${e}`)}}c(xe,"codecFor");function xn(e){return e instanceof Uint8Array}c(xn,"isBuffer");function Kr(e){try{return xe(e),!0}catch{return!1}}c(Kr,"isEncoding");function kr(e,n,t){let i=new Uint8Array(e);return n!==void 0&&xt.fill(i,n,0,i.byteLength,t),i}c(kr,"alloc");function Yr(e){return new Uint8Array(e)}c(Yr,"allocUnsafe");function Rr(e){return new Uint8Array(e)}c(Rr,"allocUnsafeSlow");function Hr(e,n){return xe(n).byteLength(e)}c(Hr,"byteLength");function Lr(e,n){if(e===n)return 0;let t=Math.min(e.byteLength,n.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),n=new DataView(n.buffer,n.byteOffset,n.byteLength);let i=0;for(let g=t-t%4;i<g;i+=4){let f=e.getUint32(i,Ge),y=n.getUint32(i,Ge);if(f!==y)break}for(;i<t;i++){let g=e.getUint8(i),f=n.getUint8(i);if(g<f)return-1;if(g>f)return 1}return e.byteLength>n.byteLength?1:e.byteLength<n.byteLength?-1:0}c(Lr,"compare");function Mr(e,n){n===void 0&&(n=e.reduce((g,f)=>g+f.byteLength,0));let t=new Uint8Array(n),i=0;for(let g of e){if(i+g.byteLength>t.byteLength){let f=g.subarray(0,t.byteLength-i);return t.set(f,i),t}t.set(g,i),i+=g.byteLength}return t}c(Mr,"concat");function Vr(e,n,t=0,i=0,g=e.byteLength){if(g>0&&g<i||g===i||e.byteLength===0||n.byteLength===0)return 0;if(t<0)throw new RangeError("targetStart is out of range");if(i<0||i>=e.byteLength)throw new RangeError("sourceStart is out of range");if(g<0)throw new RangeError("sourceEnd is out of range");t>=n.byteLength&&(t=n.byteLength),g>e.byteLength&&(g=e.byteLength),n.byteLength-t<g-i&&(g=n.length-t+i);let f=g-i;return e===n?n.copyWithin(t,i,g):n.set(e.subarray(i,g),t),f}c(Vr,"copy");function Gr(e,n){if(e===n)return!0;if(e.byteLength!==n.byteLength)return!1;let t=e.byteLength;e=new DataView(e.buffer,e.byteOffset,e.byteLength),n=new DataView(n.buffer,n.byteOffset,n.byteLength);let i=0;for(let g=t-t%4;i<g;i+=4)if(e.getUint32(i,Ge)!==n.getUint32(i,Ge))return!1;for(;i<t;i++)if(e.getUint8(i)!==n.getUint8(i))return!1;return!0}c(Gr,"equals");function Nr(e,n,t,i,g){if(typeof n=="string"?typeof t=="string"?(g=t,t=0,i=e.byteLength):typeof i=="string"&&(g=i,i=e.byteLength):typeof n=="number"?n=n&255:typeof n=="boolean"&&(n=+n),t<0||e.byteLength<t||e.byteLength<i)throw new RangeError("Out of range index");if(t===void 0&&(t=0),i===void 0&&(i=e.byteLength),i<=t)return e;if(n||(n=0),typeof n=="number")for(let f=t;f<i;++f)e[f]=n;else{n=xn(n)?n:Bt(n,g);let f=n.byteLength;for(let y=0;y<i-t;++y)e[y+t]=n[y%f]}return e}c(Nr,"fill");function Bt(e,n,t){return typeof e=="string"?Tr(e,n):Array.isArray(e)?Or(e):ArrayBuffer.isView(e)?Jr(e):jr(e,n,t)}c(Bt,"from");function Tr(e,n){let t=xe(n),i=new Uint8Array(t.byteLength(e));return t.write(i,e,0,i.byteLength),i}c(Tr,"fromString");function Or(e){let n=new Uint8Array(e.length);return n.set(e),n}c(Or,"fromArray");function Jr(e){let n=new Uint8Array(e.byteLength);return n.set(e),n}c(Jr,"fromBuffer");function jr(e,n,t){return new Uint8Array(e,n,t)}c(jr,"fromArrayBuffer");function Xr(e,n,t,i){return dn(e,n,t,i)!==-1}c(Xr,"includes");function Qn(e,n,t,i,g){if(e.byteLength===0)return-1;if(typeof t=="string"?(i=t,t=0):t===void 0?t=g?0:e.length-1:t<0&&(t+=e.byteLength),t>=e.byteLength){if(g)return-1;t=e.byteLength-1}else if(t<0)if(g)t=0;else return-1;if(typeof n=="string")n=Bt(n,i);else if(typeof n=="number")return n=n&255,g?e.indexOf(n,t):e.lastIndexOf(n,t);if(n.byteLength===0)return-1;if(g){let f=-1;for(let y=t;y<e.byteLength;y++)if(e[y]===n[f===-1?0:y-f]){if(f===-1&&(f=y),y-f+1===n.byteLength)return f}else f!==-1&&(y-=y-f),f=-1}else{t+n.byteLength>e.byteLength&&(t=e.byteLength-n.byteLength);for(let f=t;f>=0;f--){let y=!0;for(let w=0;w<n.byteLength;w++)if(e[f+w]!==n[w]){y=!1;break}if(y)return f}}return-1}c(Qn,"bidirectionalIndexOf");function dn(e,n,t,i){return Qn(e,n,t,i,!0)}c(dn,"indexOf");function qr(e,n,t,i){return Qn(e,n,t,i,!1)}c(qr,"lastIndexOf");function $(e,n,t){let i=e[n];e[n]=e[t],e[t]=i}c($,"swap");function Wr(e){let n=e.byteLength;if(n%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<n;t+=2)$(e,t,t+1);return e}c(Wr,"swap16");function zr(e){let n=e.byteLength;if(n%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<n;t+=4)$(e,t,t+3),$(e,t+1,t+2);return e}c(zr,"swap32");function Zr(e){let n=e.byteLength;if(n%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<n;t+=8)$(e,t,t+7),$(e,t+1,t+6),$(e,t+2,t+5),$(e,t+3,t+4);return e}c(Zr,"swap64");function $r(e){return e}c($r,"toBuffer");function ei(e,n,t=0,i=e.byteLength){let g=e.byteLength;return t>=g||i<=t?"":(t<0&&(t=0),i>g&&(i=g),(t!==0||i<g)&&(e=e.subarray(t,i)),xe(n).toString(e))}c(ei,"toString");function ti(e,n,t,i,g){return t===void 0?g="utf8":i===void 0&&typeof t=="string"?(g=t,t=void 0):g===void 0&&typeof i=="string"&&(g=i,i=void 0),xe(g).write(e,n,t,i)}c(ti,"write");function ni(e,n,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(t,n,!0),t+8}c(ni,"writeDoubleLE");function ri(e,n,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(t,n,!0),t+4}c(ri,"writeFloatLE");function ii(e,n,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(t,n,!0),t+4}c(ii,"writeUInt32LE");function Ai(e,n,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(t,n,!0),t+4}c(Ai,"writeInt32LE");function oi(e,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(n,!0)}c(oi,"readDoubleLE");function Ii(e,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(n,!0)}c(Ii,"readFloatLE");function ai(e,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(n,!0)}c(ai,"readUInt32LE");function ci(e,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(n,!0)}c(ci,"readInt32LE");bn.exports=xt={isBuffer:xn,isEncoding:Kr,alloc:kr,allocUnsafe:Yr,allocUnsafeSlow:Rr,byteLength:Hr,compare:Lr,concat:Mr,copy:Vr,equals:Gr,fill:Nr,from:Bt,includes:Xr,indexOf:dn,lastIndexOf:qr,swap16:Wr,swap32:zr,swap64:Zr,toBuffer:$r,toString:ei,write:ti,writeDoubleLE:ni,writeFloatLE:ri,writeUInt32LE:ii,writeInt32LE:Ai,readDoubleLE:oi,readFloatLE:Ii,readUInt32LE:ai,readInt32LE:ci}});var Sn=M((Vi,pn)=>{var gi=c((e,n)=>c(function(){return n||(0,e[Object.keys(e)[0]])((n={exports:{}}).exports,n),n.exports},"__require"),"__commonJS"),si=(()=>{for(var e=new Uint8Array(128),n=0;n<64;n++)e[n<26?n+65:n<52?n+71:n<62?n-4:n*4-205]=n;return t=>{for(var i=t.length,g=new Uint8Array((i-(t[i-1]=="=")-(t[i-2]=="="))*3/4|0),f=0,y=0;f<i;){var w=e[t.charCodeAt(f++)],x=e[t.charCodeAt(f++)],b=e[t.charCodeAt(f++)],_=e[t.charCodeAt(f++)];g[y++]=w<<2|x>>4,g[y++]=x<<4|b>>2,g[y++]=b<<6|_}return g}})(),hi=gi({"wasm-binary:./blake2b.wat"(e,n){n.exports=si("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")}}),fi=hi(),Ci=WebAssembly.compile(fi);pn.exports=async e=>(await WebAssembly.instantiate(await Ci,e)).exports});var kn=M((Oi,G)=>{var K=lt(),ui=_n(),J=null,Dn=typeof WebAssembly<"u"&&Sn()().then(e=>{J=e}),O=64,Ne=[];G.exports=v;var Un=G.exports.BYTES_MIN=16,mn=G.exports.BYTES_MAX=64,Ni=G.exports.BYTES=32,vn=G.exports.KEYBYTES_MIN=16,Fn=G.exports.KEYBYTES_MAX=64,Ti=G.exports.KEYBYTES=32,Pn=G.exports.SALTBYTES=16,Kn=G.exports.PERSONALBYTES=16;function v(e,n,t,i,g){if(!(this instanceof v))return new v(e,n,t,i,g);if(!J)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),g!==!0&&(K(e>=Un,"digestLength must be at least "+Un+", was given "+e),K(e<=mn,"digestLength must be at most "+mn+", was given "+e),n!=null&&(K(n instanceof Uint8Array,"key must be Uint8Array or Buffer"),K(n.length>=vn,"key must be at least "+vn+", was given "+n.length),K(n.length<=Fn,"key must be at least "+Fn+", was given "+n.length)),t!=null&&(K(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),K(t.length===Pn,"salt must be exactly "+Pn+", was given "+t.length)),i!=null&&(K(i instanceof Uint8Array,"personal must be Uint8Array or Buffer"),K(i.length===Kn,"personal must be exactly "+Kn+", was given "+i.length))),Ne.length||(Ne.push(O),O+=216),this.digestLength=e,this.finalized=!1,this.pointer=Ne.pop(),this._memory=new Uint8Array(J.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=n?n.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),i&&this._memory.set(i,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),J.blake2b_init(this.pointer,this.digestLength),n&&(this.update(n),this._memory.fill(0,O,O+n.length),this._memory[this.pointer+200]=128)}c(v,"Blake2b");v.prototype._realloc=function(e){J.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(J.memory.buffer)};v.prototype.update=function(e){return K(this.finalized===!1,"Hash instance finalized"),K(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),O+e.length>this._memory.length&&this._realloc(O+e.length),this._memory.set(e,O),J.blake2b_update(this.pointer,O,O+e.length),this};v.prototype.digest=function(e){if(K(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ne.push(this.pointer),J.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return ui.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);K(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var n=0;n<this.digestLength;n++)e[n]=this._memory[this.pointer+128+n];return e};v.prototype.final=v.prototype.digest;v.WASM=J;v.SUPPORTED=typeof WebAssembly<"u";v.ready=function(e){return e||(e=li),Dn?Dn.then(()=>e(),e):e(new Error("WebAssembly not supported"))};v.prototype.ready=v.ready;v.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};v.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function li(){}c(li,"noop")});var Qt=M((qi,F)=>{var Y=lt(),de=kn();function Te(e,n,t){var i=e[n]+e[t],g=e[n+1]+e[t+1];i>=4294967296&&g++,e[n]=i,e[n+1]=g}c(Te,"ADD64AA");function Yn(e,n,t,i){var g=e[n]+t;t<0&&(g+=4294967296);var f=e[n+1]+i;g>=4294967296&&f++,e[n]=g,e[n+1]=f}c(Yn,"ADD64AC");function Nn(e,n){return e[n]^e[n+1]<<8^e[n+2]<<16^e[n+3]<<24}c(Nn,"B2B_GET32");function q(e,n,t,i,g,f){var y=Qe[g],w=Qe[g+1],x=Qe[f],b=Qe[f+1];Te(B,e,n),Yn(B,e,y,w);var _=B[i]^B[e],S=B[i+1]^B[e+1];B[i]=S,B[i+1]=_,Te(B,t,i),_=B[n]^B[t],S=B[n+1]^B[t+1],B[n]=_>>>24^S<<8,B[n+1]=S>>>24^_<<8,Te(B,e,n),Yn(B,e,x,b),_=B[i]^B[e],S=B[i+1]^B[e+1],B[i]=_>>>16^S<<16,B[i+1]=S>>>16^_<<16,Te(B,t,i),_=B[n]^B[t],S=B[n+1]^B[t+1],B[n]=S>>>31^_<<1,B[n+1]=_>>>31^S<<1}c(q,"B2B_G");var Tn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),yi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],U=new Uint8Array(yi.map(function(e){return e*2})),B=new Uint32Array(32),Qe=new Uint32Array(32);function On(e,n){var t=0;for(t=0;t<16;t++)B[t]=e.h[t],B[t+16]=Tn[t];for(B[24]=B[24]^e.t,B[25]=B[25]^e.t/4294967296,n&&(B[28]=~B[28],B[29]=~B[29]),t=0;t<32;t++)Qe[t]=Nn(e.b,4*t);for(t=0;t<12;t++)q(0,8,16,24,U[t*16+0],U[t*16+1]),q(2,10,18,26,U[t*16+2],U[t*16+3]),q(4,12,20,28,U[t*16+4],U[t*16+5]),q(6,14,22,30,U[t*16+6],U[t*16+7]),q(0,10,20,30,U[t*16+8],U[t*16+9]),q(2,12,22,24,U[t*16+10],U[t*16+11]),q(4,14,16,26,U[t*16+12],U[t*16+13]),q(6,8,18,28,U[t*16+14],U[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^B[t]^B[t+16]}c(On,"blake2bCompress");var W=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function ge(e,n,t,i){W.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,W[0]=e,n&&(W[1]=n.length),W[2]=1,W[3]=1,t&&W.set(t,32),i&&W.set(i,48);for(var g=0;g<16;g++)this.h[g]=Tn[g]^Nn(W,g*4);n&&(Jn(this,n),this.c=128)}c(ge,"Blake2b");ge.prototype.update=function(e){return Y(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),Jn(this,e),this};ge.prototype.digest=function(e){var n=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return Y(n instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),Y(n.length>=this.outlen,"out must have at least outlen bytes of space"),Ei(this,n),e==="hex"?wi(n):n};ge.prototype.final=ge.prototype.digest;ge.ready=function(e){de.ready(function(){e()})};function Jn(e,n){for(var t=0;t<n.length;t++)e.c===128&&(e.t+=e.c,On(e,!1),e.c=0),e.b[e.c++]=n[t]}c(Jn,"blake2bUpdate");function Ei(e,n){for(e.t+=e.c;e.c<128;)e.b[e.c++]=0;On(e,!0);for(var t=0;t<e.outlen;t++)n[t]=e.h[t>>2]>>8*(t&3);return n}c(Ei,"blake2bFinal");function wi(e){for(var n="",t=0;t<e.length;t++)n+=Bi(e[t]);return n}c(wi,"hexSlice");function Bi(e){return e<16?"0"+e.toString(16):e.toString(16)}c(Bi,"toHex");var xi=ge;F.exports=c(function(n,t,i,g,f){return f!==!0&&(Y(n>=Rn,"outlen must be at least "+Rn+", was given "+n),Y(n<=Hn,"outlen must be at most "+Hn+", was given "+n),t!=null&&(Y(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),Y(t.length>=Ln,"key must be at least "+Ln+", was given "+t.length),Y(t.length<=Mn,"key must be at most "+Mn+", was given "+t.length)),i!=null&&(Y(i instanceof Uint8Array,"salt must be Uint8Array or Buffer"),Y(i.length===Vn,"salt must be exactly "+Vn+", was given "+i.length)),g!=null&&(Y(g instanceof Uint8Array,"personal must be Uint8Array or Buffer"),Y(g.length===Gn,"personal must be exactly "+Gn+", was given "+g.length))),new xi(n,t,i,g)},"createHash");F.exports.ready=function(e){de.ready(function(){e()})};F.exports.WASM_SUPPORTED=de.SUPPORTED;F.exports.WASM_LOADED=!1;var Rn=F.exports.BYTES_MIN=16,Hn=F.exports.BYTES_MAX=64,ji=F.exports.BYTES=32,Ln=F.exports.KEYBYTES_MIN=16,Mn=F.exports.KEYBYTES_MAX=64,Xi=F.exports.KEYBYTES=32,Vn=F.exports.SALTBYTES=16,Gn=F.exports.PERSONALBYTES=16;de.ready(function(e){e||(F.exports.WASM_LOADED=!0,F.exports=de)})});var jn=M((zi,Oe)=>{(function(e){"use strict";let n=Qt();var t=c(function(r,o){this.hi=r|0,this.lo=o|0},"u64"),i=c(function(r){var o,A=new Float64Array(16);if(r)for(o=0;o<r.length;o++)A[o]=r[o];return A},"gf"),g=c(function(){throw new Error("no PRNG")},"randombytes"),f=new Uint8Array(16),y=new Uint8Array(32);y[0]=9;var w=i(),x=i([1]),b=i([56129,1]),_=i([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),S=i([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),m=i([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),j=i([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),se=i([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function X(r,o){return r<<o|r>>>32-o}c(X,"L32");function re(r,o){var A=r[o+3]&255;return A=A<<8|r[o+2]&255,A=A<<8|r[o+1]&255,A<<8|r[o+0]&255}c(re,"ld32");function Pt(r,o){var A=r[o]<<24|r[o+1]<<16|r[o+2]<<8|r[o+3],I=r[o+4]<<24|r[o+5]<<16|r[o+6]<<8|r[o+7];return new t(A,I)}c(Pt,"dl64");function We(r,o,A){var I;for(I=0;I<4;I++)r[o+I]=A&255,A>>>=8}c(We,"st32");function Kt(r,o,A){r[o]=A.hi>>24&255,r[o+1]=A.hi>>16&255,r[o+2]=A.hi>>8&255,r[o+3]=A.hi&255,r[o+4]=A.lo>>24&255,r[o+5]=A.lo>>16&255,r[o+6]=A.lo>>8&255,r[o+7]=A.lo&255}c(Kt,"ts64");function ze(r,o,A,I,a){var s,u=0;for(s=0;s<a;s++)u|=r[o+s]^A[I+s];return(1&u-1>>>8)-1}c(ze,"vn");function kt(r,o,A,I){return ze(r,o,A,I,16)}c(kt,"crypto_verify_16");function Ze(r,o,A,I){return ze(r,o,A,I,32)}c(Ze,"crypto_verify_32");function Yt(r,o,A,I,a){var s=new Uint32Array(16),u=new Uint32Array(16),l=new Uint32Array(16),h=new Uint32Array(4),C,E,d;for(C=0;C<4;C++)u[5*C]=re(I,4*C),u[1+C]=re(A,4*C),u[6+C]=re(o,4*C),u[11+C]=re(A,16+4*C);for(C=0;C<16;C++)l[C]=u[C];for(C=0;C<20;C++){for(E=0;E<4;E++){for(d=0;d<4;d++)h[d]=u[(5*E+4*d)%16];for(h[1]^=X(h[0]+h[3]|0,7),h[2]^=X(h[1]+h[0]|0,9),h[3]^=X(h[2]+h[1]|0,13),h[0]^=X(h[3]+h[2]|0,18),d=0;d<4;d++)s[4*E+(E+d)%4]=h[d]}for(d=0;d<16;d++)u[d]=s[d]}if(a){for(C=0;C<16;C++)u[C]=u[C]+l[C]|0;for(C=0;C<4;C++)u[5*C]=u[5*C]-re(I,4*C)|0,u[6+C]=u[6+C]-re(o,4*C)|0;for(C=0;C<4;C++)We(r,4*C,u[5*C]),We(r,16+4*C,u[6+C])}else for(C=0;C<16;C++)We(r,4*C,u[C]+l[C]|0)}c(Yt,"core");function Rt(r,o,A,I){return Yt(r,o,A,I,!1),0}c(Rt,"crypto_core_salsa20");function Ue(r,o,A,I){return Yt(r,o,A,I,!0),0}c(Ue,"crypto_core_hsalsa20");var he=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function $e(r,o,A,I,a,s,u){var l=new Uint8Array(16),h=new Uint8Array(64),C,E;if(!a)return 0;for(E=0;E<16;E++)l[E]=0;for(E=0;E<8;E++)l[E]=s[E];for(;a>=64;){for(Rt(h,l,u,he),E=0;E<64;E++)r[o+E]=(A?A[I+E]:0)^h[E];for(C=1,E=8;E<16;E++)C=C+(l[E]&255)|0,l[E]=C&255,C>>>=8;a-=64,o+=64,A&&(I+=64)}if(a>0)for(Rt(h,l,u,he),E=0;E<a;E++)r[o+E]=(A?A[I+E]:0)^h[E];return 0}c($e,"crypto_stream_salsa20_xor");function Ht(r,o,A,I,a){return $e(r,o,null,0,A,I,a)}c(Ht,"crypto_stream_salsa20");function Lt(r,o,A,I,a){var s=new Uint8Array(32);return Ue(s,I,a,he),Ht(r,o,A,I.subarray(16),s)}c(Lt,"crypto_stream");function et(r,o,A,I,a,s,u){var l=new Uint8Array(32);return Ue(l,s,u,he),$e(r,o,A,I,a,s.subarray(16),l)}c(et,"crypto_stream_xor");function tt(r,o){var A,I=0;for(A=0;A<17;A++)I=I+(r[A]+o[A]|0)|0,r[A]=I&255,I>>>=8}c(tt,"add1305");var $n=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function nt(r,o,A,I,a,s){var u,l,h,C,E=new Uint32Array(17),d=new Uint32Array(17),p=new Uint32Array(17),L=new Uint32Array(17),ae=new Uint32Array(17);for(h=0;h<17;h++)d[h]=p[h]=0;for(h=0;h<16;h++)d[h]=s[h];for(d[3]&=15,d[4]&=252,d[7]&=15,d[8]&=252,d[11]&=15,d[12]&=252,d[15]&=15;a>0;){for(h=0;h<17;h++)L[h]=0;for(h=0;h<16&&h<a;++h)L[h]=A[I+h];for(L[h]=1,I+=h,a-=h,tt(p,L),l=0;l<17;l++)for(E[l]=0,h=0;h<17;h++)E[l]=E[l]+p[h]*(h<=l?d[l-h]:320*d[l+17-h]|0)|0|0;for(l=0;l<17;l++)p[l]=E[l];for(C=0,h=0;h<16;h++)C=C+p[h]|0,p[h]=C&255,C>>>=8;for(C=C+p[16]|0,p[16]=C&3,C=5*(C>>>2)|0,h=0;h<16;h++)C=C+p[h]|0,p[h]=C&255,C>>>=8;C=C+p[16]|0,p[16]=C}for(h=0;h<17;h++)ae[h]=p[h];for(tt(p,$n),u=-(p[16]>>>7)|0,h=0;h<17;h++)p[h]^=u&(ae[h]^p[h]);for(h=0;h<16;h++)L[h]=s[h+16];for(L[16]=0,tt(p,L),h=0;h<16;h++)r[o+h]=p[h];return 0}c(nt,"crypto_onetimeauth");function Mt(r,o,A,I,a,s){var u=new Uint8Array(16);return nt(u,0,A,I,a,s),kt(r,o,u,0)}c(Mt,"crypto_onetimeauth_verify");function rt(r,o,A,I,a){var s;if(A<32)return-1;for(et(r,0,o,0,A,I,a),nt(r,16,r,32,A-32,r),s=0;s<16;s++)r[s]=0;return 0}c(rt,"crypto_secretbox");function it(r,o,A,I,a){var s,u=new Uint8Array(32);if(A<32||(Lt(u,0,32,I,a),Mt(o,16,o,32,A-32,u)!==0))return-1;for(et(r,0,o,0,A,I,a),s=0;s<32;s++)r[s]=0;return 0}c(it,"crypto_secretbox_open");function N(r,o){var A;for(A=0;A<16;A++)r[A]=o[A]|0}c(N,"set25519");function fe(r){var o,A;for(A=0;A<16;A++)r[A]+=65536,o=Math.floor(r[A]/65536),r[(A+1)*(A<15?1:0)]+=o-1+37*(o-1)*(A===15?1:0),r[A]-=o*65536}c(fe,"car25519");function ie(r,o,A){for(var I,a=~(A-1),s=0;s<16;s++)I=a&(r[s]^o[s]),r[s]^=I,o[s]^=I}c(ie,"sel25519");function Ae(r,o){var A,I,a,s=i(),u=i();for(A=0;A<16;A++)u[A]=o[A];for(fe(u),fe(u),fe(u),I=0;I<2;I++){for(s[0]=u[0]-65517,A=1;A<15;A++)s[A]=u[A]-65535-(s[A-1]>>16&1),s[A-1]&=65535;s[15]=u[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,ie(u,s,1-a)}for(A=0;A<16;A++)r[2*A]=u[A]&255,r[2*A+1]=u[A]>>8}c(Ae,"pack25519");function Vt(r,o){var A=new Uint8Array(32),I=new Uint8Array(32);return Ae(A,r),Ae(I,o),Ze(A,0,I,0)}c(Vt,"neq25519");function Gt(r){var o=new Uint8Array(32);return Ae(o,r),o[0]&1}c(Gt,"par25519");function At(r,o){var A;for(A=0;A<16;A++)r[A]=o[2*A]+(o[2*A+1]<<8);r[15]&=32767}c(At,"unpack25519");function R(r,o,A){var I;for(I=0;I<16;I++)r[I]=o[I]+A[I]|0}c(R,"A");function H(r,o,A){var I;for(I=0;I<16;I++)r[I]=o[I]-A[I]|0}c(H,"Z");function Q(r,o,A){var I,a,s=new Float64Array(31);for(I=0;I<31;I++)s[I]=0;for(I=0;I<16;I++)for(a=0;a<16;a++)s[I+a]+=o[I]*A[a];for(I=0;I<15;I++)s[I]+=38*s[I+16];for(I=0;I<16;I++)r[I]=s[I];fe(r),fe(r)}c(Q,"M");function k(r,o){Q(r,o,o)}c(k,"S");function Nt(r,o){var A=i(),I;for(I=0;I<16;I++)A[I]=o[I];for(I=253;I>=0;I--)k(A,A),I!==2&&I!==4&&Q(A,A,o);for(I=0;I<16;I++)r[I]=A[I]}c(Nt,"inv25519");function Tt(r,o){var A=i(),I;for(I=0;I<16;I++)A[I]=o[I];for(I=250;I>=0;I--)k(A,A),I!==1&&Q(A,A,o);for(I=0;I<16;I++)r[I]=A[I]}c(Tt,"pow2523");function me(r,o,A){var I=new Uint8Array(32),a=new Float64Array(80),s,u,l=i(),h=i(),C=i(),E=i(),d=i(),p=i();for(u=0;u<31;u++)I[u]=o[u];for(I[31]=o[31]&127|64,I[0]&=248,At(a,A),u=0;u<16;u++)h[u]=a[u],E[u]=l[u]=C[u]=0;for(l[0]=E[0]=1,u=254;u>=0;--u)s=I[u>>>3]>>>(u&7)&1,ie(l,h,s),ie(C,E,s),R(d,l,C),H(l,l,C),R(C,h,E),H(h,h,E),k(E,d),k(p,l),Q(l,C,l),Q(C,h,d),R(d,l,C),H(l,l,C),k(h,l),H(C,E,p),Q(l,C,b),R(l,l,E),Q(C,C,l),Q(l,E,p),Q(E,h,a),k(h,d),ie(l,h,s),ie(C,E,s);for(u=0;u<16;u++)a[u+16]=l[u],a[u+32]=C[u],a[u+48]=h[u],a[u+64]=E[u];var L=a.subarray(32),ae=a.subarray(16);return Nt(L,L),Q(ae,ae,L),Ae(r,ae),0}c(me,"crypto_scalarmult");function ve(r,o){return me(r,o,y)}c(ve,"crypto_scalarmult_base");function Ot(r,o){return g(o,32),ve(r,o)}c(Ot,"crypto_box_keypair");function Fe(r,o,A){var I=new Uint8Array(32);return me(I,A,o),Ue(r,f,I,he)}c(Fe,"crypto_box_beforenm");var Jt=rt,er=it;function tr(r,o,A,I,a,s){var u=new Uint8Array(32);return Fe(u,a,s),Jt(r,o,A,I,u)}c(tr,"crypto_box");function nr(r,o,A,I,a,s){var u=new Uint8Array(32);return Fe(u,a,s),er(r,o,A,I,u)}c(nr,"crypto_box_open");function Ce(){var r=0,o=0,A=0,I=0,a=65535,s,u,l;for(l=0;l<arguments.length;l++)s=arguments[l].lo,u=arguments[l].hi,r+=s&a,o+=s>>>16,A+=u&a,I+=u>>>16;return o+=r>>>16,A+=o>>>16,I+=A>>>16,new t(A&a|I<<16,r&a|o<<16)}c(Ce,"add64");function jt(r,o){return new t(r.hi>>>o,r.lo>>>o|r.hi<<32-o)}c(jt,"shr64");function Pe(){var r=0,o=0,A;for(A=0;A<arguments.length;A++)r^=arguments[A].lo,o^=arguments[A].hi;return new t(o,r)}c(Pe,"xor64");function V(r,o){var A,I,a=32-o;return o<32?(A=r.hi>>>o|r.lo<<a,I=r.lo>>>o|r.hi<<a):o<64&&(A=r.lo>>>o|r.hi<<a,I=r.hi>>>o|r.lo<<a),new t(A,I)}c(V,"R");function rr(r,o,A){var I=r.hi&o.hi^~r.hi&A.hi,a=r.lo&o.lo^~r.lo&A.lo;return new t(I,a)}c(rr,"Ch");function ir(r,o,A){var I=r.hi&o.hi^r.hi&A.hi^o.hi&A.hi,a=r.lo&o.lo^r.lo&A.lo^o.lo&A.lo;return new t(I,a)}c(ir,"Maj");function Ar(r){return Pe(V(r,28),V(r,34),V(r,39))}c(Ar,"Sigma0");function or(r){return Pe(V(r,14),V(r,18),V(r,41))}c(or,"Sigma1");function Ir(r){return Pe(V(r,1),V(r,8),jt(r,7))}c(Ir,"sigma0");function ar(r){return Pe(V(r,19),V(r,61),jt(r,6))}c(ar,"sigma1");var cr=[new t(1116352408,3609767458),new t(1899447441,602891725),new t(3049323471,3964484399),new t(3921009573,2173295548),new t(961987163,4081628472),new t(1508970993,3053834265),new t(2453635748,2937671579),new t(2870763221,3664609560),new t(3624381080,2734883394),new t(310598401,1164996542),new t(607225278,1323610764),new t(1426881987,3590304994),new t(1925078388,4068182383),new t(2162078206,991336113),new t(2614888103,633803317),new t(3248222580,3479774868),new t(3835390401,2666613458),new t(4022224774,944711139),new t(264347078,2341262773),new t(604807628,2007800933),new t(770255983,1495990901),new t(1249150122,1856431235),new t(1555081692,3175218132),new t(1996064986,2198950837),new t(2554220882,3999719339),new t(2821834349,766784016),new t(2952996808,2566594879),new t(3210313671,3203337956),new t(3336571891,1034457026),new t(3584528711,2466948901),new t(113926993,3758326383),new t(338241895,168717936),new t(666307205,1188179964),new t(773529912,1546045734),new t(1294757372,1522805485),new t(1396182291,2643833823),new t(1695183700,2343527390),new t(1986661051,1014477480),new t(2177026350,1206759142),new t(2456956037,344077627),new t(2730485921,1290863460),new t(2820302411,3158454273),new t(3259730800,3505952657),new t(3345764771,106217008),new t(3516065817,3606008344),new t(3600352804,1432725776),new t(4094571909,1467031594),new t(275423344,851169720),new t(430227734,3100823752),new t(506948616,1363258195),new t(659060556,3750685593),new t(883997877,3785050280),new t(958139571,3318307427),new t(1322822218,3812723403),new t(1537002063,2003034995),new t(1747873779,3602036899),new t(1955562222,1575990012),new t(2024104815,1125592928),new t(2227730452,2716904306),new t(2361852424,442776044),new t(2428436474,593698344),new t(2756734187,3733110249),new t(3204031479,2999351573),new t(3329325298,3815920427),new t(3391569614,3928383900),new t(3515267271,566280711),new t(3940187606,3454069534),new t(4118630271,4000239992),new t(116418474,1914138554),new t(174292421,2731055270),new t(289380356,3203993006),new t(460393269,320620315),new t(685471733,587496836),new t(852142971,1086792851),new t(1017036298,365543100),new t(1126000580,2618297676),new t(1288033470,3409855158),new t(1501505948,4234509866),new t(1607167915,987167468),new t(1816402316,1246189591)];function Xt(r,o,A){var I=[],a=[],s=[],u=[],l,h,C;for(h=0;h<8;h++)I[h]=s[h]=Pt(r,8*h);for(var E=0;A>=128;){for(h=0;h<16;h++)u[h]=Pt(o,8*h+E);for(h=0;h<80;h++){for(C=0;C<8;C++)a[C]=s[C];for(l=Ce(s[7],or(s[4]),rr(s[4],s[5],s[6]),cr[h],u[h%16]),a[7]=Ce(l,Ar(s[0]),ir(s[0],s[1],s[2])),a[3]=Ce(a[3],l),C=0;C<8;C++)s[(C+1)%8]=a[C];if(h%16===15)for(C=0;C<16;C++)u[C]=Ce(u[C],u[(C+9)%16],Ir(u[(C+1)%16]),ar(u[(C+14)%16]))}for(h=0;h<8;h++)s[h]=Ce(s[h],I[h]),I[h]=s[h];E+=128,A-=128}for(h=0;h<8;h++)Kt(r,8*h,I[h]);return A}c(Xt,"crypto_hashblocks");let ue=c((r,o)=>n(o).update(r).digest(),"crypto_hash_blake2b");var gr=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function ot(r,o,A){var I=new Uint8Array(64),a=new Uint8Array(256),s,u=A;for(s=0;s<64;s++)I[s]=gr[s];for(Xt(I,o,A),A%=128,s=0;s<256;s++)a[s]=0;for(s=0;s<A;s++)a[s]=o[u-A+s];for(a[A]=128,A=256-128*(A<112?1:0),a[A-9]=0,Kt(a,A-8,new t(u/536870912|0,u<<3)),Xt(I,a,A),s=0;s<64;s++)r[s]=I[s];return 0}c(ot,"crypto_hash");function Ke(r,o){var A=i(),I=i(),a=i(),s=i(),u=i(),l=i(),h=i(),C=i(),E=i();H(A,r[1],r[0]),H(E,o[1],o[0]),Q(A,A,E),R(I,r[0],r[1]),R(E,o[0],o[1]),Q(I,I,E),Q(a,r[3],o[3]),Q(a,a,S),Q(s,r[2],o[2]),R(s,s,s),H(u,I,A),H(l,s,a),R(h,s,a),R(C,I,A),Q(r[0],u,l),Q(r[1],C,h),Q(r[2],h,l),Q(r[3],u,C)}c(Ke,"add");function qt(r,o,A){var I;for(I=0;I<4;I++)ie(r[I],o[I],A)}c(qt,"cswap");function ke(r,o){var A=i(),I=i(),a=i();Nt(a,o[2]),Q(A,o[0],a),Q(I,o[1],a),Ae(r,I),r[31]^=Gt(A)<<7}c(ke,"pack");function It(r,o,A){var I,a;for(N(r[0],w),N(r[1],x),N(r[2],x),N(r[3],w),a=255;a>=0;--a)I=A[a/8|0]>>(a&7)&1,qt(r,o,I),Ke(o,r),Ke(r,r),qt(r,o,I)}c(It,"scalarmult");function le(r,o){var A=[i(),i(),i(),i()];N(A[0],m),N(A[1],j),N(A[2],x),Q(A[3],m,j),It(r,A,o)}c(le,"scalarbase");function at(r,o,A){var I=new Uint8Array(64),a=[i(),i(),i(),i()],s;A||g(o,32);I=ue(o,64),I[0]&=248,I[31]&=127,I[31]|=64,le(a,I),ke(r,a);return 0}c(at,"crypto_sign_keypair");var Ye=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ct(r,o){var A,I,a,s;for(I=63;I>=32;--I){for(A=0,a=I-32,s=I-12;a<s;++a)o[a]+=A-16*o[I]*Ye[a-(I-32)],A=Math.floor((o[a]+128)/256),o[a]-=A*256;o[a]+=A,o[I]=0}for(A=0,a=0;a<32;a++)o[a]+=A-(o[31]>>4)*Ye[a],A=o[a]>>8,o[a]&=255;for(a=0;a<32;a++)o[a]-=A*Ye[a];for(I=0;I<32;I++)o[I+1]+=o[I]>>8,r[I]=o[I]&255}c(ct,"modL");function gt(r){var o=new Float64Array(64),A;for(A=0;A<64;A++)o[A]=r[A];for(A=0;A<64;A++)r[A]=0;ct(r,o)}c(gt,"reduce");function Wt(r,o,A,I){var a=new Uint8Array(64),s=new Uint8Array(64),u=new Uint8Array(64),l,h,C=new Float64Array(64),E=[i(),i(),i(),i()];let d=en(I);a=ue(I,64),a[0]&=248,a[31]&=127,a[31]|=64;var p=A+64;for(l=0;l<A;l++)r[64+l]=o[l];for(l=0;l<32;l++)r[32+l]=a[32+l];for(u=ue(r.subarray(32),64),gt(u),le(E,u),ke(r,E),l=32;l<64;l++)r[l]=d[l-32];for(s=ue(r,64),gt(s),l=0;l<64;l++)C[l]=0;for(l=0;l<32;l++)C[l]=u[l];for(l=0;l<32;l++)for(h=0;h<32;h++)C[l+h]+=s[l]*a[h];return ct(r.subarray(32),C),p}c(Wt,"crypto_sign");function sr(r,o){var A=i(),I=i(),a=i(),s=i(),u=i(),l=i(),h=i();return N(r[2],x),At(r[1],o),k(a,r[1]),Q(s,a,_),H(a,a,r[2]),R(s,r[2],s),k(u,s),k(l,u),Q(h,l,u),Q(A,h,a),Q(A,A,s),Tt(A,A),Q(A,A,a),Q(A,A,s),Q(A,A,s),Q(r[0],A,s),k(I,r[0]),Q(I,I,s),Vt(I,a)&&Q(r[0],r[0],se),k(I,r[0]),Q(I,I,s),Vt(I,a)?-1:(Gt(r[0])===o[31]>>7&&H(r[0],w,r[0]),Q(r[3],r[0],r[1]),0)}c(sr,"unpackneg");function st(r,o,A,I){var a,s=new Uint8Array(32),u=new Uint8Array(64),l=[i(),i(),i(),i()],h=[i(),i(),i(),i()];if(A<64||sr(h,I))return-1;for(a=0;a<A;a++)r[a]=o[a];for(a=0;a<32;a++)r[a+32]=I[a];if(ot(u,r,A),gt(u),It(l,h,u),le(h,o.subarray(32)),Ke(l,h),ke(s,l),A-=64,Ze(o,0,s,0)){for(a=0;a<A;a++)r[a]=0;return-1}for(a=0;a<A;a++)r[a]=o[a+64];return A}c(st,"crypto_sign_open");var ht=32,Re=24,ye=32,oe=16,Ee=32,He=32,we=32,Be=32,ft=32,zt=Re,hr=ye,fr=oe,T=64,z=32,Ie=32,Ct=32,ut=64;e.lowlevel={crypto_core_hsalsa20:Ue,crypto_stream_xor:et,crypto_stream:Lt,crypto_stream_salsa20_xor:$e,crypto_stream_salsa20:Ht,crypto_onetimeauth:nt,crypto_onetimeauth_verify:Mt,crypto_verify_16:kt,crypto_verify_32:Ze,crypto_secretbox:rt,crypto_secretbox_open:it,crypto_scalarmult:me,crypto_scalarmult_base:ve,crypto_box_beforenm:Fe,crypto_box_afternm:Jt,crypto_box:tr,crypto_box_open:nr,crypto_box_keypair:Ot,crypto_hash:ot,crypto_sign:Wt,crypto_sign_keypair:at,crypto_sign_open:st,crypto_secretbox_KEYBYTES:ht,crypto_secretbox_NONCEBYTES:Re,crypto_secretbox_ZEROBYTES:ye,crypto_secretbox_BOXZEROBYTES:oe,crypto_scalarmult_BYTES:Ee,crypto_scalarmult_SCALARBYTES:He,crypto_box_PUBLICKEYBYTES:we,crypto_box_SECRETKEYBYTES:Be,crypto_box_BEFORENMBYTES:ft,crypto_box_NONCEBYTES:zt,crypto_box_ZEROBYTES:hr,crypto_box_BOXZEROBYTES:fr,crypto_sign_BYTES:T,crypto_sign_PUBLICKEYBYTES:z,crypto_sign_SECRETKEYBYTES:Ie,crypto_sign_SEEDBYTES:Ct,crypto_hash_BYTES:ut,gf:i,D:_,L:Ye,pack25519:Ae,unpack25519:At,M:Q,A:R,S:k,Z:H,pow2523:Tt,add:Ke,set25519:N,modL:ct,scalarmult:It,scalarbase:le};function Zt(r,o){if(r.length!==ht)throw new Error("bad key size");if(o.length!==Re)throw new Error("bad nonce size")}c(Zt,"checkLengths");function Cr(r,o){if(r.length!==we)throw new Error("bad public key size");if(o.length!==Be)throw new Error("bad secret key size")}c(Cr,"checkBoxLengths");function P(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}c(P,"checkArrayTypes");function $t(r){for(var o=0;o<r.length;o++)r[o]=0}c($t,"cleanup"),e.randomBytes=function(r){var o=new Uint8Array(r);return g(o,r),o},e.secretbox=function(r,o,A){P(r,o,A),Zt(A,o);for(var I=new Uint8Array(ye+r.length),a=new Uint8Array(I.length),s=0;s<r.length;s++)I[s+ye]=r[s];return rt(a,I,I.length,o,A),a.subarray(oe)},e.secretbox.open=function(r,o,A){P(r,o,A),Zt(A,o);for(var I=new Uint8Array(oe+r.length),a=new Uint8Array(I.length),s=0;s<r.length;s++)I[s+oe]=r[s];return I.length<32||it(a,I,I.length,o,A)!==0?null:a.subarray(ye)},e.secretbox.keyLength=ht,e.secretbox.nonceLength=Re,e.secretbox.overheadLength=oe,e.scalarMult=function(r,o){if(P(r,o),r.length!==He)throw new Error("bad n size");if(o.length!==Ee)throw new Error("bad p size");var A=new Uint8Array(Ee);return me(A,r,o),A},e.scalarMult.base=function(r){if(P(r),r.length!==He)throw new Error("bad n size");var o=new Uint8Array(Ee);return ve(o,r),o},e.scalarMult.scalarLength=He,e.scalarMult.groupElementLength=Ee,e.box=function(r,o,A,I){var a=e.box.before(A,I);return e.secretbox(r,o,a)},e.box.before=function(r,o){P(r,o),Cr(r,o);var A=new Uint8Array(ft);return Fe(A,r,o),A},e.box.after=e.secretbox,e.box.open=function(r,o,A,I){var a=e.box.before(A,I);return e.secretbox.open(r,o,a)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var r=new Uint8Array(we),o=new Uint8Array(Be);return Ot(r,o),{publicKey:r,secretKey:o}},e.box.keyPair.fromSecretKey=function(r){if(P(r),r.length!==Be)throw new Error("bad secret key size");var o=new Uint8Array(we);return ve(o,r),{publicKey:o,secretKey:new Uint8Array(r)}},e.box.publicKeyLength=we,e.box.secretKeyLength=Be,e.box.sharedKeyLength=ft,e.box.nonceLength=zt,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(r,o){if(P(r,o),o.length!==Ie)throw new Error("bad secret key size");var A=new Uint8Array(T+r.length);return Wt(A,r,r.length,o),A},e.sign.open=function(r,o){if(P(r,o),o.length!==z)throw new Error("bad public key size");var A=new Uint8Array(r.length),I=st(A,r,r.length,o);if(I<0)return null;for(var a=new Uint8Array(I),s=0;s<a.length;s++)a[s]=A[s];return a},e.sign.detached=function(r,o){for(var A=e.sign(r,o),I=new Uint8Array(T),a=0;a<I.length;a++)I[a]=A[a];return I},e.sign.detached.verify=function(r,o,A){if(P(r,o,A),o.length!==T)throw new Error("bad signature size");if(A.length!==z)throw new Error("bad public key size");var I=new Uint8Array(T+r.length),a=new Uint8Array(T+r.length),s;for(s=0;s<T;s++)I[s]=o[s];for(s=0;s<r.length;s++)I[s+T]=r[s];return st(a,I,I.length,A)>=0};function en(r){let o=new Uint8Array(64),A=[i(),i(),i(),i()],I,a=new Uint8Array(32);return o=ue(r,64),o[0]&=248,o[31]&=127,o[31]|=64,le(A,o),ke(a,A),a}c(en,"derivePublicFromSecret"),e.sign.keyPair=function(){var r=new Uint8Array(z),o=new Uint8Array(Ie);return at(r,o),{publicKey:r,secretKey:o}},e.sign.keyPair.fromSecretKey=function(r){if(P(r),r.length!==Ie)throw new Error("bad secret key size");var o=new Uint8Array(z);return o=en(r),{publicKey:o,secretKey:new Uint8Array(r)}},e.sign.keyPair.fromSeed=function(r){if(P(r),r.length!==Ct)throw new Error("bad seed size");for(var o=new Uint8Array(z),A=new Uint8Array(Ie),I=0;I<32;I++)A[I]=r[I];return at(o,A,!0),{publicKey:o,secretKey:A}},e.sign.publicKeyLength=z,e.sign.secretKeyLength=Ie,e.sign.seedLength=Ct,e.sign.signatureLength=T,e.hash=function(r){P(r);var o=new Uint8Array(ut);return ot(o,r,r.length),o},e.hash.hashLength=ut,e.verify=function(r,o){return P(r,o),r.length===0||o.length===0||r.length!==o.length?!1:ze(r,0,o,0,r.length)===0},e.setPRNG=function(r){g=r},function(){var r=typeof self<"u"?self.crypto||self.msCrypto:null;if(r&&r.getRandomValues){var o=65536;e.setPRNG(function(A,I){var a,s=new Uint8Array(I);for(a=0;a<I;a+=o)r.getRandomValues(s.subarray(a,a+Math.min(I-a,o)));for(a=0;a<I;a++)A[a]=s[a];$t(s)})}else typeof tn<"u"&&r&&r.randomBytes&&e.setPRNG(function(A,I){var a,s=r.randomBytes(I);for(a=0;a<I;a++)A[a]=s[a];$t(s)})}()})(typeof Oe<"u"&&Oe.exports?Oe.exports:self.nacl=self.nacl||{})});var Xe={};Me(Xe,{base32_to_uint8array:()=>Wn,get_address_from_public_key:()=>_e,get_private_key_from_seed:()=>_t,get_public_key_from_address:()=>pe,get_public_key_from_private_key:()=>je,hash_block:()=>te,hex_to_uint8array:()=>D,int_to_uint8array:()=>Xn,raw_to_whole:()=>bt,sign_block_hash:()=>ne,sign_message:()=>pt,uint8array_to_base32:()=>dt,uint8array_to_hex:()=>ee,utf8_to_uint8array:()=>zn,verify_block_hash:()=>pi,whole_to_raw:()=>De});var Je=nn(jn()),Se=nn(Qt());var Qi="0000000000000000000000000000000000000000000000000000000000000006",di="62616E616E6F6D73672D",be=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function ee(e){let n="";for(let t=0;t<e.length;t++)n+=be[Math.floor(e[t]/16)]+be[e[t]%16];return n}c(ee,"uint8array_to_hex");function D(e){e=e.toUpperCase();let n=new Uint8Array(Math.ceil(e.length/2));for(let t=0;t<Math.floor(e.length/2);t++)n[t]=be.indexOf(e[t*2])*16+be.indexOf(e[t*2+1]);return e.length/2%1!==0&&(n[n.length-1]=be.indexOf(e[e.length-1])*16),n}c(D,"hex_to_uint8array");function Xn(e,n){let t=new Uint8Array(n);for(let i=1;i<=n;i++)if(i===1)t[n-i]=e%16**2;else{let g=e;for(let f=i-1;f>0;f--)g-=t[n-f]*16**(2*(f-1));t[n-i]=Math.floor(g/16**(2*(i-1)))}return t}c(Xn,"int_to_uint8array");var qn=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function dt(e){let n="";for(let t=0;t<Math.floor(e.length*8/5);t++){let i=t*5,g=Math.floor(i/8),f=i%8,y,w=8-f;if(w>=5)y=e[g]>>w-5&31;else{let x=5-w;y=(e[g]<<x&31)+(e[g+1]>>8-x&2**(8-x)-1)}n+=qn[y]}return n}c(dt,"uint8array_to_base32");function bi(e,n){let t="",i=e;for(let g=0;g<n;g++)i>=2**(n-1-g)?(t+="1",i-=2**(n-1-g)):t+="0";return t}c(bi,"int_to_binary");function _i(e){let n=0;for(let t=0;t<e.length;t++)n+=e[t]==="1"?2**(e.length-1-t):0;return n}c(_i,"binary_to_int");function Wn(e){let n=e.split("").map(i=>bi(qn.indexOf(i),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let i=0;i<t.length;i++)t[i]=_i(n.slice(i*8,i*8+8));return t}c(Wn,"base32_to_uint8array");function zn(e){return new TextEncoder().encode(e)}c(zn,"utf8_to_uint8array");var Zn=29;function De(e,n=Zn){let t;if(e.includes(".")){let i=e.split(".");if(0>n-i[1].length)throw Error(`Too many decimals, cannot exceed ${n}`);t=BigInt(i[0])*BigInt(10)**BigInt(n)+BigInt(i[1])*BigInt(10)**BigInt(n-i[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(n);return t}c(De,"whole_to_raw");function bt(e,n=Zn){let t=e.toString(),i;if(t.length>n)i=t.slice(0,-n)+"."+t.slice(-n);else{let f=n-t.length;i="0."+"0".repeat(f>0?f:0)+t}let g=i.length;for(let f=0;f<g;f++)(i.slice(-1)==="0"||i.slice(-1)===".")&&(i=i.slice(0,-1));return i}c(bt,"raw_to_whole");function _t(e,n){return(0,Se.default)(32).update(D(e)).update(Xn(n,4)).digest("hex").toUpperCase()}c(_t,"get_private_key_from_seed");function je(e){return ee(Je.sign.keyPair.fromSecretKey(D(e)).publicKey)}c(je,"get_public_key_from_private_key");function _e(e,n="ban_"){let t=dt(D(`0${e}`)),i=dt((0,Se.default)(5,null,null,null,!0).update(D(e)).digest().reverse());return`ban_${t}${i}`}c(_e,"get_address_from_public_key");function pe(e){let n=Wn(e.split("_")[1].slice(0,52));return n[n.length-1]=n[n.length-1]*16,ee(n).slice(1,-1)}c(pe,"get_public_key_from_address");function te(e){let n=BigInt(e.balance).toString(16).toUpperCase();for(;n.length<32;)n="0"+n;return(0,Se.default)(32).update(D(Qi)).update(D(pe(e.account))).update(D(e.previous)).update(D(pe(e.representative))).update(D(n)).update(D(e.link)).digest("hex").toUpperCase()}c(te,"hash_block");function ne(e,n){return ee(Je.sign.detached(D(n),D(e)))}c(ne,"sign_block_hash");function pi(e,n,t){return Je.sign.detached.verify(D(t),D(n),D(e))}c(pi,"verify_block_hash");function pt(e,n,t=di){let i="0".repeat(64),g={type:"state",account:_e(je(e)),previous:i,representative:_e(ee((0,Se.default)(32).update(D(t)).update(zn(n)).digest())),balance:"0",link:i};return ne(e,te(g))}c(pt,"sign_message");var Dt={};Me(Dt,{RPC:()=>qe,RPCWithBackup:()=>St});var qe=class{constructor(n,t=!1){this.DECIMALS=void 0;this.debug=!1;this.rpc_url=n,this.use_pending=t}static{c(this,"RPC")}async call(n){this.debug&&console.log(JSON.stringify(n));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let i=await t.json();if(i.error)throw Error(`RPC node response: ${i.error}`);return i}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(n){return await this.call({action:"block_info",hash:n,json_block:!0})}async get_blocks(n){return await this.call({action:"blocks",hashes:n,json_block:!0})}async get_blocks_info(n){return await this.call({action:"blocks_info",hashes:n,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(n){return await this.call({action:"representatives_online",weight:n?"true":void 0})}async get_account_history(n,t,i,g,f,y,w){return await this.call({action:"account_history",account:n,count:`${t}`,raw:i?"true":void 0,head:g,offset:f?`${f}`:void 0,reverse:y?"true":void 0,account_filter:w})}async get_account_info(n,t,i,g,f){return await this.call({action:"account_info",account:n,representative:i?"true":void 0,weight:g?"true":void 0,pending:f?"true":void 0})}async get_account_balance(n){return await this.call({action:"account_balance",account:n})}async get_accounts_balances(n){return await this.call({action:"accounts_balances",accounts:n})}async get_account_representative(n){return await this.call({action:"account_representative",account:n})}async get_accounts_representatives(n){return await this.call({action:"accounts_representatives",account:n})}async get_account_weight(n){return await this.call({action:"account_weight",account:n})}async get_account_receivable(n,t,i,g){return await this.call({action:this.use_pending?"pending":"receivable",account:n,count:t?`${t}`:void 0,threshold:i?De(i,this.DECIMALS).toString():void 0,source:g?"true":void 0})}async get_delegators(n,t,i,g){return await this.call({action:"delegators",account:n,threshold:t?`${t}`:void 0,count:i?`${i}`:void 0,start:g})}async get_delegators_count(n){return await this.call({action:"account_weight",account:n})}},St=class extends qe{static{c(this,"RPCWithBackup")}constructor(n,t,i=!1){if(n.length<2)throw Error("Must provide at least two RPC URLs");super(n[0],i),this.rpc_urls=n}async call(n){let t=0;for(;;)try{let i=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(n),signal:AbortSignal.timeout(this.timeout)});if(!i.ok)throw Error(`Request to RPC node failed with status code ${i.status}`);let g=await i.json();if(g.error)throw Error(`RPC node response: ${g.error}`);return g}catch(i){if(!this.rpc_urls[++t])throw Error(i)}}};var mt={};Me(mt,{Wallet:()=>Ut});var Ut=class e{constructor(n,t,i=0,g=!1,f){this.add_do_work=!0;if(this.rpc=n,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=i,this.work_function=f}static{c(this,"Wallet")}static gen_random_wallet(n){let t=new Uint8Array(32);crypto.getRandomValues(t);let i=ee(t);return new e(n,i)}get private_key(){return _t(this.seed,this.index)}get public_key(){return je(this.private_key)}get address(){return _e(this.public_key)}async send_process(n,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:n,do_work:!n.work&&this.add_do_work?!0:void 0})).hash}async send(n,t,i,g,f){let y=De(t,this.rpc.DECIMALS),w=f??await this.get_account_info(void 0,!0),x=pe(n);g||(g=w.representative);let b=BigInt(w.balance),_=b-y;if(_<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${b}) less than send amount (raw: ${y})`);let S={type:"state",account:this.address,previous:w.frontier,representative:g,balance:_.toString(),link:x,link_as_account:n},m=te(S),j;i&&(j=await this.work_function(m));let se=ne(this.private_key,m),X={...S,signature:se,work:j};return await this.send_process(X,"send")}async send_all(n,t,i){let g=await this.get_account_info(void 0,!0);return await this.send(n,bt(BigInt(g.balance),this.rpc.DECIMALS),t,i,g)}async receive(n,t,i){let g=await this.rpc.get_block_info(n),f=0n;i||(i=this.address);let y;try{let m=await this.get_account_info(void 0,!0);y=m.frontier,i=m.representative,f=BigInt(m.balance)}catch{y="0".repeat(64)}let w={type:"state",account:this.address,previous:y,representative:i,balance:(f+BigInt(g.amount)).toString(),link:n},x=te(w),b;t&&(b=await this.work_function(x));let _=ne(this.private_key,x),S={...w,signature:_,work:b};return await this.send_process(S,"receive")}async receive_all(n=20,t,i){let g=(await this.get_account_receivable(n,t,!0)).blocks,f,y,w;try{let b=await this.get_account_info(void 0,!0);f=b.frontier,y=b.representative,w=BigInt(b.balance)}catch{f="0".repeat(64),y=this.address,w=BigInt(0)}let x=[];for(let b of Object.keys(g)){let _=(w+BigInt(g[b].amount)).toString(),S={type:"state",account:this.address,previous:f,representative:y,balance:_,link:b},m=te(S),j;i&&(j=await this.work_function(m));let se=ne(this.private_key,m),X={...S,signature:se,work:j};await this.send_process(X,"receive"),x.push(m),f=m,w=BigInt(_)}return x}async change_representative(n,t){let i=await this.get_account_info(),g={type:"state",account:this.address,previous:i.frontier,representative:n,balance:i.balance,link:"0".repeat(64)},f=te(g),y;t&&(y=await this.work_function(f));let w=ne(this.private_key,f),x={...g,signature:w,work:y};return await this.send_process(x,"change")}async change_rep(n,t){return await this.change_representative(n,t)}async get_account_info(n,t,i,g){return await this.rpc.get_account_info(this.address,n,t,i,g)}async get_account_receivable(n,t,i){return await this.rpc.get_account_receivable(this.address,n,t,i)}sign_message(n){return pt(this.private_key,n)}};var Ft={};Me(Ft,{RPCWorkProvider:()=>vt});var vt=class{constructor(n){this.extra_payload={};this.rpc=n}static{c(this,"RPCWorkProvider")}async request_work(n){return(await this.rpc.call({action:"work_generate",hash:n,...this.extra_payload})).work}};window.banani={...Xe,...Dt,...mt,...Ft};})();
|
|
//!!! BANANO CHANGE: we are replacing the below line with blake2b
|
|
//!!! BANANO CHANGE: below line commented out
|
|
//!!! BANANO CHANGE: Changed hashing to blake2b, and the derive pk thing
|
|
//!!! BANANO CHANGE: New function. I don't know what's going on, just looking at what bananojs changed
|
|
//!!! BANANO CHANGE: we are replacing the below line with other... math stuff. Again, I don't know what's going on, just looking at what bananojs changed
|