"use strict";var pr=Object.defineProperty;var pn=Object.getOwnPropertyDescriptor;var dn=Object.getOwnPropertyNames;var gn=Object.prototype.hasOwnProperty;var yn=(e,r)=>{for(var t in r)pr(e,t,{get:r[t],enumerable:!0})},Nn=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of dn(r))!gn.call(e,a)&&a!==t&&pr(e,a,{get:()=>r[a],enumerable:!(n=pn(r,a))||n.enumerable});return e};var bn=e=>Nn(pr({},"__esModule",{value:!0}),e);var ss={};yn(ss,{Feature:()=>B,OpaqueReference:()=>L,Serializer:()=>Ie,SerovalConflictedNodeIdError:()=>Pr,SerovalDepthLimitError:()=>W,SerovalDeserializationError:()=>de,SerovalError:()=>ne,SerovalMalformedNodeError:()=>w,SerovalMissingInstanceError:()=>D,SerovalMissingPluginError:()=>q,SerovalMissingReferenceError:()=>Se,SerovalMissingReferenceForIdError:()=>me,SerovalMode:()=>H,SerovalParserError:()=>z,SerovalSerializationError:()=>$e,SerovalUnknownTypedArrayError:()=>ge,SerovalUnsupportedNodeError:()=>O,SerovalUnsupportedTypeError:()=>x,compileJSON:()=>os,createPlugin:()=>Kn,createReference:()=>pt,createStream:()=>G,crossSerialize:()=>Ka,crossSerializeAsync:()=>Ha,crossSerializeStream:()=>tt,deserialize:()=>rs,fromCrossJSON:()=>Xa,fromJSON:()=>as,getCrossReferenceHeader:()=>mt,resolvePlugins:()=>A,serialize:()=>Qa,serializeAsync:()=>es,toCrossJSON:()=>Ja,toCrossJSONAsync:()=>Za,toCrossJSONStream:()=>$a,toJSON:()=>ts,toJSONAsync:()=>ns});module.exports=bn(ss);var B=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i[i.RegExp=32]="RegExp",i))(B||{});var v=Symbol.asyncIterator,dr=Symbol.hasInstance,R=Symbol.isConcatSpreadable,C=Symbol.iterator,gr=Symbol.match,yr=Symbol.matchAll,Nr=Symbol.replace,br=Symbol.search,vr=Symbol.species,Cr=Symbol.split,Ar=Symbol.toPrimitive,P=Symbol.toStringTag,Er=Symbol.unscopables;var ot={0:"Symbol.asyncIterator",1:"Symbol.hasInstance",2:"Symbol.isConcatSpreadable",3:"Symbol.iterator",4:"Symbol.match",5:"Symbol.matchAll",6:"Symbol.replace",7:"Symbol.search",8:"Symbol.species",9:"Symbol.split",10:"Symbol.toPrimitive",11:"Symbol.toStringTag",12:"Symbol.unscopables"},Re={[v]:0,[dr]:1,[R]:2,[C]:3,[gr]:4,[yr]:5,[Nr]:6,[br]:7,[vr]:8,[Cr]:9,[Ar]:10,[P]:11,[Er]:12},at={0:v,1:dr,2:R,3:C,4:gr,5:yr,6:Nr,7:br,8:vr,9:Cr,10:Ar,11:P,12:Er},st={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},o=void 0,it={2:!0,3:!1,1:o,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var Pe={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},ut={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function c(e,r,t,n,a,s,i,u,l,g,S,d){return{t:e,i:r,s:t,c:n,m:a,p:s,e:i,a:u,f:l,b:g,o:S,l:d}}function V(e){return c(2,o,e,o,o,o,o,o,o,o,o,o)}var Q=V(2),ee=V(3),xe=V(1),Oe=V(0),lt=V(4),ct=V(5),ft=V(6),St=V(7);function vn(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case` `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return o}}function y(e){let r="",t=0,n;for(let a=0,s=e.length;aRn(e),ne=class extends Error{constructor(t,n){super(Pn(t,n));this.cause=n}},z=class extends ne{constructor(r){super("parsing",r)}},$e=class extends ne{constructor(r){super("serialization",r)}},de=class extends ne{constructor(r){super("deserialization",r)}};function _(e){return`Seroval Error (specific: ${e})`}var x=class extends Error{constructor(t){super(_(1));this.value=t}},O=class extends Error{constructor(r){super(_(2))}},q=class extends Error{constructor(r){super(_(3))}},D=class extends Error{constructor(r){super(_(4))}},Se=class extends Error{constructor(t){super(_(5));this.value=t}},me=class extends Error{constructor(r){super(_(6))}},ge=class extends Error{constructor(r){super(_(7))}},w=class extends Error{constructor(r){super(_(8))}},Pr=class extends Error{constructor(r){super(_(9))}},W=class extends Error{constructor(r){super(_(9))}};var L=class{constructor(r,t){this.value=r;this.replacement=t}};var oe=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},xn=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},On=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},Ct=oe.toString(),At=xn.toString(),Et=On.toString(),xr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(l,g,S)=>{for(S=0;S{for(g=0,S=e.length;g(t&&(g=a++,r[g]=l),i(l),()=>{t&&(r[g]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:l=>u(l),next:l=>{t&&(e.push(l),s(l,"next"))},throw:l=>{t&&(e.push(l),s(l,"throw"),t=!1,n=!1,r.length=0)},return:l=>{t&&(e.push(l),s(l,"return"),t=!1,n=!0,r.length=0)}}},It=xr.toString(),Or=e=>r=>()=>{let t=0,n={[e]:()=>n,next:()=>{if(t>r.d)return{done:!0,value:void 0};let a=t++,s=r.v[a];if(a===r.t)throw s;return{done:a===r.d,value:s}}};return n},Rt=Or.toString(),Tr=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],u=[],l=(S=0,d=u.length)=>{for(;S{let d=u.shift();d&&d.s({done:!1,value:S}),i.push(S)},throw:S=>{let d=u.shift();d&&d.f(S),l(),a=i.length,s=!0,i.push(S)},return:S=>{let d=u.shift();d&&d.s({done:!0,value:S}),l(),a=i.length,i.push(S)}});let g={[e]:()=>g,next:()=>{if(a===-1){let $=n++;if($>=i.length){let nt=r();return u.push(nt),nt.p}return{done:!1,value:i[$]}}if(n>a)return{done:!0,value:void 0};let S=n++,d=i[S];if(S!==a)return{done:!1,value:d};if(s)throw d;return{done:!0,value:d}}};return g},Pt=Tr.toString(),wr=e=>{let r=atob(e),t=r.length,n=new Uint8Array(t);for(let a=0;a{}),r}var wn=Tr(v,oe);function _t(e){return wn(e)}async function zr(e){try{return[1,await e]}catch(r){return[0,r]}}function Ne(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:63^(r.disabledFeatures||0),refs:r.refs||new Map,depthLimit:r.depthLimit||1e3}}function be(e,r){e.marked.add(r)}function _r(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function rr(e,r){let t=e.refs.get(r);return t!=null?(be(e,t),{type:1,value:Nt(t)}):{type:0,value:_r(e,r)}}function K(e,r){let t=rr(e,r);return t.type===1?t:Rr(r)?{type:2,value:vt(t.value,r)}:t}function I(e,r){let t=K(e,r);if(t.type!==0)return t.value;if(r in Re)return bt(t.value,r);throw new x(r)}function k(e,r){let t=rr(e,ht[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o,o)}function tr(e){let r=rr(e,Tt);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,I(e,C),o,o,o)}function nr(e){let r=rr(e,wt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,[k(e,1),I(e,v)],o,o,o,o)}function or(e,r,t,n){return c(t?11:10,e,o,o,o,n,o,o,o,o,he(r),o)}function ar(e,r,t,n){return c(8,r,o,o,o,o,{k:t,v:n},o,k(e,0),o,o,o)}function Dt(e,r,t){return c(22,r,t,o,o,o,o,o,k(e,1),o,o,o)}function sr(e,r,t){let n=new Uint8Array(t),a="";for(let s=0,i=n.length;s{be(this.base,r),N(this,e,u).then(l=>{s.push(Ke(r,l))},l=>{a(l),i()})},throw:u=>{be(this.base,r),N(this,e,u).then(l=>{s.push(He(r,l)),n(s),i()},l=>{a(l),i()})},return:u=>{be(this.base,r),N(this,e,u).then(l=>{s.push(Je(r,l)),n(s),i()},l=>{a(l),i()})}})}async function Yn(e,r,t,n){return Ge(t,k(e.base,4),await new Promise(jn.bind(e,r,t,n)))}async function qn(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s(t[t.Vanilla=1]="Vanilla",t[t.Cross=2]="Cross",t))(H||{});function Kn(e){return e}function Vt(e,r){for(let t=0,n=r.length;t0)for(let i=0,u=t.v,l=a.length;iZn)throw new w(r);return b(e,r.i,new RegExp(t,r.m))}throw new O(r)}function uo(e,r,t){let n=b(e,t.i,new Set);for(let a=0,s=t.a,i=s.length;aHn)throw new w(r);return b(e,r.i,wr(M(r.s)))}function fo(e,r,t){var u;let n=Mt(t.c),a=p(e,r,t.f),s=(u=t.b)!=null?u:0;if(s<0||s>a.byteLength)throw new w(t);return b(e,t.i,new n(a,s,t.l))}function So(e,r,t){var i;let n=p(e,r,t.f),a=(i=t.b)!=null?i:0;if(a<0||a>n.byteLength)throw new w(t);return b(e,t.i,new DataView(n,a,t.l))}function Kt(e,r,t,n){if(t.p){let a=Gt(e,r,t.p,{});Object.defineProperties(n,Object.getOwnPropertyDescriptors(a))}return n}function mo(e,r,t){let n=b(e,t.i,new AggregateError([],M(t.m)));return Kt(e,r,t,n)}function po(e,r,t){let n=Vr(t,ut,t.s),a=b(e,t.i,new n(M(t.m)));return Kt(e,r,t,a)}function go(e,r,t){let n=oe(),a=b(e,t.i,n.p),s=p(e,r,t.f);return t.s?n.s(s):n.f(s),a}function yo(e,r,t){return b(e,t.i,Object(p(e,r,t.f)))}function No(e,r,t){let n=e.base.plugins;if(n){let a=M(t.c);for(let s=0,i=n.length;se.base.depthLimit)throw new W(e.base.depthLimit);switch(r+=1,t.t){case 2:return Vr(t,it,t.s);case 0:return Number(t.s);case 1:return M(String(t.s));case 3:if(String(t.s).length>Jn)throw new w(t);return BigInt(t.s);case 4:return e.base.refs.get(t.i);case 18:return eo(e,t);case 9:return ro(e,r,t);case 10:case 11:return ao(e,r,t);case 5:return so(e,t);case 6:return io(e,t);case 7:return uo(e,r,t);case 8:return lo(e,r,t);case 19:return co(e,t);case 16:case 15:return fo(e,r,t);case 20:return So(e,r,t);case 14:return mo(e,r,t);case 13:return po(e,r,t);case 12:return go(e,r,t);case 17:return Vr(t,at,t.s);case 21:return yo(e,r,t);case 25:return No(e,r,t);case 22:return bo(e,t);case 23:return vo(e,r,t);case 24:return Co(e,r,t);case 28:return Ao(e,r,t);case 30:return Eo(e,r,t);case 31:return Io(e,r,t);case 32:return Ro(e,r,t);case 33:return Po(e,r,t);case 34:return xo(e,r,t);case 27:return Oo(e,r,t);case 29:return To(e,r,t);case 35:return wo(e,r,t);default:throw new O(t)}}function ir(e,r){try{return p(e,0,r)}catch(t){throw new de(t)}}var ho=()=>T,zo=ho.toString(),Ht=/=>/.test(zo);function ur(e,r){return Ht?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function Jt(e,r){return Ht?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var Xt="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Zt=Xt.length,Qt="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",$t=Qt.length;function Mr(e){let r=e%Zt,t=Xt[r];for(e=(e-r)/Zt;e>0;)r=e%$t,t+=Qt[r],e=(e-r)/$t;return t}var _o=/^[$A-Z_][0-9A-Z_$]*$/i;function Lr(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&_o.test(e)}function Ce(e){switch(e.t){case 0:return e.s+"="+e.v;case 2:return e.s+".set("+e.k+","+e.v+")";case 1:return e.s+".add("+e.v+")";case 3:return e.s+".delete("+e.k+")"}}function ko(e){let r=[],t=e[0];for(let n=1,a=e.length,s,i=t;n0){e.base.stack.push(t);let s=rn(e,t,n[0],0),i=s==="";for(let u=1,l;u=0&&a.toString()===t||Lr(t);if(F(e.base,n)){let i=m(e,n.i);return h(e.base,r.i),s&&a!==a?Yr(e,r.i,t,i):Ae(e,r.i,s?t:'"'+t+'"',i),""}return(s?t:'"'+t+'"')+":"+f(e,n)}return"["+f(e,t)+"]:"+f(e,n)}function cn(e,r,t){let n=t.k,a=n.length;if(a>0){let s=t.v;e.base.stack.push(r.i);let i=tn(e,r,n[0],s[0]);for(let u=1,l=i;u=0&&u.toString()===n||Lr(n);if(F(s,a))l&&u!==u?Yr(e,r.i,n,i):Ae(e,r.i,l?n:'"'+n+'"',i);else{let g=s.assignments;s.assignments=t,l&&u!==u?Yr(e,r.i,n,i):Ae(e,r.i,l?n:'"'+n+'"',i),s.assignments=g}}function Xo(e,r,t,n,a){if(typeof n=="string")$o(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let u=f(e,a);s.stack=i;let l=s.assignments;s.assignments=t,Ae(e,r.i,f(e,n),u),s.assignments=l}}function Qo(e,r,t){let n=t.k,a=n.length;if(a>0){let s=[],i=t.v;e.base.stack.push(r.i);for(let u=0;u0){e.base.stack.push(s);let i=nn(e,s,n[0]);for(let u=1,l=i;u0){let g=r.e.v;l.stack.push(s);let S=on(e,s,n[0],g[0],u);for(let d=1,$=S;d0){e.base.stack.push(a);let s=an(e,a,0,t[0]);for(let i=1,u=s;i{if(e.state.alive){let i=Z(e,r,s);i&&ue(e,Ke(t,i))}},throw:s=>{if(e.state.alive){let i=Z(e,r,s);i&&ue(e,He(t,i))}Ee(e)},return:s=>{if(e.state.alive){let i=Z(e,r,s);i&&ue(e,Je(t,i))}Ee(e)}})),a}function Ba(e,r,t){if(this.state.alive){let n=Z(this,r,t);n&&ue(this,c(23,e,o,o,o,o,o,[k(this.base,2),n],o,o,o,o)),Ee(this)}}function Va(e,r,t){if(this.state.alive){let n=Z(this,r,t);n&&ue(this,c(24,e,o,o,o,o,o,[k(this.base,3),n],o,o,o,o))}Ee(this)}function Ma(e,r,t,n){let a=_r(e.base,{});return e.type===2&&(et(e),n.then(Ba.bind(e,a,r),Va.bind(e,a,r))),Dt(e.base,t,a)}function La(e,r,t,n,a){for(let s=0,i=a.length;s=e.base.depthLimit)throw new W(e.base.depthLimit);switch(typeof t){case"boolean":return t?Q:ee;case"undefined":return xe;case"string":return te(t);case"number":return ze(t);case"bigint":return _e(t);case"object":{if(t){let n=K(e.base,t);return n.type===0?qa(e,r+1,n.value,t):n.value}return Oe}case"symbol":return I(e.base,t);case"function":return Wa(e,r,t);default:throw new x(t)}}function ce(e,r){try{return E(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}function ue(e,r){e.state.initial?e.state.buffer.push(r):Qr(e,r,!1)}function Xr(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof z?r:new z(r)}function mn(e){e.state.onDone&&e.state.onDone()}function Qr(e,r,t){try{e.state.onParse(r,t)}catch(n){Xr(e,n)}}function et(e){e.state.pending++}function Ee(e){--e.state.pending<=0&&mn(e)}function Z(e,r,t){try{return E(e,r,t)}catch(n){return Xr(e,n),o}}function rt(e,r){let t=Z(e,0,r);t&&(Qr(e,t,!0),e.state.initial=!1,Ga(e,e.state),e.state.pending<=0&&mr(e))}function Ga(e,r){for(let t=0,n=r.buffer.length;t{this.alive&&this.options.onData(a?this.options.globalIdentifier+'["'+y(r)+'"]='+n:n)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(""+this.ids);)this.ids++;return""+this.ids}push(r){let t=this.getNextID();return this.write(t,r),t}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let r=0,t=this.cleanups.length;r