js-randomness-predictor
Version:
Predict Math.random output in Node, Deno, Bun, Chrome, Firefox, and Safari
2 lines (1 loc) • 23.3 kB
JavaScript
"use strict";var W=require("z3-solver-jsrp");function le(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var J={},V={},T={},g={},F={},H;function O(){if(H)return F;H=1,Object.defineProperty(F,"__esModule",{value:!0}),F.default=n;function n(l){return l&0xffffffffffffffffn}return F}var Y;function B(){if(Y)return g;Y=1;var n=g&&g.__classPrivateFieldGet||function(f,a,e,d){if(e==="a"&&!d)throw new TypeError("Private accessor was defined without a getter");if(typeof a=="function"?f!==a||!d:!a.has(f))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?d:e==="a"?d.call(f):d?d.value:a.get(f)},l=g&&g.__importDefault||function(f){return f&&f.__esModule?f:{default:f}},_,h;Object.defineProperty(g,"__esModule",{value:!0});const c=l(O());let S=class{constructor(){}static symbolic(a){let e=a[0];e=e.xor(e.shl(23)),e=e.xor(e.lshr(17)),e=e.xor(a[1]),e=e.xor(a[1].lshr(26)),a[0]=a[1],a[1]=e}static symbolicArithmeticShiftRight(a){let e=a[0];e=e.xor(e.shl(23)),e=e.xor(e.shr(17)),e=e.xor(a[1]),e=e.xor(a[1].shr(26)),a[0]=a[1],a[1]=e}static concreteBackwards(a){let e=a[1]^a[0]>>26n^a[0];e=(0,c.default)(e^e>>17n^e>>34n^e>>51n),e=(0,c.default)(e^e<<23n^e<<46n),a[1]=a[0],a[0]=e}static concrete(a){let e=a[0];e^=(0,c.default)(e<<23n),e^=(0,c.default)(e>>17n),e^=a[1],e^=(0,c.default)(a[1]>>26n),a[0]=a[1],a[1]=e}static concreteArithmeticShiftRight(a){let e=(0,c.default)(a[0]);e^=(0,c.default)(e<<23n),e^=n(this,_,"m",h).call(this,e,17n),e^=a[1],e^=n(this,_,"m",h).call(this,a[1],26n),a[0]=a[1],a[1]=(0,c.default)(e)}};return _=S,h=function(a,e){const d=(0,c.default)(a>>e);if((a&1n<<63n)===0n)return d;const E=(1n<<e)-1n<<64n-e;return d|E},g.default=S,g}var b={},w={},z;function N(){if(z)return w;z=1,Object.defineProperty(w,"__esModule",{value:!0}),w.UnexpectedRuntimeError=w.SymbolicStateEmptyError=w.SequenceNotFoundError=w.InsufficientSequenceLengthError=w.UnsatError=void 0;class n extends Error{constructor(f){f=f===void 0?"Cannot solve state. Unable to make accurate predictions.":f,super(f),this.name="UnsatError",Object.setPrototypeOf(this,new.target.prototype)}}w.UnsatError=n;class l extends Error{constructor(f){super(f),this.name="InsufficientSequenceLengthError",Object.setPrototypeOf(this,new.target.prototype)}}w.InsufficientSequenceLengthError=l;class _ extends Error{constructor(f){super(f),this.name="SequenceNotFoundError",Object.setPrototypeOf(this,new.target.prototype)}}w.SequenceNotFoundError=_;class h extends Error{constructor(f){super(f),this.name="SymbolicStateEmptyError",Object.setPrototypeOf(this,new.target.prototype)}}w.SymbolicStateEmptyError=h;class c extends Error{constructor(f){super(f),this.name="UnexpectedRuntimeError",Object.setPrototypeOf(this,new.target.prototype)}}return w.UnexpectedRuntimeError=c,w}var Z;function K(){if(Z)return b;Z=1;var n=b&&b.__createBinding||(Object.create?(function(r,t,o,i){i===void 0&&(i=o);var u=Object.getOwnPropertyDescriptor(t,o);(!u||("get"in u?!t.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(r,i,u)}):(function(r,t,o,i){i===void 0&&(i=o),r[i]=t[o]})),l=b&&b.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),_=b&&b.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(o){var i=[];for(var u in o)Object.prototype.hasOwnProperty.call(o,u)&&(i[i.length]=u);return i},r(t)};return function(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var i=r(t),u=0;u<i.length;u++)i[u]!=="default"&&n(o,t,i[u]);return l(o,t),o}})(),h=b&&b.__classPrivateFieldSet||function(r,t,o,i,u){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!u:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?u.call(r,o):u?u.value=o:t.set(r,o),o},c=b&&b.__classPrivateFieldGet||function(r,t,o,i){if(o==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?i:o==="a"?i.call(r):i?i.value:t.get(r)},S,f,a,e,d,m;Object.defineProperty(b,"__esModule",{value:!0});const E=_(W),v=N();class s{constructor(t,o){if(S.add(this),f.set(this,[0n,0n]),a.set(this,void 0),e.set(this,void 0),o.length<=0)throw new Error("V8EnginePredictor requires at least one solvingStrategy in solvingStrategies");this.sequence=t,h(this,a,o,"f"),h(this,e,c(this,a,"f")[0],"f")}async predictNext(){c(this,f,"f")[0]===0n&&c(this,f,"f")[1]===0n&&await c(this,S,"m",m).call(this);const t=c(this,e,"f").toDouble(c(this,f,"f"));return c(this,e,"f").concreteXorShift(c(this,f,"f")),t}}return f=new WeakMap,a=new WeakMap,e=new WeakMap,S=new WeakSet,d=async function(){try{const{Context:t}=await E.init(),o=t("main"),i=new o.Solver,u=o.BitVec.const("ss0",64),p=o.BitVec.const("ss1",64),R=[u,p],j=[...this.sequence].reverse();for(const I of j){c(this,e,"f").symbolicXorShift(R);const X=c(this,e,"f").recoverMantissa(I);c(this,e,"f").constrainMantissa(X,R,i,o)}if(await i.check()!=="sat")throw new v.UnsatError;const M=i.model();h(this,f,[M.get(u).value(),M.get(p).value()],"f")}catch(t){return Promise.reject(t)}},m=async function(){let t;for(const o of c(this,a,"f"))try{return h(this,e,o,"f"),await c(this,S,"m",d).call(this)}catch(i){if(!(i instanceof v.UnsatError))throw i;t=i}throw t??new Error("V8EnginePredictor : no strategies attempted")},b.default=s,b}var k;function _e(){if(k)return T;k=1;var n=T&&T.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(T,"__esModule",{value:!0});const l=n(B()),_=n(O()),h=n(K()),c=Math.pow(2,53),S=[{recoverMantissa:a=>{const e=Math.floor(a*c);return BigInt(e)},toDouble:a=>Number(a[0]>>11n)/c,constrainMantissa:(a,e,d,m)=>{d.add(e[0].lshr(11).eq(m.BitVec.val(a,64)))},symbolicXorShift:a=>l.default.symbolic(a),concreteXorShift:a=>l.default.concreteBackwards(a)},{recoverMantissa:a=>{const e=Math.floor(a*c);return BigInt(e)},toDouble:a=>{const e=(0,_.default)(a[0]+a[1]);return Number(e>>11n)/c},constrainMantissa:(a,e,d,m)=>{const E=e[0].add(e[1]);d.add(E.lshr(11).eq(m.BitVec.val(a,64)))},symbolicXorShift:a=>l.default.symbolic(a),concreteXorShift:a=>l.default.concreteBackwards(a)}];class f extends h.default{constructor(e){super(e,S)}}return T.default=f,T}var C={},P={},$;function he(){if($)return P;$=1;var n=P&&P.__createBinding||(Object.create?(function(r,t,o,i){i===void 0&&(i=o);var u=Object.getOwnPropertyDescriptor(t,o);(!u||("get"in u?!t.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(r,i,u)}):(function(r,t,o,i){i===void 0&&(i=o),r[i]=t[o]})),l=P&&P.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),_=P&&P.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(o){var i=[];for(var u in o)Object.prototype.hasOwnProperty.call(o,u)&&(i[i.length]=u);return i},r(t)};return function(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var i=r(t),u=0;u<i.length;u++)i[u]!=="default"&&n(o,t,i[u]);return l(o,t),o}})(),h=P&&P.__classPrivateFieldSet||function(r,t,o,i,u){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!u:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?u.call(r,o):u?u.value=o:t.set(r,o),o},c=P&&P.__classPrivateFieldGet||function(r,t,o,i){if(o==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?i:o==="a"?i.call(r):i?i.value:t.get(r)},S,f,a,e,d,m;Object.defineProperty(P,"__esModule",{value:!0});const E=_(W),v=N();class s{constructor(t,o){if(S.add(this),f.set(this,[0n,0n]),a.set(this,void 0),e.set(this,void 0),o.length<=0)throw new Error("SpiderMonkeyPredictor requires at least one solvingStrategy in solvingStrategies");this.sequence=t,h(this,a,o,"f"),h(this,e,c(this,a,"f")[0],"f")}async predictNext(){return c(this,f,"f")[0]===0n&&c(this,f,"f")[1]===0n&&await c(this,S,"m",m).call(this),c(this,e,"f").concreteXorShift(c(this,f,"f")),c(this,e,"f").toDouble(c(this,f,"f"))}}return f=new WeakMap,a=new WeakMap,e=new WeakMap,S=new WeakSet,d=async function(){try{const{Context:t}=await E.init(),o=t("main"),i=new o.Solver,u=o.BitVec.const("ss0",64),p=o.BitVec.const("ss1",64),R=[u,p];for(const I of this.sequence){c(this,e,"f").symbolicXorShift(R);const X=c(this,e,"f").recoverMantissa(I);c(this,e,"f").constrainMantissa(X,R,i,o)}if(await i.check()!=="sat")throw new v.UnsatError;const j=i.model(),M=[j.get(u).value(),j.get(p).value()];for(const I of this.sequence)c(this,e,"f").concreteXorShift(M);h(this,f,M,"f")}catch(t){return Promise.reject(t)}},m=async function(){let t;for(const o of c(this,a,"f"))try{return h(this,e,o,"f"),await c(this,S,"m",d).call(this)}catch(i){if(!(i instanceof v.UnsatError))throw i;t=i}throw t??new Error("SpiderMonkeyPredictor : no strategies attempted")},P.default=s,P}var ee;function Ee(){if(ee)return C;ee=1;var n=C&&C.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C,"__esModule",{value:!0});const l=n(B()),_=n(O()),h=n(he()),c=0x1fffffffffffffn,S=Math.pow(2,53),f=[{recoverMantissa:e=>BigInt(Math.floor(e*S)),toDouble:e=>{const d=(0,_.default)(e[0]+e[1]);return Number(d&c)/S},constrainMantissa:(e,d,m,E)=>{const v=d[0].add(d[1]).and(E.BitVec.val(c,64));m.add(v.eq(E.BitVec.val(e,64)))},symbolicXorShift:e=>l.default.symbolic(e),concreteXorShift:e=>l.default.concrete(e)}];class a extends h.default{constructor(d){super(d,f)}}return C.default=a,C}var D={},G={},te;function x(){if(te)return G;te=1,Object.defineProperty(G,"__esModule",{value:!0});const n=N();let l=class{constructor(){}static isDeno(){return typeof globalThis.Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno=="string"}static isBun(){return typeof globalThis.Bun<"u"&&typeof Bun.version<"u"&&typeof process.versions.bun=="string"}static isNode(){return!this.isDeno()&&!this.isBun()&&typeof process.versions.node<"u"&&typeof process.versions.node=="string"}static isFirefox(){return typeof window<"u"&&navigator.userAgent.indexOf("Firefox")>-1}static isChrome(){return typeof window<"u"&&navigator.userAgent.indexOf("Chrome")>-1}static isSafari(){return typeof window<"u"&&navigator.userAgent.indexOf("Safari")>-1}static type(){if(this.isNode())return"node";if(this.isDeno())return"deno";if(this.isBun())return"bun";if(this.isChrome())return"chrome";if(this.isSafari())return"safari";if(this.isFirefox())return"firefox";throw new n.UnexpectedRuntimeError}};return G.default=l,G}var Q={},re;function me(){return re||(re=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.SUPPORTED_BROWSER_RUNTIMES=n.MIN_SEQUENCE_LENGTH=n.ENGINE_RUNTIME=n.RUNTIME_ENGINE=n.IS_BROWSER_RUNTIME=n.IS_SERVER_RUNTIME=n.BROWSER_RUNTIMES=n.JAVASCRIPT_ENGINES=n.SERVER_RUNTIMES=n.RUNTIMES=n.V8_MAX_PREDICTIONS=n.DEFAULT_NUMBER_OF_PREDICTIONS=n.EXECUTION_RUNTIME_ENV_VAR_KEY=void 0,n.EXECUTION_RUNTIME_ENV_VAR_KEY="JSRP_RUNTIME",n.DEFAULT_NUMBER_OF_PREDICTIONS=10,n.V8_MAX_PREDICTIONS=64,n.RUNTIMES=["node","bun","deno","chrome","firefox","safari"],n.SERVER_RUNTIMES=["node","bun","deno"],n.JAVASCRIPT_ENGINES=["v8","javascriptcore","spidermonkey"],n.BROWSER_RUNTIMES=["chrome","safari","firefox"],n.IS_SERVER_RUNTIME=Object.fromEntries(n.RUNTIMES.map(l=>[l,n.SERVER_RUNTIMES.includes(l)])),n.IS_BROWSER_RUNTIME=Object.fromEntries(n.RUNTIMES.map(l=>[l,n.BROWSER_RUNTIMES.includes(l)])),n.RUNTIME_ENGINE={node:"v8",bun:"javascriptcore",deno:"v8",chrome:"v8",firefox:"spidermonkey",safari:"javascriptcore"},n.ENGINE_RUNTIME=Object.entries(n.RUNTIME_ENGINE).reduce((l,[_,h])=>((l[h]||(l[h]=[])).push(_),l),{}),n.MIN_SEQUENCE_LENGTH={bun:6,safari:6,node:5,chrome:4,deno:4,firefox:4},n.SUPPORTED_BROWSER_RUNTIMES={firefox:!0,chrome:!0,safari:!0}})(Q)),Q}var ne;function Se(){if(ne)return D;ne=1;var n=D&&D.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(D,"__esModule",{value:!0});const l=N(),_=n(B()),h=n(x()),c=n(K()),S=n(O()),f=me(),a=64,e=0x000fffffffffffffn,d=0x3ff0000000000000n,m=Math.pow(2,53),E=[{recoverMantissa:s=>{const r=Math.floor(s*m);return BigInt(r)},toDouble:s=>{const r=(0,S.default)(s[0]+s[1]);return Number(r>>11n)/m},constrainMantissa:(s,r,t,o)=>{const i=r[0].add(r[1]);t.add(i.lshr(11).eq(o.BitVec.val(s,64)))},symbolicXorShift:s=>_.default.symbolic(s),concreteXorShift:s=>_.default.concreteBackwards(s)},{recoverMantissa:s=>{const r=Math.floor(s*m);return BigInt(r)},toDouble:s=>Number(s[0]>>11n)/m,constrainMantissa:(s,r,t,o)=>{t.add(r[0].lshr(11).eq(o.BitVec.val(s,64)))},symbolicXorShift:s=>_.default.symbolic(s),concreteXorShift:s=>_.default.concreteBackwards(s)},{recoverMantissa:s=>{const r=Buffer.alloc(8);return r.writeDoubleLE(s+1,0),r.readBigUInt64LE(0)&e},toDouble:s=>{const r=Buffer.alloc(8);return r.writeBigUInt64LE(s[0]>>12n|d,0),r.readDoubleLE(0)-1},constrainMantissa:(s,r,t,o)=>{t.add(r[0].lshr(12).eq(o.BitVec.val(s,64)))},symbolicXorShift:s=>_.default.symbolic(s),concreteXorShift:s=>_.default.concreteBackwards(s)},{recoverMantissa:s=>{const r=Buffer.alloc(8);return r.writeDoubleLE(s+1,0),r.readBigUInt64LE(0)&e},toDouble:s=>{const r=s[0]+s[1],t=Buffer.alloc(8);return t.writeBigUInt64LE(r&e|d,0),t.readDoubleLE(0)-1},constrainMantissa:(s,r,t,o)=>{const i=r[0].add(r[1]).and(o.BitVec.val(e,64));t.add(i.eq(o.BitVec.val(s,64)))},symbolicXorShift:s=>_.default.symbolic(s),concreteXorShift:s=>_.default.concreteBackwards(s)}];class v extends c.default{constructor(r){if(r){if(r.length>=a)throw new Error(`sequence.length must be less than '${a}', got '${r.length}'`);if(r.length<f.MIN_SEQUENCE_LENGTH.node)throw new Error(`sequence.length must be at least '${f.MIN_SEQUENCE_LENGTH.node}', got '${r.length}'`)}if(!r){if(!h.default.isNode())throw new l.UnexpectedRuntimeError("Expected NodeJS runtime! Unable to auto-generate sequence, please provide one.");r=Array.from({length:f.MIN_SEQUENCE_LENGTH.node},Math.random)}super(r,E)}}return D.default=v,D}var U={},y={},oe;function ie(){if(oe)return y;oe=1;var n=y&&y.__createBinding||(Object.create?(function(r,t,o,i){i===void 0&&(i=o);var u=Object.getOwnPropertyDescriptor(t,o);(!u||("get"in u?!t.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(r,i,u)}):(function(r,t,o,i){i===void 0&&(i=o),r[i]=t[o]})),l=y&&y.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),_=y&&y.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(o){var i=[];for(var u in o)Object.prototype.hasOwnProperty.call(o,u)&&(i[i.length]=u);return i},r(t)};return function(t){if(t&&t.__esModule)return t;var o={};if(t!=null)for(var i=r(t),u=0;u<i.length;u++)i[u]!=="default"&&n(o,t,i[u]);return l(o,t),o}})(),h=y&&y.__classPrivateFieldSet||function(r,t,o,i,u){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!u:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?u.call(r,o):u?u.value=o:t.set(r,o),o},c=y&&y.__classPrivateFieldGet||function(r,t,o,i){if(o==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?i:o==="a"?i.call(r):i?i.value:t.get(r)},S,f,a,e,d,m;Object.defineProperty(y,"__esModule",{value:!0});const E=_(W),v=N();class s{constructor(t,o){if(S.add(this),f.set(this,[0n,0n]),a.set(this,void 0),e.set(this,void 0),o.length<=0)throw new Error("JavaScriptCorePredictor requires at least one solvingStrategy in solvingStrategies");this.sequence=t,h(this,a,o,"f"),h(this,e,c(this,a,"f")[0],"f")}async predictNext(){return c(this,f,"f")[0]===0n&&c(this,f,"f")[1]===0n&&await c(this,S,"m",m).call(this),c(this,e,"f").concreteXorShift(c(this,f,"f")),c(this,e,"f").toDouble(c(this,f,"f"))}}return f=new WeakMap,a=new WeakMap,e=new WeakMap,S=new WeakSet,d=async function(){try{const{Context:t}=await E.init(),o=t("main"),i=new o.Solver,u=o.BitVec.const("ss0",64),p=o.BitVec.const("ss1",64),R=[u,p];for(const I of this.sequence){c(this,e,"f").symbolicXorShift(R);const X=c(this,e,"f").recoverMantissa(I);c(this,e,"f").constrainMantissa(X,R,i,o)}if(await i.check()!=="sat")throw new v.UnsatError;const j=i.model(),M=[j.get(u).value(),j.get(p).value()];for(const I of this.sequence)c(this,e,"f").concreteXorShift(M);h(this,f,M,"f")}catch(t){return Promise.reject(t)}},m=async function(){let t;for(const o of c(this,a,"f"))try{return h(this,e,o,"f"),await c(this,S,"m",d).call(this)}catch(i){if(!(i instanceof v.UnsatError))throw i;t=i}throw t??new Error("JavaScriptCorePredictor : no strategies attempted")},y.default=s,y}var ae;function ve(){if(ae)return U;ae=1;var n=U&&U.__importDefault||function(E){return E&&E.__esModule?E:{default:E}};Object.defineProperty(U,"__esModule",{value:!0});const l=N(),_=n(B()),h=n(O()),c=n(ie()),S=6,f=0x1fffffffffffffn,a=Math.pow(2,53),e={recoverMantissa:E=>BigInt(Math.floor(E*a)),toDouble:E=>{const v=(0,h.default)(E[0]+E[1]);return Number(v&f)/a},constrainMantissa:(E,v,s,r)=>{const t=v[0].add(v[1]).and(r.BitVec.val(f,64));s.add(t.eq(r.BitVec.val(E,64)))}},d=[{...e,symbolicXorShift:E=>_.default.symbolicArithmeticShiftRight(E),concreteXorShift:E=>_.default.concreteArithmeticShiftRight(E)},{...e,symbolicXorShift:E=>_.default.symbolic(E),concreteXorShift:E=>_.default.concrete(E)}];class m extends c.default{constructor(v){if(v.length<S)throw new l.InsufficientSequenceLengthError(`sequence length must be >= ${S} : got ${v.length}`);super(v,d)}}return U.default=m,U}var q={},L={},se;function be(){if(se)return L;se=1,Object.defineProperty(L,"__esModule",{value:!0}),L.default=n;function n(l=1){const _=[];for(let h=0;h<l;h++)_.push(Math.random());return _}return L}var ce;function Pe(){if(ce)return q;ce=1;var n=q&&q.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(q,"__esModule",{value:!0});const l=N(),_=n(B()),h=n(O()),c=n(ie()),S=n(x()),f=n(be()),a=6,e=0x1fffffffffffffn,d=Math.pow(2,53),m={recoverMantissa:s=>BigInt(Math.floor(s*d)),toDouble:s=>{const r=(0,h.default)(s[0]+s[1]);return Number(r&e)/d},constrainMantissa:(s,r,t,o)=>{const i=r[0].add(r[1]).and(o.BitVec.val(e,64));t.add(i.eq(o.BitVec.val(s,64)))}},E=[{...m,symbolicXorShift:s=>_.default.symbolicArithmeticShiftRight(s),concreteXorShift:s=>_.default.concreteArithmeticShiftRight(s)},{...m,symbolicXorShift:s=>_.default.symbolic(s),concreteXorShift:s=>_.default.concrete(s)}];class v extends c.default{constructor(r){if(r&&r.length<a)throw new l.InsufficientSequenceLengthError(`sequence length must be >= ${a} : got ${r.length}`);if(!r){if(!S.default.isBun())throw new l.UnexpectedRuntimeError("Expected Bun runtime! Unable to auto-generate sequence, please provide one.");r=(0,f.default)(a)}super(r,E)}}return q.default=v,q}var A={},ue;function ye(){if(ue)return A;ue=1;var n=A&&A.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(A,"__esModule",{value:!0});const l=N(),_=n(B()),h=n(x()),c=n(O()),S=n(K()),f=Math.pow(2,53),a=[{recoverMantissa:d=>{const m=Math.floor(d*f);return BigInt(m)},toDouble:d=>Number(d[0]>>11n)/f,constrainMantissa:(d,m,E,v)=>{E.add(m[0].lshr(11).eq(v.BitVec.val(d,64)))},symbolicXorShift:d=>_.default.symbolic(d),concreteXorShift:d=>_.default.concreteBackwards(d)},{recoverMantissa:d=>{const m=Math.floor(d*f);return BigInt(m)},toDouble:d=>{const m=(0,c.default)(d[0]+d[1]);return Number(m>>11n)/f},constrainMantissa:(d,m,E,v)=>{const s=m[0].add(m[1]);E.add(s.lshr(11).eq(v.BitVec.val(d,64)))},symbolicXorShift:d=>_.default.symbolic(d),concreteXorShift:d=>_.default.concreteBackwards(d)}];class e extends S.default{constructor(m){if(!m){if(!h.default.isDeno())throw new l.UnexpectedRuntimeError("Expected Deno runtime! Unable to auto-generate sequence, please provide one.");m=Array.from({length:4},Math.random)}super(m,a)}}return A.default=e,A}var fe;function we(){return fe||(fe=1,(function(n){var l=V&&V.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.DenoRandomnessPredictor=n.BunRandomnessPredictor=n.SafariRandomnessPredictor=n.NodeRandomnessPredictor=n.FirefoxRandomnessPredictor=n.ChromeRandomnessPredictor=void 0;var _=_e();Object.defineProperty(n,"ChromeRandomnessPredictor",{enumerable:!0,get:function(){return l(_).default}});var h=Ee();Object.defineProperty(n,"FirefoxRandomnessPredictor",{enumerable:!0,get:function(){return l(h).default}});var c=Se();Object.defineProperty(n,"NodeRandomnessPredictor",{enumerable:!0,get:function(){return l(c).default}});var S=ve();Object.defineProperty(n,"SafariRandomnessPredictor",{enumerable:!0,get:function(){return l(S).default}});var f=Pe();Object.defineProperty(n,"BunRandomnessPredictor",{enumerable:!0,get:function(){return l(f).default}});var a=ye();Object.defineProperty(n,"DenoRandomnessPredictor",{enumerable:!0,get:function(){return l(a).default}})})(V)),V}var de;function pe(){return de||(de=1,(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.DenoRandomnessPredictor=n.BunRandomnessPredictor=n.SafariRandomnessPredictor=n.NodeRandomnessPredictor=n.ChromeRandomnessPredictor=n.FirefoxRandomnessPredictor=n.deno=n.bun=n.safari=n.chrome=n.firefox=n.node=void 0;const l=we();Object.defineProperty(n,"FirefoxRandomnessPredictor",{enumerable:!0,get:function(){return l.FirefoxRandomnessPredictor}}),Object.defineProperty(n,"ChromeRandomnessPredictor",{enumerable:!0,get:function(){return l.ChromeRandomnessPredictor}}),Object.defineProperty(n,"NodeRandomnessPredictor",{enumerable:!0,get:function(){return l.NodeRandomnessPredictor}}),Object.defineProperty(n,"SafariRandomnessPredictor",{enumerable:!0,get:function(){return l.SafariRandomnessPredictor}}),Object.defineProperty(n,"BunRandomnessPredictor",{enumerable:!0,get:function(){return l.BunRandomnessPredictor}}),Object.defineProperty(n,"DenoRandomnessPredictor",{enumerable:!0,get:function(){return l.DenoRandomnessPredictor}});const _={node:h=>new l.NodeRandomnessPredictor(h),firefox:h=>new l.FirefoxRandomnessPredictor(h),chrome:h=>new l.ChromeRandomnessPredictor(h),safari:h=>new l.SafariRandomnessPredictor(h),bun:h=>new l.BunRandomnessPredictor(h),deno:h=>new l.DenoRandomnessPredictor(h)};n.default=_,n.node=_.node,n.firefox=_.firefox,n.chrome=_.chrome,n.safari=_.safari,n.bun=_.bun,n.deno=_.deno})(J)),J}var Re=pe(),Me=le(Re);module.exports=Me;