seroval 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- "use strict";var Be=Object.defineProperty;var br=Object.getOwnPropertyDescriptor;var Ar=Object.getOwnPropertyNames;var xr=Object.prototype.hasOwnProperty;var Ir=(o,e)=>{for(var r in e)Be(o,r,{get:e[r],enumerable:!0})},wr=(o,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ar(e))!xr.call(o,n)&&n!==r&&Be(o,n,{get:()=>e[n],enumerable:!(s=br(e,n))||s.enumerable});return o};var Er=o=>wr(Be({},"__esModule",{value:!0}),o);var rt={};Ir(rt,{Feature:()=>R,OpaqueReference:()=>E,Serializer:()=>ce,SerovalDeserializationError:()=>te,SerovalError:()=>W,SerovalMissingInstanceError:()=>y,SerovalMissingPluginError:()=>O,SerovalMissingReferenceError:()=>Q,SerovalMissingReferenceForIdError:()=>ee,SerovalParserError:()=>z,SerovalSerializationError:()=>re,SerovalUnknownTypedArrayError:()=>se,SerovalUnsupportedNodeError:()=>g,SerovalUnsupportedTypeError:()=>S,compileJSON:()=>Qr,createPlugin:()=>zr,createReference:()=>Ye,createStream:()=>T,crossSerialize:()=>Lr,crossSerializeAsync:()=>Wr,crossSerializeStream:()=>We,deserialize:()=>Hr,fromCrossJSON:()=>$r,fromJSON:()=>et,getCrossReferenceHeader:()=>Je,resolvePlugins:()=>f,serialize:()=>Gr,serializeAsync:()=>qr,toCrossJSON:()=>Kr,toCrossJSONAsync:()=>Jr,toCrossJSONStream:()=>Yr,toJSON:()=>Zr,toJSONAsync:()=>Xr});module.exports=Er(rt);var R=(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.AbortSignal=32]="AbortSignal",i))(R||{});function Rr(o){switch(o){case'"':return'\\"';case"\\":return"\\\\";case`
2
- `: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}}function p(o){let e="",r=0,s;for(let n=0,a=o.length;n<a;n++)s=Rr(o[n]),s&&(e+=o.slice(r,n)+s,r=n+1);return r===0?e=o:e+=o.slice(r),e}function Pr(o){switch(o){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
- `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return o}}function b(o){return o.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,Pr)}var P="__SEROVAL_REFS__",X="$R",ue=`self.${X}`;function Je(o){return o==null?`${ue}=${ue}||[]`:`(${ue}=${ue}||{})["${p(o)}"]=[]`}function m(o,e){if(!o)throw e}var je=new Map,C=new Map;function Ye(o,e){return je.set(e,o),C.set(o,e),e}function de(o){return je.has(o)}function Cr(o){return C.has(o)}function $e(o){return m(de(o),new Q(o)),je.get(o)}function Ge(o){return m(Cr(o),new ee(o)),C.get(o)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,P,{value:C,configurable:!0,writable:!1,enumerable:!1});function zr(o){return o}function qe(o,e){for(let r=0,s=e.length;r<s;r++){let n=e[r];o.has(n)||(o.add(n),n.extends&&qe(o,n.extends))}}function f(o){if(o){let e=new Set;return qe(e,o),[...e]}}function He(o){return new Promise(e=>{o.addEventListener("abort",()=>{e(o.reason)},{once:!0})})}var Ze={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"},pe={[Symbol.asyncIterator]:0,[Symbol.hasInstance]:1,[Symbol.isConcatSpreadable]:2,[Symbol.iterator]:3,[Symbol.match]:4,[Symbol.matchAll]:5,[Symbol.replace]:6,[Symbol.search]:7,[Symbol.species]:8,[Symbol.split]:9,[Symbol.toPrimitive]:10,[Symbol.toStringTag]:11,[Symbol.unscopables]:12},Xe={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},Qe={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},er={2:!0,3:!1,1:void 0,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var fe={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},rr={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError},t=void 0;function u(o,e,r,s,n,a,i,l,c,d,h,Z){return{t:o,i:e,s:r,l:s,c:n,m:a,p:i,e:l,a:c,f:d,b:h,o:Z}}function A(o){return u(2,t,o,t,t,t,t,t,t,t,t,t)}var x=A(2),I=A(3),me=A(1),Se=A(0),tr=A(4),sr=A(5),or=A(6),nr=A(7);function ge(o){return o instanceof EvalError?1:o instanceof RangeError?2:o instanceof ReferenceError?3:o instanceof SyntaxError?4:o instanceof TypeError?5:o instanceof URIError?6:0}function Or(o){let e=fe[ge(o)];return o.name!==e?{name:o.name}:o.constructor.name!==e?{name:o.constructor.name}:{}}function j(o,e){let r=Or(o),s=Object.getOwnPropertyNames(o);for(let n=0,a=s.length,i;n<a;n++)i=s[n],i!=="name"&&i!=="message"&&(i==="stack"?e&4&&(r=r||{},r[i]=o[i]):(r=r||{},r[i]=o[i]));return r}function he(o){return Object.isFrozen(o)?3:Object.isSealed(o)?2:Object.isExtensible(o)?0:1}function ye(o){switch(o){case Number.POSITIVE_INFINITY:return sr;case Number.NEGATIVE_INFINITY:return or}return o!==o?nr:Object.is(o,-0)?tr:u(0,t,o,t,t,t,t,t,t,t,t,t)}function w(o){return u(1,t,p(o),t,t,t,t,t,t,t,t,t)}function ve(o){return u(3,t,""+o,t,t,t,t,t,t,t,t,t)}function ir(o){return u(4,o,t,t,t,t,t,t,t,t,t,t)}function Ne(o,e){return u(5,o,e.toISOString(),t,t,t,t,t,t,t,t,t)}function be(o,e){return u(6,o,t,t,p(e.source),e.flags,t,t,t,t,t,t)}function Ae(o,e){let r=new Uint8Array(e),s=r.length,n=new Array(s);for(let a=0;a<s;a++)n[a]=r[a];return u(19,o,n,t,t,t,t,t,t,t,t,t)}function lr(o,e){return u(17,o,pe[e],t,t,t,t,t,t,t,t,t)}function _e(o,e){return u(18,o,p($e(e)),t,t,t,t,t,t,t,t,t)}function _(o,e,r){return u(25,o,r,t,p(e),t,t,t,t,t,t,t)}function xe(o,e,r){return u(9,o,t,e.length,t,t,t,t,r,t,t,he(e))}function Ie(o,e){return u(21,o,t,t,t,t,t,t,t,e,t,t)}function we(o,e,r){return u(15,o,t,e.length,e.constructor.name,t,t,t,t,r,e.byteOffset,t)}function Ee(o,e,r){return u(16,o,t,e.length,e.constructor.name,t,t,t,t,r,e.byteOffset,t)}function Re(o,e,r){return u(20,o,t,e.byteLength,t,t,t,t,t,r,e.byteOffset,t)}function Pe(o,e,r){return u(13,o,ge(e),t,t,p(e.message),r,t,t,t,t,t)}function Ce(o,e,r){return u(14,o,ge(e),t,t,p(e.message),r,t,t,t,t,t)}function ze(o,e,r){return u(7,o,t,e,t,t,t,t,r,t,t,t)}function M(o,e){return u(28,t,t,t,t,t,t,t,[o,e],t,t,t)}function U(o,e){return u(30,t,t,t,t,t,t,t,[o,e],t,t,t)}function L(o,e,r){return u(31,o,t,t,t,t,t,t,r,e,t,t)}function Oe(o,e){return u(32,o,t,t,t,t,t,t,t,e,t,t)}function Te(o,e){return u(33,o,t,t,t,t,t,t,t,e,t,t)}function ke(o,e){return u(34,o,t,t,t,t,t,t,t,e,t,t)}var{toString:Me}=Object.prototype;function Tr(o,e){return e instanceof Error?`Seroval caught an error during the ${o} process.
1
+ "use strict";var De=Object.defineProperty;var Nr=Object.getOwnPropertyDescriptor;var Ar=Object.getOwnPropertyNames;var xr=Object.prototype.hasOwnProperty;var Ir=(o,e)=>{for(var r in e)De(o,r,{get:e[r],enumerable:!0})},wr=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ar(e))!xr.call(o,n)&&n!==r&&De(o,n,{get:()=>e[n],enumerable:!(t=Nr(e,n))||t.enumerable});return o};var Er=o=>wr(De({},"__esModule",{value:!0}),o);var ot={};Ir(ot,{Feature:()=>R,OpaqueReference:()=>E,Serializer:()=>ce,SerovalDeserializationError:()=>te,SerovalError:()=>W,SerovalMissingInstanceError:()=>y,SerovalMissingPluginError:()=>O,SerovalMissingReferenceError:()=>Q,SerovalMissingReferenceForIdError:()=>ee,SerovalParserError:()=>z,SerovalSerializationError:()=>re,SerovalUnknownTypedArrayError:()=>se,SerovalUnsupportedNodeError:()=>g,SerovalUnsupportedTypeError:()=>S,compileJSON:()=>tt,createPlugin:()=>zr,createReference:()=>Je,createStream:()=>T,crossSerialize:()=>Jr,crossSerializeAsync:()=>Yr,crossSerializeStream:()=>Le,deserialize:()=>Qr,fromCrossJSON:()=>Hr,fromJSON:()=>st,getCrossReferenceHeader:()=>Ke,resolvePlugins:()=>f,serialize:()=>Zr,serializeAsync:()=>Xr,toCrossJSON:()=>$r,toCrossJSONAsync:()=>Gr,toCrossJSONStream:()=>qr,toJSON:()=>et,toJSONAsync:()=>rt});module.exports=Er(ot);var R=(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.AbortSignal=32]="AbortSignal",i))(R||{});function Rr(o){switch(o){case'"':return'\\"';case"\\":return"\\\\";case`
2
+ `: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}}function p(o){let e="",r=0,t;for(let n=0,a=o.length;n<a;n++)t=Rr(o[n]),t&&(e+=o.slice(r,n)+t,r=n+1);return r===0?e=o:e+=o.slice(r),e}function Pr(o){switch(o){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
+ `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return o}}function N(o){return o.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,Pr)}var P="__SEROVAL_REFS__",X="$R",ue=`self.${X}`;function Ke(o){return o==null?`${ue}=${ue}||[]`:`(${ue}=${ue}||{})["${p(o)}"]=[]`}function m(o,e){if(!o)throw e}var Be=new Map,C=new Map;function Je(o,e){return Be.set(e,o),C.set(o,e),e}function je(o){return Be.has(o)}function Cr(o){return C.has(o)}function Ye(o){return m(je(o),new Q(o)),Be.get(o)}function $e(o){return m(Cr(o),new ee(o)),C.get(o)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,P,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,P,{value:C,configurable:!0,writable:!1,enumerable:!1});function zr(o){return o}function Ge(o,e){for(let r=0,t=e.length;r<t;r++){let n=e[r];o.has(n)||(o.add(n),n.extends&&Ge(o,n.extends))}}function f(o){if(o){let e=new Set;return Ge(e,o),[...e]}}function Or(o){o(this.reason)}function Tr(o){this.addEventListener("abort",Or.bind(this,o),{once:!0})}function qe(o){return new Promise(Tr.bind(o))}var He={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"},de={[Symbol.asyncIterator]:0,[Symbol.hasInstance]:1,[Symbol.isConcatSpreadable]:2,[Symbol.iterator]:3,[Symbol.match]:4,[Symbol.matchAll]:5,[Symbol.replace]:6,[Symbol.search]:7,[Symbol.species]:8,[Symbol.split]:9,[Symbol.toPrimitive]:10,[Symbol.toStringTag]:11,[Symbol.unscopables]:12},Ze={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},Xe={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},Qe={2:!0,3:!1,1:void 0,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"},er={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError},s=void 0;function u(o,e,r,t,n,a,i,l,c,d,h,Z){return{t:o,i:e,s:r,l:t,c:n,m:a,p:i,e:l,a:c,f:d,b:h,o:Z}}function A(o){return u(2,s,o,s,s,s,s,s,s,s,s,s)}var x=A(2),I=A(3),fe=A(1),me=A(0),rr=A(4),tr=A(5),sr=A(6),or=A(7);function Se(o){return o instanceof EvalError?1:o instanceof RangeError?2:o instanceof ReferenceError?3:o instanceof SyntaxError?4:o instanceof TypeError?5:o instanceof URIError?6:0}function kr(o){let e=pe[Se(o)];return o.name!==e?{name:o.name}:o.constructor.name!==e?{name:o.constructor.name}:{}}function j(o,e){let r=kr(o),t=Object.getOwnPropertyNames(o);for(let n=0,a=t.length,i;n<a;n++)i=t[n],i!=="name"&&i!=="message"&&(i==="stack"?e&4&&(r=r||{},r[i]=o[i]):(r=r||{},r[i]=o[i]));return r}function ge(o){return Object.isFrozen(o)?3:Object.isSealed(o)?2:Object.isExtensible(o)?0:1}function he(o){switch(o){case Number.POSITIVE_INFINITY:return tr;case Number.NEGATIVE_INFINITY:return sr}return o!==o?or:Object.is(o,-0)?rr:u(0,s,o,s,s,s,s,s,s,s,s,s)}function w(o){return u(1,s,p(o),s,s,s,s,s,s,s,s,s)}function ye(o){return u(3,s,""+o,s,s,s,s,s,s,s,s,s)}function ar(o){return u(4,o,s,s,s,s,s,s,s,s,s,s)}function ve(o,e){return u(5,o,e.toISOString(),s,s,s,s,s,s,s,s,s)}function be(o,e){return u(6,o,s,s,p(e.source),e.flags,s,s,s,s,s,s)}function Ne(o,e){let r=new Uint8Array(e),t=r.length,n=new Array(t);for(let a=0;a<t;a++)n[a]=r[a];return u(19,o,n,s,s,s,s,s,s,s,s,s)}function ir(o,e){return u(17,o,de[e],s,s,s,s,s,s,s,s,s)}function lr(o,e){return u(18,o,p(Ye(e)),s,s,s,s,s,s,s,s,s)}function _(o,e,r){return u(25,o,r,s,p(e),s,s,s,s,s,s,s)}function Ae(o,e,r){return u(9,o,s,e.length,s,s,s,s,r,s,s,ge(e))}function xe(o,e){return u(21,o,s,s,s,s,s,s,s,e,s,s)}function Ie(o,e,r){return u(15,o,s,e.length,e.constructor.name,s,s,s,s,r,e.byteOffset,s)}function we(o,e,r){return u(16,o,s,e.length,e.constructor.name,s,s,s,s,r,e.byteOffset,s)}function Ee(o,e,r){return u(20,o,s,e.byteLength,s,s,s,s,s,r,e.byteOffset,s)}function Re(o,e,r){return u(13,o,Se(e),s,s,p(e.message),r,s,s,s,s,s)}function Pe(o,e,r){return u(14,o,Se(e),s,s,p(e.message),r,s,s,s,s,s)}function Ce(o,e,r){return u(7,o,s,e,s,s,s,s,r,s,s,s)}function M(o,e){return u(28,s,s,s,s,s,s,s,[o,e],s,s,s)}function U(o,e){return u(30,s,s,s,s,s,s,s,[o,e],s,s,s)}function L(o,e,r){return u(31,o,s,s,s,s,s,s,r,e,s,s)}function ze(o,e){return u(32,o,s,s,s,s,s,s,s,e,s,s)}function Oe(o,e){return u(33,o,s,s,s,s,s,s,s,e,s,s)}function Te(o,e){return u(34,o,s,s,s,s,s,s,s,e,s,s)}var{toString:_e}=Object.prototype;function Fr(o,e){return e instanceof Error?`Seroval caught an error during the ${o} process.
4
4
 
5
5
  ${e.name}
6
6
  ${e.message}
@@ -8,10 +8,10 @@ ${e.message}
8
8
  - For more information, please check the "cause" property of this error.
9
9
  - If you believe this is an error in Seroval, please submit an issue at https://github.com/lxsmnsyc/seroval/issues/new`:`Seroval caught an error during the ${o} process.
10
10
 
11
- "${Me.call(e)}"
11
+ "${_e.call(e)}"
12
12
 
13
- For more information, please check the "cause" property of this error.`}var W=class extends Error{constructor(r,s){super(Tr(r,s));this.cause=s}},z=class extends W{constructor(e){super("parsing",e)}},re=class extends W{constructor(e){super("serialization",e)}},te=class extends W{constructor(e){super("deserialization",e)}},S=class extends Error{constructor(r){super(`The value ${Me.call(r)} of type "${typeof r}" cannot be parsed/serialized.
13
+ For more information, please check the "cause" property of this error.`}var W=class extends Error{constructor(r,t){super(Fr(r,t));this.cause=t}},z=class extends W{constructor(e){super("parsing",e)}},re=class extends W{constructor(e){super("serialization",e)}},te=class extends W{constructor(e){super("deserialization",e)}},S=class extends Error{constructor(r){super(`The value ${_e.call(r)} of type "${typeof r}" cannot be parsed/serialized.
14
14
 
15
15
  There are few workarounds for this problem:
16
16
  - Transform the value in a way that it can be serialized.
17
- - If the reference is present on multiple runtimes (isomorphic), you can use the Reference API to map the references.`);this.value=r}},g=class extends Error{constructor(e){super('Unsupported node type "'+e.t+'".')}},O=class extends Error{constructor(e){super('Missing plugin for tag "'+e+'".')}},y=class extends Error{constructor(e){super('Missing "'+e+'" instance.')}},Q=class extends Error{constructor(r){super('Missing reference for the value "'+Me.call(r)+'" of type "'+typeof r+'"');this.value=r}},ee=class extends Error{constructor(e){super('Missing reference for id "'+p(e)+'"')}},se=class extends Error{constructor(e){super('Unknown TypedArray "'+e+'"')}};var E=class{constructor(e,r){this.value=e;this.replacement=r}};var cr={},ur={};var dr={0:{},1:{},2:{},3:{},4:{},5:{},6:{}};function oe(){let o,e;return{promise:new Promise((r,s)=>{o=r,e=s}),resolve(r){o(r)},reject(r){e(r)}}}function Fe(o){return"__SEROVAL_STREAM__"in o}function T(){let o=new Set,e=[],r=!0,s=!0;function n(l){for(let c of o.keys())c.next(l)}function a(l){for(let c of o.keys())c.throw(l)}function i(l){for(let c of o.keys())c.return(l)}return{__SEROVAL_STREAM__:!0,on(l){r&&o.add(l);for(let c=0,d=e.length;c<d;c++){let h=e[c];c===d-1&&!r?s?l.return(h):l.throw(h):l.next(h)}return()=>{r&&o.delete(l)}},next(l){r&&(e.push(l),n(l))},throw(l){r&&(e.push(l),a(l),r=!1,s=!1,o.clear())},return(l){r&&(e.push(l),i(l),r=!1,s=!0,o.clear())}}}function Ve(o){let e=T(),r=o[Symbol.asyncIterator]();async function s(){try{let n=await r.next();n.done?e.return(n.value):(e.next(n.value),await s())}catch(n){e.throw(n)}}return s().catch(()=>{}),e}function pr(o){return()=>{let e=[],r=[],s=0,n=-1,a=!1;function i(){for(let c=0,d=r.length;c<d;c++)r[c].resolve({done:!0,value:void 0})}o.on({next(c){let d=r.shift();d&&d.resolve({done:!1,value:c}),e.push(c)},throw(c){let d=r.shift();d&&d.reject(c),i(),n=e.length,e.push(c),a=!0},return(c){let d=r.shift();d&&d.resolve({done:!0,value:c}),i(),n=e.length,e.push(c)}});function l(){let c=s++,d=e[c];if(c!==n)return{done:!1,value:d};if(a)throw d;return{done:!0,value:d}}return{[Symbol.asyncIterator](){return this},async next(){if(n===-1){let c=s++;if(c>=e.length){let d=oe();return r.push(d),await d.promise}return{done:!1,value:e[c]}}return s>n?{done:!0,value:void 0}:l()}}}}function K(o){let e=[],r=-1,s=-1,n=o[Symbol.iterator]();for(;;)try{let a=n.next();if(e.push(a.value),a.done){s=e.length-1;break}}catch(a){r=e.length,e.push(a)}return{v:e,t:r,d:s}}function fr(o){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>o.d)return{done:!0,value:t};let r=e++,s=o.v[r];if(r===o.t)throw s;return{done:r===o.d,value:s}}}}}async function Ue(o){try{return[1,await o]}catch(e){return[0,e]}}var J=class{constructor(e){this.marked=new Set;this.plugins=e.plugins,this.features=47^(e.disabledFeatures||0),this.refs=e.refs||new Map}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}getIndexedValue(e){let r=this.refs.get(e);if(r!=null)return this.markRef(r),{type:1,value:ir(r)};let s=this.refs.size;return this.refs.set(e,s),{type:0,value:s}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:de(e)?{type:2,value:_e(r.value,e)}:r}getStrictReference(e){m(de(e),new S(e));let r=this.getIndexedValue(e);return r.type===1?r.value:_e(r.value,e)}parseFunction(e){return this.getStrictReference(e)}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(m(e in pe,new S(e)),lr(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(dr[e]);return r.type===1?r.value:u(26,r.value,e,t,t,t,t,t,t,t,t,t)}parseIteratorFactory(){let e=this.getIndexedValue(cr);return e.type===1?e.value:u(27,e.value,t,t,t,t,t,t,t,this.parseWellKnownSymbol(Symbol.iterator),t,t)}parseAsyncIteratorFactory(){let e=this.getIndexedValue(ur);return e.type===1?e.value:u(29,e.value,t,t,t,t,t,t,[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],t,t,t)}createObjectNode(e,r,s,n){return u(s?11:10,e,t,t,t,t,n,t,t,t,t,he(r))}createMapNode(e,r,s,n){return u(8,e,t,t,t,t,t,{k:r,v:s,s:n},t,this.parseSpecialReference(0),t,t)}createPromiseConstructorNode(e){return u(22,e,t,t,t,t,t,t,t,this.parseSpecialReference(1),t,t)}createAbortSignalConstructorNode(e){return u(35,e,t,t,t,t,t,t,t,this.parseSpecialReference(5),t,t)}};var k=class extends J{async parseItems(e){let r=[];for(let s=0,n=e.length;s<n;s++)s in e&&(r[s]=await this.parse(e[s]));return r}async parseArray(e,r){return xe(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),s=[],n=[];for(let i=0,l=r.length;i<l;i++)s.push(p(r[i][0])),n.push(await this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),await this.parse(K(e))))),a=Symbol.asyncIterator,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),await this.parse(Ve(e))))),a=Symbol.toStringTag,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:s,v:n,s:s.length}}async parsePlainObject(e,r,s){return this.createObjectNode(e,r,s,await this.parseProperties(r))}async parseBoxed(e,r){return Ie(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return we(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return Ee(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return Re(e,r,await this.parse(r.buffer))}async parseError(e,r){let s=j(r,this.features);return Pe(e,r,s?await this.parseProperties(s):t)}async parseAggregateError(e,r){let s=j(r,this.features);return Ce(e,r,s?await this.parseProperties(s):t)}async parseMap(e,r){let s=[],n=[];for(let[a,i]of r.entries())s.push(await this.parse(a)),n.push(await this.parse(i));return this.createMapNode(e,s,n,r.size)}async parseSet(e,r){let s=[];for(let n of r.keys())s.push(await this.parse(n));return ze(e,r.size,s)}async parsePromise(e,r){let[s,n]=await Ue(r);return u(12,e,s,t,t,t,t,t,t,await this.parse(n),t,t)}async parsePlugin(e,r){let s=this.plugins;if(s)for(let n=0,a=s.length;n<a;n++){let i=s[n];if(i.parse.async&&i.test(r))return _(e,i.tag,await i.parse.async(r,this,{id:e}))}return t}async parseStream(e,r){return L(e,this.parseSpecialReference(4),await new Promise((s,n)=>{let a=[],i=r.on({next:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Oe(e,c))},c=>{n(c),i()})},throw:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Te(e,c)),s(a),i()},c=>{n(c),i()})},return:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(ke(e,c)),s(a),i()},c=>{n(c),i()})}})}))}async parseAbortSignalSync(e,r){return u(37,e,t,t,t,t,t,t,t,await this.parse(r.reason),t,t)}async parseAbortSignal(e,r){return r.aborted||await He(r),this.parseAbortSignalSync(e,r)}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Fe(r))return this.parseStream(e,r);let s=r.constructor;if(s===E)return this.parse(r.replacement);let n=await this.parsePlugin(e,r);if(n)return n;switch(s){case Object:return this.parsePlainObject(e,r,!1);case t:return this.parsePlainObject(e,r,!0);case Date:return Ne(e,r);case RegExp:return be(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return Ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&s===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new S(r)}async parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return me;case"string":return w(e);case"number":return ye(e);case"bigint":return ve(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return Se}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new z(r)}}};var Y=class extends k{constructor(){super(...arguments);this.mode="cross"}};function mr(o){switch(o){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new se(o)}}function Sr(o,e){switch(e){case 3:return Object.freeze(o);case 1:return Object.preventExtensions(o);case 2:return Object.seal(o);default:return o}}var F=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,Ge(b(e.s)))}deserializeArray(e){let r=e.l,s=this.assignIndexedValue(e.i,new Array(r)),n;for(let a=0;a<r;a++)n=e.a[a],n&&(s[a]=this.deserialize(n));return Sr(s,e.o),s}deserializeProperties(e,r){let s=e.s;if(s){let n=e.k,a=e.v;for(let i=0,l;i<s;i++)l=n[i],typeof l=="string"?r[b(l)]=this.deserialize(a[i]):r[this.deserialize(l)]=this.deserialize(a[i])}return r}deserializeObject(e){let r=this.assignIndexedValue(e.i,e.t===10?{}:Object.create(null));return this.deserializeProperties(e.p,r),Sr(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(b(e.c),e.m))}deserializeSet(e){let r=this.assignIndexedValue(e.i,new Set),s=e.a;for(let n=0,a=e.l;n<a;n++)r.add(this.deserialize(s[n]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),s=e.e.k,n=e.e.v;for(let a=0,i=e.e.s;a<i;a++)r.set(this.deserialize(s[a]),this.deserialize(n[a]));return r}deserializeArrayBuffer(e){let r=new Uint8Array(e.s);return this.assignIndexedValue(e.i,r.buffer)}deserializeTypedArray(e){let r=mr(e.c),s=this.deserialize(e.f);return this.assignIndexedValue(e.i,new r(s,e.b,e.l))}deserializeDataView(e){let r=this.deserialize(e.f);return this.assignIndexedValue(e.i,new DataView(r,e.b,e.l))}deserializeDictionary(e,r){if(e.p){let s=this.deserializeProperties(e.p,{});Object.assign(r,s)}return r}deserializeAggregateError(e){let r=this.assignIndexedValue(e.i,new AggregateError([],b(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=rr[e.s],s=this.assignIndexedValue(e.i,new r(b(e.m)));return this.deserializeDictionary(e,s)}deserializePromise(e){let r=oe(),s=this.assignIndexedValue(e.i,r),n=this.deserialize(e.f);return e.s?r.resolve(n):r.reject(n),s.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let s=b(e.c);for(let n=0,a=r.length;n<a;n++){let i=r[n];if(i.tag===s)return this.assignIndexedValue(e.i,i.deserialize(e.s,this,{id:e.i}))}}throw new O(e.c)}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,oe()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);m(r,new y("Promise")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);m(r,new y("Promise")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return fr(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return pr(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,T()),s=e.a.length;if(s)for(let n=0;n<s;n++)this.deserialize(e.a[n]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,new AbortController).signal}deserializeAbortSignalAbort(e){let r=this.refs.get(e.i);m(r,new y("AbortSignal")),r.abort(this.deserialize(e.a[1]))}deserializeAbortSignalSync(e){return this.assignIndexedValue(e.i,AbortSignal.abort(this.deserialize(e.f)))}deserialize(e){try{switch(e.t){case 2:return er[e.s];case 0:return e.s;case 1:return b(e.s);case 3:return BigInt(e.s);case 4:return this.refs.get(e.i);case 18:return this.deserializeReference(e);case 9:return this.deserializeArray(e);case 10:case 11:return this.deserializeObject(e);case 5:return this.deserializeDate(e);case 6:return this.deserializeRegExp(e);case 7:return this.deserializeSet(e);case 8:return this.deserializeMap(e);case 19:return this.deserializeArrayBuffer(e);case 16:case 15:return this.deserializeTypedArray(e);case 20:return this.deserializeDataView(e);case 14:return this.deserializeAggregateError(e);case 13:return this.deserializeError(e);case 12:return this.deserializePromise(e);case 17:return Xe[e.s];case 21:return this.deserializeBoxed(e);case 25:return this.deserializePlugin(e);case 22:return this.deserializePromiseConstructor(e);case 23:return this.deserializePromiseResolve(e);case 24:return this.deserializePromiseReject(e);case 28:return this.deserializeIteratorFactoryInstance(e);case 30:return this.deserializeAsyncIteratorFactoryInstance(e);case 31:return this.deserializeStreamConstructor(e);case 32:return this.deserializeStreamNext(e);case 33:return this.deserializeStreamThrow(e);case 34:return this.deserializeStreamReturn(e);case 27:return this.deserializeIteratorFactory(e);case 29:return this.deserializeAsyncIteratorFactory(e);case 36:return this.deserializeAbortSignalAbort(e);case 35:return this.deserializeAbortSignalConstructor(e);case 37:return this.deserializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new te(r)}}};var ne=class extends F{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,s){return this.refs.has(r)||this.refs.set(r,s),s}};var Fr=/^[$A-Z_][0-9A-Z_$]*$/i;function Le(o){let e=o[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&Fr.test(o)}function ae(o){switch(o.t){case 0:return o.s+"="+o.v;case 2:return o.s+".set("+o.k+","+o.v+")";case 1:return o.s+".add("+o.v+")";case 3:return o.s+".delete("+o.k+")"}}function Vr(o){let e=[],r=o[0];for(let s=1,n=o.length,a,i=r;s<n;s++)a=o[s],a.t===0&&a.v===i.v?r={t:0,s:a.s,k:t,v:ae(r)}:a.t===2&&a.s===i.s?r={t:2,s:ae(r),k:a.k,v:a.v}:a.t===1&&a.s===i.s?r={t:1,s:ae(r),k:t,v:a.v}:a.t===3&&a.s===i.s?r={t:3,s:ae(r),k:a.k,v:t}:(e.push(r),r=a),i=a;return e.push(r),e}function gr(o){if(o.length){let e="",r=Vr(o);for(let s=0,n=r.length;s<n;s++)e+=ae(r[s])+",";return e}return t}var Dr="Object.create(null)",Br="new Set",jr="new Map",_r="Promise.resolve",Mr="Promise.reject",Ur={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:t},V=class{constructor(e){this.stack=[];this.flags=[];this.assignments=[];this.plugins=e.plugins,this.features=e.features,this.marked=new Set(e.markedRefs)}createFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}createEffectfulFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}pushObjectFlag(e,r){e!==0&&(this.markRef(r),this.flags.push({type:e,value:this.getRefParam(r)}))}resolveFlags(){let e="";for(let r=0,s=this.flags,n=s.length;r<n;r++){let a=s[r];e+=Ur[a.type]+"("+a.value+"),"}return e}resolvePatches(){let e=gr(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:0,s:e,k:t,v:r})}createAddAssignment(e,r){this.assignments.push({t:1,s:this.getRefParam(e),k:t,v:r})}createSetAssignment(e,r,s){this.assignments.push({t:2,s:this.getRefParam(e),k:r,v:s})}createDeleteAssignment(e,r){this.assignments.push({t:3,s:this.getRefParam(e),k:r,v:t})}createArrayAssign(e,r,s){this.createAssignment(this.getRefParam(e)+"["+r+"]",s)}createObjectAssign(e,r,s){this.createAssignment(this.getRefParam(e)+"."+r,s)}isIndexedValueInStack(e){return e.t===4&&this.stack.includes(e.i)}serializeReference(e){return this.assignIndexedValue(e.i,P+'.get("'+e.s+'")')}serializeArrayItem(e,r,s){return r?this.isIndexedValueInStack(r)?(this.markRef(e),this.createArrayAssign(e,s,this.getRefParam(r.i)),""):this.serialize(r):""}serializeArray(e){let r=e.i;if(e.l){this.stack.push(r);let s=e.a,n=this.serializeArrayItem(r,s[0],0),a=n==="";for(let i=1,l=e.l,c;i<l;i++)c=this.serializeArrayItem(r,s[i],i),n+=","+c,a=c==="";return this.stack.pop(),this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(r,"["+n+(a?",]":"]"))}return this.assignIndexedValue(r,"[]")}serializeProperty(e,r,s){if(typeof r=="string"){let n=Number(r),a=n>=0&&n.toString()===r||Le(r);if(this.isIndexedValueInStack(s)){let i=this.getRefParam(s.i);return this.markRef(e.i),a&&n!==n?this.createObjectAssign(e.i,r,i):this.createArrayAssign(e.i,a?r:'"'+r+'"',i),""}return(a?r:'"'+r+'"')+":"+this.serialize(s)}return"["+this.serialize(r)+"]:"+this.serialize(s)}serializeProperties(e,r){let s=r.s;if(s){let n=r.k,a=r.v;this.stack.push(e.i);let i=this.serializeProperty(e,n[0],a[0]);for(let l=1,c=i;l<s;l++)c=this.serializeProperty(e,n[l],a[l]),i+=(c&&i&&",")+c;return this.stack.pop(),"{"+i+"}"}return"{}"}serializeObject(e){return this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(e.i,this.serializeProperties(e,e.p))}serializeWithObjectAssign(e,r,s){let n=this.serializeProperties(e,r);return n!=="{}"?"Object.assign("+s+","+n+")":s}serializeStringKeyAssignment(e,r,s,n){let a=this.serialize(n),i=Number(s),l=i>=0&&i.toString()===s||Le(s);if(this.isIndexedValueInStack(n))l&&i!==i?this.createObjectAssign(e.i,s,a):this.createArrayAssign(e.i,l?s:'"'+s+'"',a);else{let c=this.assignments;this.assignments=r,l&&i!==i?this.createObjectAssign(e.i,s,a):this.createArrayAssign(e.i,l?s:'"'+s+'"',a),this.assignments=c}}serializeAssignment(e,r,s,n){if(typeof s=="string")this.serializeStringKeyAssignment(e,r,s,n);else{let a=this.stack;this.stack=[];let i=this.serialize(n);this.stack=a;let l=this.assignments;this.assignments=r,this.createArrayAssign(e.i,this.serialize(s),i),this.assignments=l}}serializeAssignments(e,r){let s=r.s;if(s){let n=[],a=r.k,i=r.v;this.stack.push(e.i);for(let l=0;l<s;l++)this.serializeAssignment(e,n,a[l],i[l]);return this.stack.pop(),gr(n)}return t}serializeDictionary(e,r){if(e.p)if(this.features&8)r=this.serializeWithObjectAssign(e,e.p,r);else{this.markRef(e.i);let s=this.serializeAssignments(e,e.p);if(s)return"("+this.assignIndexedValue(e.i,r)+","+s+this.getRefParam(e.i)+")"}return this.assignIndexedValue(e.i,r)}serializeNullConstructor(e){return this.pushObjectFlag(e.o,e.i),this.serializeDictionary(e,Dr)}serializeDate(e){return this.assignIndexedValue(e.i,'new Date("'+e.s+'")')}serializeRegExp(e){return this.assignIndexedValue(e.i,"/"+e.c+"/"+e.m)}serializeSetItem(e,r){return this.isIndexedValueInStack(r)?(this.markRef(e),this.createAddAssignment(e,this.getRefParam(r.i)),""):this.serialize(r)}serializeSet(e){let r=Br,s=e.l,n=e.i;if(s){let a=e.a;this.stack.push(n);let i=this.serializeSetItem(n,a[0]);for(let l=1,c=i;l<s;l++)c=this.serializeSetItem(n,a[l]),i+=(c&&i&&",")+c;this.stack.pop(),i&&(r+="(["+i+"])")}return this.assignIndexedValue(n,r)}serializeMapEntry(e,r,s,n){if(this.isIndexedValueInStack(r)){let a=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(s)){let l=this.getRefParam(s.i);return this.createSetAssignment(e,a,l),""}if(s.t!==4&&s.i!=null&&this.isMarked(s.i)){let l="("+this.serialize(s)+",["+n+","+n+"])";return this.createSetAssignment(e,a,this.getRefParam(s.i)),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,a,this.serialize(s)),this.stack=i,""}if(this.isIndexedValueInStack(s)){let a=this.getRefParam(s.i);if(this.markRef(e),r.t!==4&&r.i!=null&&this.isMarked(r.i)){let l="("+this.serialize(r)+",["+n+","+n+"])";return this.createSetAssignment(e,this.getRefParam(r.i),a),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,this.serialize(r),a),this.stack=i,""}return"["+this.serialize(r)+","+this.serialize(s)+"]"}serializeMap(e){let r=jr,s=e.e.s,n=e.i,a=e.f,i=this.getRefParam(a.i);if(s){let l=e.e.k,c=e.e.v;this.stack.push(n);let d=this.serializeMapEntry(n,l[0],c[0],i);for(let h=1,Z=d;h<s;h++)Z=this.serializeMapEntry(n,l[h],c[h],i),d+=(Z&&d&&",")+Z;this.stack.pop(),d&&(r+="(["+d+"])")}return a.t===26&&(this.markRef(a.i),r="("+this.serialize(a)+","+r+")"),this.assignIndexedValue(n,r)}serializeArrayBuffer(e){let r="new Uint8Array(",s=e.s,n=s.length;if(n){r+="["+s[0];for(let a=1;a<n;a++)r+=","+s[a];r+="]"}return this.assignIndexedValue(e.i,r+").buffer")}serializeTypedArray(e){return this.assignIndexedValue(e.i,"new "+e.c+"("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeDataView(e){return this.assignIndexedValue(e.i,"new DataView("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeAggregateError(e){let r=e.i;this.stack.push(r);let s=this.serializeDictionary(e,'new AggregateError([],"'+e.m+'")');return this.stack.pop(),s}serializeError(e){return this.serializeDictionary(e,"new "+fe[e.s]+'("'+e.m+'")')}serializePromise(e){let r,s=e.f,n=e.i,a=e.s?_r:Mr;if(this.isIndexedValueInStack(s)){let i=this.getRefParam(s.i);r=a+(e.s?"().then("+this.createFunction([],i)+")":"().catch("+this.createEffectfulFunction([],"throw "+i)+")")}else{this.stack.push(n);let i=this.serialize(s);this.stack.pop(),r=a+"("+i+")"}return this.assignIndexedValue(n,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,Ze[e.s])}serializeBoxed(e){return this.assignIndexedValue(e.i,"Object("+this.serialize(e.f)+")")}serializePlugin(e){let r=this.plugins;if(r)for(let s=0,n=r.length;s<n;s++){let a=r[s];if(a.tag===e.c)return this.assignIndexedValue(e.i,a.serialize(e.s,this,{id:e.i}))}throw new O(e.c)}getConstructor(e){let r=this.serialize(e);return r===this.getRefParam(e.i)?r:"("+r+")"}serializePromiseConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializePromiseResolve(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializePromiseReject(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializeSpecialReferenceValue(e){switch(e){case 0:return"[]";case 1:return this.createFunction(["s","f","p"],"((p=new Promise("+this.createEffectfulFunction(["a","b"],"s=a,f=b")+")).s=s,p.f=f,p)");case 2:return this.createEffectfulFunction(["p","d"],'p.s(d),p.status="success",p.value=d;delete p.s;delete p.f');case 3:return this.createEffectfulFunction(["p","d"],'p.f(d),p.status="failure",p.value=d;delete p.s;delete p.f');case 4:return this.createFunction(["b","a","s","l","p","f","e","n"],"(b=[],a=!0,s=!1,l=[],p=0,f="+this.createEffectfulFunction(["v","m","x"],"for(x=0;x<p;x++)l[x]&&l[x][m](v)")+",n="+this.createEffectfulFunction(["o","x","z","c"],'for(x=0,z=b.length;x<z;x++)(c=b[x],(!a&&x===z-1)?o[s?"return":"throw"](c):o.next(c))')+",e="+this.createFunction(["o","t"],"(a&&(l[t=p++]=o),n(o),"+this.createEffectfulFunction([],"a&&(l[t]=void 0)")+")")+",{__SEROVAL_STREAM__:!0,on:"+this.createFunction(["o"],"e(o)")+",next:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"next"))')+",throw:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"throw"),a=s=!1,l.length=0)')+",return:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"return"),a=!1,s=!0,l.length=0)')+"})");case 5:return this.createFunction(["a","s"],"((s=(a=new AbortController).signal).a=a,s)");case 6:return this.createEffectfulFunction(["s","r"],"s.a.abort(r);delete s.a");default:return""}}serializeSpecialReference(e){return this.assignIndexedValue(e.i,this.serializeSpecialReferenceValue(e.s))}serializeIteratorFactory(e){let r="",s=!1;return e.f.t!==4&&(this.markRef(e.f.i),r="("+this.serialize(e.f)+",",s=!0),r+=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["i","c","d","t"],"(i=0,t={["+this.getRefParam(e.f.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction([],"if(i>s.d)return{done:!0,value:void 0};if(d=s.v[c=i++],c===s.t)throw d;return{done:c===s.d,value:d}")+"})"))),s&&(r+=")"),r}serializeIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeAsyncIteratorFactory(e){let r=e.a[0],s=e.a[1],n="";r.t!==4&&(this.markRef(r.i),n+="("+this.serialize(r)),s.t!==4&&(this.markRef(s.i),n+=(n?",":"(")+this.serialize(s)),n&&(n+=",");let a=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["b","c","p","d","e","t","f"],"(b=[],c=0,p=[],d=-1,e=!1,f="+this.createEffectfulFunction(["i","l"],"for(i=0,l=p.length;i<l;i++)p[i].s({done:!0,value:void 0})")+",s.on({next:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!1,value:v});b.push(v)")+",throw:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.f(v);f(),d=b.length,e=!0,b.push(v)")+",return:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!0,value:v});f(),d=b.length,b.push(v)")+"}),t={["+this.getRefParam(s.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction(["i","t","v"],"if(d===-1){return((i=c++)>=b.length)?(p.push(t="+this.getRefParam(r.i)+"()),t):{done:!1,value:b[i]}}if(c>d)return{done:!0,value:void 0};if(v=b[i=c++],i!==d)return{done:!1,value:v};if(e)throw v;return{done:!0,value:v}")+"})")));return n?n+a+")":a}serializeAsyncIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()"),s=e.a.length;if(s){let n=this.serialize(e.a[0]);for(let a=1;a<s;a++)n+=","+this.serialize(e.a[a]);return"("+r+","+n+","+this.getRefParam(e.i)+")"}return r}serializeStreamNext(e){return this.getRefParam(e.i)+".next("+this.serialize(e.f)+")"}serializeStreamThrow(e){return this.getRefParam(e.i)+".throw("+this.serialize(e.f)+")"}serializeStreamReturn(e){return this.getRefParam(e.i)+".return("+this.serialize(e.f)+")"}serializeAbortSignalSync(e){return this.assignIndexedValue(e.i,"AbortSignal.abort("+this.serialize(e.f)+")")}serializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializeAbortSignalAbort(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serialize(e){try{switch(e.t){case 2:return Qe[e.s];case 0:return""+e.s;case 1:return'"'+e.s+'"';case 3:return e.s+"n";case 4:return this.getRefParam(e.i);case 18:return this.serializeReference(e);case 9:return this.serializeArray(e);case 10:return this.serializeObject(e);case 11:return this.serializeNullConstructor(e);case 5:return this.serializeDate(e);case 6:return this.serializeRegExp(e);case 7:return this.serializeSet(e);case 8:return this.serializeMap(e);case 19:return this.serializeArrayBuffer(e);case 16:case 15:return this.serializeTypedArray(e);case 20:return this.serializeDataView(e);case 14:return this.serializeAggregateError(e);case 13:return this.serializeError(e);case 12:return this.serializePromise(e);case 17:return this.serializeWellKnownSymbol(e);case 21:return this.serializeBoxed(e);case 22:return this.serializePromiseConstructor(e);case 23:return this.serializePromiseResolve(e);case 24:return this.serializePromiseReject(e);case 25:return this.serializePlugin(e);case 26:return this.serializeSpecialReference(e);case 27:return this.serializeIteratorFactory(e);case 28:return this.serializeIteratorFactoryInstance(e);case 29:return this.serializeAsyncIteratorFactory(e);case 30:return this.serializeAsyncIteratorFactoryInstance(e);case 31:return this.serializeStreamConstructor(e);case 32:return this.serializeStreamNext(e);case 33:return this.serializeStreamThrow(e);case 34:return this.serializeStreamReturn(e);case 36:return this.serializeAbortSignalAbort(e);case 35:return this.serializeAbortSignalConstructor(e);case 37:return this.serializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new re(r)}}};var D=class extends V{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return X+"["+r+"]"}assignIndexedValue(r,s){return this.getRefParam(r)+"="+s}serializeTop(r){let s=this.serialize(r),n=r.i;if(n==null)return s;let a=this.resolvePatches(),i=this.getRefParam(n),l=this.scopeId==null?"":X,c=a?"("+s+","+a+i+")":s;if(l==="")return r.t===10&&!a?"("+c+")":c;let d=this.scopeId==null?"()":"("+X+'["'+p(this.scopeId)+'"])';return"("+this.createFunction([l],c)+")"+d}};var N=class extends J{parseItems(e){let r=[];for(let s=0,n=e.length;s<n;s++)s in e&&(r[s]=this.parse(e[s]));return r}parseArray(e,r){return xe(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),s=[],n=[];for(let i=0,l=r.length;i<l;i++)s.push(p(r[i][0])),n.push(this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),this.parse(K(e))))),a=Symbol.asyncIterator,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),this.parse(T())))),a=Symbol.toStringTag,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:s,v:n,s:s.length}}parsePlainObject(e,r,s){return this.createObjectNode(e,r,s,this.parseProperties(r))}parseBoxed(e,r){return Ie(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return we(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return Ee(e,r,this.parse(r.buffer))}parseDataView(e,r){return Re(e,r,this.parse(r.buffer))}parseError(e,r){let s=j(r,this.features);return Pe(e,r,s?this.parseProperties(s):t)}parseAggregateError(e,r){let s=j(r,this.features);return Ce(e,r,s?this.parseProperties(s):t)}parseMap(e,r){let s=[],n=[];for(let[a,i]of r.entries())s.push(this.parse(a)),n.push(this.parse(i));return this.createMapNode(e,s,n,r.size)}parseSet(e,r){let s=[];for(let n of r.keys())s.push(this.parse(n));return ze(e,r.size,s)}parsePlugin(e,r){let s=this.plugins;if(s)for(let n=0,a=s.length;n<a;n++){let i=s[n];if(i.parse.sync&&i.test(r))return _(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return L(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e)}parseAbortSignalSync(e,r){return u(37,e,t,t,t,t,t,t,t,this.parse(r.reason),t,t)}parseAbortSignal(e,r){return r.aborted?this.parseAbortSignalSync(e,r):this.createAbortSignalConstructorNode(e)}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Fe(r))return this.parseStream(e,r);let s=r.constructor;if(s===E)return this.parse(r.replacement);let n=this.parsePlugin(e,r);if(n)return n;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return Ne(e,r);case RegExp:return be(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return Ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&s===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new S(r)}parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return me;case"string":return w(e);case"number":return ye(e);case"bigint":return ve(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return Se}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new z(r)}}};var ie=class extends N{constructor(r){super(r);this.alive=!0;this.pending=0;this.initial=!0;this.buffer=[];this.onParseCallback=r.onParse,this.onErrorCallback=r.onError,this.onDoneCallback=r.onDone}onParseInternal(r,s){try{this.onParseCallback(r,s)}catch(n){this.onError(n)}}flush(){for(let r=0,s=this.buffer.length;r<s;r++)this.onParseInternal(this.buffer[r],!1)}onParse(r){this.initial?this.buffer.push(r):this.onParseInternal(r,!1)}onError(r){if(this.onErrorCallback)this.onErrorCallback(r);else throw r}onDone(){this.onDoneCallback&&this.onDoneCallback()}pushPendingState(){this.pending++}popPendingState(){--this.pending<=0&&this.onDone()}parseProperties(r){let s=Object.entries(r),n=[],a=[];for(let l=0,c=s.length;l<c;l++)n.push(p(s[l][0])),a.push(this.parse(s[l][1]));let i=Symbol.iterator;return i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(M(this.parseIteratorFactory(),this.parse(K(r))))),i=Symbol.asyncIterator,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(U(this.parseAsyncIteratorFactory(),this.parse(Ve(r))))),i=Symbol.toStringTag,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(w(r[i]))),i=Symbol.isConcatSpreadable,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(r[i]?x:I)),{k:n,v:a,s:n.length}}parsePromise(r,s){return s.then(n=>{let a=this.parseWithError(n);a&&this.onParse(u(23,r,t,t,t,t,t,t,[this.parseSpecialReference(2),a],t,t,t)),this.popPendingState()},n=>{if(this.alive){let a=this.parseWithError(n);a&&this.onParse(u(24,r,t,t,t,t,t,t,[this.parseSpecialReference(3),a],t,t,t))}this.popPendingState()}),this.pushPendingState(),this.createPromiseConstructorNode(r)}parsePlugin(r,s){let n=this.plugins;if(n)for(let a=0,i=n.length;a<i;a++){let l=n[a];if(l.parse.stream&&l.test(s))return _(r,l.tag,l.parse.stream(s,this,{id:r}))}return t}parseStream(r,s){let n=L(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),s.on({next:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Oe(r,i))}},throw:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Te(r,i))}this.popPendingState()},return:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(ke(r,i))}this.popPendingState()}}),n}parseAbortSignal(r,s){return s.aborted?this.parseAbortSignalSync(r,s):(this.pushPendingState(),s.addEventListener("abort",()=>{if(this.alive){let n=this.parseWithError(s.reason);n&&this.onParse(u(36,r,t,t,t,t,t,t,[this.parseSpecialReference(6),n],t,t,t))}this.popPendingState()},{once:!0}),this.createAbortSignalConstructorNode(r))}parseWithError(r){try{return this.parse(r)}catch(s){return this.onError(s),t}}start(r){let s=this.parseWithError(r);s&&(this.onParseInternal(s,!0),this.initial=!1,this.flush(),this.pending<=0&&this.destroy())}destroy(){this.alive&&(this.onDone(),this.alive=!1)}isAlive(){return this.alive}};var $=class extends ie{constructor(){super(...arguments);this.mode="cross"}};var G=class extends N{constructor(){super(...arguments);this.mode="cross"}};function Lr(o,e={}){let r=f(e.plugins),s=new G({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=s.parse(o);return new D({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}).serializeTop(n)}async function Wr(o,e={}){let r=f(e.plugins),s=new Y({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=await s.parse(o);return new D({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}).serializeTop(n)}function Kr(o,e={}){let r=f(e.plugins);return new G({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}async function Jr(o,e={}){let r=f(e.plugins);return await new Y({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}function We(o,e){let r=f(e.plugins),s=new $({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(n,a){let i=new D({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}),l;try{l=i.serializeTop(n)}catch(c){e.onError&&e.onError(c);return}e.onSerialize(l,a)},onError:e.onError,onDone:e.onDone});return s.start(o),()=>{s.destroy()}}function Yr(o,e){let r=f(e.plugins),s=new $({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return s.start(o),()=>{s.destroy()}}function $r(o,e){let r=f(e.plugins);return new ne({plugins:r,refs:e.refs}).deserialize(o)}var q=class extends k{constructor(){super(...arguments);this.mode="vanilla"}};var le=class extends F{constructor(r){super(r);this.mode="vanilla";this.marked=new Set(r.markedRefs)}assignIndexedValue(r,s){return this.marked.has(r)&&this.refs.set(r,s),s}};var vr="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",hr=vr.length,Nr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",yr=Nr.length;function Ke(o){let e=o%hr,r=vr[e];for(o=(o-e)/hr;o>0;)e=o%yr,r+=Nr[e],o=(o-e)/yr;return r}var B=class extends V{constructor(){super(...arguments);this.mode="vanilla";this.valid=new Map;this.vars=[]}getRefParam(r){let s=this.valid.get(r);s==null&&(s=this.valid.size,this.valid.set(r,s));let n=this.vars[s];return n==null&&(n=Ke(s),this.vars[s]=n),n}assignIndexedValue(r,s){return this.isMarked(r)?this.getRefParam(r)+"="+s:s}serializePromiseConstructor(r){throw new g(r)}serializePromiseResolve(r){throw new g(r)}serializePromiseReject(r){throw new g(r)}serializeAbortSignalAbort(r){throw new g(r)}serializeTop(r){let s=this.serialize(r);if(r.i!=null&&this.vars.length){let n=this.resolvePatches(),a=s;if(n){let i=this.getRefParam(r.i);a=s+","+n+i,s.startsWith(i+"=")||(a=i+"="+a),a="("+a+")"}return"("+this.createFunction(this.vars,a)+")()"}return r.t===10?"("+s+")":s}};var H=class extends N{constructor(){super(...arguments);this.mode="vanilla"}};function Gr(o,e={}){let r=f(e.plugins),s=new H({plugins:r,disabledFeatures:e.disabledFeatures}),n=s.parse(o);return new B({plugins:r,features:s.features,markedRefs:s.marked}).serializeTop(n)}async function qr(o,e={}){let r=f(e.plugins),s=new q({plugins:r,disabledFeatures:e.disabledFeatures}),n=await s.parse(o);return new B({plugins:r,features:s.features,markedRefs:s.marked}).serializeTop(n)}function Hr(o){return(0,eval)(o)}function Zr(o,e={}){let r=f(e.plugins),s=new H({plugins:r,disabledFeatures:e.disabledFeatures});return{t:s.parse(o),f:s.features,m:Array.from(s.marked)}}async function Xr(o,e={}){let r=f(e.plugins),s=new q({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await s.parse(o),f:s.features,m:Array.from(s.marked)}}function Qr(o,e={}){let r=f(e.plugins);return new B({plugins:r,features:o.f,markedRefs:o.m}).serializeTop(o.t)}function et(o,e={}){let r=f(e.plugins);return new le({plugins:r,markedRefs:o.m}).deserialize(o.t)}var ce=class{constructor(e){this.options=e;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=f(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(We(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(s,n)=>{this.alive&&this.options.onData(n?this.options.globalIdentifier+'["'+p(e)+'"]='+s:s)},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(e){let r=this.getNextID();return this.write(r,e),r}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 e=0,r=this.cleanups.length;e<r;e++)this.cleanups[e]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};
17
+ - If the reference is present on multiple runtimes (isomorphic), you can use the Reference API to map the references.`);this.value=r}},g=class extends Error{constructor(e){super('Unsupported node type "'+e.t+'".')}},O=class extends Error{constructor(e){super('Missing plugin for tag "'+e+'".')}},y=class extends Error{constructor(e){super('Missing "'+e+'" instance.')}},Q=class extends Error{constructor(r){super('Missing reference for the value "'+_e.call(r)+'" of type "'+typeof r+'"');this.value=r}},ee=class extends Error{constructor(e){super('Missing reference for id "'+p(e)+'"')}},se=class extends Error{constructor(e){super('Unknown TypedArray "'+e+'"')}};var E=class{constructor(e,r){this.value=e;this.replacement=r}};var cr={},ur={};var dr={0:{},1:{},2:{},3:{},4:{},5:{},6:{}};function oe(){let o,e;return{promise:new Promise((r,t)=>{o=r,e=t}),resolve(r){o(r)},reject(r){e(r)}}}function ke(o){return"__SEROVAL_STREAM__"in o}function T(){let o=new Set,e=[],r=!0,t=!0;function n(l){for(let c of o.keys())c.next(l)}function a(l){for(let c of o.keys())c.throw(l)}function i(l){for(let c of o.keys())c.return(l)}return{__SEROVAL_STREAM__:!0,on(l){r&&o.add(l);for(let c=0,d=e.length;c<d;c++){let h=e[c];c===d-1&&!r?t?l.return(h):l.throw(h):l.next(h)}return()=>{r&&o.delete(l)}},next(l){r&&(e.push(l),n(l))},throw(l){r&&(e.push(l),a(l),r=!1,t=!1,o.clear())},return(l){r&&(e.push(l),i(l),r=!1,t=!0,o.clear())}}}function Fe(o){let e=T(),r=o[Symbol.asyncIterator]();async function t(){try{let n=await r.next();n.done?e.return(n.value):(e.next(n.value),await t())}catch(n){e.throw(n)}}return t().catch(()=>{}),e}function pr(o){return()=>{let e=[],r=[],t=0,n=-1,a=!1;function i(){for(let c=0,d=r.length;c<d;c++)r[c].resolve({done:!0,value:void 0})}o.on({next(c){let d=r.shift();d&&d.resolve({done:!1,value:c}),e.push(c)},throw(c){let d=r.shift();d&&d.reject(c),i(),n=e.length,e.push(c),a=!0},return(c){let d=r.shift();d&&d.resolve({done:!0,value:c}),i(),n=e.length,e.push(c)}});function l(){let c=t++,d=e[c];if(c!==n)return{done:!1,value:d};if(a)throw d;return{done:!0,value:d}}return{[Symbol.asyncIterator](){return this},async next(){if(n===-1){let c=t++;if(c>=e.length){let d=oe();return r.push(d),await d.promise}return{done:!1,value:e[c]}}return t>n?{done:!0,value:void 0}:l()}}}}function K(o){let e=[],r=-1,t=-1,n=o[Symbol.iterator]();for(;;)try{let a=n.next();if(e.push(a.value),a.done){t=e.length-1;break}}catch(a){r=e.length,e.push(a)}return{v:e,t:r,d:t}}function fr(o){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>o.d)return{done:!0,value:s};let r=e++,t=o.v[r];if(r===o.t)throw t;return{done:r===o.d,value:t}}}}}async function Me(o){try{return[1,await o]}catch(e){return[0,e]}}var J=class{constructor(e){this.marked=new Set;this.plugins=e.plugins,this.features=47^(e.disabledFeatures||0),this.refs=e.refs||new Map}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}getIndexedValue(e){let r=this.refs.get(e);if(r!=null)return this.markRef(r),{type:1,value:ar(r)};let t=this.refs.size;return this.refs.set(e,t),{type:0,value:t}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:je(e)?{type:2,value:lr(r.value,e)}:r}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(m(e in de,new S(e)),ir(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(dr[e]);return r.type===1?r.value:u(26,r.value,e,s,s,s,s,s,s,s,s,s)}parseIteratorFactory(){let e=this.getIndexedValue(cr);return e.type===1?e.value:u(27,e.value,s,s,s,s,s,s,s,this.parseWellKnownSymbol(Symbol.iterator),s,s)}parseAsyncIteratorFactory(){let e=this.getIndexedValue(ur);return e.type===1?e.value:u(29,e.value,s,s,s,s,s,s,[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],s,s,s)}createObjectNode(e,r,t,n){return u(t?11:10,e,s,s,s,s,n,s,s,s,s,ge(r))}createMapNode(e,r,t,n){return u(8,e,s,s,s,s,s,{k:r,v:t,s:n},s,this.parseSpecialReference(0),s,s)}createPromiseConstructorNode(e){return u(22,e,s,s,s,s,s,s,s,this.parseSpecialReference(1),s,s)}createAbortSignalConstructorNode(e){return u(35,e,s,s,s,s,s,s,s,this.parseSpecialReference(5),s,s)}};var k=class extends J{async parseItems(e){let r=[];for(let t=0,n=e.length;t<n;t++)t in e&&(r[t]=await this.parse(e[t]));return r}async parseArray(e,r){return Ae(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),t=[],n=[];for(let i=0,l=r.length;i<l;i++)t.push(p(r[i][0])),n.push(await this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),await this.parse(K(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),await this.parse(Fe(e))))),a=Symbol.toStringTag,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:t,v:n,s:t.length}}async parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,await this.parseProperties(r))}async parseBoxed(e,r){return xe(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return Ie(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return we(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return Ee(e,r,await this.parse(r.buffer))}async parseError(e,r){let t=j(r,this.features);return Re(e,r,t?await this.parseProperties(t):s)}async parseAggregateError(e,r){let t=j(r,this.features);return Pe(e,r,t?await this.parseProperties(t):s)}async parseMap(e,r){let t=[],n=[];for(let[a,i]of r.entries())t.push(await this.parse(a)),n.push(await this.parse(i));return this.createMapNode(e,t,n,r.size)}async parseSet(e,r){let t=[];for(let n of r.keys())t.push(await this.parse(n));return Ce(e,r.size,t)}async parsePromise(e,r){let[t,n]=await Me(r);return u(12,e,t,s,s,s,s,s,s,await this.parse(n),s,s)}async parsePlugin(e,r){let t=this.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let i=t[n];if(i.parse.async&&i.test(r))return _(e,i.tag,await i.parse.async(r,this,{id:e}))}return s}async parseStream(e,r){return L(e,this.parseSpecialReference(4),await new Promise((t,n)=>{let a=[],i=r.on({next:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(ze(e,c))},c=>{n(c),i()})},throw:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Oe(e,c)),t(a),i()},c=>{n(c),i()})},return:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Te(e,c)),t(a),i()},c=>{n(c),i()})}})}))}async parseAbortSignalSync(e,r){return u(37,e,s,s,s,s,s,s,s,await this.parse(r.reason),s,s)}async parseAbortSignal(e,r){return r.aborted||await qe(r),this.parseAbortSignalSync(e,r)}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(ke(r))return this.parseStream(e,r);let t=r.constructor;if(t===E)return this.parse(r.replacement);let n=await this.parsePlugin(e,r);if(n)return n;switch(t){case Object:return this.parsePlainObject(e,r,!1);case s:return this.parsePlainObject(e,r,!0);case Date:return ve(e,r);case RegExp:return be(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return Ne(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(t===Promise||r instanceof Promise)return this.parsePromise(e,r);let a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&t===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&1&&typeof AggregateError!="undefined"&&(t===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!t);throw new S(r)}async parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let t=await this.parsePlugin(r.value,e);if(t)return t;throw new S(e)}async parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return fe;case"string":return w(e);case"number":return he(e);case"bigint":return ye(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return me}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new z(r)}}};var Y=class extends k{constructor(){super(...arguments);this.mode="cross"}};function mr(o){switch(o){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new se(o)}}function Sr(o,e){switch(e){case 3:return Object.freeze(o);case 1:return Object.preventExtensions(o);case 2:return Object.seal(o);default:return o}}var F=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,$e(N(e.s)))}deserializeArray(e){let r=e.l,t=this.assignIndexedValue(e.i,new Array(r)),n;for(let a=0;a<r;a++)n=e.a[a],n&&(t[a]=this.deserialize(n));return Sr(t,e.o),t}deserializeProperties(e,r){let t=e.s;if(t){let n=e.k,a=e.v;for(let i=0,l;i<t;i++)l=n[i],typeof l=="string"?r[N(l)]=this.deserialize(a[i]):r[this.deserialize(l)]=this.deserialize(a[i])}return r}deserializeObject(e){let r=this.assignIndexedValue(e.i,e.t===10?{}:Object.create(null));return this.deserializeProperties(e.p,r),Sr(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(N(e.c),e.m))}deserializeSet(e){let r=this.assignIndexedValue(e.i,new Set),t=e.a;for(let n=0,a=e.l;n<a;n++)r.add(this.deserialize(t[n]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),t=e.e.k,n=e.e.v;for(let a=0,i=e.e.s;a<i;a++)r.set(this.deserialize(t[a]),this.deserialize(n[a]));return r}deserializeArrayBuffer(e){let r=new Uint8Array(e.s);return this.assignIndexedValue(e.i,r.buffer)}deserializeTypedArray(e){let r=mr(e.c),t=this.deserialize(e.f);return this.assignIndexedValue(e.i,new r(t,e.b,e.l))}deserializeDataView(e){let r=this.deserialize(e.f);return this.assignIndexedValue(e.i,new DataView(r,e.b,e.l))}deserializeDictionary(e,r){if(e.p){let t=this.deserializeProperties(e.p,{});Object.assign(r,t)}return r}deserializeAggregateError(e){let r=this.assignIndexedValue(e.i,new AggregateError([],N(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=er[e.s],t=this.assignIndexedValue(e.i,new r(N(e.m)));return this.deserializeDictionary(e,t)}deserializePromise(e){let r=oe(),t=this.assignIndexedValue(e.i,r),n=this.deserialize(e.f);return e.s?r.resolve(n):r.reject(n),t.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let t=N(e.c);for(let n=0,a=r.length;n<a;n++){let i=r[n];if(i.tag===t)return this.assignIndexedValue(e.i,i.deserialize(e.s,this,{id:e.i}))}}throw new O(e.c)}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,oe()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);m(r,new y("Promise")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);m(r,new y("Promise")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return fr(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return pr(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,T()),t=e.a.length;if(t)for(let n=0;n<t;n++)this.deserialize(e.a[n]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);m(r,new y("Stream")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,new AbortController).signal}deserializeAbortSignalAbort(e){let r=this.refs.get(e.i);m(r,new y("AbortSignal")),r.abort(this.deserialize(e.a[1]))}deserializeAbortSignalSync(e){return this.assignIndexedValue(e.i,AbortSignal.abort(this.deserialize(e.f)))}deserialize(e){try{switch(e.t){case 2:return Qe[e.s];case 0:return e.s;case 1:return N(e.s);case 3:return BigInt(e.s);case 4:return this.refs.get(e.i);case 18:return this.deserializeReference(e);case 9:return this.deserializeArray(e);case 10:case 11:return this.deserializeObject(e);case 5:return this.deserializeDate(e);case 6:return this.deserializeRegExp(e);case 7:return this.deserializeSet(e);case 8:return this.deserializeMap(e);case 19:return this.deserializeArrayBuffer(e);case 16:case 15:return this.deserializeTypedArray(e);case 20:return this.deserializeDataView(e);case 14:return this.deserializeAggregateError(e);case 13:return this.deserializeError(e);case 12:return this.deserializePromise(e);case 17:return Ze[e.s];case 21:return this.deserializeBoxed(e);case 25:return this.deserializePlugin(e);case 22:return this.deserializePromiseConstructor(e);case 23:return this.deserializePromiseResolve(e);case 24:return this.deserializePromiseReject(e);case 28:return this.deserializeIteratorFactoryInstance(e);case 30:return this.deserializeAsyncIteratorFactoryInstance(e);case 31:return this.deserializeStreamConstructor(e);case 32:return this.deserializeStreamNext(e);case 33:return this.deserializeStreamThrow(e);case 34:return this.deserializeStreamReturn(e);case 27:return this.deserializeIteratorFactory(e);case 29:return this.deserializeAsyncIteratorFactory(e);case 36:return this.deserializeAbortSignalAbort(e);case 35:return this.deserializeAbortSignalConstructor(e);case 37:return this.deserializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new te(r)}}};var ne=class extends F{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,t){return this.refs.has(r)||this.refs.set(r,t),t}};var Br=/^[$A-Z_][0-9A-Z_$]*$/i;function Ue(o){let e=o[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&Br.test(o)}function ae(o){switch(o.t){case 0:return o.s+"="+o.v;case 2:return o.s+".set("+o.k+","+o.v+")";case 1:return o.s+".add("+o.v+")";case 3:return o.s+".delete("+o.k+")"}}function jr(o){let e=[],r=o[0];for(let t=1,n=o.length,a,i=r;t<n;t++)a=o[t],a.t===0&&a.v===i.v?r={t:0,s:a.s,k:s,v:ae(r)}:a.t===2&&a.s===i.s?r={t:2,s:ae(r),k:a.k,v:a.v}:a.t===1&&a.s===i.s?r={t:1,s:ae(r),k:s,v:a.v}:a.t===3&&a.s===i.s?r={t:3,s:ae(r),k:a.k,v:s}:(e.push(r),r=a),i=a;return e.push(r),e}function gr(o){if(o.length){let e="",r=jr(o);for(let t=0,n=r.length;t<n;t++)e+=ae(r[t])+",";return e}return s}var _r="Object.create(null)",Mr="new Set",Ur="new Map",Lr="Promise.resolve",Wr="Promise.reject",Kr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:s},V=class{constructor(e){this.stack=[];this.flags=[];this.assignments=[];this.plugins=e.plugins,this.features=e.features,this.marked=new Set(e.markedRefs)}createFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}createEffectfulFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}pushObjectFlag(e,r){e!==0&&(this.markRef(r),this.flags.push({type:e,value:this.getRefParam(r)}))}resolveFlags(){let e="";for(let r=0,t=this.flags,n=t.length;r<n;r++){let a=t[r];e+=Kr[a.type]+"("+a.value+"),"}return e}resolvePatches(){let e=gr(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:0,s:e,k:s,v:r})}createAddAssignment(e,r){this.assignments.push({t:1,s:this.getRefParam(e),k:s,v:r})}createSetAssignment(e,r,t){this.assignments.push({t:2,s:this.getRefParam(e),k:r,v:t})}createDeleteAssignment(e,r){this.assignments.push({t:3,s:this.getRefParam(e),k:r,v:s})}createArrayAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"["+r+"]",t)}createObjectAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"."+r,t)}isIndexedValueInStack(e){return e.t===4&&this.stack.includes(e.i)}serializeReference(e){return this.assignIndexedValue(e.i,P+'.get("'+e.s+'")')}serializeArrayItem(e,r,t){return r?this.isIndexedValueInStack(r)?(this.markRef(e),this.createArrayAssign(e,t,this.getRefParam(r.i)),""):this.serialize(r):""}serializeArray(e){let r=e.i;if(e.l){this.stack.push(r);let t=e.a,n=this.serializeArrayItem(r,t[0],0),a=n==="";for(let i=1,l=e.l,c;i<l;i++)c=this.serializeArrayItem(r,t[i],i),n+=","+c,a=c==="";return this.stack.pop(),this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(r,"["+n+(a?",]":"]"))}return this.assignIndexedValue(r,"[]")}serializeProperty(e,r,t){if(typeof r=="string"){let n=Number(r),a=n>=0&&n.toString()===r||Ue(r);if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);return this.markRef(e.i),a&&n!==n?this.createObjectAssign(e.i,r,i):this.createArrayAssign(e.i,a?r:'"'+r+'"',i),""}return(a?r:'"'+r+'"')+":"+this.serialize(t)}return"["+this.serialize(r)+"]:"+this.serialize(t)}serializeProperties(e,r){let t=r.s;if(t){let n=r.k,a=r.v;this.stack.push(e.i);let i=this.serializeProperty(e,n[0],a[0]);for(let l=1,c=i;l<t;l++)c=this.serializeProperty(e,n[l],a[l]),i+=(c&&i&&",")+c;return this.stack.pop(),"{"+i+"}"}return"{}"}serializeObject(e){return this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(e.i,this.serializeProperties(e,e.p))}serializeWithObjectAssign(e,r,t){let n=this.serializeProperties(e,r);return n!=="{}"?"Object.assign("+t+","+n+")":t}serializeStringKeyAssignment(e,r,t,n){let a=this.serialize(n),i=Number(t),l=i>=0&&i.toString()===t||Ue(t);if(this.isIndexedValueInStack(n))l&&i!==i?this.createObjectAssign(e.i,t,a):this.createArrayAssign(e.i,l?t:'"'+t+'"',a);else{let c=this.assignments;this.assignments=r,l&&i!==i?this.createObjectAssign(e.i,t,a):this.createArrayAssign(e.i,l?t:'"'+t+'"',a),this.assignments=c}}serializeAssignment(e,r,t,n){if(typeof t=="string")this.serializeStringKeyAssignment(e,r,t,n);else{let a=this.stack;this.stack=[];let i=this.serialize(n);this.stack=a;let l=this.assignments;this.assignments=r,this.createArrayAssign(e.i,this.serialize(t),i),this.assignments=l}}serializeAssignments(e,r){let t=r.s;if(t){let n=[],a=r.k,i=r.v;this.stack.push(e.i);for(let l=0;l<t;l++)this.serializeAssignment(e,n,a[l],i[l]);return this.stack.pop(),gr(n)}return s}serializeDictionary(e,r){if(e.p)if(this.features&8)r=this.serializeWithObjectAssign(e,e.p,r);else{this.markRef(e.i);let t=this.serializeAssignments(e,e.p);if(t)return"("+this.assignIndexedValue(e.i,r)+","+t+this.getRefParam(e.i)+")"}return this.assignIndexedValue(e.i,r)}serializeNullConstructor(e){return this.pushObjectFlag(e.o,e.i),this.serializeDictionary(e,_r)}serializeDate(e){return this.assignIndexedValue(e.i,'new Date("'+e.s+'")')}serializeRegExp(e){return this.assignIndexedValue(e.i,"/"+e.c+"/"+e.m)}serializeSetItem(e,r){return this.isIndexedValueInStack(r)?(this.markRef(e),this.createAddAssignment(e,this.getRefParam(r.i)),""):this.serialize(r)}serializeSet(e){let r=Mr,t=e.l,n=e.i;if(t){let a=e.a;this.stack.push(n);let i=this.serializeSetItem(n,a[0]);for(let l=1,c=i;l<t;l++)c=this.serializeSetItem(n,a[l]),i+=(c&&i&&",")+c;this.stack.pop(),i&&(r+="(["+i+"])")}return this.assignIndexedValue(n,r)}serializeMapEntry(e,r,t,n){if(this.isIndexedValueInStack(r)){let a=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(t)){let l=this.getRefParam(t.i);return this.createSetAssignment(e,a,l),""}if(t.t!==4&&t.i!=null&&this.isMarked(t.i)){let l="("+this.serialize(t)+",["+n+","+n+"])";return this.createSetAssignment(e,a,this.getRefParam(t.i)),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,a,this.serialize(t)),this.stack=i,""}if(this.isIndexedValueInStack(t)){let a=this.getRefParam(t.i);if(this.markRef(e),r.t!==4&&r.i!=null&&this.isMarked(r.i)){let l="("+this.serialize(r)+",["+n+","+n+"])";return this.createSetAssignment(e,this.getRefParam(r.i),a),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,this.serialize(r),a),this.stack=i,""}return"["+this.serialize(r)+","+this.serialize(t)+"]"}serializeMap(e){let r=Ur,t=e.e.s,n=e.i,a=e.f,i=this.getRefParam(a.i);if(t){let l=e.e.k,c=e.e.v;this.stack.push(n);let d=this.serializeMapEntry(n,l[0],c[0],i);for(let h=1,Z=d;h<t;h++)Z=this.serializeMapEntry(n,l[h],c[h],i),d+=(Z&&d&&",")+Z;this.stack.pop(),d&&(r+="(["+d+"])")}return a.t===26&&(this.markRef(a.i),r="("+this.serialize(a)+","+r+")"),this.assignIndexedValue(n,r)}serializeArrayBuffer(e){let r="new Uint8Array(",t=e.s,n=t.length;if(n){r+="["+t[0];for(let a=1;a<n;a++)r+=","+t[a];r+="]"}return this.assignIndexedValue(e.i,r+").buffer")}serializeTypedArray(e){return this.assignIndexedValue(e.i,"new "+e.c+"("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeDataView(e){return this.assignIndexedValue(e.i,"new DataView("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeAggregateError(e){let r=e.i;this.stack.push(r);let t=this.serializeDictionary(e,'new AggregateError([],"'+e.m+'")');return this.stack.pop(),t}serializeError(e){return this.serializeDictionary(e,"new "+pe[e.s]+'("'+e.m+'")')}serializePromise(e){let r,t=e.f,n=e.i,a=e.s?Lr:Wr;if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);r=a+(e.s?"().then("+this.createFunction([],i)+")":"().catch("+this.createEffectfulFunction([],"throw "+i)+")")}else{this.stack.push(n);let i=this.serialize(t);this.stack.pop(),r=a+"("+i+")"}return this.assignIndexedValue(n,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,He[e.s])}serializeBoxed(e){return this.assignIndexedValue(e.i,"Object("+this.serialize(e.f)+")")}serializePlugin(e){let r=this.plugins;if(r)for(let t=0,n=r.length;t<n;t++){let a=r[t];if(a.tag===e.c)return this.assignIndexedValue(e.i,a.serialize(e.s,this,{id:e.i}))}throw new O(e.c)}getConstructor(e){let r=this.serialize(e);return r===this.getRefParam(e.i)?r:"("+r+")"}serializePromiseConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializePromiseResolve(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializePromiseReject(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializeSpecialReferenceValue(e){switch(e){case 0:return"[]";case 1:return this.createFunction(["s","f","p"],"((p=new Promise("+this.createEffectfulFunction(["a","b"],"s=a,f=b")+")).s=s,p.f=f,p)");case 2:return this.createEffectfulFunction(["p","d"],'p.s(d),p.status="success",p.value=d;delete p.s;delete p.f');case 3:return this.createEffectfulFunction(["p","d"],'p.f(d),p.status="failure",p.value=d;delete p.s;delete p.f');case 4:return this.createFunction(["b","a","s","l","p","f","e","n"],"(b=[],a=!0,s=!1,l=[],p=0,f="+this.createEffectfulFunction(["v","m","x"],"for(x=0;x<p;x++)l[x]&&l[x][m](v)")+",n="+this.createEffectfulFunction(["o","x","z","c"],'for(x=0,z=b.length;x<z;x++)(c=b[x],(!a&&x===z-1)?o[s?"return":"throw"](c):o.next(c))')+",e="+this.createFunction(["o","t"],"(a&&(l[t=p++]=o),n(o),"+this.createEffectfulFunction([],"a&&(l[t]=void 0)")+")")+",{__SEROVAL_STREAM__:!0,on:"+this.createFunction(["o"],"e(o)")+",next:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"next"))')+",throw:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"throw"),a=s=!1,l.length=0)')+",return:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"return"),a=!1,s=!0,l.length=0)')+"})");case 5:return this.createFunction(["a","s"],"((s=(a=new AbortController).signal).a=a,s)");case 6:return this.createEffectfulFunction(["s","r"],"s.a.abort(r);delete s.a");default:return""}}serializeSpecialReference(e){return this.assignIndexedValue(e.i,this.serializeSpecialReferenceValue(e.s))}serializeIteratorFactory(e){let r="",t=!1;return e.f.t!==4&&(this.markRef(e.f.i),r="("+this.serialize(e.f)+",",t=!0),r+=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["i","c","d","t"],"(i=0,t={["+this.getRefParam(e.f.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction([],"if(i>s.d)return{done:!0,value:void 0};if(d=s.v[c=i++],c===s.t)throw d;return{done:c===s.d,value:d}")+"})"))),t&&(r+=")"),r}serializeIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeAsyncIteratorFactory(e){let r=e.a[0],t=e.a[1],n="";r.t!==4&&(this.markRef(r.i),n+="("+this.serialize(r)),t.t!==4&&(this.markRef(t.i),n+=(n?",":"(")+this.serialize(t)),n&&(n+=",");let a=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["b","c","p","d","e","t","f"],"(b=[],c=0,p=[],d=-1,e=!1,f="+this.createEffectfulFunction(["i","l"],"for(i=0,l=p.length;i<l;i++)p[i].s({done:!0,value:void 0})")+",s.on({next:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!1,value:v});b.push(v)")+",throw:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.f(v);f(),d=b.length,e=!0,b.push(v)")+",return:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!0,value:v});f(),d=b.length,b.push(v)")+"}),t={["+this.getRefParam(t.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction(["i","t","v"],"if(d===-1){return((i=c++)>=b.length)?(p.push(t="+this.getRefParam(r.i)+"()),t):{done:!1,value:b[i]}}if(c>d)return{done:!0,value:void 0};if(v=b[i=c++],i!==d)return{done:!1,value:v};if(e)throw v;return{done:!0,value:v}")+"})")));return n?n+a+")":a}serializeAsyncIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()"),t=e.a.length;if(t){let n=this.serialize(e.a[0]);for(let a=1;a<t;a++)n+=","+this.serialize(e.a[a]);return"("+r+","+n+","+this.getRefParam(e.i)+")"}return r}serializeStreamNext(e){return this.getRefParam(e.i)+".next("+this.serialize(e.f)+")"}serializeStreamThrow(e){return this.getRefParam(e.i)+".throw("+this.serialize(e.f)+")"}serializeStreamReturn(e){return this.getRefParam(e.i)+".return("+this.serialize(e.f)+")"}serializeAbortSignalSync(e){return this.assignIndexedValue(e.i,"AbortSignal.abort("+this.serialize(e.f)+")")}serializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializeAbortSignalAbort(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serialize(e){try{switch(e.t){case 2:return Xe[e.s];case 0:return""+e.s;case 1:return'"'+e.s+'"';case 3:return e.s+"n";case 4:return this.getRefParam(e.i);case 18:return this.serializeReference(e);case 9:return this.serializeArray(e);case 10:return this.serializeObject(e);case 11:return this.serializeNullConstructor(e);case 5:return this.serializeDate(e);case 6:return this.serializeRegExp(e);case 7:return this.serializeSet(e);case 8:return this.serializeMap(e);case 19:return this.serializeArrayBuffer(e);case 16:case 15:return this.serializeTypedArray(e);case 20:return this.serializeDataView(e);case 14:return this.serializeAggregateError(e);case 13:return this.serializeError(e);case 12:return this.serializePromise(e);case 17:return this.serializeWellKnownSymbol(e);case 21:return this.serializeBoxed(e);case 22:return this.serializePromiseConstructor(e);case 23:return this.serializePromiseResolve(e);case 24:return this.serializePromiseReject(e);case 25:return this.serializePlugin(e);case 26:return this.serializeSpecialReference(e);case 27:return this.serializeIteratorFactory(e);case 28:return this.serializeIteratorFactoryInstance(e);case 29:return this.serializeAsyncIteratorFactory(e);case 30:return this.serializeAsyncIteratorFactoryInstance(e);case 31:return this.serializeStreamConstructor(e);case 32:return this.serializeStreamNext(e);case 33:return this.serializeStreamThrow(e);case 34:return this.serializeStreamReturn(e);case 36:return this.serializeAbortSignalAbort(e);case 35:return this.serializeAbortSignalConstructor(e);case 37:return this.serializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new re(r)}}};var D=class extends V{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return X+"["+r+"]"}assignIndexedValue(r,t){return this.getRefParam(r)+"="+t}serializeTop(r){let t=this.serialize(r),n=r.i;if(n==null)return t;let a=this.resolvePatches(),i=this.getRefParam(n),l=this.scopeId==null?"":X,c=a?"("+t+","+a+i+")":t;if(l==="")return r.t===10&&!a?"("+c+")":c;let d=this.scopeId==null?"()":"("+X+'["'+p(this.scopeId)+'"])';return"("+this.createFunction([l],c)+")"+d}};var b=class extends J{parseItems(e){let r=[];for(let t=0,n=e.length;t<n;t++)t in e&&(r[t]=this.parse(e[t]));return r}parseArray(e,r){return Ae(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),t=[],n=[];for(let i=0,l=r.length;i<l;i++)t.push(p(r[i][0])),n.push(this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),this.parse(K(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),this.parse(T())))),a=Symbol.toStringTag,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:t,v:n,s:t.length}}parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,this.parseProperties(r))}parseBoxed(e,r){return xe(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return Ie(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return we(e,r,this.parse(r.buffer))}parseDataView(e,r){return Ee(e,r,this.parse(r.buffer))}parseError(e,r){let t=j(r,this.features);return Re(e,r,t?this.parseProperties(t):s)}parseAggregateError(e,r){let t=j(r,this.features);return Pe(e,r,t?this.parseProperties(t):s)}parseMap(e,r){let t=[],n=[];for(let[a,i]of r.entries())t.push(this.parse(a)),n.push(this.parse(i));return this.createMapNode(e,t,n,r.size)}parseSet(e,r){let t=[];for(let n of r.keys())t.push(this.parse(n));return Ce(e,r.size,t)}parsePlugin(e,r){let t=this.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let i=t[n];if(i.parse.sync&&i.test(r))return _(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return L(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e)}parseAbortSignalSync(e,r){return u(37,e,s,s,s,s,s,s,s,this.parse(r.reason),s,s)}parseAbortSignal(e,r){return r.aborted?this.parseAbortSignalSync(e,r):this.createAbortSignalConstructorNode(e)}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(ke(r))return this.parseStream(e,r);let t=r.constructor;if(t===E)return this.parse(r.replacement);let n=this.parsePlugin(e,r);if(n)return n;switch(t){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return ve(e,r);case RegExp:return be(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return Ne(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(t===Promise||r instanceof Promise)return this.parsePromise(e,r);let a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&t===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&1&&typeof AggregateError!="undefined"&&(t===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!t);throw new S(r)}parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let t=this.parsePlugin(r.value,e);if(t)return t;throw new S(e)}parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return fe;case"string":return w(e);case"number":return he(e);case"bigint":return ye(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return me}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new z(r)}}};var ie=class extends b{constructor(r){super(r);this.alive=!0;this.pending=0;this.initial=!0;this.buffer=[];this.onParseCallback=r.onParse,this.onErrorCallback=r.onError,this.onDoneCallback=r.onDone}onParseInternal(r,t){try{this.onParseCallback(r,t)}catch(n){this.onError(n)}}flush(){for(let r=0,t=this.buffer.length;r<t;r++)this.onParseInternal(this.buffer[r],!1)}onParse(r){this.initial?this.buffer.push(r):this.onParseInternal(r,!1)}onError(r){if(this.onErrorCallback)this.onErrorCallback(r);else throw r}onDone(){this.onDoneCallback&&this.onDoneCallback()}pushPendingState(){this.pending++}popPendingState(){--this.pending<=0&&this.onDone()}parseProperties(r){let t=Object.entries(r),n=[],a=[];for(let l=0,c=t.length;l<c;l++)n.push(p(t[l][0])),a.push(this.parse(t[l][1]));let i=Symbol.iterator;return i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(M(this.parseIteratorFactory(),this.parse(K(r))))),i=Symbol.asyncIterator,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(U(this.parseAsyncIteratorFactory(),this.parse(Fe(r))))),i=Symbol.toStringTag,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(w(r[i]))),i=Symbol.isConcatSpreadable,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(r[i]?x:I)),{k:n,v:a,s:n.length}}parsePromise(r,t){return t.then(n=>{let a=this.parseWithError(n);a&&this.onParse(u(23,r,s,s,s,s,s,s,[this.parseSpecialReference(2),a],s,s,s)),this.popPendingState()},n=>{if(this.alive){let a=this.parseWithError(n);a&&this.onParse(u(24,r,s,s,s,s,s,s,[this.parseSpecialReference(3),a],s,s,s))}this.popPendingState()}),this.pushPendingState(),this.createPromiseConstructorNode(r)}parsePlugin(r,t){let n=this.plugins;if(n)for(let a=0,i=n.length;a<i;a++){let l=n[a];if(l.parse.stream&&l.test(t))return _(r,l.tag,l.parse.stream(t,this,{id:r}))}return s}parseStream(r,t){let n=L(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),t.on({next:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(ze(r,i))}},throw:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Oe(r,i))}this.popPendingState()},return:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Te(r,i))}this.popPendingState()}}),n}handleAbortSignal(r,t){if(this.alive){let n=this.parseWithError(t.reason);n&&this.onParse(u(36,r,s,s,s,s,s,s,[this.parseSpecialReference(6),n],s,s,s))}this.popPendingState()}parseAbortSignal(r,t){return t.aborted?this.parseAbortSignalSync(r,t):(this.pushPendingState(),t.addEventListener("abort",this.handleAbortSignal.bind(this,r,t),{once:!0}),this.createAbortSignalConstructorNode(r))}parseWithError(r){try{return this.parse(r)}catch(t){return this.onError(t),s}}start(r){let t=this.parseWithError(r);t&&(this.onParseInternal(t,!0),this.initial=!1,this.flush(),this.pending<=0&&this.destroy())}destroy(){this.alive&&(this.onDone(),this.alive=!1)}isAlive(){return this.alive}};var $=class extends ie{constructor(){super(...arguments);this.mode="cross"}};var G=class extends b{constructor(){super(...arguments);this.mode="cross"}};function Jr(o,e={}){let r=f(e.plugins),t=new G({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=t.parse(o);return new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(n)}async function Yr(o,e={}){let r=f(e.plugins),t=new Y({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=await t.parse(o);return new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(n)}function $r(o,e={}){let r=f(e.plugins);return new G({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}async function Gr(o,e={}){let r=f(e.plugins);return await new Y({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}function Le(o,e){let r=f(e.plugins),t=new $({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(n,a){let i=new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}),l;try{l=i.serializeTop(n)}catch(c){e.onError&&e.onError(c);return}e.onSerialize(l,a)},onError:e.onError,onDone:e.onDone});return t.start(o),t.destroy.bind(t)}function qr(o,e){let r=f(e.plugins),t=new $({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return t.start(o),t.destroy.bind(t)}function Hr(o,e){let r=f(e.plugins);return new ne({plugins:r,refs:e.refs}).deserialize(o)}var q=class extends k{constructor(){super(...arguments);this.mode="vanilla"}};var le=class extends F{constructor(r){super(r);this.mode="vanilla";this.marked=new Set(r.markedRefs)}assignIndexedValue(r,t){return this.marked.has(r)&&this.refs.set(r,t),t}};var vr="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",hr=vr.length,br="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",yr=br.length;function We(o){let e=o%hr,r=vr[e];for(o=(o-e)/hr;o>0;)e=o%yr,r+=br[e],o=(o-e)/yr;return r}var B=class extends V{constructor(){super(...arguments);this.mode="vanilla";this.valid=new Map;this.vars=[]}getRefParam(r){let t=this.valid.get(r);t==null&&(t=this.valid.size,this.valid.set(r,t));let n=this.vars[t];return n==null&&(n=We(t),this.vars[t]=n),n}assignIndexedValue(r,t){return this.isMarked(r)?this.getRefParam(r)+"="+t:t}serializePromiseConstructor(r){throw new g(r)}serializePromiseResolve(r){throw new g(r)}serializePromiseReject(r){throw new g(r)}serializeAbortSignalAbort(r){throw new g(r)}serializeTop(r){let t=this.serialize(r);if(r.i!=null&&this.vars.length){let n=this.resolvePatches(),a=t;if(n){let i=this.getRefParam(r.i);a=t+","+n+i,t.startsWith(i+"=")||(a=i+"="+a),a="("+a+")"}return"("+this.createFunction(this.vars,a)+")()"}return r.t===10?"("+t+")":t}};var H=class extends b{constructor(){super(...arguments);this.mode="vanilla"}};function Zr(o,e={}){let r=f(e.plugins),t=new H({plugins:r,disabledFeatures:e.disabledFeatures}),n=t.parse(o);return new B({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(n)}async function Xr(o,e={}){let r=f(e.plugins),t=new q({plugins:r,disabledFeatures:e.disabledFeatures}),n=await t.parse(o);return new B({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(n)}function Qr(o){return(0,eval)(o)}function et(o,e={}){let r=f(e.plugins),t=new H({plugins:r,disabledFeatures:e.disabledFeatures});return{t:t.parse(o),f:t.features,m:Array.from(t.marked)}}async function rt(o,e={}){let r=f(e.plugins),t=new q({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await t.parse(o),f:t.features,m:Array.from(t.marked)}}function tt(o,e={}){let r=f(e.plugins);return new B({plugins:r,features:o.f,markedRefs:o.m}).serializeTop(o.t)}function st(o,e={}){let r=f(e.plugins);return new le({plugins:r,markedRefs:o.m}).deserialize(o.t)}var ce=class{constructor(e){this.options=e;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=f(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(Le(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(t,n)=>{this.alive&&this.options.onData(n?this.options.globalIdentifier+'["'+p(e)+'"]='+t:t)},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(e){let r=this.getNextID();return this.write(r,e),r}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 e=0,r=this.cleanups.length;e<r;e++)this.cleanups[e]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};
@@ -185,19 +185,17 @@ function resolvePlugins(plugins) {
185
185
  }
186
186
 
187
187
  // src/core/abort-signal.ts
188
- function abortSignalToPromise(signal) {
189
- return new Promise((resolve) => {
190
- signal.addEventListener(
191
- "abort",
192
- () => {
193
- resolve(signal.reason);
194
- },
195
- {
196
- once: true
197
- }
198
- );
188
+ function resolveAbortSignalResult(resolve) {
189
+ resolve(this.reason);
190
+ }
191
+ function resolveAbortSignal(resolve) {
192
+ this.addEventListener("abort", resolveAbortSignalResult.bind(this, resolve), {
193
+ once: true
199
194
  });
200
195
  }
196
+ function abortSignalToPromise(signal) {
197
+ return new Promise(resolveAbortSignal.bind(signal));
198
+ }
201
199
 
202
200
  // src/core/constants.ts
203
201
  var SYMBOL_STRING = {
@@ -1210,17 +1208,6 @@ var BaseParserContext = class {
1210
1208
  }
1211
1209
  return indexed;
1212
1210
  }
1213
- getStrictReference(current) {
1214
- assert(hasReferenceID(current), new SerovalUnsupportedTypeError(current));
1215
- const result = this.getIndexedValue(current);
1216
- if (result.type === 1 /* Indexed */) {
1217
- return result.value;
1218
- }
1219
- return createReferenceNode(result.value, current);
1220
- }
1221
- parseFunction(current) {
1222
- return this.getStrictReference(current);
1223
- }
1224
1211
  parseWellKnownSymbol(current) {
1225
1212
  const ref = this.getReference(current);
1226
1213
  if (ref.type !== 0 /* Fresh */) {
@@ -1685,6 +1672,17 @@ var BaseAsyncParserContext = class extends BaseParserContext {
1685
1672
  }
1686
1673
  throw new SerovalUnsupportedTypeError(current);
1687
1674
  }
1675
+ async parseFunction(current) {
1676
+ const ref = this.getReference(current);
1677
+ if (ref.type !== 0 /* Fresh */) {
1678
+ return ref.value;
1679
+ }
1680
+ const plugin = await this.parsePlugin(ref.value, current);
1681
+ if (plugin) {
1682
+ return plugin;
1683
+ }
1684
+ throw new SerovalUnsupportedTypeError(current);
1685
+ }
1688
1686
  async parse(current) {
1689
1687
  try {
1690
1688
  switch (typeof current) {
@@ -3246,6 +3244,17 @@ var BaseSyncParserContext = class extends BaseParserContext {
3246
3244
  }
3247
3245
  throw new SerovalUnsupportedTypeError(current);
3248
3246
  }
3247
+ parseFunction(current) {
3248
+ const ref = this.getReference(current);
3249
+ if (ref.type !== 0 /* Fresh */) {
3250
+ return ref.value;
3251
+ }
3252
+ const plugin = this.parsePlugin(ref.value, current);
3253
+ if (plugin) {
3254
+ return plugin;
3255
+ }
3256
+ throw new SerovalUnsupportedTypeError(current);
3257
+ }
3249
3258
  parse(current) {
3250
3259
  try {
3251
3260
  switch (typeof current) {
@@ -3262,14 +3271,15 @@ var BaseSyncParserContext = class extends BaseParserContext {
3262
3271
  case "object": {
3263
3272
  if (current) {
3264
3273
  const ref = this.getReference(current);
3265
- return ref.type === 0 ? this.parseObject(ref.value, current) : ref.value;
3274
+ return ref.type === 0 /* Fresh */ ? this.parseObject(ref.value, current) : ref.value;
3266
3275
  }
3267
3276
  return NULL_NODE;
3268
3277
  }
3269
3278
  case "symbol":
3270
3279
  return this.parseWellKnownSymbol(current);
3271
- case "function":
3280
+ case "function": {
3272
3281
  return this.parseFunction(current);
3282
+ }
3273
3283
  default:
3274
3284
  throw new SerovalUnsupportedTypeError(current);
3275
3285
  }
@@ -3495,6 +3505,33 @@ var BaseStreamParserContext = class extends BaseSyncParserContext {
3495
3505
  });
3496
3506
  return result;
3497
3507
  }
3508
+ handleAbortSignal(id, current) {
3509
+ if (this.alive) {
3510
+ const parsed = this.parseWithError(current.reason);
3511
+ if (parsed) {
3512
+ this.onParse(
3513
+ createSerovalNode(
3514
+ 36 /* AbortSignalAbort */,
3515
+ id,
3516
+ NIL,
3517
+ NIL,
3518
+ NIL,
3519
+ NIL,
3520
+ NIL,
3521
+ NIL,
3522
+ [
3523
+ this.parseSpecialReference(6 /* AbortSignalAbort */),
3524
+ parsed
3525
+ ],
3526
+ NIL,
3527
+ NIL,
3528
+ NIL
3529
+ )
3530
+ );
3531
+ }
3532
+ }
3533
+ this.popPendingState();
3534
+ }
3498
3535
  parseAbortSignal(id, current) {
3499
3536
  if (current.aborted) {
3500
3537
  return this.parseAbortSignalSync(id, current);
@@ -3502,33 +3539,7 @@ var BaseStreamParserContext = class extends BaseSyncParserContext {
3502
3539
  this.pushPendingState();
3503
3540
  current.addEventListener(
3504
3541
  "abort",
3505
- () => {
3506
- if (this.alive) {
3507
- const parsed = this.parseWithError(current.reason);
3508
- if (parsed) {
3509
- this.onParse(
3510
- createSerovalNode(
3511
- 36 /* AbortSignalAbort */,
3512
- id,
3513
- NIL,
3514
- NIL,
3515
- NIL,
3516
- NIL,
3517
- NIL,
3518
- NIL,
3519
- [
3520
- this.parseSpecialReference(6 /* AbortSignalAbort */),
3521
- parsed
3522
- ],
3523
- NIL,
3524
- NIL,
3525
- NIL
3526
- )
3527
- );
3528
- }
3529
- }
3530
- this.popPendingState();
3531
- },
3542
+ this.handleAbortSignal.bind(this, id, current),
3532
3543
  { once: true }
3533
3544
  );
3534
3545
  return this.createAbortSignalConstructorNode(id);
@@ -3664,9 +3675,7 @@ function crossSerializeStream(source, options) {
3664
3675
  onDone: options.onDone
3665
3676
  });
3666
3677
  ctx.start(source);
3667
- return () => {
3668
- ctx.destroy();
3669
- };
3678
+ return ctx.destroy.bind(ctx);
3670
3679
  }
3671
3680
  function toCrossJSONStream(source, options) {
3672
3681
  const plugins = resolvePlugins(options.plugins);
@@ -3679,9 +3688,7 @@ function toCrossJSONStream(source, options) {
3679
3688
  onDone: options.onDone
3680
3689
  });
3681
3690
  ctx.start(source);
3682
- return () => {
3683
- ctx.destroy();
3684
- };
3691
+ return ctx.destroy.bind(ctx);
3685
3692
  }
3686
3693
  function fromCrossJSON(source, options) {
3687
3694
  const plugins = resolvePlugins(options.plugins);