diff --git a/index.html b/index.html
index 5828913..e5537c7 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-
SPEX
\ No newline at end of file
+SPEX
\ No newline at end of file
diff --git a/js/137.9a4594a6.js b/js/137.9a4594a6.js
deleted file mode 100644
index 6ca15b1..0000000
--- a/js/137.9a4594a6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[137],{8137:function(t,n,e){const r=e(91135),o=e(95883);class s extends o{constructor(){super(r)}}t.exports=s},91135:function(t,n,e){const r=e(28701).quadToNTriples,o=e(96650);class s extends o{constructor(t){super(t,{map:t=>r(t)+"\n"})}}t.exports=s},95883:function(t){class n{constructor(t,n){this.Impl=t,this.options=n}import(t,n){const e=new this.Impl(t,Object.assign({},this.options,n));return t.on("end",(()=>{e.readable||e.emit("end")})),t.on("error",(t=>{e.emit("error",t)})),e}}t.exports=n},28701:function(t,n,e){const r=e(70516),o=e(8257);t.exports={quadToNTriples:r,termToNTriples:o}},73891:function(t){function n(t){return"_:"+t.value}t.exports=n},3497:function(t){function n(t){return""}t.exports=n},47153:function(t,n,e){const r=e(18367),o=new RegExp('["\\\\\n\r]'),s=new RegExp('["\\\\\n\r]',"g"),u={'"':'\\"',"\\":"\\\\","\n":"\\n","\r":"\\r"};function c(t){return u[t]}function a(t){return o.test(t)?t.replace(s,c):t}function i(t){const n=a(t.value);return"http://www.w3.org/2001/XMLSchema#string"===t.datatype.value?'"'+n+'"':"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"===t.datatype.value?'"'+n+'"@'+t.language:'"'+n+'"^^'+r(t.datatype)}t.exports=i},18367:function(t){function n(t){return"<"+t.value+">"}t.exports=n},70516:function(t,n,e){const r=e(8257);function o(t){const n=r(t.subject),e=r(t.predicate),o=r(t.object),s=r(t.graph);return`${n} ${e} ${o} ${s?s+" ":""}.`}t.exports=o},8257:function(t,n,e){const r=e(73891),o=e(3497),s=e(47153),u=e(18367),c=e(48935);function a(t){switch(t.termType){case"BlankNode":return r(t);case"DefaultGraph":return o(t);case"Literal":return s(t);case"NamedNode":return u(t);case"Variable":return c(t);default:return}}t.exports=a},48935:function(t){function n(t){return"?"+t.value}t.exports=n}}]);
-//# sourceMappingURL=137.9a4594a6.js.map
\ No newline at end of file
diff --git a/js/137.9a4594a6.js.map b/js/137.9a4594a6.js.map
deleted file mode 100644
index e42c190..0000000
--- a/js/137.9a4594a6.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/137.9a4594a6.js","mappings":"0GAAA,MAAMA,EAAmB,EAAQ,OAC3BC,EAAO,EAAQ,OAErB,MAAMC,UAAmBD,EACvBE,cACEC,MAAMJ,EACR,EAGFK,EAAOC,QAAUJ,C,wBCTjB,MAAMK,EAAiB,wBACjBC,EAAqB,EAAQ,OAEnC,MAAMR,UAAyBQ,EAC7BL,YAAaM,GACXL,MAAMK,EAAO,CACXC,IAAKC,GAAQJ,EAAeI,GAAQ,MAExC,EAGFN,EAAOC,QAAUN,C,oBCXjB,MAAMC,EACJE,YAAaS,EAAMC,GACjBC,KAAKF,KAAOA,EACZE,KAAKD,QAAUA,CACjB,CAEAE,OAAQN,EAAOI,GACb,MAAMG,EAAS,IAAIF,KAAKF,KAAKH,EAAOQ,OAAOC,OAAO,CAAC,EAAGJ,KAAKD,QAASA,IAYpE,OAVAJ,EAAMU,GAAG,OAAO,KACTH,EAAOI,UACVJ,EAAOK,KAAK,MACd,IAGFZ,EAAMU,GAAG,SAAUG,IACjBN,EAAOK,KAAK,QAASC,EAAG,IAGnBN,CACT,EAGFX,EAAOC,QAAUL,C,wBCvBjB,MAAMU,EAAO,EAAQ,OACfY,EAAO,EAAQ,MAErBlB,EAAOC,QAAU,CACfC,eAAgBI,EAChBa,eAAgBD,E,oBCLlB,SAASE,EAAWA,GAClB,MAAO,KAAOA,EAAUC,KAC1B,CAEArB,EAAOC,QAAUmB,C,mBCJjB,SAASE,EAAcA,GACrB,MAAO,EACT,CAEAtB,EAAOC,QAAUqB,C,wBCJjB,MAAMC,EAAY,EAAQ,OAEpBC,EAAa,IAAIC,OAAO,eACxBC,EAAgB,IAAID,OAAO,cAAe,KAE1CE,EAAmB,CACvB,IAAK,MACL,KAAM,OACN,KAAM,MACN,KAAM,OAGR,SAASC,EAAeC,GACtB,OAAOF,EAAiBE,EAC1B,CAEA,SAASC,EAAaT,GACpB,OAAIG,EAAWO,KAAKV,GACXA,EAAMW,QAAQN,EAAeE,GAG/BP,CACT,CAEA,SAASY,EAASA,GAChB,MAAMC,EAAeJ,EAAYG,EAAQZ,OAEzC,MAA+B,4CAA3BY,EAAQE,SAASd,MACZ,IAAMa,EAAe,IAGC,0DAA3BD,EAAQE,SAASd,MACZ,IAAMa,EAAe,KAAOD,EAAQG,SAGtC,IAAMF,EAAe,MAAQX,EAAUU,EAAQE,SACxD,CAEAnC,EAAOC,QAAUgC,C,oBCtCjB,SAASV,EAAWA,GAClB,MAAO,IAAMA,EAAUF,MAAQ,GACjC,CAEArB,EAAOC,QAAUsB,C,wBCJjB,MAAML,EAAO,EAAQ,MAErB,SAASZ,EAAMA,GACb,MAAM+B,EAAgBnB,EAAKZ,EAAKgC,SAC1BC,EAAkBrB,EAAKZ,EAAKkC,WAC5BC,EAAevB,EAAKZ,EAAKoC,QACzBC,EAAczB,EAAKZ,EAAKsC,OAE9B,MAAO,GAAGP,KAAiBE,KAAmBE,KAAgBE,EAAcA,EAAc,IAAM,KAClG,CAEA3C,EAAOC,QAAUK,C,uBCXjB,MAAMc,EAAY,EAAQ,OACpBE,EAAe,EAAQ,MACvBW,EAAU,EAAQ,OAClBV,EAAY,EAAQ,OACpBsB,EAAW,EAAQ,OAEzB,SAAS3B,EAAMA,GACb,OAAQA,EAAK4B,UACX,IAAK,YACH,OAAO1B,EAAUF,GACnB,IAAK,eACH,OAAOI,EAAaJ,GACtB,IAAK,UACH,OAAOe,EAAQf,GACjB,IAAK,YACH,OAAOK,EAAUL,GACnB,IAAK,WACH,OAAO2B,EAAS3B,GAClB,QACE,OAEN,CAEAlB,EAAOC,QAAUiB,C,oBCvBjB,SAAS2B,EAAUA,GACjB,MAAO,IAAMA,EAASxB,KACxB,CAEArB,EAAOC,QAAU4C,C","sources":["webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-ntriples/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-ntriples/lib/SerializerStream.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/sink/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/blankNode.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/defaultGraph.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/literal.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/namedNode.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/quad.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/term.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/to-ntriples/lib/variable.js"],"sourcesContent":["const SerializerStream = require('./lib/SerializerStream')\nconst Sink = require('@rdfjs/sink')\n\nclass Serializer extends Sink {\n constructor () {\n super(SerializerStream)\n }\n}\n\nmodule.exports = Serializer\n","const quadToNTriples = require('@rdfjs/to-ntriples').quadToNTriples\nconst ReadableToReadable = require('readable-to-readable')\n\nclass SerializerStream extends ReadableToReadable {\n constructor (input) {\n super(input, {\n map: quad => quadToNTriples(quad) + '\\n'\n })\n }\n}\n\nmodule.exports = SerializerStream\n","class Sink {\n constructor (Impl, options) {\n this.Impl = Impl\n this.options = options\n }\n\n import (input, options) {\n const output = new this.Impl(input, Object.assign({}, this.options, options))\n\n input.on('end', () => {\n if (!output.readable) {\n output.emit('end')\n }\n })\n\n input.on('error', (err) => {\n output.emit('error', err)\n })\n\n return output\n }\n}\n\nmodule.exports = Sink\n","const quad = require('./lib/quad')\nconst term = require('./lib/term')\n\nmodule.exports = {\n quadToNTriples: quad,\n termToNTriples: term\n}\n","function blankNode (blankNode) {\n return '_:' + blankNode.value // TODO: escape special chars\n}\n\nmodule.exports = blankNode\n","function defaultGraph (defaultGraph) {\n return ''\n}\n\nmodule.exports = defaultGraph\n","const namedNode = require('./namedNode')\n\nconst echarRegEx = new RegExp('[\"\\\\\\\\\\n\\r]') // eslint-disable-line no-control-regex\nconst echarRegExAll = new RegExp('[\"\\\\\\\\\\n\\r]', 'g') // eslint-disable-line no-control-regex\n\nconst echarReplacement = {\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\',\n '\\n': '\\\\n',\n '\\r': '\\\\r'\n}\n\nfunction echarReplacer (char) {\n return echarReplacement[char]\n}\n\nfunction escapeValue (value) {\n if (echarRegEx.test(value)) {\n return value.replace(echarRegExAll, echarReplacer)\n }\n\n return value\n}\n\nfunction literal (literal) {\n const escapedValue = escapeValue(literal.value)\n\n if (literal.datatype.value === 'http://www.w3.org/2001/XMLSchema#string') {\n return '\"' + escapedValue + '\"'\n }\n\n if (literal.datatype.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString') {\n return '\"' + escapedValue + '\"@' + literal.language\n }\n\n return '\"' + escapedValue + '\"^^' + namedNode(literal.datatype)\n}\n\nmodule.exports = literal\n","function namedNode (namedNode) {\n return '<' + namedNode.value + '>' // TODO: escape special chars\n}\n\nmodule.exports = namedNode\n","const term = require('./term')\n\nfunction quad (quad) {\n const subjectString = term(quad.subject)\n const predicateString = term(quad.predicate)\n const objectString = term(quad.object)\n const graphString = term(quad.graph)\n\n return `${subjectString} ${predicateString} ${objectString} ${graphString ? graphString + ' ' : ''}.`\n}\n\nmodule.exports = quad\n","const blankNode = require('./blankNode')\nconst defaultGraph = require('./defaultGraph')\nconst literal = require('./literal')\nconst namedNode = require('./namedNode')\nconst variable = require('./variable')\n\nfunction term (term) {\n switch (term.termType) {\n case 'BlankNode':\n return blankNode(term)\n case 'DefaultGraph':\n return defaultGraph(term)\n case 'Literal':\n return literal(term)\n case 'NamedNode':\n return namedNode(term)\n case 'Variable':\n return variable(term)\n default:\n return undefined\n }\n}\n\nmodule.exports = term\n","function variable (variable) {\n return '?' + variable.value // TODO: escape special chars\n}\n\nmodule.exports = variable\n"],"names":["SerializerStream","Sink","Serializer","constructor","super","module","exports","quadToNTriples","ReadableToReadable","input","map","quad","Impl","options","this","import","output","Object","assign","on","readable","emit","err","term","termToNTriples","blankNode","value","defaultGraph","namedNode","echarRegEx","RegExp","echarRegExAll","echarReplacement","echarReplacer","char","escapeValue","test","replace","literal","escapedValue","datatype","language","subjectString","subject","predicateString","predicate","objectString","object","graphString","graph","variable","termType"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/149.a223df4e.js b/js/149.a223df4e.js
deleted file mode 100644
index 8bcbae3..0000000
--- a/js/149.a223df4e.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[149],{28149:function(e,t,s){const r=s(47078),a=s(95883);class n extends a{constructor(e){super(r,e)}}e.exports=n},23968:function(e){class t{constructor(e){this.stream=e,this.array=[]}push(e){this.array.push(e)}end(){this.stream.push(this.array),this.stream.push(null)}}e.exports=t},47078:function(e,t,s){const r=s(88473),a=s(23968),n=s(1577);class o extends r{constructor(e,{encoding:t="object"}={}){if(super({objectMode:!0,read:()=>{}}),"object"===t&&(this.encoder=new a(this)),"string"===t&&(this.encoder=new n(this)),!this.encoder)throw new Error(`unknown encoding: ${t}`);e.on("data",(e=>{const t={};let s=t;"DefaultGraph"!==e.graph.termType&&(t["@id"]=e.graph.value,t["@graph"]={},s=t["@graph"]),s["@id"]=o.subjectValue(e.subject),"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"===e.predicate.value?s["@type"]=o.subjectValue(e.object):s[e.predicate.value]=o.objectValue(e.object),this.encoder.push(t)})),e.on("end",(()=>this.encoder.end())),e.on("error",(e=>this.emit("error",e)))}static subjectValue(e){return"BlankNode"===e.termType?"_:"+e.value:e.value}static objectValue(e){return"NamedNode"===e.termType?{"@id":e.value}:"BlankNode"===e.termType?{"@id":"_:"+e.value}:e.language?{"@language":e.language,"@value":e.value}:e.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==e.datatype.value?{"@type":e.datatype.value,"@value":e.value}:e.value}}e.exports=o},1577:function(e){class t{constructor(e){this.stream=e,this.first=!0,this.stream.push("[")}push(e){this.first?this.first=!1:this.stream.push(","),this.stream.push(JSON.stringify(e))}end(){this.stream.push("]"),this.stream.push(null)}}e.exports=t},95883:function(e){class t{constructor(e,t){this.Impl=e,this.options=t}import(e,t){const s=new this.Impl(e,Object.assign({},this.options,t));return e.on("end",(()=>{s.readable||s.emit("end")})),e.on("error",(e=>{s.emit("error",e)})),s}}e.exports=t}}]);
-//# sourceMappingURL=149.a223df4e.js.map
\ No newline at end of file
diff --git a/js/149.a223df4e.js.map b/js/149.a223df4e.js.map
deleted file mode 100644
index 4afa78c..0000000
--- a/js/149.a223df4e.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/149.a223df4e.js","mappings":"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","sources":["webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-jsonld/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-jsonld/lib/ObjectEncoder.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-jsonld/lib/SerializerStream.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/serializer-jsonld/lib/StringEncoder.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/sink/index.js"],"sourcesContent":["const SerializerStream = require('./lib/SerializerStream')\nconst Sink = require('@rdfjs/sink')\n\nclass Serializer extends Sink {\n constructor (options) {\n super(SerializerStream, options)\n }\n}\n\nmodule.exports = Serializer\n","class ObjectEncoder {\n constructor (stream) {\n this.stream = stream\n this.array = []\n }\n\n push (jsonld) {\n this.array.push(jsonld)\n }\n\n end () {\n this.stream.push(this.array)\n this.stream.push(null)\n }\n}\n\nmodule.exports = ObjectEncoder\n","const Readable = require('readable-stream')\nconst ObjectEncoder = require('./ObjectEncoder')\nconst StringEncoder = require('./StringEncoder')\n\nclass SerializerStream extends Readable {\n constructor (input, { encoding = 'object' } = {}) {\n super({\n objectMode: true,\n read: () => {}\n })\n\n if (encoding === 'object') {\n this.encoder = new ObjectEncoder(this)\n }\n\n if (encoding === 'string') {\n this.encoder = new StringEncoder(this)\n }\n\n if (!this.encoder) {\n throw new Error(`unknown encoding: ${encoding}`)\n }\n\n input.on('data', quad => {\n const jsonld = {}\n let triple = jsonld\n\n if (quad.graph.termType !== 'DefaultGraph') {\n jsonld['@id'] = quad.graph.value\n jsonld['@graph'] = {}\n triple = jsonld['@graph']\n }\n\n triple['@id'] = SerializerStream.subjectValue(quad.subject)\n\n if (quad.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {\n triple['@type'] = SerializerStream.subjectValue(quad.object)\n } else {\n triple[quad.predicate.value] = SerializerStream.objectValue(quad.object)\n }\n\n this.encoder.push(jsonld)\n })\n\n input.on('end', () => this.encoder.end())\n\n input.on('error', err => this.emit('error', err))\n }\n\n static subjectValue (subject) {\n return subject.termType === 'BlankNode' ? '_:' + subject.value : subject.value\n }\n\n static objectValue (object) {\n if (object.termType === 'NamedNode') {\n return { '@id': object.value }\n }\n\n if (object.termType === 'BlankNode') {\n return { '@id': '_:' + object.value }\n }\n\n if (object.language) {\n return { '@language': object.language, '@value': object.value }\n } else if (object.datatype && object.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string') {\n return { '@type': object.datatype.value, '@value': object.value }\n } else {\n return object.value\n }\n }\n}\n\nmodule.exports = SerializerStream\n","class StringEncoder {\n constructor (stream) {\n this.stream = stream\n this.first = true\n\n this.stream.push('[')\n }\n\n push (jsonld) {\n if (this.first) {\n this.first = false\n } else {\n this.stream.push(',')\n }\n\n this.stream.push(JSON.stringify(jsonld))\n }\n\n end () {\n this.stream.push(']')\n this.stream.push(null)\n }\n}\n\nmodule.exports = StringEncoder\n","class Sink {\n constructor (Impl, options) {\n this.Impl = Impl\n this.options = options\n }\n\n import (input, options) {\n const output = new this.Impl(input, Object.assign({}, this.options, options))\n\n input.on('end', () => {\n if (!output.readable) {\n output.emit('end')\n }\n })\n\n input.on('error', (err) => {\n output.emit('error', err)\n })\n\n return output\n }\n}\n\nmodule.exports = Sink\n"],"names":["SerializerStream","Sink","Serializer","constructor","options","super","module","exports","ObjectEncoder","stream","this","array","push","jsonld","end","Readable","StringEncoder","input","encoding","objectMode","read","encoder","Error","on","quad","triple","graph","termType","value","subjectValue","subject","predicate","object","objectValue","err","emit","static","language","datatype","first","JSON","stringify","Impl","import","output","Object","assign","readable"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/246.d6c4ddc5.js b/js/246.d6c4ddc5.js
deleted file mode 100644
index 9e884f0..0000000
--- a/js/246.d6c4ddc5.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[246],{84905:function(t,e,n){const r=n(13767);t.exports=r},77762:function(t){class e{constructor(t){this.value=t||"b"+ ++e.nextId}equals(t){return!!t&&t.termType===this.termType&&t.value===this.value}}e.prototype.termType="BlankNode",e.nextId=0,t.exports=e},13767:function(t,e,n){const r=n(77762),a=n(59060),i=n(95170),s=n(44591),o=n(12591),l=n(73669),d=n(58987);function c(t){return new o(t)}function u(t){return new r(t)}function h(t,e){return"string"===typeof e?-1===e.indexOf(":")?new s(t,e):new s(t,null,x.namedNode(e)):new s(t,null,e)}function p(t){return new d(t)}function f(){return x.defaultGraphInstance}function g(t,e,n){return x.quad(t,e,n)}function y(t,e,n,r){return new l(t,e,n,r||x.defaultGraphInstance)}function C(t){return i.call(x,t)}function w(t){return i.call(x,t)}const x={namedNode:c,blankNode:u,literal:h,variable:p,defaultGraph:f,triple:g,quad:y,fromTerm:C,fromQuad:w,defaultGraphInstance:new a};t.exports=x},59060:function(t){class e{equals(t){return!!t&&t.termType===this.termType}}e.prototype.termType="DefaultGraph",e.prototype.value="",t.exports=e},44591:function(t,e,n){const r=n(12591);class a{constructor(t,e,n){this.value=t,this.datatype=a.stringDatatype,this.language="",e?(this.language=e,this.datatype=a.langStringDatatype):n&&(this.datatype=n)}equals(t){return!!t&&t.termType===this.termType&&t.value===this.value&&t.language===this.language&&t.datatype.equals(this.datatype)}}a.prototype.termType="Literal",a.langStringDatatype=new r("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),a.stringDatatype=new r("http://www.w3.org/2001/XMLSchema#string"),t.exports=a},12591:function(t){class e{constructor(t){this.value=t}equals(t){return!!t&&t.termType===this.termType&&t.value===this.value}}e.prototype.termType="NamedNode",t.exports=e},73669:function(t,e,n){const r=n(59060);class a{constructor(t,e,n,a){this.subject=t,this.predicate=e,this.object=n,this.graph=a||new r}equals(t){return!!t&&("Quad"===t.termType||!t.termType)&&t.subject.equals(this.subject)&&t.predicate.equals(this.predicate)&&t.object.equals(this.object)&&t.graph.equals(this.graph)}}a.prototype.termType="Quad",a.prototype.value="",t.exports=a},58987:function(t){class e{constructor(t){this.value=t}equals(t){return!!t&&t.termType===this.termType&&t.value===this.value}}e.prototype.termType="Variable",t.exports=e},95170:function(t){function e(t){if(!t)return null;if("BlankNode"===t.termType)return this.blankNode(t.value);if("DefaultGraph"===t.termType)return this.defaultGraph();if("Literal"===t.termType)return this.literal(t.value,t.language||this.namedNode(t.datatype.value));if("NamedNode"===t.termType)return this.namedNode(t.value);if("Quad"===t.termType){const e=this.fromTerm(t.subject),n=this.fromTerm(t.predicate),r=this.fromTerm(t.object),a=this.fromTerm(t.graph);return this.quad(e,n,r,a)}if("Variable"===t.termType)return this.variable(t.value);throw new Error(`unknown termType ${t.termType}`)}t.exports=e},94246:function(t,e,n){const r=n(95883),a=n(63589);class i extends r{constructor(t){super(a,t)}}t.exports=i},63589:function(t,e,n){const r=n(84905),{JsonLdParser:a}=n(30649),{Transform:i}=n(88473),s="null:";function o(t){return e=>"NamedNode"!==e.termType?null:e.value.startsWith(s)?t.namedNode(e.value.slice(s.length)):null}function l(t){const e=o(t);return n=>{const r=e(n.subject),a=e(n.predicate),i=e(n.object),s=e(n.graph);return r||a||i||s?t.quad(r||n.subject,a||n.predicate,i||n.object,s||n.graph):n}}class d{constructor(t,{baseIRI:e=s,context:n=null,factory:o=r}={}){const d=new a({baseIRI:e,context:n,dataFactory:o,streamingProfile:!1});t.pipe(d);const c=l(o),u=new i({objectMode:!0,transform:(t,e,n)=>{n(null,c(t))}});return d.on("context",(t=>{Object.entries(t).forEach((([t,e])=>{u.emit("prefix",t,o.namedNode(e))}))})),d.on("error",(t=>u.destroy(t))),d.pipe(u),u}}t.exports=d},95883:function(t){class e{constructor(t,e){this.Impl=t,this.options=e}import(t,e){const n=new this.Impl(t,Object.assign({},this.options,e));return t.on("end",(()=>{n.readable||n.emit("end")})),t.on("error",(t=>{n.emit("error",t)})),n}}t.exports=e},30649:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),a=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),a(n(99333),e)},31434:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContextTree=void 0;class n{constructor(){this.subTrees={}}getContext(t){if(t.length>0){const[e,...n]=t,r=this.subTrees[e];if(r){const t=r.getContext(n);if(t)return t.then((({context:t,depth:e})=>({context:t,depth:e+1})))}}return this.context?this.context.then((t=>({context:t,depth:0}))):null}setContext(t,e){if(0===t.length)this.context=e;else{const[r,...a]=t;let i=this.subTrees[r];i||(i=this.subTrees[r]=new n),i.setContext(a,e)}}removeContext(t){this.setContext(t,null)}}e.ContextTree=n},99333:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.JsonLdParser=void 0;const r=n(2222),a=n(11288),i=n(42830),s=n(27765),o=n(52780),l=n(52234),d=n(37930),c=n(70983),u=n(42397),h=n(96700),p=n(26664),f=n(84149),g=n(46100),y=n(65457),C=n(18896),w=n(82962),x=n(44360),E=n(12475);class m extends i.Transform{constructor(t){super({readableObjectMode:!0}),t=t||{},this.options=t,this.parsingContext=new w.ParsingContext(Object.assign({parser:this},t)),this.util=new x.Util({dataFactory:t.dataFactory,parsingContext:this.parsingContext}),this.jsonParser=new r,this.contextJobs=[],this.typeJobs=[],this.contextAwaitingJobs=[],this.lastDepth=0,this.lastKeys=[],this.lastOnValueJob=Promise.resolve(),this.attachJsonParserListeners(),this.on("end",(()=>{"undefined"!==typeof this.jsonParser.mode&&this.emit("error",new Error("Unclosed document"))}))}static fromHttpResponse(t,e,n,r){let i,s;if("application/ld+json"!==e){if("application/json"!==e&&!e.endsWith("+json"))throw new a.ErrorCoded(`Unsupported JSON-LD media type ${e}`,a.ERROR_CODES.LOADING_DOCUMENT_FAILED);if(n&&n.has("Link")&&n.forEach(((e,n)=>{if("link"===n){const n=E.parse(e);for(const e of n.get("rel","http://www.w3.org/ns/json-ld#context")){if(i)throw new a.ErrorCoded("Multiple JSON-LD context link headers were found on "+t,a.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);i=e.uri}}})),!i&&!(null===r||void 0===r?void 0:r.ignoreMissingContextLinkHeader))throw new a.ErrorCoded(`Missing context link header for media type ${e} on ${t}`,a.ERROR_CODES.LOADING_DOCUMENT_FAILED)}if(n&&n.has("Content-Type")){const t=n.get("Content-Type"),e=/; *profile=([^"]*)/.exec(t);e&&"http://www.w3.org/ns/json-ld#streaming"===e[1]&&(s=!0)}return new m(Object.assign({baseIRI:t,context:i,streamingProfile:s},r||{}))}import(t){const e=new i.PassThrough({readableObjectMode:!0});t.on("error",(t=>n.emit("error",t))),t.on("data",(t=>e.push(t))),t.on("end",(()=>e.push(null)));const n=e.pipe(new m(this.options));return n}_transform(t,e,n){this.jsonParser.write(t),this.lastOnValueJob.then((()=>n()),(t=>n(t)))}async newOnValueJob(t,e,n,r){let i=!0;if(r&&n1&&(c=this.parsingContext.validationStack[this.parsingContext.validationStack.length-1].property);for(let a=Math.max(1,this.parsingContext.validationStack.length-1);a=0?this.parsingContext.idStack[t-n-1]:[await this.util.getGraphContainerValue(e,t)];if(i)for(const e of i){this.parsingContext.emittedStack[t]=!0;for(const n of r)n.reverse?this.parsingContext.emitQuad(t,this.util.dataFactory.quad(n.object,n.predicate,a,e)):this.parsingContext.emitQuad(t,this.util.dataFactory.quad(a,n.predicate,n.object,e))}else{const n=this.parsingContext.getUnidentifiedGraphBufferSafe(t-await this.util.getDepthOffsetGraph(t,e)-1);for(const t of r)t.reverse?n.push({object:a,predicate:t.predicate,subject:t.object}):n.push({object:t.object,predicate:t.predicate,subject:a})}}this.parsingContext.unidentifiedValuesBuffer.splice(t,1),this.parsingContext.literalStack.splice(t,1),this.parsingContext.jsonLiteralStack.splice(t,1)}const a=this.parsingContext.unidentifiedGraphsBuffer[t];if(a){for(const e of n){const n=1!==t||"BlankNode"!==e.termType||this.parsingContext.topLevelProperties?e:this.util.getDefaultGraph();this.parsingContext.emittedStack[t]=!0;for(const e of a)this.parsingContext.emitQuad(t,this.util.dataFactory.quad(e.subject,e.predicate,e.object,n))}this.parsingContext.unidentifiedGraphsBuffer.splice(t,1)}}async validateKey(t,e,n){for(const r of m.ENTRY_HANDLERS)if(await r.validate(this.parsingContext,this.util,t,e,n))return{valid:!0,property:n||r.isPropertyHandler()};return{valid:!1,property:!1}}attachJsonParserListeners(){this.jsonParser.onValue=t=>{const e=this.jsonParser.stack.length,n=new Array(e+1).fill(0).map(((t,n)=>n===e?this.jsonParser.key:this.jsonParser.stack[n].key));if(!this.isParsingContextInner(e)){const r=()=>this.newOnValueJob(n,t,e,!0);if(this.parsingContext.streamingProfile||this.parsingContext.contextTree.getContext(n.slice(0,-1)))this.lastOnValueJob=this.lastOnValueJob.then(r);else if("@context"===n[e]){let t=this.contextJobs[e];t||(t=this.contextJobs[e]=[]),t.push(r)}else"@type"===n[e]||"number"===typeof n[e]&&"@type"===n[e-1]?this.typeJobs.push({job:r,keys:n.slice(0,n.length-1)}):this.contextAwaitingJobs.push({job:r,keys:n});this.parsingContext.streamingProfile||0!==e||(this.lastOnValueJob=this.lastOnValueJob.then((()=>this.executeBufferedJobs())))}},this.jsonParser.onError=t=>{this.emit("error",t)}}isParsingContextInner(t){for(let e=t;e>0;e--)if("@context"===this.jsonParser.stack[e-1].key)return!0;return!1}async executeBufferedJobs(){for(const t of this.contextJobs)if(t)for(const e of t)await e();this.parsingContext.unaliasedKeywordCacheStack.splice(0);for(const t of this.contextAwaitingJobs){if(this.typeJobs.length>0){const e=[],n=[];for(let i=0;it.keys.length-e.keys.length));for(const t of r)await t.job();const a=n.sort().reverse();for(const t of a)this.typeJobs.splice(t,1)}await t.job()}}}e.JsonLdParser=m,m.DEFAULT_PROCESSING_MODE="1.1",m.ENTRY_HANDLERS=[new s.EntryHandlerArrayValue,new c.EntryHandlerKeywordContext,new h.EntryHandlerKeywordId,new p.EntryHandlerKeywordIncluded,new u.EntryHandlerKeywordGraph,new f.EntryHandlerKeywordNest,new g.EntryHandlerKeywordType,new C.EntryHandlerKeywordValue,new o.EntryHandlerContainer,new y.EntryHandlerKeywordUnknownFallback,new d.EntryHandlerPredicate,new l.EntryHandlerInvalidFallback]},82962:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ParsingContext=void 0;const r=n(11288),a=n(87011),i=n(31434),s=n(99333);class o{constructor(t){this.contextParser=new r.ContextParser({documentLoader:t.documentLoader,skipValidation:t.skipContextValidation}),this.streamingProfile=!!t.streamingProfile,this.baseIRI=t.baseIRI,this.produceGeneralizedRdf=!!t.produceGeneralizedRdf,this.allowSubjectList=!!t.allowSubjectList,this.processingMode=t.processingMode||s.JsonLdParser.DEFAULT_PROCESSING_MODE,this.strictValues=!!t.strictValues,this.validateValueIndexes=!!t.validateValueIndexes,this.defaultGraph=t.defaultGraph,this.rdfDirection=t.rdfDirection,this.normalizeLanguageTags=t.normalizeLanguageTags,this.streamingProfileAllowOutOfOrderPlainType=t.streamingProfileAllowOutOfOrderPlainType,this.topLevelProperties=!1,this.activeProcessingMode=parseFloat(this.processingMode),this.processingStack=[],this.processingType=[],this.emittedStack=[],this.idStack=[],this.graphStack=[],this.graphContainerTermStack=[],this.listPointerStack=[],this.contextTree=new i.ContextTree,this.literalStack=[],this.validationStack=[],this.unaliasedKeywordCacheStack=[],this.jsonLiteralStack=[],this.unidentifiedValuesBuffer=[],this.unidentifiedGraphsBuffer=[],this.pendingContainerFlushBuffers=[],this.parser=t.parser,t.context?(this.rootContext=this.parseContext(t.context),this.rootContext.then((t=>this.validateContext(t)))):this.rootContext=Promise.resolve(new r.JsonLdContextNormalized(this.baseIRI?{"@base":this.baseIRI,"@__baseDocument":!0}:{}))}async parseContext(t,e,n){return this.contextParser.parse(t,{baseIRI:this.baseIRI,ignoreProtection:n,normalizeLanguageTags:this.normalizeLanguageTags,parentContext:e,processingMode:this.activeProcessingMode})}validateContext(t){const e=t.getContextRaw()["@version"];if(e){if(this.activeProcessingMode&&e>this.activeProcessingMode)throw new a.ErrorCoded(`Unsupported JSON-LD version '${e}' under active processing mode ${this.activeProcessingMode}.`,a.ERROR_CODES.PROCESSING_MODE_CONFLICT);if(this.activeProcessingMode&&e0&&!1===a.context.getContextRaw()["@propagate"]&&a.depth!==e&&!n);return 0===a.depth&&!1===a.context.getContextRaw()["@propagate"]&&a.depth!==e&&(a.context=new r.JsonLdContextNormalized({})),a}async newOnValueJob(t,e,n,r){await this.parser.newOnValueJob(t,e,n,r)}async handlePendingContainerFlushBuffers(){if(this.pendingContainerFlushBuffers.length>0){for(const t of this.pendingContainerFlushBuffers)await this.parser.flushBuffer(t.depth,t.keys),this.parser.flushStacks(t.depth);return this.pendingContainerFlushBuffers.splice(0,this.pendingContainerFlushBuffers.length),!0}return!1}emitQuad(t,e){1===t&&(this.topLevelProperties=!0),this.parser.push(e)}emitError(t){this.parser.emit("error",t)}emitContext(t){this.parser.emit("context",t)}getUnidentifiedValueBufferSafe(t){let e=this.unidentifiedValuesBuffer[t];return e||(e=[],this.unidentifiedValuesBuffer[t]=e),e}getUnidentifiedGraphBufferSafe(t){let e=this.unidentifiedGraphsBuffer[t];return e||(e=[],this.unidentifiedGraphsBuffer[t]=e),e}getExpandOptions(){return o.EXPAND_OPTIONS[this.activeProcessingMode]}shiftStack(t,e){const n=this.idStack[t+e];if(n&&(this.idStack[t]=n,this.emittedStack[t]=!0,delete this.idStack[t+e]),this.pendingContainerFlushBuffers.length)for(const r of this.pendingContainerFlushBuffers)r.depth>=t+e&&(r.depth-=e,r.keys.splice(t,e));this.unidentifiedValuesBuffer[t+e]&&(this.unidentifiedValuesBuffer[t]=this.unidentifiedValuesBuffer[t+e],delete this.unidentifiedValuesBuffer[t+e])}}e.ParsingContext=o,o.EXPAND_OPTIONS={1:{allowPrefixForcing:!1,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!1},1.1:{allowPrefixForcing:!0,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!0}}},44360:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Util=void 0;const r=n(11288),a=n(41640),i=n(52780),s=n(95456);class o{constructor(t){this.parsingContext=t.parsingContext,this.dataFactory=t.dataFactory||new a.DataFactory,this.rdfFirst=this.dataFactory.namedNode(o.RDF+"first"),this.rdfRest=this.dataFactory.namedNode(o.RDF+"rest"),this.rdfNil=this.dataFactory.namedNode(o.RDF+"nil"),this.rdfType=this.dataFactory.namedNode(o.RDF+"type"),this.rdfJson=this.dataFactory.namedNode(o.RDF+"JSON")}static getContextValue(t,e,n,r){const a=t.getContextRaw()[n];if(!a)return r;const i=a[e];return void 0===i?r:i}static getContextValueContainer(t,e){return o.getContextValue(t,"@container",e,{"@set":!0})}static getContextValueType(t,e){const n=o.getContextValue(t,"@type",e,null);return"@none"===n?null:n}static getContextValueLanguage(t,e){return o.getContextValue(t,"@language",e,t.getContextRaw()["@language"]||null)}static getContextValueDirection(t,e){return o.getContextValue(t,"@direction",e,t.getContextRaw()["@direction"]||null)}static isContextValueReverse(t,e){return!!o.getContextValue(t,"@reverse",e,null)}static getContextValueIndex(t,e){return o.getContextValue(t,"@index",e,t.getContextRaw()["@index"]||null)}static isPropertyReverse(t,e,n){return"@reverse"===n!==o.isContextValueReverse(t,e)}static isValidIri(t){return null!==t&&r.Util.isValidIri(t)}static isPrefixArray(t,e){if(t.length>e.length)return!1;for(let n=0;n1)throw new r.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${e}'`,r.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);return[]}if("@list"in n){if(Object.keys(n).length>1)throw new r.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${e}'`,r.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);const t=n["@list"];return Array.isArray(t)?0===t.length?[this.rdfNil]:this.parsingContext.idStack[a+1]||[]:await this.valueToTerm(await this.parsingContext.getContext(i),e,t,a-1,i.slice(0,-1))}if("@reverse"in n&&"boolean"===typeof n["@reverse"])return[];if("@graph"in o.getContextValueContainer(await this.parsingContext.getContext(i),e)){const t=this.parsingContext.graphContainerTermStack[a+1];return t?Object.values(t):[this.dataFactory.blankNode()]}return"@id"in n?(Object.keys(n).length>1&&(t=await this.parsingContext.getContext(i,0)),"@context"in n&&(t=await this.parsingContext.parseContext(n["@context"],t.getContextRaw())),"@vocab"===n["@type"]?this.nullableTermToArray(this.createVocabOrBaseTerm(t,n["@id"])):this.nullableTermToArray(this.resourceToTerm(t,n["@id"]))):this.parsingContext.emittedStack[a+1]||n&&"object"===typeof n&&0===Object.keys(n).length?this.parsingContext.idStack[a+1]||(this.parsingContext.idStack[a+1]=[this.dataFactory.blankNode()]):[];case"string":return this.nullableTermToArray(this.stringValueToTerm(a,await this.getContextSelfOrPropertyScoped(t,e),e,n,null));case"boolean":return this.nullableTermToArray(this.stringValueToTerm(a,await this.getContextSelfOrPropertyScoped(t,e),e,Boolean(n).toString(),this.dataFactory.namedNode(o.XSD_BOOLEAN)));case"number":return this.nullableTermToArray(this.stringValueToTerm(a,await this.getContextSelfOrPropertyScoped(t,e),e,n,this.dataFactory.namedNode(n%1===0&&n<1e21?o.XSD_INTEGER:o.XSD_DOUBLE)));default:return this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${s}`)),[]}}async getContextSelfOrPropertyScoped(t,e){const n=t.getContextRaw()[e];return n&&"object"===typeof n&&"@context"in n&&(t=await this.parsingContext.parseContext(n,t.getContextRaw(),!0)),t}nullableTermToArray(t){return t?[t]:[]}predicateToTerm(t,e){const n=t.expandTerm(e,!0,this.parsingContext.getExpandOptions());return n?"_"===n[0]&&":"===n[1]?this.parsingContext.produceGeneralizedRdf?this.dataFactory.blankNode(n.substr(2)):null:o.isValidIri(n)?this.dataFactory.namedNode(n):n&&this.parsingContext.strictValues?(this.parsingContext.emitError(new r.ErrorCoded(`Invalid predicate IRI: ${n}`,r.ERROR_CODES.INVALID_IRI_MAPPING)),null):null:null}resourceToTerm(t,e){if(e.startsWith("_:"))return this.dataFactory.blankNode(e.substr(2));const n=t.expandTerm(e,!1,this.parsingContext.getExpandOptions());if(!o.isValidIri(n)){if(!n||!this.parsingContext.strictValues)return null;this.parsingContext.emitError(new Error(`Invalid resource IRI: ${n}`))}return this.dataFactory.namedNode(n)}createVocabOrBaseTerm(t,e){if(e.startsWith("_:"))return this.dataFactory.blankNode(e.substr(2));const n=this.parsingContext.getExpandOptions();let r=t.expandTerm(e,!0,n);if(r===e&&(r=t.expandTerm(e,!1,n)),!o.isValidIri(r)){if(!r||!this.parsingContext.strictValues||r.startsWith("@"))return null;this.parsingContext.emitError(new Error(`Invalid term IRI: ${r}`))}return this.dataFactory.namedNode(r)}intToString(t,e){if("number"===typeof t){if(Number.isFinite(t)){const n=t%1===0;return!n||e&&e.value===o.XSD_DOUBLE?t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"):Number(t).toString()}return t>0?"INF":"-INF"}return t}stringValueToTerm(t,e,n,r,a){const i=o.getContextValueType(e,n);if(i)if("@id"===i){if(!a)return this.resourceToTerm(e,this.intToString(r,a))}else if("@vocab"===i){if(!a)return this.createVocabOrBaseTerm(e,this.intToString(r,a))}else a=this.dataFactory.namedNode(i);if(!a){const i=o.getContextValueLanguage(e,n),s=o.getContextValueDirection(e,n);return s&&this.parsingContext.rdfDirection?this.createLanguageDirectionLiteral(t,this.intToString(r,a),i,s):this.dataFactory.literal(this.intToString(r,a),i)}return this.dataFactory.literal(this.intToString(r,a),a)}createLanguageDirectionLiteral(t,e,n,r){if("i18n-datatype"===this.parsingContext.rdfDirection)return n||(n=""),this.dataFactory.literal(e,this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${n}_${r}`));{const a=this.dataFactory.blankNode(),i=this.getDefaultGraph();return this.parsingContext.emitQuad(t,this.dataFactory.quad(a,this.dataFactory.namedNode(o.RDF+"value"),this.dataFactory.literal(e),i)),n&&this.parsingContext.emitQuad(t,this.dataFactory.quad(a,this.dataFactory.namedNode(o.RDF+"language"),this.dataFactory.literal(n),i)),this.parsingContext.emitQuad(t,this.dataFactory.quad(a,this.dataFactory.namedNode(o.RDF+"direction"),this.dataFactory.literal(r),i)),a}}valueToJsonString(t){return s(t)}async unaliasKeyword(t,e,n,a,i){if(Number.isInteger(t))return t;if(!a){const t=this.parsingContext.unaliasedKeywordCacheStack[n];if(t)return t}if(!r.Util.isPotentialKeyword(t)){i=i||await this.parsingContext.getContext(e);let n=i.getContextRaw()[t];n&&"object"===typeof n&&(n=n["@id"]),r.Util.isValidKeyword(n)&&(t=n)}return a?t:this.parsingContext.unaliasedKeywordCacheStack[n]=t}async unaliasKeywordParent(t,e){return await this.unaliasKeyword(e>0&&t[e-1],t,e-1)}async unaliasKeywords(t,e,n,r){const a={};for(const i in t)a[await this.unaliasKeyword(i,e,n+1,!0,r)]=t[i];return a}isLiteral(t){for(let e=t;e>=0;e--)if(this.parsingContext.literalStack[e]||this.parsingContext.jsonLiteralStack[e])return!0;return!1}async getDepthOffsetGraph(t,e){for(let n=t-1;n>0;n--)if("@graph"===await this.unaliasKeyword(e[n],e,n)){const r=(await i.EntryHandlerContainer.getContainerHandler(this.parsingContext,e,n)).containers;return i.EntryHandlerContainer.isComplexGraphContainer(r)?-1:t-n-1}return-1}validateReverseSubject(t){if("Literal"===t.termType)throw new r.ErrorCoded(`Found illegal literal in subject position: ${t.value}`,r.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}getDefaultGraph(){return this.parsingContext.defaultGraph||this.dataFactory.defaultGraph()}async getGraphContainerValue(t,e){let n=this.getDefaultGraph();const{containers:r,depth:a}=await i.EntryHandlerContainer.getContainerHandler(this.parsingContext,t,e);if("@graph"in r){const e=i.EntryHandlerContainer.getContainerGraphIndex(r,a,t),s=this.parsingContext.graphContainerTermStack[a];if(n=s?s[e]:null,!n){let i=null;if("@id"in r){const e=await this.getContainerKey(t[a],t,a);null!==e&&(i=await this.resourceToTerm(await this.parsingContext.getContext(t),e))}i||(i=this.dataFactory.blankNode()),this.parsingContext.graphContainerTermStack[a]||(this.parsingContext.graphContainerTermStack[a]={}),n=this.parsingContext.graphContainerTermStack[a][e]=i}}return n}async getPropertiesDepth(t,e){let n=e;for(let r=e-1;r>0;r--)if("number"!==typeof t[r]){const e=await this.unaliasKeyword(t[r],t,r);if("@reverse"===e)return r;if("@nest"!==e)return n;n=r}return n}async getContainerKey(t,e,n){const r=await this.unaliasKeyword(t,e,n);return"@none"===r?null:r}}e.Util=o,o.XSD="http://www.w3.org/2001/XMLSchema#",o.XSD_BOOLEAN=o.XSD+"boolean",o.XSD_INTEGER=o.XSD+"integer",o.XSD_DOUBLE=o.XSD+"double",o.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"},15269:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContainerHandlerIdentifier=void 0;class n{canCombineWithGraph(){return!0}async handle(t,e,n,r,a,i){let s;if(e.emittedStack[i+1]&&e.idStack[i+1])s=e.idStack[i+1][0];else{const t=await n.getContainerKey(r[i],r,i),a=null!==t?await n.resourceToTerm(await e.getContext(r),r[i]):n.dataFactory.blankNode();if(!a)return void(e.emittedStack[i]=!1);s=a,e.idStack[i+1]=[s]}let o=e.idStack[i];o||(o=e.idStack[i]=[]),o.some((t=>t.equals(s)))||o.push(s),await e.handlePendingContainerFlushBuffers()||(e.emittedStack[i]=!1)}}e.ContainerHandlerIdentifier=n},3039:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContainerHandlerIndex=void 0;const r=n(11288),a=n(37930),i=n(44360);class s{canCombineWithGraph(){return!0}async handle(t,e,n,s,o,l){if(!Array.isArray(o)){const d="@graph"in t,c=await e.getContext(s),u=s[l-1],h=i.Util.getContextValueIndex(c,u);if(h){if(r.Util.isPotentialKeyword(h))throw new r.ErrorCoded(`Keywords can not be used as @index value, got: ${h}`,r.ERROR_CODES.INVALID_TERM_DEFINITION);if("string"!==typeof h)throw new r.ErrorCoded(`@index values must be strings, got: ${h}`,r.ERROR_CODES.INVALID_TERM_DEFINITION);if("object"!==typeof o){if("@id"!==i.Util.getContextValueType(c,u))throw new r.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${o}`,r.ERROR_CODES.INVALID_VALUE_OBJECT);const t=n.resourceToTerm(c,o);t&&(e.idStack[l+1]=[t])}const t=n.createVocabOrBaseTerm(c,h);if(t){const r=await n.valueToTerm(c,h,await n.getContainerKey(s[l],s,l),l,s);if(d){const a=await n.getGraphContainerValue(s,l+1);for(const i of r)e.emitQuad(l,n.dataFactory.quad(a,t,i,n.getDefaultGraph()))}else for(const i of r)await a.EntryHandlerPredicate.handlePredicateObject(e,n,s,l+1,t,i,!1)}}const p=d?2:1;await e.newOnValueJob(s.slice(0,s.length-p),o,l-p,!0),await e.handlePendingContainerFlushBuffers()}e.emittedStack[l]=!1}}e.ContainerHandlerIndex=s},68681:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContainerHandlerLanguage=void 0;const r=n(11288);class a{canCombineWithGraph(){return!1}async handle(t,e,n,a,i,s){const o=await n.getContainerKey(a[s],a,s);if(Array.isArray(i))i=i.map((t=>({"@value":t,"@language":o})));else{if("string"!==typeof i)throw new r.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(i)}', but expected string`,r.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);i={"@value":i,"@language":o}}await e.newOnValueJob(a.slice(0,a.length-1),i,s-1,!0),e.emittedStack[s]=!1}}e.ContainerHandlerLanguage=a},49408:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContainerHandlerType=void 0;const r=n(37930),a=n(44360);class i{canCombineWithGraph(){return!1}async handle(t,e,n,i,s,o){if(!Array.isArray(s)){if("string"===typeof s){const t=await e.getContext(i),r=a.Util.getContextValueType(t,i[o-1]),l="@vocab"===r?await n.createVocabOrBaseTerm(t,s):await n.resourceToTerm(t,s);if(l){const t={"@id":"NamedNode"===l.termType?l.value:s};await e.newOnValueJob(i.slice(0,i.length-1),t,o-1,!0),e.idStack[o+1]=[l]}}else{const t=!!e.idStack[o+1];t||delete e.idStack[o],await e.newOnValueJob(i.slice(0,i.length-1),s,o-1,!0),t||(e.idStack[o+1]=e.idStack[o])}const t=await n.getContainerKey(i[o],i,o),l=null!==t?n.createVocabOrBaseTerm(await e.getContext(i),t):null;l&&await r.EntryHandlerPredicate.handlePredicateObject(e,n,i,o+1,n.rdfType,l,!1),await e.handlePendingContainerFlushBuffers()}e.emittedStack[o]=!1}}e.ContainerHandlerType=i},27765:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerArrayValue=void 0;const r=n(44360);class a{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(t,e,n,r,a){return this.test(t,e,null,n,r)}async test(t,e,n,r,a){return"number"===typeof r[a]}async handle(t,e,n,a,i,s){let o=await e.unaliasKeywordParent(a,s);if("@list"===o){let n=null,r=0;for(let t=s-2;t>0;t--){const e=a[t];if("string"===typeof e||"number"===typeof e){r=t,n=e;break}}if(null!==n){const o=await e.valueToTerm(await t.getContext(a),n,i,s,a);for(const n of o)await this.handleListElement(t,e,n,i,s,a.slice(0,r),r);0===o.length&&await this.handleListElement(t,e,null,i,s,a.slice(0,r),r)}}else if("@set"===o)await t.newOnValueJob(a.slice(0,-2),i,s-2,!1);else if(void 0!==o&&"@type"!==o){for(let t=s-1;t>0;t--)if("number"!==typeof a[t]){o=await e.unaliasKeyword(a[t],a,t);break}const n=await t.getContext(a.slice(0,-1));if("@list"in r.Util.getContextValueContainer(n,o)){t.emittedStack[s+1]=!0;const n=await e.valueToTerm(await t.getContext(a),o,i,s,a);for(const r of n)await this.handleListElement(t,e,r,i,s,a.slice(0,-1),s-1);0===n.length&&await this.handleListElement(t,e,null,i,s,a.slice(0,-1),s-1)}else t.shiftStack(s,1),await t.newOnValueJob(a.slice(0,-1),i,s-1,!1),t.contextTree.removeContext(a.slice(0,-1))}}async handleListElement(t,e,n,r,a,i,s){let o=t.listPointerStack[a];if(null!==r&&null!==(await e.unaliasKeywords(r,i,a))["@value"]){if(o&&o.value){const n=e.dataFactory.blankNode();t.emitQuad(a,e.dataFactory.quad(o.value,e.rdfRest,n,e.getDefaultGraph())),o.value=n}else{const t=e.dataFactory.blankNode();o={value:t,listRootDepth:s,listId:t}}n&&t.emitQuad(a,e.dataFactory.quad(o.value,e.rdfFirst,n,e.getDefaultGraph()))}else o||(o={listRootDepth:s,listId:e.rdfNil});t.listPointerStack[a]=o}}e.EntryHandlerArrayValue=a},52780:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerContainer=void 0;const r=n(15269),a=n(3039),i=n(68681),s=n(49408),o=n(44360);class l{static isSimpleGraphContainer(t){return"@graph"in t&&("@set"in t&&2===Object.keys(t).length||1===Object.keys(t).length)}static isComplexGraphContainer(t){return"@graph"in t&&("@set"in t&&Object.keys(t).length>2||!("@set"in t)&&Object.keys(t).length>1)}static getContainerGraphIndex(t,e,n){let r=l.isSimpleGraphContainer(t),a="";for(let i=e;i=0;s--)if("number"!==typeof e[s]){const t=o.Util.getContextValue(i,"@container",e[s],!1);if(t&&l.isSimpleGraphContainer(t))return{containers:t,depth:s+1,fallback:!1};const n=o.Util.getContextValue(i,"@container",e[s-1],!1);if(n){const t="@graph"in n;for(const e in l.CONTAINER_HANDLERS)if(n[e])return t?l.CONTAINER_HANDLERS[e].canCombineWithGraph()?{containers:n,depth:s,fallback:!1}:r:a?r:{containers:n,depth:s,fallback:!1};return r}if(a)return r;a=!0}return r}static async isBufferableContainerHandler(t,e,n){const r=await l.getContainerHandler(t,e,n);return!r.fallback&&!("@graph"in r.containers)}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(t,e,n,r,a){return!!await this.test(t,e,null,n,r)}async test(t,e,n,r,a){const i=o.Util.getContextValueContainer(await t.getContext(r,2),r[a-1]);for(const s in l.CONTAINER_HANDLERS)if(i[s])return{containers:i,handler:l.CONTAINER_HANDLERS[s]};return null}async handle(t,e,n,r,a,i,s){return s.handler.handle(s.containers,t,e,r,a,i)}}e.EntryHandlerContainer=l,l.CONTAINER_HANDLERS={"@id":new r.ContainerHandlerIdentifier,"@index":new a.ContainerHandlerIndex,"@language":new i.ContainerHandlerLanguage,"@type":new s.ContainerHandlerType}},52234:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerInvalidFallback=void 0;class n{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(t,e,n,r,a){return!1}async test(t,e,n,r,a){return!0}async handle(t,e,n,r,a,i){t.emittedStack[i]=!1}}e.EntryHandlerInvalidFallback=n},37930:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerPredicate=void 0;const r=n(11288),a=n(44360);class i{static async handlePredicateObject(t,e,n,r,a,i,s){const o=await e.getPropertiesDepth(n,r),l=await e.getDepthOffsetGraph(r,n),d=r-l,c=t.idStack[o];if(c)for(const u of c){const c=l>=0;if(c){const n=t.idStack[d-1];if(n)for(const o of n)s?(e.validateReverseSubject(i),t.emitQuad(r,e.dataFactory.quad(i,a,u,o))):t.emitQuad(r,e.dataFactory.quad(u,a,i,o));else s?(e.validateReverseSubject(i),t.getUnidentifiedGraphBufferSafe(d-1).push({subject:i,predicate:a,object:u})):t.getUnidentifiedGraphBufferSafe(d-1).push({subject:u,predicate:a,object:i})}else{const l=await e.getGraphContainerValue(n,o);s?(e.validateReverseSubject(i),t.emitQuad(r,e.dataFactory.quad(i,a,u,l))):t.emitQuad(r,e.dataFactory.quad(u,a,i,l))}}else s&&e.validateReverseSubject(i),t.getUnidentifiedValueBufferSafe(o).push({predicate:a,object:i,reverse:s})}isPropertyHandler(){return!0}isStackProcessor(){return!0}async validate(t,e,n,r,i){const s=n[r];if(s){const i=await t.getContext(n);if(!t.jsonLiteralStack[r]&&await e.predicateToTerm(i,n[r]))return"@json"===a.Util.getContextValueType(i,s)&&(t.jsonLiteralStack[r+1]=!0),!0}return!1}async test(t,e,n,r,a){return r[a]}async handle(t,e,n,s,o,l,d){const c=s[l],u=await t.getContext(s),h=await e.predicateToTerm(u,n);if(h){const d=await e.valueToTerm(u,n,o,l,s);if(d.length)for(let p of d){const d=a.Util.isPropertyReverse(u,c,await e.unaliasKeywordParent(s,l));if(o){const i="@list"in a.Util.getContextValueContainer(u,n);if(i||o["@list"]){if((i&&!Array.isArray(o)&&!o["@list"]||o["@list"]&&!Array.isArray(o["@list"]))&&p!==e.rdfNil){const n=e.dataFactory.blankNode();t.emitQuad(l,e.dataFactory.quad(n,e.rdfRest,e.rdfNil,e.getDefaultGraph())),t.emitQuad(l,e.dataFactory.quad(n,e.rdfFirst,p,e.getDefaultGraph())),p=n}if(d&&!t.allowSubjectList)throw new r.ErrorCoded(`Found illegal list value in subject position at ${n}`,r.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}}await i.handlePredicateObject(t,e,s,l,h,p,d)}}}}e.EntryHandlerPredicate=i},66854:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeyword=void 0;class n{constructor(t){this.keyword=t}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(t,e,n,r,a){return!1}async test(t,e,n,r,a){return n===this.keyword}}e.EntryHandlerKeyword=n},70983:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordContext=void 0;const r=n(11288),a=n(66854);class i extends a.EntryHandlerKeyword{constructor(){super("@context")}isStackProcessor(){return!1}async handle(t,e,n,a,i,s){t.streamingProfile&&(t.processingStack[s]||t.processingType[s]||void 0!==t.idStack[s])&&t.emitError(new r.ErrorCoded("Found an out-of-order context, while streaming is enabled.(disable `streamingProfile`)",r.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));const o=t.getContext(a),l=t.parseContext(i,(await o).getContextRaw());t.contextTree.setContext(a.slice(0,-1),l),t.emitContext(i),await t.validateContext(await l)}}e.EntryHandlerKeywordContext=i},42397:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordGraph=void 0;const r=n(66854);class a extends r.EntryHandlerKeyword{constructor(){super("@graph")}async handle(t,e,n,r,a,i){t.graphStack[i+1]=!0}}e.EntryHandlerKeywordGraph=a},96700:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordId=void 0;const r=n(11288),a=n(66854);class i extends a.EntryHandlerKeyword{constructor(){super("@id")}isStackProcessor(){return!1}async handle(t,e,n,a,i,s){"string"!==typeof i&&t.emitError(new r.ErrorCoded(`Found illegal @id '${i}'`,r.ERROR_CODES.INVALID_ID_VALUE));const o=await e.getPropertiesDepth(a,s);void 0!==t.idStack[o]&&(t.idStack[o][0].listHead?t.emitError(new r.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${a[s-1]}'`,r.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT)):t.emitError(new r.ErrorCoded(`Found duplicate @ids '${t.idStack[o][0].value}' and '${i}'`,r.ERROR_CODES.COLLIDING_KEYWORDS))),t.idStack[o]=e.nullableTermToArray(await e.resourceToTerm(await t.getContext(a),i))}}e.EntryHandlerKeywordId=i},26664:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordIncluded=void 0;const r=n(11288),a=n(66854);class i extends a.EntryHandlerKeyword{constructor(){super("@included")}async handle(t,e,n,a,i,s){"object"!==typeof i&&t.emitError(new r.ErrorCoded(`Found illegal @included '${i}'`,r.ERROR_CODES.INVALID_INCLUDED_VALUE));const o=await e.unaliasKeywords(i,a,s,await t.getContext(a));"@value"in o&&t.emitError(new r.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(i)}'`,r.ERROR_CODES.INVALID_INCLUDED_VALUE)),"@list"in o&&t.emitError(new r.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(i)}'`,r.ERROR_CODES.INVALID_INCLUDED_VALUE)),t.emittedStack[s]=!1}}e.EntryHandlerKeywordIncluded=i},84149:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordNest=void 0;const r=n(11288),a=n(66854);class i extends a.EntryHandlerKeyword{constructor(){super("@nest")}async handle(t,e,n,a,i,s){"object"!==typeof i&&t.emitError(new r.ErrorCoded(`Found invalid @nest entry for '${n}': '${i}'`,r.ERROR_CODES.INVALID_NEST_VALUE)),"@value"in await e.unaliasKeywords(i,a,s,await t.getContext(a))&&t.emitError(new r.ErrorCoded(`Found an invalid @value node for '${n}'`,r.ERROR_CODES.INVALID_NEST_VALUE)),t.emittedStack[s]=!1}}e.EntryHandlerKeywordNest=i},46100:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordType=void 0;const r=n(11288),a=n(44360),i=n(37930),s=n(66854);class o extends s.EntryHandlerKeyword{constructor(){super("@type")}isStackProcessor(){return!1}async handle(t,e,n,s,o,l){const d=s[l],c=await t.getContext(s),u=e.rdfType,h=a.Util.isPropertyReverse(c,d,await e.unaliasKeywordParent(s,l)),p=Array.isArray(o)?o:[o];for(const a of p){"string"!==typeof a&&t.emitError(new r.ErrorCoded(`Found illegal @type '${a}'`,r.ERROR_CODES.INVALID_TYPE_VALUE));const n=e.createVocabOrBaseTerm(c,a);n&&await i.EntryHandlerPredicate.handlePredicateObject(t,e,s,l,u,n,h)}let f=Promise.resolve(c),g=!1;for(const r of p.sort()){const e=a.Util.getContextValue(c,"@context",r,null);e&&(g=!0,f=f.then((n=>t.parseContext(e,n.getContextRaw()))))}!t.streamingProfile||!g&&t.streamingProfileAllowOutOfOrderPlainType||!t.processingStack[l]&&!t.idStack[l]||t.emitError(new r.ErrorCoded("Found an out-of-order type-scoped context, while streaming is enabled.(disable `streamingProfile`)",r.ERROR_CODES.INVALID_STREAMING_KEY_ORDER)),g&&(f=f.then((t=>("@propagate"in t.getContextRaw()||(t.getContextRaw()["@propagate"]=!1),!1===t.getContextRaw()["@propagate"]&&(t.getContextRaw()["@__propagateFallback"]=c.getContextRaw()),t))),t.contextTree.setContext(s.slice(0,s.length-1),f)),t.processingType[l]=!0}}e.EntryHandlerKeywordType=o},65457:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordUnknownFallback=void 0;const r=n(11288);class a{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(t,e,n,a,i){const s=await e.unaliasKeyword(n[a],n,a);return!!r.Util.isPotentialKeyword(s)&&!(!i&&"@list"===s)}async test(t,e,n,a,i){return r.Util.isPotentialKeyword(n)}async handle(t,e,n,i,s,o){const l=a.VALID_KEYWORDS_TYPES[n];void 0!==l?l&&typeof s!==l.type&&t.emitError(new r.ErrorCoded(`Invalid value type for '${n}' with value '${s}'`,l.errorCode)):t.strictValues&&t.emitError(new Error(`Unknown keyword '${n}' with value '${s}'`)),t.emittedStack[o]=!1}}e.EntryHandlerKeywordUnknownFallback=a,a.VALID_KEYWORDS_TYPES={"@index":{type:"string",errorCode:r.ERROR_CODES.INVALID_INDEX_VALUE},"@list":null,"@reverse":{type:"object",errorCode:r.ERROR_CODES.INVALID_REVERSE_VALUE},"@set":null,"@value":null}},18896:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EntryHandlerKeywordValue=void 0;const r=n(66854);class a extends r.EntryHandlerKeyword{constructor(){super("@value")}async validate(t,e,n,r,a){const i=n[r];return i&&!t.literalStack[r]&&await this.test(t,e,i,n,r)&&(t.literalStack[r]=!0),super.validate(t,e,n,r,a)}async test(t,e,n,r,a){return"@value"===await e.unaliasKeyword(r[a],r.slice(0,r.length-1),a-1,!0)}async handle(t,e,n,r,a,i){t.literalStack[i]=!0,delete t.unidentifiedValuesBuffer[i],delete t.unidentifiedGraphsBuffer[i],t.emittedStack[i]=!1}}e.EntryHandlerKeywordValue=a}}]);
-//# sourceMappingURL=246.d6c4ddc5.js.map
\ No newline at end of file
diff --git a/js/246.d6c4ddc5.js.map b/js/246.d6c4ddc5.js.map
deleted file mode 100644
index 384a1a1..0000000
--- a/js/246.d6c4ddc5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/246.d6c4ddc5.js","mappings":"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","sources":["webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/BlankNode.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/DataFactory.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/DefaultGraph.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/Literal.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/NamedNode.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/Quad.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/Variable.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/data-model/lib/fromTerm.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/parser-jsonld/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/parser-jsonld/lib/ParserStream.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/@rdfjs/sink/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/index.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/ContextTree.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/JsonLdParser.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/ParsingContext.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/Util.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIdentifier.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIndex.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerLanguage.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerType.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerArrayValue.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerContainer.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerInvalidFallback.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerPredicate.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeyword.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordContext.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordGraph.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordId.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordIncluded.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordNest.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordType.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordUnknownFallback.js","webpack://@zazuko/spex/./node_modules/@rdf-esm/formats-common/node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordValue.js"],"sourcesContent":["const DataFactory = require('./lib/DataFactory.js')\n\nmodule.exports = DataFactory\n","class BlankNode {\n constructor (id) {\n this.value = id || ('b' + (++BlankNode.nextId))\n }\n\n equals (other) {\n return !!other && other.termType === this.termType && other.value === this.value\n }\n}\n\nBlankNode.prototype.termType = 'BlankNode'\n\nBlankNode.nextId = 0\n\nmodule.exports = BlankNode\n","const BlankNode = require('./BlankNode.js')\nconst DefaultGraph = require('./DefaultGraph.js')\nconst fromTermRaw = require('./fromTerm.js')\nconst Literal = require('./Literal.js')\nconst NamedNode = require('./NamedNode.js')\nconst Quad = require('./Quad.js')\nconst Variable = require('./Variable.js')\n\nfunction namedNode (value) {\n return new NamedNode(value)\n}\n\nfunction blankNode (value) {\n return new BlankNode(value)\n}\n\nfunction literal (value, languageOrDatatype) {\n if (typeof languageOrDatatype === 'string') {\n if (languageOrDatatype.indexOf(':') === -1) {\n return new Literal(value, languageOrDatatype)\n }\n\n return new Literal(value, null, DataFactory.namedNode(languageOrDatatype))\n }\n\n return new Literal(value, null, languageOrDatatype)\n}\n\nfunction variable (value) {\n return new Variable(value)\n}\n\nfunction defaultGraph () {\n return DataFactory.defaultGraphInstance\n}\n\nfunction triple (subject, predicate, object) {\n return DataFactory.quad(subject, predicate, object)\n}\n\nfunction quad (subject, predicate, object, graph) {\n return new Quad(subject, predicate, object, graph || DataFactory.defaultGraphInstance)\n}\n\nfunction fromTerm (original) {\n return fromTermRaw.call(DataFactory, original)\n}\n\nfunction fromQuad (original) {\n return fromTermRaw.call(DataFactory, original)\n}\n\nconst DataFactory = {\n namedNode,\n blankNode,\n literal,\n variable,\n defaultGraph,\n triple,\n quad,\n fromTerm,\n fromQuad,\n defaultGraphInstance: new DefaultGraph()\n}\n\nmodule.exports = DataFactory\n","class DefaultGraph {\n equals (other) {\n return !!other && other.termType === this.termType\n }\n}\n\nDefaultGraph.prototype.termType = 'DefaultGraph'\nDefaultGraph.prototype.value = ''\n\nmodule.exports = DefaultGraph\n","const NamedNode = require('./NamedNode.js')\n\nclass Literal {\n constructor (value, language, datatype) {\n this.value = value\n this.datatype = Literal.stringDatatype\n this.language = ''\n\n if (language) {\n this.language = language\n this.datatype = Literal.langStringDatatype\n } else if (datatype) {\n this.datatype = datatype\n }\n }\n\n equals (other) {\n return !!other && other.termType === this.termType && other.value === this.value &&\n other.language === this.language && other.datatype.equals(this.datatype)\n }\n}\n\nLiteral.prototype.termType = 'Literal'\n\nLiteral.langStringDatatype = new NamedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#langString')\nLiteral.stringDatatype = new NamedNode('http://www.w3.org/2001/XMLSchema#string')\n\nmodule.exports = Literal\n","class NamedNode {\n constructor (iri) {\n this.value = iri\n }\n\n equals (other) {\n return !!other && other.termType === this.termType && other.value === this.value\n }\n}\n\nNamedNode.prototype.termType = 'NamedNode'\n\nmodule.exports = NamedNode\n","const DefaultGraph = require('./DefaultGraph.js')\n\nclass Quad {\n constructor (subject, predicate, object, graph) {\n this.subject = subject\n this.predicate = predicate\n this.object = object\n\n if (graph) {\n this.graph = graph\n } else {\n this.graph = new DefaultGraph()\n }\n }\n\n equals (other) {\n // `|| !other.termType` is for backwards-compatibility with old factories without RDF* support.\n return !!other && (other.termType === 'Quad' || !other.termType) &&\n other.subject.equals(this.subject) && other.predicate.equals(this.predicate) &&\n other.object.equals(this.object) && other.graph.equals(this.graph)\n }\n}\n\nQuad.prototype.termType = 'Quad'\nQuad.prototype.value = ''\n\nmodule.exports = Quad\n","class Variable {\n constructor (name) {\n this.value = name\n }\n\n equals (other) {\n return !!other && other.termType === this.termType && other.value === this.value\n }\n}\n\nVariable.prototype.termType = 'Variable'\n\nmodule.exports = Variable\n","function fromTerm (original) {\n if (!original) {\n return null\n }\n\n if (original.termType === 'BlankNode') {\n return this.blankNode(original.value)\n }\n\n if (original.termType === 'DefaultGraph') {\n return this.defaultGraph()\n }\n\n if (original.termType === 'Literal') {\n return this.literal(original.value, original.language || this.namedNode(original.datatype.value))\n }\n\n if (original.termType === 'NamedNode') {\n return this.namedNode(original.value)\n }\n\n if (original.termType === 'Quad') {\n const subject = this.fromTerm(original.subject)\n const predicate = this.fromTerm(original.predicate)\n const object = this.fromTerm(original.object)\n const graph = this.fromTerm(original.graph)\n\n return this.quad(subject, predicate, object, graph)\n }\n\n if (original.termType === 'Variable') {\n return this.variable(original.value)\n }\n\n throw new Error(`unknown termType ${original.termType}`)\n}\n\nmodule.exports = fromTerm\n","const Sink = require('@rdfjs/sink')\nconst ParserStream = require('./lib/ParserStream')\n\nclass Parser extends Sink {\n constructor (options) {\n super(ParserStream, options)\n }\n}\n\nmodule.exports = Parser\n","const rdf = require('@rdfjs/data-model')\nconst { JsonLdParser } = require('jsonld-streaming-parser')\nconst { Transform } = require('readable-stream')\n\nconst relativeIriProtocol = 'null:'\n\nfunction termCleanup (factory) {\n return term => {\n if (term.termType !== 'NamedNode') {\n return null\n }\n\n if (!term.value.startsWith(relativeIriProtocol)) {\n return null\n }\n\n // remove dummy protocol workaround for relative IRIs\n return factory.namedNode(term.value.slice(relativeIriProtocol.length))\n }\n}\n\nfunction quadCleanup (factory) {\n const cleanup = termCleanup(factory)\n\n return quad => {\n const subject = cleanup(quad.subject)\n const predicate = cleanup(quad.predicate)\n const object = cleanup(quad.object)\n const graph = cleanup(quad.graph)\n\n if (subject || predicate || object || graph) {\n return factory.quad(\n subject || quad.subject,\n predicate || quad.predicate,\n object || quad.object,\n graph || quad.graph\n )\n }\n\n return quad\n }\n}\n\nclass ParserStream {\n constructor (input, { baseIRI = relativeIriProtocol, context = null, factory = rdf } = {}) {\n const parser = new JsonLdParser({\n baseIRI,\n context,\n dataFactory: factory,\n streamingProfile: false\n })\n\n input.pipe(parser)\n\n const cleanup = quadCleanup(factory)\n\n const transform = new Transform({\n objectMode: true,\n transform: (quad, encoding, callback) => {\n callback(null, cleanup(quad))\n }\n })\n\n parser.on('context', context => {\n Object.entries(context).forEach(([prefix, iri]) => {\n transform.emit('prefix', prefix, factory.namedNode(iri))\n })\n })\n parser.on('error', err => transform.destroy(err))\n parser.pipe(transform)\n\n return transform\n }\n}\n\nmodule.exports = ParserStream\n","class Sink {\n constructor (Impl, options) {\n this.Impl = Impl\n this.options = options\n }\n\n import (input, options) {\n const output = new this.Impl(input, Object.assign({}, this.options, options))\n\n input.on('end', () => {\n if (!output.readable) {\n output.emit('end')\n }\n })\n\n input.on('error', (err) => {\n output.emit('error', err)\n })\n\n return output\n }\n}\n\nmodule.exports = Sink\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/JsonLdParser\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContextTree = void 0;\n/**\n * A tree structure that holds all contexts,\n * based on their position in the JSON object.\n *\n * Positions are identified by a path of keys.\n */\nclass ContextTree {\n constructor() {\n this.subTrees = {};\n }\n getContext(keys) {\n if (keys.length > 0) {\n const [head, ...tail] = keys;\n const subTree = this.subTrees[head];\n if (subTree) {\n const subContext = subTree.getContext(tail);\n if (subContext) {\n return subContext.then(({ context, depth }) => ({ context, depth: depth + 1 }));\n }\n }\n }\n return this.context ? this.context.then((context) => ({ context, depth: 0 })) : null;\n }\n setContext(keys, context) {\n if (keys.length === 0) {\n this.context = context;\n }\n else {\n const [head, ...tail] = keys;\n let subTree = this.subTrees[head];\n if (!subTree) {\n subTree = this.subTrees[head] = new ContextTree();\n }\n subTree.setContext(tail, context);\n }\n }\n removeContext(path) {\n this.setContext(path, null);\n }\n}\nexports.ContextTree = ContextTree;\n//# sourceMappingURL=ContextTree.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JsonLdParser = void 0;\n// tslint:disable-next-line:no-var-requires\nconst Parser = require('jsonparse');\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst stream_1 = require(\"stream\");\nconst EntryHandlerArrayValue_1 = require(\"./entryhandler/EntryHandlerArrayValue\");\nconst EntryHandlerContainer_1 = require(\"./entryhandler/EntryHandlerContainer\");\nconst EntryHandlerInvalidFallback_1 = require(\"./entryhandler/EntryHandlerInvalidFallback\");\nconst EntryHandlerPredicate_1 = require(\"./entryhandler/EntryHandlerPredicate\");\nconst EntryHandlerKeywordContext_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordContext\");\nconst EntryHandlerKeywordGraph_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordGraph\");\nconst EntryHandlerKeywordId_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordId\");\nconst EntryHandlerKeywordIncluded_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordIncluded\");\nconst EntryHandlerKeywordNest_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordNest\");\nconst EntryHandlerKeywordType_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordType\");\nconst EntryHandlerKeywordUnknownFallback_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordUnknownFallback\");\nconst EntryHandlerKeywordValue_1 = require(\"./entryhandler/keyword/EntryHandlerKeywordValue\");\nconst ParsingContext_1 = require(\"./ParsingContext\");\nconst Util_1 = require(\"./Util\");\nconst http_link_header_1 = require(\"http-link-header\");\n/**\n * A stream transformer that parses JSON-LD (text) streams to an {@link RDF.Stream}.\n */\nclass JsonLdParser extends stream_1.Transform {\n constructor(options) {\n super({ readableObjectMode: true });\n options = options || {};\n this.options = options;\n this.parsingContext = new ParsingContext_1.ParsingContext(Object.assign({ parser: this }, options));\n this.util = new Util_1.Util({ dataFactory: options.dataFactory, parsingContext: this.parsingContext });\n this.jsonParser = new Parser();\n this.contextJobs = [];\n this.typeJobs = [];\n this.contextAwaitingJobs = [];\n this.lastDepth = 0;\n this.lastKeys = [];\n this.lastOnValueJob = Promise.resolve();\n this.attachJsonParserListeners();\n this.on('end', () => {\n if (typeof this.jsonParser.mode !== 'undefined') {\n this.emit('error', new Error('Unclosed document'));\n }\n });\n }\n /**\n * Construct a JsonLdParser from the given HTTP response.\n *\n * This will throw an error if no valid JSON response is received\n * (application/ld+json, application/json, or something+json).\n *\n * For raw JSON responses, exactly one link header pointing to a JSON-LD context is required.\n *\n * This method is not responsible for handling redirects.\n *\n * @param baseIRI The URI of the received response.\n * @param mediaType The received content type.\n * @param headers Optional HTTP headers.\n * @param options Optional parser options.\n */\n static fromHttpResponse(baseIRI, mediaType, headers, options) {\n let context;\n // Special cases when receiving something else than the JSON-LD media type\n if (mediaType !== 'application/ld+json') {\n // Only accept JSON or JSON extension types\n if (mediaType !== 'application/json' && !mediaType.endsWith('+json')) {\n throw new jsonld_context_parser_1.ErrorCoded(`Unsupported JSON-LD media type ${mediaType}`, jsonld_context_parser_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n // We need exactly one JSON-LD context in the link header\n if (headers && headers.has('Link')) {\n headers.forEach((value, key) => {\n if (key === 'link') {\n const linkHeader = http_link_header_1.parse(value);\n for (const link of linkHeader.get('rel', 'http://www.w3.org/ns/json-ld#context')) {\n if (context) {\n throw new jsonld_context_parser_1.ErrorCoded('Multiple JSON-LD context link headers were found on ' + baseIRI, jsonld_context_parser_1.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);\n }\n context = link.uri;\n }\n }\n });\n }\n if (!context && !(options === null || options === void 0 ? void 0 : options.ignoreMissingContextLinkHeader)) {\n throw new jsonld_context_parser_1.ErrorCoded(`Missing context link header for media type ${mediaType} on ${baseIRI}`, jsonld_context_parser_1.ERROR_CODES.LOADING_DOCUMENT_FAILED);\n }\n }\n // Check if the streaming profile is present\n let streamingProfile;\n if (headers && headers.has('Content-Type')) {\n const contentType = headers.get('Content-Type');\n const match = /; *profile=([^\"]*)/.exec(contentType);\n if (match && match[1] === 'http://www.w3.org/ns/json-ld#streaming') {\n streamingProfile = true;\n }\n }\n return new JsonLdParser(Object.assign({ baseIRI,\n context,\n streamingProfile }, options ? options : {}));\n }\n /**\n * Parses the given text stream into a quad stream.\n * @param {NodeJS.EventEmitter} stream A text stream.\n * @return {RDF.Stream} A quad stream.\n */\n import(stream) {\n const output = new stream_1.PassThrough({ readableObjectMode: true });\n stream.on('error', (error) => parsed.emit('error', error));\n stream.on('data', (data) => output.push(data));\n stream.on('end', () => output.push(null));\n const parsed = output.pipe(new JsonLdParser(this.options));\n return parsed;\n }\n _transform(chunk, encoding, callback) {\n this.jsonParser.write(chunk);\n this.lastOnValueJob\n .then(() => callback(), (error) => callback(error));\n }\n /**\n * Start a new job for parsing the given value.\n *\n * This will let the first valid {@link IEntryHandler} handle the entry.\n *\n * @param {any[]} keys The stack of keys.\n * @param value The value to parse.\n * @param {number} depth The depth to parse at.\n * @param {boolean} lastDepthCheck If the lastDepth check should be done for buffer draining.\n * @return {Promise} A promise resolving when the job is done.\n */\n async newOnValueJob(keys, value, depth, lastDepthCheck) {\n let flushStacks = true;\n // When we go up the stack, emit all unidentified values\n // We need to do this before the new job, because the new job may require determined values from the flushed jobs.\n if (lastDepthCheck && depth < this.lastDepth) {\n // Check if we had any RDF lists that need to be terminated with an rdf:nil\n const listPointer = this.parsingContext.listPointerStack[this.lastDepth];\n if (listPointer) {\n // Terminate the list if the had at least one value\n if (listPointer.value) {\n this.emit('data', this.util.dataFactory.quad(listPointer.value, this.util.rdfRest, this.util.rdfNil, this.util.getDefaultGraph()));\n }\n // Add the list id to the id stack, so it can be used higher up in the stack\n listPointer.listId.listHead = true;\n this.parsingContext.idStack[listPointer.listRootDepth + 1] = [listPointer.listId];\n this.parsingContext.listPointerStack.splice(this.lastDepth, 1);\n }\n // Flush the buffer for lastDepth\n // If the parent key is a special type of container, postpone flushing until that parent is handled.\n if (await EntryHandlerContainer_1.EntryHandlerContainer.isBufferableContainerHandler(this.parsingContext, this.lastKeys, this.lastDepth)) {\n this.parsingContext.pendingContainerFlushBuffers\n .push({ depth: this.lastDepth, keys: this.lastKeys.slice(0, this.lastKeys.length) });\n flushStacks = false;\n }\n else {\n await this.flushBuffer(this.lastDepth, this.lastKeys);\n }\n }\n const key = await this.util.unaliasKeyword(keys[depth], keys, depth);\n const parentKey = await this.util.unaliasKeywordParent(keys, depth);\n this.parsingContext.emittedStack[depth] = true;\n let handleKey = true;\n // Keywords inside @reverse is not allowed apart from @context\n if (jsonld_context_parser_1.Util.isValidKeyword(key) && parentKey === '@reverse' && key !== '@context') {\n this.emit('error', new jsonld_context_parser_1.ErrorCoded(`Found the @id '${value}' inside an @reverse property`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_MAP));\n }\n // Skip further processing if one of the parent nodes are invalid.\n // We use the validationStack to reuse validation results that were produced before with common key stacks.\n let inProperty = false;\n if (this.parsingContext.validationStack.length > 1) {\n inProperty = this.parsingContext.validationStack[this.parsingContext.validationStack.length - 1].property;\n }\n for (let i = Math.max(1, this.parsingContext.validationStack.length - 1); i < keys.length - 1; i++) {\n const validationResult = this.parsingContext.validationStack[i]\n || (this.parsingContext.validationStack[i] = await this.validateKey(keys.slice(0, i + 1), i, inProperty));\n if (!validationResult.valid) {\n this.parsingContext.emittedStack[depth] = false;\n handleKey = false;\n break;\n }\n else if (!inProperty && validationResult.property) {\n inProperty = true;\n }\n }\n // Skip further processing if this node is part of a literal\n if (this.util.isLiteral(depth)) {\n handleKey = false;\n }\n // Get handler\n if (handleKey) {\n for (const entryHandler of JsonLdParser.ENTRY_HANDLERS) {\n const testResult = await entryHandler.test(this.parsingContext, this.util, key, keys, depth);\n if (testResult) {\n // Pass processing over to the handler\n await entryHandler.handle(this.parsingContext, this.util, key, keys, value, depth, testResult);\n // Flag that this depth is processed\n if (entryHandler.isStackProcessor()) {\n this.parsingContext.processingStack[depth] = true;\n }\n break;\n }\n }\n }\n // Validate value indexes on the root.\n if (depth === 0 && Array.isArray(value)) {\n await this.util.validateValueIndexes(value);\n }\n // When we go up the stack, flush the old stack\n if (flushStacks && depth < this.lastDepth) {\n // Reset our stacks\n this.flushStacks(this.lastDepth);\n }\n this.lastDepth = depth;\n this.lastKeys = keys;\n // Clear the keyword cache at this depth, and everything underneath.\n this.parsingContext.unaliasedKeywordCacheStack.splice(depth - 1);\n }\n /**\n * Flush the processing stacks at the given depth.\n * @param {number} depth A depth.\n */\n flushStacks(depth) {\n this.parsingContext.processingStack.splice(depth, 1);\n this.parsingContext.processingType.splice(depth, 1);\n this.parsingContext.emittedStack.splice(depth, 1);\n this.parsingContext.idStack.splice(depth, 1);\n this.parsingContext.graphStack.splice(depth + 1, 1);\n this.parsingContext.graphContainerTermStack.splice(depth, 1);\n this.parsingContext.jsonLiteralStack.splice(depth, 1);\n this.parsingContext.validationStack.splice(depth - 1, 2);\n this.parsingContext.literalStack.splice(depth, this.parsingContext.literalStack.length - depth);\n // TODO: just like the literal stack, splice all other stack until the end as well?\n }\n /**\n * Flush buffers for the given depth.\n *\n * This should be called after the last entry at a given depth was processed.\n *\n * @param {number} depth A depth.\n * @param {any[]} keys A stack of keys.\n * @return {Promise} A promise resolving if flushing is done.\n */\n async flushBuffer(depth, keys) {\n let subjects = this.parsingContext.idStack[depth];\n if (!subjects) {\n subjects = this.parsingContext.idStack[depth] = [this.util.dataFactory.blankNode()];\n }\n // Flush values at this level\n const valueBuffer = this.parsingContext.unidentifiedValuesBuffer[depth];\n if (valueBuffer) {\n for (const subject of subjects) {\n const depthOffsetGraph = await this.util.getDepthOffsetGraph(depth, keys);\n const graphs = (this.parsingContext.graphStack[depth] || depthOffsetGraph >= 0)\n ? this.parsingContext.idStack[depth - depthOffsetGraph - 1]\n : [await this.util.getGraphContainerValue(keys, depth)];\n if (graphs) {\n for (const graph of graphs) {\n // Flush values to stream if the graph @id is known\n this.parsingContext.emittedStack[depth] = true;\n for (const bufferedValue of valueBuffer) {\n if (bufferedValue.reverse) {\n this.parsingContext.emitQuad(depth, this.util.dataFactory.quad(bufferedValue.object, bufferedValue.predicate, subject, graph));\n }\n else {\n this.parsingContext.emitQuad(depth, this.util.dataFactory.quad(subject, bufferedValue.predicate, bufferedValue.object, graph));\n }\n }\n }\n }\n else {\n // Place the values in the graphs buffer if the graph @id is not yet known\n const subGraphBuffer = this.parsingContext.getUnidentifiedGraphBufferSafe(depth - await this.util.getDepthOffsetGraph(depth, keys) - 1);\n for (const bufferedValue of valueBuffer) {\n if (bufferedValue.reverse) {\n subGraphBuffer.push({\n object: subject,\n predicate: bufferedValue.predicate,\n subject: bufferedValue.object,\n });\n }\n else {\n subGraphBuffer.push({\n object: bufferedValue.object,\n predicate: bufferedValue.predicate,\n subject,\n });\n }\n }\n }\n }\n this.parsingContext.unidentifiedValuesBuffer.splice(depth, 1);\n this.parsingContext.literalStack.splice(depth, 1);\n this.parsingContext.jsonLiteralStack.splice(depth, 1);\n }\n // Flush graphs at this level\n const graphBuffer = this.parsingContext.unidentifiedGraphsBuffer[depth];\n if (graphBuffer) {\n for (const subject of subjects) {\n // A @graph statement at the root without @id relates to the default graph,\n // unless there are top-level properties,\n // others relate to blank nodes.\n const graph = depth === 1 && subject.termType === 'BlankNode'\n && !this.parsingContext.topLevelProperties ? this.util.getDefaultGraph() : subject;\n this.parsingContext.emittedStack[depth] = true;\n for (const bufferedValue of graphBuffer) {\n this.parsingContext.emitQuad(depth, this.util.dataFactory.quad(bufferedValue.subject, bufferedValue.predicate, bufferedValue.object, graph));\n }\n }\n this.parsingContext.unidentifiedGraphsBuffer.splice(depth, 1);\n }\n }\n /**\n * Check if at least one {@link IEntryHandler} validates the entry to true.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth A depth.\n * @param {boolean} inProperty If the current depth is part of a valid property node.\n * @return {Promise<{ valid: boolean, property: boolean }>} A promise resolving to true or false.\n */\n async validateKey(keys, depth, inProperty) {\n for (const entryHandler of JsonLdParser.ENTRY_HANDLERS) {\n if (await entryHandler.validate(this.parsingContext, this.util, keys, depth, inProperty)) {\n return { valid: true, property: inProperty || entryHandler.isPropertyHandler() };\n }\n }\n return { valid: false, property: false };\n }\n /**\n * Attach all required listeners to the JSON parser.\n *\n * This should only be called once.\n */\n attachJsonParserListeners() {\n // Listen to json parser events\n this.jsonParser.onValue = (value) => {\n const depth = this.jsonParser.stack.length;\n const keys = (new Array(depth + 1).fill(0)).map((v, i) => {\n return i === depth ? this.jsonParser.key : this.jsonParser.stack[i].key;\n });\n if (!this.isParsingContextInner(depth)) { // Don't parse inner nodes inside @context\n const valueJobCb = () => this.newOnValueJob(keys, value, depth, true);\n if (!this.parsingContext.streamingProfile\n && !this.parsingContext.contextTree.getContext(keys.slice(0, -1))) {\n // If an out-of-order context is allowed,\n // we have to buffer everything.\n // We store jobs for @context's and @type's separately,\n // because at the end, we have to process them first.\n // We also handle @type because these *could* introduce a type-scoped context.\n if (keys[depth] === '@context') {\n let jobs = this.contextJobs[depth];\n if (!jobs) {\n jobs = this.contextJobs[depth] = [];\n }\n jobs.push(valueJobCb);\n }\n else if (keys[depth] === '@type'\n || typeof keys[depth] === 'number' && keys[depth - 1] === '@type') { // Also capture @type with array values\n // Remove @type from keys, because we want it to apply to parent later on\n this.typeJobs.push({ job: valueJobCb, keys: keys.slice(0, keys.length - 1) });\n }\n else {\n this.contextAwaitingJobs.push({ job: valueJobCb, keys });\n }\n }\n else {\n // Make sure that our value jobs are chained synchronously\n this.lastOnValueJob = this.lastOnValueJob.then(valueJobCb);\n }\n // Execute all buffered jobs on deeper levels\n if (!this.parsingContext.streamingProfile && depth === 0) {\n this.lastOnValueJob = this.lastOnValueJob\n .then(() => this.executeBufferedJobs());\n }\n }\n };\n this.jsonParser.onError = (error) => {\n this.emit('error', error);\n };\n }\n /**\n * Check if the parser is currently parsing an element that is part of an @context entry.\n * @param {number} depth A depth.\n * @return {boolean} A boolean.\n */\n isParsingContextInner(depth) {\n for (let i = depth; i > 0; i--) {\n if (this.jsonParser.stack[i - 1].key === '@context') {\n return true;\n }\n }\n return false;\n }\n /**\n * Execute all buffered jobs.\n * @return {Promise} A promise resolving if all jobs are finished.\n */\n async executeBufferedJobs() {\n // Handle context jobs\n for (const jobs of this.contextJobs) {\n if (jobs) {\n for (const job of jobs) {\n await job();\n }\n }\n }\n // Clear the keyword cache.\n this.parsingContext.unaliasedKeywordCacheStack.splice(0);\n // Handle non-context jobs\n for (const job of this.contextAwaitingJobs) {\n // Check if we have a type (with possible type-scoped context) that should be handled before.\n // We check all possible parent nodes for the current job, from root to leaves.\n if (this.typeJobs.length > 0) {\n // First collect all applicable type jobs\n const applicableTypeJobs = [];\n const applicableTypeJobIds = [];\n for (let i = 0; i < this.typeJobs.length; i++) {\n const typeJob = this.typeJobs[i];\n if (Util_1.Util.isPrefixArray(typeJob.keys, job.keys)) {\n applicableTypeJobs.push(typeJob);\n applicableTypeJobIds.push(i);\n }\n }\n // Next, sort the jobs from short to long key length (to ensure types higher up in the tree to be handled first)\n const sortedTypeJobs = applicableTypeJobs.sort((job1, job2) => job1.keys.length - job2.keys.length);\n // Finally, execute the jobs in order\n for (const typeJob of sortedTypeJobs) {\n await typeJob.job();\n }\n // Remove the executed type jobs\n // Sort first, so we can efficiently splice\n const sortedApplicableTypeJobIds = applicableTypeJobIds.sort().reverse();\n for (const jobId of sortedApplicableTypeJobIds) {\n this.typeJobs.splice(jobId, 1);\n }\n }\n await job.job();\n }\n }\n}\nexports.JsonLdParser = JsonLdParser;\nJsonLdParser.DEFAULT_PROCESSING_MODE = '1.1';\nJsonLdParser.ENTRY_HANDLERS = [\n new EntryHandlerArrayValue_1.EntryHandlerArrayValue(),\n new EntryHandlerKeywordContext_1.EntryHandlerKeywordContext(),\n new EntryHandlerKeywordId_1.EntryHandlerKeywordId(),\n new EntryHandlerKeywordIncluded_1.EntryHandlerKeywordIncluded(),\n new EntryHandlerKeywordGraph_1.EntryHandlerKeywordGraph(),\n new EntryHandlerKeywordNest_1.EntryHandlerKeywordNest(),\n new EntryHandlerKeywordType_1.EntryHandlerKeywordType(),\n new EntryHandlerKeywordValue_1.EntryHandlerKeywordValue(),\n new EntryHandlerContainer_1.EntryHandlerContainer(),\n new EntryHandlerKeywordUnknownFallback_1.EntryHandlerKeywordUnknownFallback(),\n new EntryHandlerPredicate_1.EntryHandlerPredicate(),\n new EntryHandlerInvalidFallback_1.EntryHandlerInvalidFallback(),\n];\n//# sourceMappingURL=JsonLdParser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParsingContext = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst ErrorCoded_1 = require(\"jsonld-context-parser/lib/ErrorCoded\");\nconst ContextTree_1 = require(\"./ContextTree\");\nconst JsonLdParser_1 = require(\"./JsonLdParser\");\n/**\n * Data holder for parsing information.\n */\nclass ParsingContext {\n constructor(options) {\n // Initialize settings\n this.contextParser = new jsonld_context_parser_1.ContextParser({ documentLoader: options.documentLoader, skipValidation: options.skipContextValidation });\n this.streamingProfile = !!options.streamingProfile;\n this.baseIRI = options.baseIRI;\n this.produceGeneralizedRdf = !!options.produceGeneralizedRdf;\n this.allowSubjectList = !!options.allowSubjectList;\n this.processingMode = options.processingMode || JsonLdParser_1.JsonLdParser.DEFAULT_PROCESSING_MODE;\n this.strictValues = !!options.strictValues;\n this.validateValueIndexes = !!options.validateValueIndexes;\n this.defaultGraph = options.defaultGraph;\n this.rdfDirection = options.rdfDirection;\n this.normalizeLanguageTags = options.normalizeLanguageTags;\n this.streamingProfileAllowOutOfOrderPlainType = options.streamingProfileAllowOutOfOrderPlainType;\n this.topLevelProperties = false;\n this.activeProcessingMode = parseFloat(this.processingMode);\n // Initialize stacks\n this.processingStack = [];\n this.processingType = [];\n this.emittedStack = [];\n this.idStack = [];\n this.graphStack = [];\n this.graphContainerTermStack = [];\n this.listPointerStack = [];\n this.contextTree = new ContextTree_1.ContextTree();\n this.literalStack = [];\n this.validationStack = [];\n this.unaliasedKeywordCacheStack = [];\n this.jsonLiteralStack = [];\n this.unidentifiedValuesBuffer = [];\n this.unidentifiedGraphsBuffer = [];\n this.pendingContainerFlushBuffers = [];\n this.parser = options.parser;\n if (options.context) {\n this.rootContext = this.parseContext(options.context);\n this.rootContext.then((context) => this.validateContext(context));\n }\n else {\n this.rootContext = Promise.resolve(new jsonld_context_parser_1.JsonLdContextNormalized(this.baseIRI ? { '@base': this.baseIRI, '@__baseDocument': true } : {}));\n }\n }\n /**\n * Parse the given context with the configured options.\n * @param {JsonLdContext} context A context to parse.\n * @param {JsonLdContextNormalized} parentContext An optional parent context.\n * @param {boolean} ignoreProtection If @protected term checks should be ignored.\n * @return {Promise} A promise resolving to the parsed context.\n */\n async parseContext(context, parentContext, ignoreProtection) {\n return this.contextParser.parse(context, {\n baseIRI: this.baseIRI,\n ignoreProtection,\n normalizeLanguageTags: this.normalizeLanguageTags,\n parentContext,\n processingMode: this.activeProcessingMode,\n });\n }\n /**\n * Check if the given context is valid.\n * If not, an error will be thrown.\n * @param {JsonLdContextNormalized} context A context.\n */\n validateContext(context) {\n const activeVersion = context.getContextRaw()['@version'];\n if (activeVersion) {\n if (this.activeProcessingMode && activeVersion > this.activeProcessingMode) {\n throw new ErrorCoded_1.ErrorCoded(`Unsupported JSON-LD version '${activeVersion}' under active processing mode ${this.activeProcessingMode}.`, ErrorCoded_1.ERROR_CODES.PROCESSING_MODE_CONFLICT);\n }\n else {\n if (this.activeProcessingMode && activeVersion < this.activeProcessingMode) {\n throw new ErrorCoded_1.ErrorCoded(`Invalid JSON-LD version ${activeVersion} under active processing mode ${this.activeProcessingMode}.`, ErrorCoded_1.ERROR_CODES.INVALID_VERSION_VALUE);\n }\n this.activeProcessingMode = activeVersion;\n }\n }\n }\n /**\n * Get the context at the given path.\n * @param {keys} keys The path of keys to get the context at.\n * @param {number} offset The path offset, defaults to 1.\n * @return {Promise} A promise resolving to a context.\n */\n async getContext(keys, offset = 1) {\n const keysOriginal = keys;\n // Ignore array keys at the end\n while (typeof keys[keys.length - 1] === 'number') {\n keys = keys.slice(0, keys.length - 1);\n }\n // Handle offset on keys\n if (offset) {\n keys = keys.slice(0, -offset);\n }\n // Determine the closest context\n const contextData = await this.getContextPropagationAware(keys);\n const context = contextData.context;\n // Process property-scoped contexts (high-to-low)\n let contextRaw = context.getContextRaw();\n for (let i = contextData.depth; i < keysOriginal.length - offset; i++) {\n const key = keysOriginal[i];\n const contextKeyEntry = contextRaw[key];\n if (contextKeyEntry && typeof contextKeyEntry === 'object' && '@context' in contextKeyEntry) {\n const scopedContext = (await this.parseContext(contextKeyEntry, contextRaw, true)).getContextRaw();\n const propagate = !(key in scopedContext)\n || scopedContext[key]['@context']['@propagate']; // Propagation is true by default\n if (propagate !== false || i === keysOriginal.length - 1 - offset) {\n contextRaw = scopedContext;\n // Clean up final context\n delete contextRaw['@propagate'];\n contextRaw[key] = Object.assign({}, contextRaw[key]);\n if ('@id' in contextKeyEntry) {\n contextRaw[key]['@id'] = contextKeyEntry['@id'];\n }\n delete contextRaw[key]['@context'];\n if (propagate !== false) {\n this.contextTree.setContext(keysOriginal.slice(0, i + offset), Promise.resolve(new jsonld_context_parser_1.JsonLdContextNormalized(contextRaw)));\n }\n }\n }\n }\n return new jsonld_context_parser_1.JsonLdContextNormalized(contextRaw);\n }\n /**\n * Get the context at the given path.\n * Non-propagating contexts will be skipped,\n * unless the context at that exact depth is retrieved.\n *\n * This ONLY takes into account context propagation logic,\n * so this should usually not be called directly,\n * call {@link #getContext} instead.\n *\n * @param keys The path of keys to get the context at.\n * @return {Promise<{ context: JsonLdContextNormalized, depth: number }>} A context and its depth.\n */\n async getContextPropagationAware(keys) {\n const originalDepth = keys.length;\n let contextData = null;\n let hasApplicablePropertyScopedContext;\n do {\n hasApplicablePropertyScopedContext = false;\n if (contextData && '@__propagateFallback' in contextData.context.getContextRaw()) {\n // If a propagation fallback context has been set,\n // fallback to that context and retry for the same depth.\n contextData.context = new jsonld_context_parser_1.JsonLdContextNormalized(contextData.context.getContextRaw()['@__propagateFallback']);\n }\n else {\n if (contextData) {\n // If we had a previous iteration, jump to the parent of context depth.\n // We must do this because once we get here, last context had propagation disabled,\n // so we check its first parent instead.\n keys = keys.slice(0, contextData.depth - 1);\n }\n contextData = await this.contextTree.getContext(keys) || { context: await this.rootContext, depth: 0 };\n }\n // Allow non-propagating contexts to propagate one level deeper\n // if it defines a property-scoped context that is applicable for the current key.\n // @see https://w3c.github.io/json-ld-api/tests/toRdf-manifest#tc012\n const lastKey = keys[keys.length - 1];\n if (lastKey in contextData.context.getContextRaw()) {\n const lastKeyValue = contextData.context.getContextRaw()[lastKey];\n if (lastKeyValue && typeof lastKeyValue === 'object' && '@context' in lastKeyValue) {\n hasApplicablePropertyScopedContext = true;\n }\n }\n } while (contextData.depth > 0 // Root context has a special case\n && contextData.context.getContextRaw()['@propagate'] === false // Stop loop if propagation is true\n && contextData.depth !== originalDepth // Stop loop if requesting exact depth of non-propagating\n && !hasApplicablePropertyScopedContext);\n // Special case for root context that does not allow propagation.\n // Fallback to empty context in that case.\n if (contextData.depth === 0\n && contextData.context.getContextRaw()['@propagate'] === false\n && contextData.depth !== originalDepth) {\n contextData.context = new jsonld_context_parser_1.JsonLdContextNormalized({});\n }\n return contextData;\n }\n /**\n * Start a new job for parsing the given value.\n * @param {any[]} keys The stack of keys.\n * @param value The value to parse.\n * @param {number} depth The depth to parse at.\n * @param {boolean} lastDepthCheck If the lastDepth check should be done for buffer draining.\n * @return {Promise} A promise resolving when the job is done.\n */\n async newOnValueJob(keys, value, depth, lastDepthCheck) {\n await this.parser.newOnValueJob(keys, value, depth, lastDepthCheck);\n }\n /**\n * Flush the pending container flush buffers\n * @return {boolean} If any pending buffers were flushed.\n */\n async handlePendingContainerFlushBuffers() {\n if (this.pendingContainerFlushBuffers.length > 0) {\n for (const pendingFlushBuffer of this.pendingContainerFlushBuffers) {\n await this.parser.flushBuffer(pendingFlushBuffer.depth, pendingFlushBuffer.keys);\n this.parser.flushStacks(pendingFlushBuffer.depth);\n }\n this.pendingContainerFlushBuffers.splice(0, this.pendingContainerFlushBuffers.length);\n return true;\n }\n else {\n return false;\n }\n }\n /**\n * Emit the given quad into the output stream.\n * @param {number} depth The depth the quad was generated at.\n * @param {Quad} quad A quad to emit.\n */\n emitQuad(depth, quad) {\n if (depth === 1) {\n this.topLevelProperties = true;\n }\n this.parser.push(quad);\n }\n /**\n * Emit the given error into the output stream.\n * @param {Error} error An error to emit.\n */\n emitError(error) {\n this.parser.emit('error', error);\n }\n /**\n * Emit the given context into the output stream under the 'context' event.\n * @param {JsonLdContext} context A context to emit.\n */\n emitContext(context) {\n this.parser.emit('context', context);\n }\n /**\n * Safely get or create the depth value of {@link ParsingContext.unidentifiedValuesBuffer}.\n * @param {number} depth A depth.\n * @return {{predicate: Term; object: Term; reverse: boolean}[]} An element of\n * {@link ParsingContext.unidentifiedValuesBuffer}.\n */\n getUnidentifiedValueBufferSafe(depth) {\n let buffer = this.unidentifiedValuesBuffer[depth];\n if (!buffer) {\n buffer = [];\n this.unidentifiedValuesBuffer[depth] = buffer;\n }\n return buffer;\n }\n /**\n * Safely get or create the depth value of {@link ParsingContext.unidentifiedGraphsBuffer}.\n * @param {number} depth A depth.\n * @return {{predicate: Term; object: Term; reverse: boolean}[]} An element of\n * {@link ParsingContext.unidentifiedGraphsBuffer}.\n */\n getUnidentifiedGraphBufferSafe(depth) {\n let buffer = this.unidentifiedGraphsBuffer[depth];\n if (!buffer) {\n buffer = [];\n this.unidentifiedGraphsBuffer[depth] = buffer;\n }\n return buffer;\n }\n /**\n * @return IExpandOptions The expand options for the active processing mode.\n */\n getExpandOptions() {\n return ParsingContext.EXPAND_OPTIONS[this.activeProcessingMode];\n }\n /**\n * Shift the stack at the given offset to the given depth.\n *\n * This will override anything in the stack at `depth`,\n * and this will remove anything at `depth + depthOffset`\n *\n * @param depth The target depth.\n * @param depthOffset The origin depth, relative to `depth`.\n */\n shiftStack(depth, depthOffset) {\n // Copy the id stack value up one level so that the next job can access the id.\n const deeperIdStack = this.idStack[depth + depthOffset];\n if (deeperIdStack) {\n this.idStack[depth] = deeperIdStack;\n this.emittedStack[depth] = true;\n delete this.idStack[depth + depthOffset];\n }\n // Shorten key stack\n if (this.pendingContainerFlushBuffers.length) {\n for (const buffer of this.pendingContainerFlushBuffers) {\n if (buffer.depth >= depth + depthOffset) {\n buffer.depth -= depthOffset;\n buffer.keys.splice(depth, depthOffset);\n }\n }\n }\n // Splice stacks\n if (this.unidentifiedValuesBuffer[depth + depthOffset]) {\n this.unidentifiedValuesBuffer[depth] = this.unidentifiedValuesBuffer[depth + depthOffset];\n delete this.unidentifiedValuesBuffer[depth + depthOffset];\n }\n // TODO: also do the same for other stacks\n }\n}\nexports.ParsingContext = ParsingContext;\nParsingContext.EXPAND_OPTIONS = {\n 1.0: {\n allowPrefixForcing: false,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: false,\n },\n 1.1: {\n allowPrefixForcing: true,\n allowPrefixNonGenDelims: false,\n allowVocabRelativeToBase: true,\n },\n};\n//# sourceMappingURL=ParsingContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst EntryHandlerContainer_1 = require(\"./entryhandler/EntryHandlerContainer\");\n// tslint:disable-next-line:no-var-requires\nconst canonicalizeJson = require('canonicalize');\n/**\n * Utility functions and methods.\n */\nclass Util {\n constructor(options) {\n this.parsingContext = options.parsingContext;\n this.dataFactory = options.dataFactory || new rdf_data_factory_1.DataFactory();\n this.rdfFirst = this.dataFactory.namedNode(Util.RDF + 'first');\n this.rdfRest = this.dataFactory.namedNode(Util.RDF + 'rest');\n this.rdfNil = this.dataFactory.namedNode(Util.RDF + 'nil');\n this.rdfType = this.dataFactory.namedNode(Util.RDF + 'type');\n this.rdfJson = this.dataFactory.namedNode(Util.RDF + 'JSON');\n }\n /**\n * Helper function to get the value of a context entry,\n * or fallback to a certain value.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} contextKey A pre-defined JSON-LD key in context entries.\n * @param {string} key A context entry key.\n * @param {string} fallback A fallback value for when the given contextKey\n * could not be found in the value with the given key.\n * @return {string} The value of the given contextKey in the entry behind key in the given context,\n * or the given fallback value.\n */\n static getContextValue(context, contextKey, key, fallback) {\n const entry = context.getContextRaw()[key];\n if (!entry) {\n return fallback;\n }\n const type = entry[contextKey];\n return type === undefined ? fallback : type;\n }\n /**\n * Get the container type of the given key in the context.\n *\n * Should any context-scoping bugs should occur related to this in the future,\n * it may be required to increase the offset from the depth at which the context is retrieved by one (to 2).\n * This is because containers act 2 levels deep.\n *\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The container type.\n */\n static getContextValueContainer(context, key) {\n return Util.getContextValue(context, '@container', key, { '@set': true });\n }\n /**\n * Get the value type of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueType(context, key) {\n const valueType = Util.getContextValue(context, '@type', key, null);\n if (valueType === '@none') {\n return null;\n }\n return valueType;\n }\n /**\n * Get the language of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueLanguage(context, key) {\n return Util.getContextValue(context, '@language', key, context.getContextRaw()['@language'] || null);\n }\n /**\n * Get the direction of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The node type.\n */\n static getContextValueDirection(context, key) {\n return Util.getContextValue(context, '@direction', key, context.getContextRaw()['@direction'] || null);\n }\n /**\n * Check if the given key in the context is a reversed property.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {boolean} If the context value has a @reverse key.\n */\n static isContextValueReverse(context, key) {\n return !!Util.getContextValue(context, '@reverse', key, null);\n }\n /**\n * Get the @index of the given key in the context.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key A context entry key.\n * @return {string} The index.\n */\n static getContextValueIndex(context, key) {\n return Util.getContextValue(context, '@index', key, context.getContextRaw()['@index'] || null);\n }\n /**\n * Check if the given key refers to a reversed property.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The property key.\n * @param {string} parentKey The parent key.\n * @return {boolean} If the property must be reversed.\n */\n static isPropertyReverse(context, key, parentKey) {\n // '!==' is needed because reversed properties in a @reverse container should cancel each other out.\n return parentKey === '@reverse' !== Util.isContextValueReverse(context, key);\n }\n /**\n * Check if the given IRI is valid.\n * @param {string} iri A potential IRI.\n * @return {boolean} If the given IRI is valid.\n */\n static isValidIri(iri) {\n return iri !== null && jsonld_context_parser_1.Util.isValidIri(iri);\n }\n /**\n * Check if the given first array (needle) is a prefix of the given second array (haystack).\n * @param needle An array to check if it is a prefix.\n * @param haystack An array to look in.\n */\n static isPrefixArray(needle, haystack) {\n if (needle.length > haystack.length) {\n return false;\n }\n for (let i = 0; i < needle.length; i++) {\n if (needle[i] !== haystack[i]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Make sure that @id-@index pairs are equal over all array values.\n * Reject otherwise.\n * @param {any[]} value An array value.\n * @return {Promise} A promise rejecting if conflicts are present.\n */\n async validateValueIndexes(value) {\n if (this.parsingContext.validateValueIndexes) {\n const indexHashes = {};\n for (const entry of value) {\n if (entry && typeof entry === 'object') {\n const id = entry['@id'];\n const index = entry['@index'];\n if (id && index) {\n const existingIndexValue = indexHashes[id];\n if (existingIndexValue && existingIndexValue !== index) {\n throw new jsonld_context_parser_1.ErrorCoded(`Conflicting @index value for ${id}`, jsonld_context_parser_1.ERROR_CODES.CONFLICTING_INDEXES);\n }\n indexHashes[id] = index;\n }\n }\n }\n }\n }\n /**\n * Convert a given JSON value to an RDF term.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The current JSON key.\n * @param value A JSON value.\n * @param {number} depth The depth the value is at.\n * @param {string[]} keys The path of keys.\n * @return {Promise} An RDF term array.\n */\n async valueToTerm(context, key, value, depth, keys) {\n // Skip further processing if we have an @type: @json\n if (Util.getContextValueType(context, key) === '@json') {\n return [this.dataFactory.literal(this.valueToJsonString(value), this.rdfJson)];\n }\n const type = typeof value;\n switch (type) {\n case 'object':\n // Skip if we have a null or undefined object\n if (value === null || value === undefined) {\n return [];\n }\n // Special case for arrays\n if (Array.isArray(value)) {\n // We handle arrays at value level so we can emit earlier, so this is handled already when we get here.\n // Empty context-based lists are emitted at this place, because our streaming algorithm doesn't detect those.\n if ('@list' in Util.getContextValueContainer(context, key)) {\n if (value.length === 0) {\n return [this.rdfNil];\n }\n else {\n return this.parsingContext.idStack[depth + 1] || [];\n }\n }\n await this.validateValueIndexes(value);\n return [];\n }\n // Handle property-scoped contexts\n context = await this.getContextSelfOrPropertyScoped(context, key);\n // Handle local context in the value\n if ('@context' in value) {\n context = await this.parsingContext.parseContext(value['@context'], (await this.parsingContext.getContext(keys, 0)).getContextRaw());\n }\n // In all other cases, we have a hash\n value = await this.unaliasKeywords(value, keys, depth, context); // Un-alias potential keywords in this hash\n if ('@value' in value) {\n let val;\n let valueLanguage;\n let valueDirection;\n let valueType;\n let valueIndex; // We don't use the index, but we need to check its type for spec-compliance\n for (key in value) {\n const subValue = value[key];\n switch (key) {\n case '@value':\n val = subValue;\n break;\n case '@language':\n valueLanguage = subValue;\n break;\n case '@direction':\n valueDirection = subValue;\n break;\n case '@type':\n valueType = subValue;\n break;\n case '@index':\n valueIndex = subValue;\n break;\n default:\n throw new jsonld_context_parser_1.ErrorCoded(`Unknown value entry '${key}' in @value: ${JSON.stringify(value)}`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n }\n // Skip further processing if we have an @type: @json\n if (await this.unaliasKeyword(valueType, keys, depth, true, context) === '@json') {\n return [this.dataFactory.literal(this.valueToJsonString(val), this.rdfJson)];\n }\n // Validate @value\n if (val === null) {\n return [];\n }\n if (typeof val === 'object') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@value' can not be an object, got '${JSON.stringify(val)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT_VALUE);\n }\n // Validate @index\n if (this.parsingContext.validateValueIndexes && valueIndex && typeof valueIndex !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@index' must be a string, got '${JSON.stringify(valueIndex)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INDEX_VALUE);\n }\n // Validate @language and @direction\n if (valueLanguage) {\n if (typeof val !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`When an '@language' is set, the value of '@value' must be a string, got '${JSON.stringify(val)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_TAGGED_VALUE);\n }\n if (!jsonld_context_parser_1.ContextParser.validateLanguage(valueLanguage, this.parsingContext.strictValues, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_TAGGED_STRING)) {\n return [];\n }\n // Language tags are always normalized to lowercase in 1.0.\n if (this.parsingContext.normalizeLanguageTags || this.parsingContext.activeProcessingMode === 1.0) {\n valueLanguage = valueLanguage.toLowerCase();\n }\n }\n if (valueDirection) {\n if (typeof val !== 'string') {\n throw new Error(`When an '@direction' is set, the value of '@value' must be a string, got '${JSON.stringify(val)}'`);\n }\n if (!jsonld_context_parser_1.ContextParser.validateDirection(valueDirection, this.parsingContext.strictValues)) {\n return [];\n }\n }\n // Check @language and @direction\n if (valueLanguage && valueDirection && this.parsingContext.rdfDirection) {\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have '@language', '@direction' and '@type' in a value: '${JSON\n .stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return this.nullableTermToArray(this\n .createLanguageDirectionLiteral(depth, val, valueLanguage, valueDirection));\n }\n else if (valueLanguage) { // Check @language\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have both '@language' and '@type' in a value: '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return [this.dataFactory.literal(val, valueLanguage)];\n }\n else if (valueDirection && this.parsingContext.rdfDirection) { // Check @direction\n if (valueType) {\n throw new jsonld_context_parser_1.ErrorCoded(`Can not have both '@direction' and '@type' in a value: '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n return this.nullableTermToArray(this\n .createLanguageDirectionLiteral(depth, val, valueLanguage, valueDirection));\n }\n else if (valueType) { // Validate @type\n if (typeof valueType !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(valueType)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n const typeTerm = this.createVocabOrBaseTerm(context, valueType);\n if (!typeTerm) {\n throw new jsonld_context_parser_1.ErrorCoded(`Invalid '@type' value, got '${JSON.stringify(valueType)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n if (typeTerm.termType !== 'NamedNode') {\n throw new jsonld_context_parser_1.ErrorCoded(`Illegal value type (${typeTerm.termType}): ${valueType}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPED_VALUE);\n }\n return [this.dataFactory.literal(val, typeTerm)];\n }\n // We don't pass the context, because context-based things like @language should be ignored\n return await this.valueToTerm(new jsonld_context_parser_1.JsonLdContextNormalized({}), key, val, depth, keys);\n }\n else if ('@set' in value) {\n // No other entries are allow in this value\n if (Object.keys(value).length > 1) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);\n }\n // No need to do anything here, this is handled at the deeper level.\n return [];\n }\n else if ('@list' in value) {\n // No other entries are allowed in this value\n if (Object.keys(value).length > 1) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);\n }\n const listValue = value[\"@list\"];\n // We handle lists at value level so we can emit earlier, so this is handled already when we get here.\n // Empty anonymous lists are emitted at this place, because our streaming algorithm doesn't detect those.\n if (Array.isArray(listValue)) {\n if (listValue.length === 0) {\n return [this.rdfNil];\n }\n else {\n return this.parsingContext.idStack[depth + 1] || [];\n }\n }\n else {\n // We only have a single list element here, so emit this directly as single element\n return await this.valueToTerm(await this.parsingContext.getContext(keys), key, listValue, depth - 1, keys.slice(0, -1));\n }\n }\n else if ('@reverse' in value && typeof value['@reverse'] === 'boolean') {\n // We handle reverse properties at value level so we can emit earlier,\n // so this is handled already when we get here.\n return [];\n }\n else if ('@graph' in Util.getContextValueContainer(await this.parsingContext.getContext(keys), key)) {\n // We are processing a graph container\n const graphContainerEntries = this.parsingContext.graphContainerTermStack[depth + 1];\n return graphContainerEntries ? Object.values(graphContainerEntries) : [this.dataFactory.blankNode()];\n }\n else if (\"@id\" in value) {\n // Use deeper context if the value node contains other properties next to @id.\n if (Object.keys(value).length > 1) {\n context = await this.parsingContext.getContext(keys, 0);\n }\n // Handle local context in the value\n if ('@context' in value) {\n context = await this.parsingContext.parseContext(value['@context'], context.getContextRaw());\n }\n if (value[\"@type\"] === '@vocab') {\n return this.nullableTermToArray(this.createVocabOrBaseTerm(context, value[\"@id\"]));\n }\n else {\n return this.nullableTermToArray(this.resourceToTerm(context, value[\"@id\"]));\n }\n }\n else {\n // Only make a blank node if at least one triple was emitted at the value's level.\n if (this.parsingContext.emittedStack[depth + 1]\n || (value && typeof value === 'object' && Object.keys(value).length === 0)) {\n return (this.parsingContext.idStack[depth + 1]\n || (this.parsingContext.idStack[depth + 1] = [this.dataFactory.blankNode()]));\n }\n else {\n return [];\n }\n }\n case 'string':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, value, null));\n case 'boolean':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, Boolean(value).toString(), this.dataFactory.namedNode(Util.XSD_BOOLEAN)));\n case 'number':\n return this.nullableTermToArray(this.stringValueToTerm(depth, await this.getContextSelfOrPropertyScoped(context, key), key, value, this.dataFactory.namedNode(value % 1 === 0 && value < 1e21 ? Util.XSD_INTEGER : Util.XSD_DOUBLE)));\n default:\n this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${type}`));\n return [];\n }\n }\n /**\n * If the context defines a property-scoped context for the given key,\n * that context will be returned.\n * Otherwise, the given context will be returned as-is.\n *\n * This should be used for valueToTerm cases that are not objects.\n * @param context A context.\n * @param key A JSON key.\n */\n async getContextSelfOrPropertyScoped(context, key) {\n const contextKeyEntry = context.getContextRaw()[key];\n if (contextKeyEntry && typeof contextKeyEntry === 'object' && '@context' in contextKeyEntry) {\n context = await this.parsingContext.parseContext(contextKeyEntry, context.getContextRaw(), true);\n }\n return context;\n }\n /**\n * If the given term is null, return an empty array, otherwise return an array with the single given term.\n * @param term A term.\n */\n nullableTermToArray(term) {\n return term ? [term] : [];\n }\n /**\n * Convert a given JSON key to an RDF predicate term,\n * based on @vocab.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node.\n */\n predicateToTerm(context, key) {\n const expanded = context.expandTerm(key, true, this.parsingContext.getExpandOptions());\n // Immediately return if the predicate was disabled in the context\n if (!expanded) {\n return null;\n }\n // Check if the predicate is a blank node\n if (expanded[0] === '_' && expanded[1] === ':') {\n if (this.parsingContext.produceGeneralizedRdf) {\n return this.dataFactory.blankNode(expanded.substr(2));\n }\n else {\n return null;\n }\n }\n // Check if the predicate is a valid IRI\n if (Util.isValidIri(expanded)) {\n return this.dataFactory.namedNode(expanded);\n }\n else {\n if (expanded && this.parsingContext.strictValues) {\n this.parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Invalid predicate IRI: ${expanded}`, jsonld_context_parser_1.ERROR_CODES.INVALID_IRI_MAPPING));\n }\n else {\n return null;\n }\n }\n return null;\n }\n /**\n * Convert a given JSON key to an RDF resource term or blank node,\n * based on @base.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node or null.\n */\n resourceToTerm(context, key) {\n if (key.startsWith('_:')) {\n return this.dataFactory.blankNode(key.substr(2));\n }\n const iri = context.expandTerm(key, false, this.parsingContext.getExpandOptions());\n if (!Util.isValidIri(iri)) {\n if (iri && this.parsingContext.strictValues) {\n this.parsingContext.emitError(new Error(`Invalid resource IRI: ${iri}`));\n }\n else {\n return null;\n }\n }\n return this.dataFactory.namedNode(iri);\n }\n /**\n * Convert a given JSON key to an RDF resource term.\n * It will do this based on the @vocab,\n * and fallback to @base.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param key A JSON key.\n * @return {RDF.NamedNode} An RDF named node or null.\n */\n createVocabOrBaseTerm(context, key) {\n if (key.startsWith('_:')) {\n return this.dataFactory.blankNode(key.substr(2));\n }\n const expandOptions = this.parsingContext.getExpandOptions();\n let expanded = context.expandTerm(key, true, expandOptions);\n if (expanded === key) {\n expanded = context.expandTerm(key, false, expandOptions);\n }\n if (!Util.isValidIri(expanded)) {\n if (expanded && this.parsingContext.strictValues && !expanded.startsWith('@')) {\n this.parsingContext.emitError(new Error(`Invalid term IRI: ${expanded}`));\n }\n else {\n return null;\n }\n }\n return this.dataFactory.namedNode(expanded);\n }\n /**\n * Ensure that the given value becomes a string.\n * @param {string | number} value A string or number.\n * @param {NamedNode} datatype The intended datatype.\n * @return {string} The returned string.\n */\n intToString(value, datatype) {\n if (typeof value === 'number') {\n if (Number.isFinite(value)) {\n const isInteger = value % 1 === 0;\n if (isInteger && (!datatype || datatype.value !== Util.XSD_DOUBLE)) {\n return Number(value).toString();\n }\n else {\n return value.toExponential(15).replace(/(\\d)0*e\\+?/, '$1E');\n }\n }\n else {\n return value > 0 ? 'INF' : '-INF';\n }\n }\n else {\n return value;\n }\n }\n /**\n * Convert a given JSON string value to an RDF term.\n * @param {number} depth The current stack depth.\n * @param {JsonLdContextNormalized} context A JSON-LD context.\n * @param {string} key The current JSON key.\n * @param {string} value A JSON value.\n * @param {NamedNode} defaultDatatype The default datatype for the given value.\n * @return {RDF.Term} An RDF term or null.\n */\n stringValueToTerm(depth, context, key, value, defaultDatatype) {\n // Check the datatype from the context\n const contextType = Util.getContextValueType(context, key);\n if (contextType) {\n if (contextType === '@id') {\n if (!defaultDatatype) {\n return this.resourceToTerm(context, this.intToString(value, defaultDatatype));\n }\n }\n else if (contextType === '@vocab') {\n if (!defaultDatatype) {\n return this.createVocabOrBaseTerm(context, this.intToString(value, defaultDatatype));\n }\n }\n else {\n defaultDatatype = this.dataFactory.namedNode(contextType);\n }\n }\n // If we don't find such a datatype, check the language from the context\n if (!defaultDatatype) {\n const contextLanguage = Util.getContextValueLanguage(context, key);\n const contextDirection = Util.getContextValueDirection(context, key);\n if (contextDirection && this.parsingContext.rdfDirection) {\n return this.createLanguageDirectionLiteral(depth, this.intToString(value, defaultDatatype), contextLanguage, contextDirection);\n }\n else {\n return this.dataFactory.literal(this.intToString(value, defaultDatatype), contextLanguage);\n }\n }\n // If all else fails, make a literal based on the default content type\n return this.dataFactory.literal(this.intToString(value, defaultDatatype), defaultDatatype);\n }\n /**\n * Create a literal for the given value with the given language and direction.\n * Auxiliary quads may be emitted.\n * @param {number} depth The current stack depth.\n * @param {string} value A string value.\n * @param {string} language A language tag.\n * @param {string} direction A direction.\n * @return {Term} An RDF term.\n */\n createLanguageDirectionLiteral(depth, value, language, direction) {\n if (this.parsingContext.rdfDirection === 'i18n-datatype') {\n // Create a datatyped literal, by encoding the language and direction into https://www.w3.org/ns/i18n#.\n if (!language) {\n language = '';\n }\n return this.dataFactory.literal(value, this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${language}_${direction}`));\n }\n else {\n // Reify the literal.\n const valueNode = this.dataFactory.blankNode();\n const graph = this.getDefaultGraph();\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'value'), this.dataFactory.literal(value), graph));\n if (language) {\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'language'), this.dataFactory.literal(language), graph));\n }\n this.parsingContext.emitQuad(depth, this.dataFactory.quad(valueNode, this.dataFactory.namedNode(Util.RDF + 'direction'), this.dataFactory.literal(direction), graph));\n return valueNode;\n }\n }\n /**\n * Stringify the given JSON object to a canonical JSON string.\n * @param value Any valid JSON value.\n * @return {string} A canonical JSON string.\n */\n valueToJsonString(value) {\n return canonicalizeJson(value);\n }\n /**\n * If the key is not a keyword, try to check if it is an alias for a keyword,\n * and if so, un-alias it.\n * @param {string} key A key, can be falsy.\n * @param {string[]} keys The path of keys.\n * @param {number} depth The depth to\n * @param {boolean} disableCache If the cache should be disabled\n * @param {JsonLdContextNormalized} context A context to unalias with,\n * will fallback to retrieving the context for the given keys.\n * @return {Promise} A promise resolving to the key itself, or another key.\n */\n async unaliasKeyword(key, keys, depth, disableCache, context) {\n // Numbers can not be an alias\n if (Number.isInteger(key)) {\n return key;\n }\n // Try to grab from cache if it was already un-aliased before.\n if (!disableCache) {\n const cachedUnaliasedKeyword = this.parsingContext.unaliasedKeywordCacheStack[depth];\n if (cachedUnaliasedKeyword) {\n return cachedUnaliasedKeyword;\n }\n }\n if (!jsonld_context_parser_1.Util.isPotentialKeyword(key)) {\n context = context || await this.parsingContext.getContext(keys);\n let unliased = context.getContextRaw()[key];\n if (unliased && typeof unliased === 'object') {\n unliased = unliased['@id'];\n }\n if (jsonld_context_parser_1.Util.isValidKeyword(unliased)) {\n key = unliased;\n }\n }\n return disableCache ? key : (this.parsingContext.unaliasedKeywordCacheStack[depth] = key);\n }\n /**\n * Unalias the keyword of the parent.\n * This adds a safety check if no parent exist.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth The current depth.\n * @return {Promise} A promise resolving to the parent key, or another key.\n */\n async unaliasKeywordParent(keys, depth) {\n return await this.unaliasKeyword(depth > 0 && keys[depth - 1], keys, depth - 1);\n }\n /**\n * Un-alias all keywords in the given hash.\n * @param {{[p: string]: any}} hash A hash object.\n * @param {string[]} keys The path of keys.\n * @param {number} depth The depth.\n * @param {JsonLdContextNormalized} context A context to unalias with,\n * will fallback to retrieving the context for the given keys.\n * @return {Promise<{[p: string]: any}>} A promise resolving to the new hash.\n */\n async unaliasKeywords(hash, keys, depth, context) {\n const newHash = {};\n for (const key in hash) {\n newHash[await this.unaliasKeyword(key, keys, depth + 1, true, context)] = hash[key];\n }\n return newHash;\n }\n /**\n * Check if we are processing a literal (including JSON literals) at the given depth.\n * This will also check higher levels,\n * because if a parent is a literal,\n * then the deeper levels are definitely a literal as well.\n * @param {number} depth The depth.\n * @return {boolean} If we are processing a literal.\n */\n isLiteral(depth) {\n for (let i = depth; i >= 0; i--) {\n if (this.parsingContext.literalStack[i] || this.parsingContext.jsonLiteralStack[i]) {\n return true;\n }\n }\n return false;\n }\n /**\n * Check how many parents should be skipped for checking the @graph for the given node.\n *\n * @param {number} depth The depth of the node.\n * @param {any[]} keys An array of keys.\n * @return {number} The graph depth offset.\n */\n async getDepthOffsetGraph(depth, keys) {\n for (let i = depth - 1; i > 0; i--) {\n if (await this.unaliasKeyword(keys[i], keys, i) === '@graph') {\n // Skip further processing if we are already in an @graph-@id or @graph-@index container\n const containers = (await EntryHandlerContainer_1.EntryHandlerContainer.getContainerHandler(this.parsingContext, keys, i)).containers;\n if (EntryHandlerContainer_1.EntryHandlerContainer.isComplexGraphContainer(containers)) {\n return -1;\n }\n return depth - i - 1;\n }\n }\n return -1;\n }\n /**\n * Check if the given subject is of a valid type.\n * This should be called when applying @reverse'd properties.\n * @param {Term} subject A subject.\n */\n validateReverseSubject(subject) {\n if (subject.termType === 'Literal') {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal literal in subject position: ${subject.value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE);\n }\n }\n /**\n * Get the default graph.\n * @return {Term} An RDF term.\n */\n getDefaultGraph() {\n return this.parsingContext.defaultGraph || this.dataFactory.defaultGraph();\n }\n /**\n * Get the current graph, while taking into account a graph that can be defined via @container: @graph.\n * If not within a graph container, the default graph will be returned.\n * @param keys The current keys.\n * @param depth The current depth.\n */\n async getGraphContainerValue(keys, depth) {\n // Default to default graph\n let graph = this.getDefaultGraph();\n // Check if we are in an @container: @graph.\n const { containers, depth: depthContainer } = await EntryHandlerContainer_1.EntryHandlerContainer\n .getContainerHandler(this.parsingContext, keys, depth);\n if ('@graph' in containers) {\n // Get the graph from the stack.\n const graphContainerIndex = EntryHandlerContainer_1.EntryHandlerContainer.getContainerGraphIndex(containers, depthContainer, keys);\n const entry = this.parsingContext.graphContainerTermStack[depthContainer];\n graph = entry ? entry[graphContainerIndex] : null;\n // Set the graph in the stack if none has been set yet.\n if (!graph) {\n let graphId = null;\n if ('@id' in containers) {\n const keyUnaliased = await this.getContainerKey(keys[depthContainer], keys, depthContainer);\n if (keyUnaliased !== null) {\n graphId = await this.resourceToTerm(await this.parsingContext.getContext(keys), keyUnaliased);\n }\n }\n if (!graphId) {\n graphId = this.dataFactory.blankNode();\n }\n if (!this.parsingContext.graphContainerTermStack[depthContainer]) {\n this.parsingContext.graphContainerTermStack[depthContainer] = {};\n }\n graph = this.parsingContext.graphContainerTermStack[depthContainer][graphContainerIndex] = graphId;\n }\n }\n return graph;\n }\n /**\n * Get the properties depth for retrieving properties.\n *\n * Typically, the properties depth will be identical to the given depth.\n *\n * The following exceptions apply:\n * * When the parent is @reverse, the depth is decremented by one.\n * * When @nest parents are found, the depth is decremented by the number of @nest parents.\n * If in combination with the exceptions above an intermediary array is discovered,\n * the depth is also decremented by this number of arrays.\n *\n * @param keys The current key chain.\n * @param depth The current depth.\n */\n async getPropertiesDepth(keys, depth) {\n let lastValidDepth = depth;\n for (let i = depth - 1; i > 0; i--) {\n if (typeof keys[i] !== 'number') { // Skip array keys\n const parentKey = await this.unaliasKeyword(keys[i], keys, i);\n if (parentKey === '@reverse') {\n return i;\n }\n else if (parentKey === '@nest') {\n lastValidDepth = i;\n }\n else {\n return lastValidDepth;\n }\n }\n }\n return lastValidDepth;\n }\n /**\n * Get the key for the current container entry.\n * @param key A key, can be falsy.\n * @param keys The key chain.\n * @param depth The current depth to get the key from.\n * @return Promise resolving to the key.\n * Null will be returned for @none entries, with aliasing taken into account.\n */\n async getContainerKey(key, keys, depth) {\n const keyUnaliased = await this.unaliasKeyword(key, keys, depth);\n return keyUnaliased === '@none' ? null : keyUnaliased;\n }\n}\nexports.Util = Util;\nUtil.XSD = 'http://www.w3.org/2001/XMLSchema#';\nUtil.XSD_BOOLEAN = Util.XSD + 'boolean';\nUtil.XSD_INTEGER = Util.XSD + 'integer';\nUtil.XSD_DOUBLE = Util.XSD + 'double';\nUtil.RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\n//# sourceMappingURL=Util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerIdentifier = void 0;\n/**\n * Container handler for @id.\n *\n * It assumes that the current key is the identifier of the current value.\n * This will add this value to the parent node.\n */\nclass ContainerHandlerIdentifier {\n canCombineWithGraph() {\n return true;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n let id;\n // First check if the child node already has a defined id.\n if (parsingContext.emittedStack[depth + 1] && parsingContext.idStack[depth + 1]) {\n // Use the existing identifier\n id = parsingContext.idStack[depth + 1][0];\n }\n else {\n // Create the identifier\n const keyUnaliased = await util.getContainerKey(keys[depth], keys, depth);\n const maybeId = keyUnaliased !== null\n ? await util.resourceToTerm(await parsingContext.getContext(keys), keys[depth])\n : util.dataFactory.blankNode();\n // Do nothing if the id is invalid\n if (!maybeId) {\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n return;\n }\n id = maybeId;\n // Insert the id into the stack so that buffered children can make us of it.\n parsingContext.idStack[depth + 1] = [id];\n }\n // Insert the id into the stack so that parents can make use of it.\n // Insert it as an array because multiple id container entries may exist\n let ids = parsingContext.idStack[depth];\n if (!ids) {\n ids = parsingContext.idStack[depth] = [];\n }\n // Only insert the term if it does not exist yet in the array.\n if (!ids.some((term) => term.equals(id))) {\n ids.push(id);\n }\n // Flush any pending flush buffers\n if (!await parsingContext.handlePendingContainerFlushBuffers()) {\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n }\n }\n}\nexports.ContainerHandlerIdentifier = ContainerHandlerIdentifier;\n//# sourceMappingURL=ContainerHandlerIdentifier.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerIndex = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerPredicate_1 = require(\"../entryhandler/EntryHandlerPredicate\");\nconst Util_1 = require(\"../Util\");\n/**\n * Container handler for @index.\n *\n * This will ignore the current key and add this entry to the parent node.\n */\nclass ContainerHandlerIndex {\n canCombineWithGraph() {\n return true;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n if (!Array.isArray(value)) {\n const graphContainer = '@graph' in containers;\n // Check if the container is a property-based container by checking if there is a valid @index.\n const context = await parsingContext.getContext(keys);\n const indexKey = keys[depth - 1];\n const indexPropertyRaw = Util_1.Util.getContextValueIndex(context, indexKey);\n if (indexPropertyRaw) {\n // Validate the @index value\n if (jsonld_context_parser_1.Util.isPotentialKeyword(indexPropertyRaw)) {\n throw new jsonld_context_parser_1.ErrorCoded(`Keywords can not be used as @index value, got: ${indexPropertyRaw}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n if (typeof indexPropertyRaw !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`@index values must be strings, got: ${indexPropertyRaw}`, jsonld_context_parser_1.ERROR_CODES.INVALID_TERM_DEFINITION);\n }\n // When @index is used, values must be node values, unless @type: @id is defined in the context\n if (typeof value !== 'object') {\n // Error if we don't have @type: @id\n if (Util_1.Util.getContextValueType(context, indexKey) !== '@id') {\n throw new jsonld_context_parser_1.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${value}`, jsonld_context_parser_1.ERROR_CODES.INVALID_VALUE_OBJECT);\n }\n // Add an @id to the stack, so our expanded @index value can make use of it\n const id = util.resourceToTerm(context, value);\n if (id) {\n parsingContext.idStack[depth + 1] = [id];\n }\n }\n // Expand the @index value\n const indexProperty = util.createVocabOrBaseTerm(context, indexPropertyRaw);\n if (indexProperty) {\n const indexValues = await util.valueToTerm(context, indexPropertyRaw, await util.getContainerKey(keys[depth], keys, depth), depth, keys);\n if (graphContainer) {\n // When we're in a graph container, attach the index to the graph identifier\n const graphId = await util.getGraphContainerValue(keys, depth + 1);\n for (const indexValue of indexValues) {\n parsingContext.emitQuad(depth, util.dataFactory.quad(graphId, indexProperty, indexValue, util.getDefaultGraph()));\n }\n }\n else {\n // Otherwise, attach the index to the node identifier\n for (const indexValue of indexValues) {\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth + 1, indexProperty, indexValue, false);\n }\n }\n }\n }\n const depthOffset = graphContainer ? 2 : 1;\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - depthOffset), value, depth - depthOffset, true);\n // Flush any pending flush buffers\n await parsingContext.handlePendingContainerFlushBuffers();\n }\n parsingContext.emittedStack[depth] = false; // We have emitted a level higher\n }\n}\nexports.ContainerHandlerIndex = ContainerHandlerIndex;\n//# sourceMappingURL=ContainerHandlerIndex.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerLanguage = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * Container handler for @language.\n *\n * It assumes that the current key is the language of the current value.\n * This will add this value to the parent node.\n */\nclass ContainerHandlerLanguage {\n canCombineWithGraph() {\n return false;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n const language = await util.getContainerKey(keys[depth], keys, depth);\n if (Array.isArray(value)) {\n // No type-checking needed, will be handled on each value when this handler is called recursively.\n value = value.map((subValue) => ({ '@value': subValue, '@language': language }));\n }\n else {\n if (typeof value !== 'string') {\n throw new jsonld_context_parser_1.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(value)}', but expected string`, jsonld_context_parser_1.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);\n }\n value = { '@value': value, '@language': language };\n }\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), value, depth - 1, true);\n parsingContext.emittedStack[depth] = false; // We have emitted a level higher\n }\n}\nexports.ContainerHandlerLanguage = ContainerHandlerLanguage;\n//# sourceMappingURL=ContainerHandlerLanguage.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContainerHandlerType = void 0;\nconst EntryHandlerPredicate_1 = require(\"../entryhandler/EntryHandlerPredicate\");\nconst Util_1 = require(\"../Util\");\n/**\n * Container handler for @type.\n *\n * This will add this entry to the parent node, and use the current key as an rdf:type value.\n */\nclass ContainerHandlerType {\n canCombineWithGraph() {\n return false;\n }\n async handle(containers, parsingContext, util, keys, value, depth) {\n if (!Array.isArray(value)) {\n if (typeof value === 'string') {\n // Determine the @type of the container\n const context = await parsingContext.getContext(keys);\n const containerTypeType = Util_1.Util.getContextValueType(context, keys[depth - 1]);\n // String values refer to node references\n const id = containerTypeType === '@vocab'\n ? await util.createVocabOrBaseTerm(context, value)\n : await util.resourceToTerm(context, value);\n if (id) {\n // Handle the value of this node as @id, which will also cause the predicate from above to be emitted.\n const subValue = { '@id': id.termType === 'NamedNode' ? id.value : value };\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), subValue, depth - 1, true);\n // Set the id in the stack so it can be used for the rdf:type handling later on\n parsingContext.idStack[depth + 1] = [id];\n }\n }\n else {\n // Other values are handled by handling them as a proper job\n // Check needed for cases where entries don't have an explicit @id\n const entryHasIdentifier = !!parsingContext.idStack[depth + 1];\n // Handle the value of this node, which will also cause the predicate from above to be emitted.\n if (!entryHasIdentifier) {\n delete parsingContext.idStack[depth]; // Force new (blank node) identifier\n }\n await parsingContext.newOnValueJob(keys.slice(0, keys.length - 1), value, depth - 1, true);\n if (!entryHasIdentifier) {\n parsingContext.idStack[depth + 1] = parsingContext.idStack[depth]; // Copy the id to the child node, for @type\n }\n }\n // Identify the type to emit.\n const keyOriginal = await util.getContainerKey(keys[depth], keys, depth);\n const type = keyOriginal !== null\n ? util.createVocabOrBaseTerm(await parsingContext.getContext(keys), keyOriginal)\n : null;\n if (type) {\n // Push the type to the stack using the rdf:type predicate\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth + 1, util.rdfType, type, false);\n }\n // Flush any pending flush buffers\n await parsingContext.handlePendingContainerFlushBuffers();\n }\n parsingContext.emittedStack[depth] = false; // Don't emit the predicate owning this container.\n }\n}\nexports.ContainerHandlerType = ContainerHandlerType;\n//# sourceMappingURL=ContainerHandlerType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerArrayValue = void 0;\nconst Util_1 = require(\"../Util\");\n/**\n * Handles values that are part of an array.\n */\nclass EntryHandlerArrayValue {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return this.test(parsingContext, util, null, keys, depth);\n }\n async test(parsingContext, util, key, keys, depth) {\n return typeof keys[depth] === 'number';\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n let parentKey = await util.unaliasKeywordParent(keys, depth);\n // Check if we have an anonymous list\n if (parentKey === '@list') {\n // Our value is part of an array\n // Determine the list root key\n let listRootKey = null;\n let listRootDepth = 0;\n for (let i = depth - 2; i > 0; i--) {\n const keyOption = keys[i];\n if (typeof keyOption === 'string' || typeof keyOption === 'number') {\n listRootDepth = i;\n listRootKey = keyOption;\n break;\n }\n }\n if (listRootKey !== null) {\n // Emit the given objects as list elements\n const values = await util.valueToTerm(await parsingContext.getContext(keys), listRootKey, value, depth, keys);\n for (const object of values) {\n await this.handleListElement(parsingContext, util, object, value, depth, keys.slice(0, listRootDepth), listRootDepth);\n }\n // If no values were found, emit a falsy list element to force an empty RDF list to be emitted.\n if (values.length === 0) {\n await this.handleListElement(parsingContext, util, null, value, depth, keys.slice(0, listRootDepth), listRootDepth);\n }\n }\n }\n else if (parentKey === '@set') {\n // Our value is part of a set, so we just add it to the parent-parent\n await parsingContext.newOnValueJob(keys.slice(0, -2), value, depth - 2, false);\n }\n else if (parentKey !== undefined && parentKey !== '@type') {\n // Buffer our value using the parent key as predicate\n // Determine the first parent key that is *not* an array key\n // This is needed in case we have an @list container with nested arrays,\n // where each of them should produce nested RDF lists.\n for (let i = depth - 1; i > 0; i--) {\n if (typeof keys[i] !== 'number') {\n parentKey = await util.unaliasKeyword(keys[i], keys, i);\n break;\n }\n }\n // Check if the predicate is marked as an @list in the context\n const parentContext = await parsingContext.getContext(keys.slice(0, -1));\n if ('@list' in Util_1.Util.getContextValueContainer(parentContext, parentKey)) {\n // Our value is part of an array\n // Emit the given objects as list elements\n parsingContext.emittedStack[depth + 1] = true; // Ensure the creation of bnodes for empty nodes\n const values = await util.valueToTerm(await parsingContext.getContext(keys), parentKey, value, depth, keys);\n for (const object of values) {\n await this.handleListElement(parsingContext, util, object, value, depth, keys.slice(0, -1), depth - 1);\n }\n // If no values were found, emit a falsy list element to force an empty RDF list to be emitted.\n if (values.length === 0) {\n await this.handleListElement(parsingContext, util, null, value, depth, keys.slice(0, -1), depth - 1);\n }\n }\n else {\n // Copy the stack values up one level so that the next job can access them.\n parsingContext.shiftStack(depth, 1);\n // Execute the job one level higher\n await parsingContext.newOnValueJob(keys.slice(0, -1), value, depth - 1, false);\n // Remove any defined contexts at this level to avoid it to propagate to the next array element.\n parsingContext.contextTree.removeContext(keys.slice(0, -1));\n }\n }\n }\n async handleListElement(parsingContext, util, value, valueOriginal, depth, listRootKeys, listRootDepth) {\n // Buffer our value as an RDF list using the listRootKey as predicate\n let listPointer = parsingContext.listPointerStack[depth];\n if (valueOriginal !== null && (await util.unaliasKeywords(valueOriginal, listRootKeys, depth))['@value'] !== null) {\n if (!listPointer || !listPointer.value) {\n const linkTerm = util.dataFactory.blankNode();\n listPointer = { value: linkTerm, listRootDepth, listId: linkTerm };\n }\n else {\n // rdf:rest links are always emitted before the next element,\n // as the blank node identifier is only created at that point.\n // Because of this reason, the final rdf:nil is emitted when the stack depth is decreased.\n const newLinkTerm = util.dataFactory.blankNode();\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer.value, util.rdfRest, newLinkTerm, util.getDefaultGraph()));\n // Update the list pointer for the next element\n listPointer.value = newLinkTerm;\n }\n // Emit a list element for the current value\n // Omit rdf:first if the value is invalid\n if (value) {\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer.value, util.rdfFirst, value, util.getDefaultGraph()));\n }\n }\n else {\n // A falsy list element if found.\n // Mark it as an rdf:nil list until another valid list element comes in\n if (!listPointer) {\n listPointer = { listRootDepth, listId: util.rdfNil };\n }\n }\n parsingContext.listPointerStack[depth] = listPointer;\n }\n}\nexports.EntryHandlerArrayValue = EntryHandlerArrayValue;\n//# sourceMappingURL=EntryHandlerArrayValue.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerContainer = void 0;\nconst ContainerHandlerIdentifier_1 = require(\"../containerhandler/ContainerHandlerIdentifier\");\nconst ContainerHandlerIndex_1 = require(\"../containerhandler/ContainerHandlerIndex\");\nconst ContainerHandlerLanguage_1 = require(\"../containerhandler/ContainerHandlerLanguage\");\nconst ContainerHandlerType_1 = require(\"../containerhandler/ContainerHandlerType\");\nconst Util_1 = require(\"../Util\");\n/**\n * Handles values that are part of a container type (like @index),\n * as specified by {@link IContainerHandler}.\n */\nclass EntryHandlerContainer {\n /**\n * Check fit the given container is a simple @graph container.\n * Concretely, it will check if no @index or @id is active as well.\n * @param containers A container hash.\n */\n static isSimpleGraphContainer(containers) {\n return '@graph' in containers\n && (('@set' in containers && Object.keys(containers).length === 2) || Object.keys(containers).length === 1);\n }\n /**\n * Check fit the given container is a complex @graph container.\n * Concretely, it will check if @index or @id is active as well next to @graph.\n * @param containers A container hash.\n */\n static isComplexGraphContainer(containers) {\n return '@graph' in containers\n && (('@set' in containers && Object.keys(containers).length > 2)\n || (!('@set' in containers) && Object.keys(containers).length > 1));\n }\n /**\n * Create an graph container index that can be used for identifying a graph term inside the graphContainerTermStack.\n * @param containers The applicable containers.\n * @param depth The container depth.\n * @param keys The array of keys.\n * @return The graph index.\n */\n static getContainerGraphIndex(containers, depth, keys) {\n let isSimpleGraphContainer = EntryHandlerContainer.isSimpleGraphContainer(containers);\n let index = '';\n for (let i = depth; i < keys.length; i++) {\n if (!isSimpleGraphContainer || typeof keys[i] === 'number') {\n index += ':' + keys[i];\n }\n // Only allow a second 'real' key if in a non-simple graph container.\n if (!isSimpleGraphContainer && typeof keys[i] !== 'number') {\n isSimpleGraphContainer = true;\n }\n }\n return index;\n }\n /**\n * Return the applicable container type at the given depth.\n *\n * This will ignore any arrays in the key chain.\n *\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {any[]} keys The array of keys.\n * @param {number} depth The current depth.\n * @return {Promise<{ containers: {[typeName: string]: boolean}, depth: number, fallback: boolean }>}\n * All applicable containers for the given depth,\n * the `depth` of the container root (can change when arrays are in the key chain),\n * and the `fallback` flag that indicates if the default container type was returned\n * (i.e., no dedicated container type is defined).\n */\n static async getContainerHandler(parsingContext, keys, depth) {\n const fallback = {\n containers: { '@set': true },\n depth,\n fallback: true,\n };\n // A flag that is enabled when @graph container should be tested in next iteration\n let checkGraphContainer = false;\n // Iterate from deeper to higher\n const context = await parsingContext.getContext(keys, 2);\n for (let i = depth - 1; i >= 0; i--) {\n if (typeof keys[i] !== 'number') { // Skip array keys\n // @graph containers without any other types are one level less deep, and require special handling\n const containersSelf = Util_1.Util.getContextValue(context, '@container', keys[i], false);\n if (containersSelf && EntryHandlerContainer.isSimpleGraphContainer(containersSelf)) {\n return {\n containers: containersSelf,\n depth: i + 1,\n fallback: false,\n };\n }\n const containersParent = Util_1.Util.getContextValue(context, '@container', keys[i - 1], false);\n if (!containersParent) { // If we have the fallback container value\n if (checkGraphContainer) {\n // Return false if we were already expecting a @graph-@id of @graph-@index container\n return fallback;\n }\n // Check parent-parent, we may be in a @graph-@id of @graph-@index container, which have two levels\n checkGraphContainer = true;\n }\n else {\n // We had an invalid container next iteration, so we now have to check if we were in an @graph container\n const graphContainer = '@graph' in containersParent;\n // We're in a regular container\n for (const containerHandleName in EntryHandlerContainer.CONTAINER_HANDLERS) {\n if (containersParent[containerHandleName]) {\n if (graphContainer) {\n // Only accept graph containers if their combined handlers can handle them.\n if (EntryHandlerContainer.CONTAINER_HANDLERS[containerHandleName].canCombineWithGraph()) {\n return {\n containers: containersParent,\n depth: i,\n fallback: false,\n };\n }\n else {\n return fallback;\n }\n }\n else {\n // Only accept if we were not expecting a @graph-@id of @graph-@index container\n if (checkGraphContainer) {\n return fallback;\n }\n else {\n return {\n containers: containersParent,\n depth: i,\n fallback: false,\n };\n }\n }\n }\n }\n // Fail if no valid container handlers were found\n return fallback;\n }\n }\n }\n return fallback;\n }\n /**\n * Check if we are handling a value at the given depth\n * that is part of something that should be handled as a container,\n * AND if this container should be buffered, so that it can be handled by a dedicated container handler.\n *\n * For instance, any container with @graph will NOT be buffered.\n *\n * This will ignore any arrays in the key chain.\n *\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {any[]} keys The array of keys.\n * @param {number} depth The current depth.\n * @return {Promise} If we are in the scope of a container handler.\n */\n static async isBufferableContainerHandler(parsingContext, keys, depth) {\n const handler = await EntryHandlerContainer.getContainerHandler(parsingContext, keys, depth);\n return !handler.fallback && !('@graph' in handler.containers);\n }\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return !!await this.test(parsingContext, util, null, keys, depth);\n }\n async test(parsingContext, util, key, keys, depth) {\n const containers = Util_1.Util.getContextValueContainer(await parsingContext.getContext(keys, 2), keys[depth - 1]);\n for (const containerName in EntryHandlerContainer.CONTAINER_HANDLERS) {\n if (containers[containerName]) {\n return {\n containers,\n handler: EntryHandlerContainer.CONTAINER_HANDLERS[containerName],\n };\n }\n }\n return null;\n }\n async handle(parsingContext, util, key, keys, value, depth, testResult) {\n return testResult.handler.handle(testResult.containers, parsingContext, util, keys, value, depth);\n }\n}\nexports.EntryHandlerContainer = EntryHandlerContainer;\nEntryHandlerContainer.CONTAINER_HANDLERS = {\n '@id': new ContainerHandlerIdentifier_1.ContainerHandlerIdentifier(),\n '@index': new ContainerHandlerIndex_1.ContainerHandlerIndex(),\n '@language': new ContainerHandlerLanguage_1.ContainerHandlerLanguage(),\n '@type': new ContainerHandlerType_1.ContainerHandlerType(),\n};\n//# sourceMappingURL=EntryHandlerContainer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerInvalidFallback = void 0;\n/**\n * A catch-all for properties, that will either emit an error or ignore,\n * depending on whether or not the `strictValues` property is set.\n */\nclass EntryHandlerInvalidFallback {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return true;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerInvalidFallback = EntryHandlerInvalidFallback;\n//# sourceMappingURL=EntryHandlerInvalidFallback.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerPredicate = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst Util_1 = require(\"../Util\");\n/**\n * Interprets keys as predicates.\n * The most common case in JSON-LD processing.\n */\nclass EntryHandlerPredicate {\n /**\n * Handle the given predicate-object by either emitting it,\n * or by placing it in the appropriate stack for later emission when no @graph and/or @id has been defined.\n * @param {ParsingContext} parsingContext A parsing context.\n * @param {Util} util A utility instance.\n * @param {any[]} keys A stack of keys.\n * @param {number} depth The current depth.\n * @param {Term} predicate The predicate.\n * @param {Term} object The object.\n * @param {boolean} reverse If the property is reversed.\n * @return {Promise} A promise resolving when handling is done.\n */\n static async handlePredicateObject(parsingContext, util, keys, depth, predicate, object, reverse) {\n const depthProperties = await util.getPropertiesDepth(keys, depth);\n const depthOffsetGraph = await util.getDepthOffsetGraph(depth, keys);\n const depthPropertiesGraph = depth - depthOffsetGraph;\n const subjects = parsingContext.idStack[depthProperties];\n if (subjects) {\n // Emit directly if the @id was already defined\n for (const subject of subjects) {\n // Check if we're in a @graph context\n const atGraph = depthOffsetGraph >= 0;\n if (atGraph) {\n const graphs = parsingContext.idStack[depthPropertiesGraph - 1];\n if (graphs) {\n for (const graph of graphs) {\n // Emit our quad if graph @id is known\n if (reverse) {\n util.validateReverseSubject(object);\n parsingContext.emitQuad(depth, util.dataFactory.quad(object, predicate, subject, graph));\n }\n else {\n parsingContext.emitQuad(depth, util.dataFactory.quad(subject, predicate, object, graph));\n }\n }\n }\n else {\n // Buffer our triple if graph @id is not known yet.\n if (reverse) {\n util.validateReverseSubject(object);\n parsingContext.getUnidentifiedGraphBufferSafe(depthPropertiesGraph - 1).push({ subject: object, predicate, object: subject });\n }\n else {\n parsingContext.getUnidentifiedGraphBufferSafe(depthPropertiesGraph - 1)\n .push({ subject, predicate, object });\n }\n }\n }\n else {\n // Emit if no @graph was applicable\n const graph = await util.getGraphContainerValue(keys, depthProperties);\n if (reverse) {\n util.validateReverseSubject(object);\n parsingContext.emitQuad(depth, util.dataFactory.quad(object, predicate, subject, graph));\n }\n else {\n parsingContext.emitQuad(depth, util.dataFactory.quad(subject, predicate, object, graph));\n }\n }\n }\n }\n else {\n // Buffer until our @id becomes known, or we go up the stack\n if (reverse) {\n util.validateReverseSubject(object);\n }\n parsingContext.getUnidentifiedValueBufferSafe(depthProperties).push({ predicate, object, reverse });\n }\n }\n isPropertyHandler() {\n return true;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n const key = keys[depth];\n if (key) {\n const context = await parsingContext.getContext(keys);\n if (!parsingContext.jsonLiteralStack[depth] && await util.predicateToTerm(context, keys[depth])) {\n // If this valid predicate is of type @json, mark it so in the stack so that no deeper handling of nodes occurs.\n if (Util_1.Util.getContextValueType(context, key) === '@json') {\n parsingContext.jsonLiteralStack[depth + 1] = true;\n }\n return true;\n }\n }\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return keys[depth];\n }\n async handle(parsingContext, util, key, keys, value, depth, testResult) {\n const keyOriginal = keys[depth];\n const context = await parsingContext.getContext(keys);\n const predicate = await util.predicateToTerm(context, key);\n if (predicate) {\n const objects = await util.valueToTerm(context, key, value, depth, keys);\n if (objects.length) {\n for (let object of objects) {\n const reverse = Util_1.Util.isPropertyReverse(context, keyOriginal, await util.unaliasKeywordParent(keys, depth));\n if (value) {\n // Special case if our term was defined as an @list, but does not occur in an array,\n // In that case we just emit it as an RDF list with a single element.\n const listValueContainer = '@list' in Util_1.Util.getContextValueContainer(context, key);\n if (listValueContainer || value['@list']) {\n if (((listValueContainer && !Array.isArray(value) && !value['@list'])\n || (value['@list'] && !Array.isArray(value['@list'])))\n && object !== util.rdfNil) {\n const listPointer = util.dataFactory.blankNode();\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer, util.rdfRest, util.rdfNil, util.getDefaultGraph()));\n parsingContext.emitQuad(depth, util.dataFactory.quad(listPointer, util.rdfFirst, object, util.getDefaultGraph()));\n object = listPointer;\n }\n // Lists are not allowed in @reverse'd properties\n if (reverse && !parsingContext.allowSubjectList) {\n throw new jsonld_context_parser_1.ErrorCoded(`Found illegal list value in subject position at ${key}`, jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE);\n }\n }\n }\n await EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth, predicate, object, reverse);\n }\n }\n }\n }\n}\nexports.EntryHandlerPredicate = EntryHandlerPredicate;\n//# sourceMappingURL=EntryHandlerPredicate.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeyword = void 0;\n/**\n * An abstract keyword entry handler.\n */\nclass EntryHandlerKeyword {\n constructor(keyword) {\n this.keyword = keyword;\n }\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return key === this.keyword;\n }\n}\nexports.EntryHandlerKeyword = EntryHandlerKeyword;\n//# sourceMappingURL=EntryHandlerKeyword.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordContext = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @context entries.\n */\nclass EntryHandlerKeywordContext extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@context');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // Error if an out-of-order context was found when support is not enabled.\n if (parsingContext.streamingProfile\n && (parsingContext.processingStack[depth]\n || parsingContext.processingType[depth]\n || parsingContext.idStack[depth] !== undefined)) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded('Found an out-of-order context, while streaming is enabled.' +\n '(disable `streamingProfile`)', jsonld_context_parser_1.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));\n }\n // Find the parent context to inherit from.\n // We actually request a context for the current depth (with fallback to parent)\n // because we want to take into account any property-scoped contexts that are defined for this depth.\n const parentContext = parsingContext.getContext(keys);\n // Set the context for this scope\n const context = parsingContext.parseContext(value, (await parentContext).getContextRaw());\n parsingContext.contextTree.setContext(keys.slice(0, -1), context);\n parsingContext.emitContext(value);\n await parsingContext.validateContext(await context);\n }\n}\nexports.EntryHandlerKeywordContext = EntryHandlerKeywordContext;\n//# sourceMappingURL=EntryHandlerKeywordContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordGraph = void 0;\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @graph entries.\n */\nclass EntryHandlerKeywordGraph extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@graph');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // The current identifier identifies a graph for the deeper level.\n parsingContext.graphStack[depth + 1] = true;\n }\n}\nexports.EntryHandlerKeywordGraph = EntryHandlerKeywordGraph;\n//# sourceMappingURL=EntryHandlerKeywordGraph.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordId = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @id entries.\n */\nclass EntryHandlerKeywordId extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@id');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'string') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @id '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_ID_VALUE));\n }\n // Determine the canonical place for this id.\n // For example, @nest parents should be ignored.\n const depthProperties = await util.getPropertiesDepth(keys, depth);\n // Error if an @id for this node already existed.\n if (parsingContext.idStack[depthProperties] !== undefined) {\n if (parsingContext.idStack[depthProperties][0].listHead) {\n // Error if an @list was already defined for this node\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${keys[depth - 1]}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT));\n }\n else {\n // Otherwise, the previous id was just because of an @id entry.\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found duplicate @ids '${parsingContext\n .idStack[depthProperties][0].value}' and '${value}'`, jsonld_context_parser_1.ERROR_CODES.COLLIDING_KEYWORDS));\n }\n }\n // Save our @id on the stack\n parsingContext.idStack[depthProperties] = util.nullableTermToArray(await util.resourceToTerm(await parsingContext.getContext(keys), value));\n }\n}\nexports.EntryHandlerKeywordId = EntryHandlerKeywordId;\n//# sourceMappingURL=EntryHandlerKeywordId.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordIncluded = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @included entries.\n */\nclass EntryHandlerKeywordIncluded extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@included');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'object') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @included '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n const valueUnliased = await util.unaliasKeywords(value, keys, depth, await parsingContext.getContext(keys));\n if ('@value' in valueUnliased) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n if ('@list' in valueUnliased) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(value)}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_INCLUDED_VALUE));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordIncluded = EntryHandlerKeywordIncluded;\n//# sourceMappingURL=EntryHandlerKeywordIncluded.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordNest = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @nest entries.\n */\nclass EntryHandlerKeywordNest extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@nest');\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n if (typeof value !== 'object') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found invalid @nest entry for '${key}': '${value}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_NEST_VALUE));\n }\n if ('@value' in await util.unaliasKeywords(value, keys, depth, await parsingContext.getContext(keys))) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found an invalid @value node for '${key}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_NEST_VALUE));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordNest = EntryHandlerKeywordNest;\n//# sourceMappingURL=EntryHandlerKeywordNest.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordType = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\nconst Util_1 = require(\"../../Util\");\nconst EntryHandlerPredicate_1 = require(\"../EntryHandlerPredicate\");\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @graph entries.\n */\nclass EntryHandlerKeywordType extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@type');\n }\n isStackProcessor() {\n return false;\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n const keyOriginal = keys[depth];\n // The current identifier identifies an rdf:type predicate.\n // But we only emit it once the node closes,\n // as it's possible that the @type is used to identify the datatype of a literal, which we ignore here.\n const context = await parsingContext.getContext(keys);\n const predicate = util.rdfType;\n const reverse = Util_1.Util.isPropertyReverse(context, keyOriginal, await util.unaliasKeywordParent(keys, depth));\n // Handle multiple values if the value is an array\n const elements = Array.isArray(value) ? value : [value];\n for (const element of elements) {\n if (typeof element !== 'string') {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Found illegal @type '${element}'`, jsonld_context_parser_1.ERROR_CODES.INVALID_TYPE_VALUE));\n }\n const type = util.createVocabOrBaseTerm(context, element);\n if (type) {\n await EntryHandlerPredicate_1.EntryHandlerPredicate.handlePredicateObject(parsingContext, util, keys, depth, predicate, type, reverse);\n }\n }\n // Collect type-scoped contexts if they exist\n let scopedContext = Promise.resolve(context);\n let hasTypedScopedContext = false;\n for (const element of elements.sort()) { // Spec requires lexicographical ordering\n const typeContext = Util_1.Util.getContextValue(context, '@context', element, null);\n if (typeContext) {\n hasTypedScopedContext = true;\n scopedContext = scopedContext.then((c) => parsingContext.parseContext(typeContext, c.getContextRaw()));\n }\n }\n // Error if an out-of-order type-scoped context was found when support is not enabled.\n if (parsingContext.streamingProfile\n && (hasTypedScopedContext || !parsingContext.streamingProfileAllowOutOfOrderPlainType)\n && (parsingContext.processingStack[depth] || parsingContext.idStack[depth])) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded('Found an out-of-order type-scoped context, while streaming is enabled.' +\n '(disable `streamingProfile`)', jsonld_context_parser_1.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));\n }\n // If at least least one type-scoped context applies, set them in the tree.\n if (hasTypedScopedContext) {\n // Do not propagate by default\n scopedContext = scopedContext.then((c) => {\n if (!('@propagate' in c.getContextRaw())) {\n c.getContextRaw()['@propagate'] = false;\n }\n // Set the original context at this depth as a fallback\n // This is needed when a context was already defined at the given depth,\n // and this context needs to remain accessible from child nodes when propagation is disabled.\n if (c.getContextRaw()['@propagate'] === false) {\n c.getContextRaw()['@__propagateFallback'] = context.getContextRaw();\n }\n return c;\n });\n // Set the new context in the context tree\n parsingContext.contextTree.setContext(keys.slice(0, keys.length - 1), scopedContext);\n }\n // Flag that type has been processed at this depth\n parsingContext.processingType[depth] = true;\n }\n}\nexports.EntryHandlerKeywordType = EntryHandlerKeywordType;\n//# sourceMappingURL=EntryHandlerKeywordType.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordUnknownFallback = void 0;\nconst jsonld_context_parser_1 = require(\"jsonld-context-parser\");\n/**\n * A catch-all for keywords, that will either emit an error or ignore,\n * depending on whether or not the `strictValues` property is set.\n */\nclass EntryHandlerKeywordUnknownFallback {\n isPropertyHandler() {\n return false;\n }\n isStackProcessor() {\n return true;\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n const key = await util.unaliasKeyword(keys[depth], keys, depth);\n if (jsonld_context_parser_1.Util.isPotentialKeyword(key)) {\n // Don't emit anything inside free-floating lists\n if (!inProperty) {\n if (key === '@list') {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n async test(parsingContext, util, key, keys, depth) {\n return jsonld_context_parser_1.Util.isPotentialKeyword(key);\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n const keywordType = EntryHandlerKeywordUnknownFallback.VALID_KEYWORDS_TYPES[key];\n if (keywordType !== undefined) {\n if (keywordType && typeof value !== keywordType.type) {\n parsingContext.emitError(new jsonld_context_parser_1.ErrorCoded(`Invalid value type for '${key}' with value '${value}'`, keywordType.errorCode));\n }\n }\n else if (parsingContext.strictValues) {\n parsingContext.emitError(new Error(`Unknown keyword '${key}' with value '${value}'`));\n }\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordUnknownFallback = EntryHandlerKeywordUnknownFallback;\nEntryHandlerKeywordUnknownFallback.VALID_KEYWORDS_TYPES = {\n '@index': { type: 'string', errorCode: jsonld_context_parser_1.ERROR_CODES.INVALID_INDEX_VALUE },\n '@list': null,\n '@reverse': { type: 'object', errorCode: jsonld_context_parser_1.ERROR_CODES.INVALID_REVERSE_VALUE },\n '@set': null,\n '@value': null,\n};\n//# sourceMappingURL=EntryHandlerKeywordUnknownFallback.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntryHandlerKeywordValue = void 0;\nconst EntryHandlerKeyword_1 = require(\"./EntryHandlerKeyword\");\n/**\n * Handles @value entries.\n */\nclass EntryHandlerKeywordValue extends EntryHandlerKeyword_1.EntryHandlerKeyword {\n constructor() {\n super('@value');\n }\n async validate(parsingContext, util, keys, depth, inProperty) {\n // If this is @value, mark it so in the stack so that no deeper handling of nodes occurs.\n const key = keys[depth];\n if (key && !parsingContext.literalStack[depth] && await this.test(parsingContext, util, key, keys, depth)) {\n parsingContext.literalStack[depth] = true;\n }\n return super.validate(parsingContext, util, keys, depth, inProperty);\n }\n async test(parsingContext, util, key, keys, depth) {\n return await util.unaliasKeyword(keys[depth], keys.slice(0, keys.length - 1), depth - 1, true) === '@value';\n }\n async handle(parsingContext, util, key, keys, value, depth) {\n // If the value is valid, indicate that we are processing a literal.\n // The actual value will be determined at the parent level when the @value is part of an object,\n // because we may want to take into account additional entries such as @language.\n // See {@link Util.valueToTerm}\n // Indicate that we are processing a literal, and that no later predicates should be parsed at this depth.\n parsingContext.literalStack[depth] = true;\n // Void any buffers that we may have accumulated up until now\n delete parsingContext.unidentifiedValuesBuffer[depth];\n delete parsingContext.unidentifiedGraphsBuffer[depth];\n // Indicate that we have not emitted at this depth\n parsingContext.emittedStack[depth] = false;\n }\n}\nexports.EntryHandlerKeywordValue = EntryHandlerKeywordValue;\n//# sourceMappingURL=EntryHandlerKeywordValue.js.map"],"names":["DataFactory","module","exports","BlankNode","constructor","id","this","value","nextId","equals","other","termType","prototype","DefaultGraph","fromTermRaw","Literal","NamedNode","Quad","Variable","namedNode","blankNode","literal","languageOrDatatype","indexOf","variable","defaultGraph","defaultGraphInstance","triple","subject","predicate","object","quad","graph","fromTerm","original","call","fromQuad","language","datatype","stringDatatype","langStringDatatype","iri","name","Error","Sink","ParserStream","Parser","options","super","rdf","JsonLdParser","Transform","relativeIriProtocol","termCleanup","factory","term","startsWith","slice","length","quadCleanup","cleanup","input","baseIRI","context","parser","dataFactory","streamingProfile","pipe","transform","objectMode","encoding","callback","on","Object","entries","forEach","prefix","emit","err","destroy","Impl","import","output","assign","readable","__createBinding","create","o","m","k","k2","undefined","defineProperty","enumerable","get","__exportStar","p","hasOwnProperty","ContextTree","subTrees","getContext","keys","head","tail","subTree","subContext","then","depth","setContext","removeContext","path","jsonld_context_parser_1","stream_1","EntryHandlerArrayValue_1","EntryHandlerContainer_1","EntryHandlerInvalidFallback_1","EntryHandlerPredicate_1","EntryHandlerKeywordContext_1","EntryHandlerKeywordGraph_1","EntryHandlerKeywordId_1","EntryHandlerKeywordIncluded_1","EntryHandlerKeywordNest_1","EntryHandlerKeywordType_1","EntryHandlerKeywordUnknownFallback_1","EntryHandlerKeywordValue_1","ParsingContext_1","Util_1","http_link_header_1","readableObjectMode","parsingContext","ParsingContext","util","Util","jsonParser","contextJobs","typeJobs","contextAwaitingJobs","lastDepth","lastKeys","lastOnValueJob","Promise","resolve","attachJsonParserListeners","mode","static","mediaType","headers","endsWith","ErrorCoded","ERROR_CODES","LOADING_DOCUMENT_FAILED","has","key","linkHeader","parse","link","MULTIPLE_CONTEXT_LINK_HEADERS","uri","ignoreMissingContextLinkHeader","contentType","match","exec","stream","PassThrough","error","parsed","data","push","_transform","chunk","write","async","lastDepthCheck","flushStacks","listPointer","listPointerStack","rdfRest","rdfNil","getDefaultGraph","listId","listHead","idStack","listRootDepth","splice","EntryHandlerContainer","isBufferableContainerHandler","pendingContainerFlushBuffers","flushBuffer","unaliasKeyword","parentKey","unaliasKeywordParent","emittedStack","handleKey","isValidKeyword","INVALID_REVERSE_PROPERTY_MAP","inProperty","validationStack","property","i","Math","max","validationResult","validateKey","valid","isLiteral","entryHandler","ENTRY_HANDLERS","testResult","test","handle","isStackProcessor","processingStack","Array","isArray","validateValueIndexes","unaliasedKeywordCacheStack","processingType","graphStack","graphContainerTermStack","jsonLiteralStack","literalStack","subjects","valueBuffer","unidentifiedValuesBuffer","depthOffsetGraph","getDepthOffsetGraph","graphs","getGraphContainerValue","bufferedValue","reverse","emitQuad","subGraphBuffer","getUnidentifiedGraphBufferSafe","graphBuffer","unidentifiedGraphsBuffer","topLevelProperties","validate","isPropertyHandler","onValue","stack","fill","map","v","isParsingContextInner","valueJobCb","newOnValueJob","contextTree","jobs","job","executeBufferedJobs","onError","applicableTypeJobs","applicableTypeJobIds","typeJob","isPrefixArray","sortedTypeJobs","sort","job1","job2","sortedApplicableTypeJobIds","jobId","DEFAULT_PROCESSING_MODE","EntryHandlerArrayValue","EntryHandlerKeywordContext","EntryHandlerKeywordId","EntryHandlerKeywordIncluded","EntryHandlerKeywordGraph","EntryHandlerKeywordNest","EntryHandlerKeywordType","EntryHandlerKeywordValue","EntryHandlerKeywordUnknownFallback","EntryHandlerPredicate","EntryHandlerInvalidFallback","ErrorCoded_1","ContextTree_1","JsonLdParser_1","contextParser","ContextParser","documentLoader","skipValidation","skipContextValidation","produceGeneralizedRdf","allowSubjectList","processingMode","strictValues","rdfDirection","normalizeLanguageTags","streamingProfileAllowOutOfOrderPlainType","activeProcessingMode","parseFloat","rootContext","parseContext","validateContext","JsonLdContextNormalized","parentContext","ignoreProtection","activeVersion","getContextRaw","PROCESSING_MODE_CONFLICT","INVALID_VERSION_VALUE","offset","keysOriginal","contextData","getContextPropagationAware","contextRaw","contextKeyEntry","scopedContext","propagate","originalDepth","hasApplicablePropertyScopedContext","lastKey","lastKeyValue","pendingFlushBuffer","emitError","emitContext","getUnidentifiedValueBufferSafe","buffer","getExpandOptions","EXPAND_OPTIONS","shiftStack","depthOffset","deeperIdStack","allowPrefixForcing","allowPrefixNonGenDelims","allowVocabRelativeToBase","rdf_data_factory_1","canonicalizeJson","rdfFirst","RDF","rdfType","rdfJson","contextKey","fallback","entry","type","getContextValue","valueType","isContextValueReverse","isValidIri","needle","haystack","indexHashes","index","existingIndexValue","CONFLICTING_INDEXES","getContextValueType","valueToJsonString","getContextValueContainer","getContextSelfOrPropertyScoped","unaliasKeywords","val","valueLanguage","valueDirection","valueIndex","subValue","JSON","stringify","INVALID_VALUE_OBJECT","INVALID_VALUE_OBJECT_VALUE","INVALID_INDEX_VALUE","INVALID_LANGUAGE_TAGGED_VALUE","validateLanguage","INVALID_LANGUAGE_TAGGED_STRING","toLowerCase","validateDirection","nullableTermToArray","createLanguageDirectionLiteral","INVALID_TYPED_VALUE","typeTerm","createVocabOrBaseTerm","valueToTerm","INVALID_SET_OR_LIST_OBJECT","listValue","graphContainerEntries","values","resourceToTerm","stringValueToTerm","Boolean","toString","XSD_BOOLEAN","XSD_INTEGER","XSD_DOUBLE","predicateToTerm","expanded","expandTerm","substr","INVALID_IRI_MAPPING","expandOptions","intToString","Number","isFinite","isInteger","toExponential","replace","defaultDatatype","contextType","contextLanguage","getContextValueLanguage","contextDirection","getContextValueDirection","direction","valueNode","disableCache","cachedUnaliasedKeyword","isPotentialKeyword","unliased","hash","newHash","containers","getContainerHandler","isComplexGraphContainer","validateReverseSubject","INVALID_REVERSE_PROPERTY_VALUE","depthContainer","graphContainerIndex","getContainerGraphIndex","graphId","keyUnaliased","getContainerKey","lastValidDepth","XSD","ContainerHandlerIdentifier","canCombineWithGraph","maybeId","ids","some","handlePendingContainerFlushBuffers","ContainerHandlerIndex","graphContainer","indexKey","indexPropertyRaw","getContextValueIndex","INVALID_TERM_DEFINITION","indexProperty","indexValues","indexValue","handlePredicateObject","ContainerHandlerLanguage","INVALID_LANGUAGE_MAP_VALUE","ContainerHandlerType","containerTypeType","entryHasIdentifier","keyOriginal","listRootKey","keyOption","handleListElement","valueOriginal","listRootKeys","newLinkTerm","linkTerm","ContainerHandlerIdentifier_1","ContainerHandlerIndex_1","ContainerHandlerLanguage_1","ContainerHandlerType_1","isSimpleGraphContainer","checkGraphContainer","containersSelf","containersParent","containerHandleName","CONTAINER_HANDLERS","handler","containerName","depthProperties","getPropertiesDepth","depthPropertiesGraph","atGraph","objects","isPropertyReverse","listValueContainer","EntryHandlerKeyword","keyword","EntryHandlerKeyword_1","INVALID_STREAMING_KEY_ORDER","INVALID_ID_VALUE","COLLIDING_KEYWORDS","INVALID_INCLUDED_VALUE","valueUnliased","INVALID_NEST_VALUE","elements","element","INVALID_TYPE_VALUE","hasTypedScopedContext","typeContext","c","keywordType","VALID_KEYWORDS_TYPES","errorCode","INVALID_REVERSE_VALUE"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/249.6097629f.js b/js/249.6097629f.js
new file mode 100644
index 0000000..a5c94c3
--- /dev/null
+++ b/js/249.6097629f.js
@@ -0,0 +1,2 @@
+(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[249],{16298:function(e,t,r){"use strict";const{SymbolDispose:n}=r(30671),{AbortError:o,codes:i}=r(43550),{isNodeStream:a,isWebStream:l,kControllerErrorFunction:s}=r(13394),d=r(34131),{ERR_INVALID_ARG_TYPE:u}=i;let c;const f=(e,t)=>{if("object"!==typeof e||!("aborted"in e))throw new u(t,"AbortSignal",e)};e.exports.addAbortSignal=function(t,r){if(f(t,"signal"),!a(r)&&!l(r))throw new u("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!==typeof e||!("aborted"in e))return t;const i=a(t)?()=>{t.destroy(new o(void 0,{cause:e.reason}))}:()=>{t[s](new o(void 0,{cause:e.reason}))};if(e.aborted)i();else{c=c||r(55980).addAbortListener;const o=c(e,i);d(t,o[n])}return t}},30188:function(e,t,r){"use strict";const{StringPrototypeSlice:n,SymbolIterator:o,TypedArrayPrototypeSet:i,Uint8Array:a}=r(30671),{Buffer:l}=r(48764),{inspect:s}=r(55980);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;while(null!==(t=t.next))r+=e+t.data;return r}concat(e){if(0===this.length)return l.alloc(0);const t=l.allocUnsafe(e>>>0);let r=this.head,n=0;while(r)i(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(ei.length)){e===i.length?(t+=i,++o,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(i,0,e),this.head=r,r.data=n(i,e));break}t+=i,e-=i.length,++o}while(null!==(r=r.next));return this.length-=o,t}_getBuffer(e){const t=l.allocUnsafe(e),r=e;let n=this.head,o=0;do{const l=n.data;if(!(e>l.length)){e===l.length?(i(t,l,r-e),++o,n.next?this.head=n.next:this.head=this.tail=null):(i(t,new a(l.buffer,l.byteOffset,e),r-e),this.head=n,n.data=l.slice(e));break}i(t,l,r-e),e-=l.length,++o}while(null!==(n=n.next));return this.length-=o,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return s(this,{...t,depth:0,customInspect:!1})}}},70342:function(e,t,r){"use strict";const{pipeline:n}=r(41165),o=r(23234),{destroyer:i}=r(7702),{isNodeStream:a,isReadable:l,isWritable:s,isWebStream:d,isTransformStream:u,isWritableStream:c,isReadableStream:f}=r(13394),{AbortError:b,codes:{ERR_INVALID_ARG_VALUE:h,ERR_MISSING_ARGS:p}}=r(43550),y=r(34131);e.exports=function(...e){if(0===e.length)throw new p("streams");if(1===e.length)return o.from(e[0]);const t=[...e];if("function"===typeof e[0]&&(e[0]=o.from(e[0])),"function"===typeof e[e.length-1]){const t=e.length-1;e[t]=o.from(e[t])}for(let n=0;n0&&!(s(e[n])||c(e[n])||u(e[n])))throw new h(`streams[${n}]`,t[n],"must be writable")}let r,_,w,g,m;function S(e){const t=g;g=null,t?t(e):e?m.destroy(e):A||R||m.destroy()}const v=e[0],E=n(e,S),R=!!(s(v)||c(v)||u(v)),A=!!(l(E)||f(E)||u(E));if(m=new o({writableObjectMode:!(null===v||void 0===v||!v.writableObjectMode),readableObjectMode:!(null===E||void 0===E||!E.readableObjectMode),writable:R,readable:A}),R){if(a(v))m._write=function(e,t,n){v.write(e,t)?n():r=n},m._final=function(e){v.end(),_=e},v.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(d(v)){const e=u(v)?v.writable:v,t=e.getWriter();m._write=async function(e,r,n){try{await t.ready,t.write(e).catch((()=>{})),n()}catch(o){n(o)}},m._final=async function(e){try{await t.ready,t.close().catch((()=>{})),_=e}catch(r){e(r)}}}const e=u(E)?E.readable:E;y(e,(()=>{if(_){const e=_;_=null,e()}}))}if(A)if(a(E))E.on("readable",(function(){if(w){const e=w;w=null,e()}})),E.on("end",(function(){m.push(null)})),m._read=function(){while(1){const e=E.read();if(null===e)return void(w=m._read);if(!m.push(e))return}};else if(d(E)){const e=u(E)?E.readable:E,t=e.getReader();m._read=async function(){while(1)try{const{value:e,done:r}=await t.read();if(!m.push(e))return;if(r)return void m.push(null)}catch{return}}}return m._destroy=function(e,t){e||null===g||(e=new b),w=null,r=null,_=null,null===g?t(e):(g=t,a(E)&&i(E,e))},m}},7702:function(e,t,r){"use strict";const n=r(34155),{aggregateTwoErrors:o,codes:{ERR_MULTIPLE_CALLBACK:i},AbortError:a}=r(43550),{Symbol:l}=r(30671),{kIsDestroyed:s,isDestroyed:d,isFinished:u,isServerRequest:c}=r(13394),f=l("kDestroy"),b=l("kConstruct");function h(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function p(e,t){const r=this._readableState,n=this._writableState,i=n||r;return null!==n&&void 0!==n&&n.destroyed||null!==r&&void 0!==r&&r.destroyed?("function"===typeof t&&t(),this):(h(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),i.constructed?y(this,e,t):this.once(f,(function(r){y(this,o(r,e),t)})),this)}function y(e,t,r){let o=!1;function i(t){if(o)return;o=!0;const i=e._readableState,a=e._writableState;h(t,a,i),a&&(a.closed=!0),i&&(i.closed=!0),"function"===typeof r&&r(t),t?n.nextTick(_,e,t):n.nextTick(w,e)}try{e._destroy(t||null,i)}catch(t){i(t)}}function _(e,t){g(e,t),w(e)}function w(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!==r&&void 0!==r&&r.emitClose||null!==t&&void 0!==t&&t.emitClose)&&e.emit("close")}function g(e,t){const r=e._readableState,n=e._writableState;null!==n&&void 0!==n&&n.errorEmitted||null!==r&&void 0!==r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function m(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)}function S(e,t,r){const o=e._readableState,i=e._writableState;if(null!==i&&void 0!==i&&i.destroyed||null!==o&&void 0!==o&&o.destroyed)return this;null!==o&&void 0!==o&&o.autoDestroy||null!==i&&void 0!==i&&i.autoDestroy?e.destroy(t):t&&(t.stack,i&&!i.errored&&(i.errored=t),o&&!o.errored&&(o.errored=t),r?n.nextTick(g,e,t):g(e,t))}function v(e,t){if("function"!==typeof e._construct)return;const r=e._readableState,o=e._writableState;r&&(r.constructed=!1),o&&(o.constructed=!1),e.once(b,t),e.listenerCount(b)>1||n.nextTick(E,e)}function E(e){let t=!1;function r(r){if(t)return void S(e,null!==r&&void 0!==r?r:new i);t=!0;const o=e._readableState,a=e._writableState,l=a||o;o&&(o.constructed=!0),a&&(a.constructed=!0),l.destroyed?e.emit(f,r):r?S(e,r,!0):n.nextTick(R,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(o){n.nextTick(r,o)}}function R(e){e.emit(b)}function A(e){return(null===e||void 0===e?void 0:e.setHeader)&&"function"===typeof e.abort}function T(e){e.emit("close")}function k(e,t){e.emit("error",t),n.nextTick(T,e)}function I(e,t){e&&!d(e)&&(t||u(e)||(t=new a),c(e)?(e.socket=null,e.destroy(t)):A(e)?e.abort():A(e.req)?e.req.abort():"function"===typeof e.destroy?e.destroy(t):"function"===typeof e.close?e.close():t?n.nextTick(k,e,t):n.nextTick(T,e),e.destroyed||(e[s]=!0))}e.exports={construct:v,destroyer:I,destroy:p,undestroy:m,errorOrDestroy:S}},23234:function(e,t,r){"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:o,ObjectKeys:i,ObjectSetPrototypeOf:a}=r(30671);e.exports=d;const l=r(17862),s=r(15929);a(d.prototype,l.prototype),a(d,l);{const e=i(s.prototype);for(let t=0;t{c=!1,e&&w(t,e),f(e)})),d._write=function(e,t,o){r.write(e,t)?o():n=o},d._final=function(e){r.end(),o=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(o){const e=o;o=null,e()}}))),u&&(h(t,(e=>{u=!1,e&&w(t,e),f(e)})),t.on("readable",(function(){if(l){const e=l;l=null,e()}})),t.on("end",(function(){d.push(null)})),d._read=function(){while(1){const e=t.read();if(null===e)return void(l=d._read);if(!d.push(e))return}}),d._destroy=function(e,i){e||null===s||(e=new p),l=null,n=null,o=null,null===s?i(e):(s=i,w(r,e),w(t,e))},d}e.exports=function e(t,r){if(c(t))return t;if(d(t))return M({readable:t});if(u(t))return M({writable:t});if(s(t))return M({writable:!1,readable:!1});if(f(t))return M({readable:m.fromWeb(t)});if(b(t))return M({writable:S.fromWeb(t)});if("function"===typeof t){const{value:e,write:o,final:i,destroy:a}=N(t);if(l(e))return E(I,e,{objectMode:!0,write:o,final:i,destroy:a});const s=null===e||void 0===e?void 0:e.then;if("function"===typeof s){let t;const r=k(s,e,(e=>{if(null!=e)throw new _("nully","body",e)}),(e=>{w(t,e)}));return t=new I({objectMode:!0,readable:!1,write:o,final(e){i((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new _("Iterable, AsyncIterable or AsyncFunction",r,e)}if(A(t))return e(t.arrayBuffer());if(l(t))return E(I,t,{objectMode:!0,writable:!1});if(f(null===t||void 0===t?void 0:t.readable)&&b(null===t||void 0===t?void 0:t.writable))return I.fromWeb(t);if("object"===typeof(null===t||void 0===t?void 0:t.writable)||"object"===typeof(null===t||void 0===t?void 0:t.readable)){const r=null!==t&&void 0!==t&&t.readable?d(null===t||void 0===t?void 0:t.readable)?null===t||void 0===t?void 0:t.readable:e(t.readable):void 0,n=null!==t&&void 0!==t&&t.writable?u(null===t||void 0===t?void 0:t.writable)?null===t||void 0===t?void 0:t.writable:e(t.writable):void 0;return M({readable:r,writable:n})}const o=null===t||void 0===t?void 0:t.then;if("function"===typeof o){let e;return k(o,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{w(e,t)})),e=new I({objectMode:!0,writable:!1,read(){}})}throw new y(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},34131:function(e,t,r){const n=r(34155),{AbortError:o,codes:i}=r(43550),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:l}=i,{kEmptyObject:s,once:d}=r(55980),{validateAbortSignal:u,validateFunction:c,validateObject:f,validateBoolean:b}=r(39229),{Promise:h,PromisePrototypeThen:p,SymbolDispose:y}=r(30671),{isClosed:_,isReadable:w,isReadableNodeStream:g,isReadableStream:m,isReadableFinished:S,isReadableErrored:v,isWritable:E,isWritableNodeStream:R,isWritableStream:A,isWritableFinished:T,isWritableErrored:k,isNodeStream:I,willEmitClose:N,kIsClosedPromise:M}=r(13394);let D;function P(e){return e.setHeader&&"function"===typeof e.abort}const x=()=>{};function L(e,t,i){var b,h;if(2===arguments.length?(i=t,t=s):null==t?t=s:f(t,"options"),c(i,"callback"),u(t.signal,"options.signal"),i=d(i),m(e)||A(e))return O(e,t,i);if(!I(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const p=null!==(b=t.readable)&&void 0!==b?b:g(e),M=null!==(h=t.writable)&&void 0!==h?h:R(e),L=e._writableState,j=e._readableState,W=()=>{e.writable||F()};let $=N(e)&&g(e)===p&&R(e)===M,C=T(e,!1);const F=()=>{C=!0,e.destroyed&&($=!1),(!$||e.readable&&!p)&&(p&&!U||i.call(e))};let U=S(e,!1);const B=()=>{U=!0,e.destroyed&&($=!1),(!$||e.writable&&!M)&&(M&&!C||i.call(e))},G=t=>{i.call(e,t)};let H=_(e);const V=()=>{H=!0;const t=k(e)||v(e);return t&&"boolean"!==typeof t?i.call(e,t):p&&!U&&g(e,!0)&&!S(e,!1)?i.call(e,new l):!M||C||T(e,!1)?void i.call(e):i.call(e,new l)},Y=()=>{H=!0;const t=k(e)||v(e);if(t&&"boolean"!==typeof t)return i.call(e,t);i.call(e)},q=()=>{e.req.on("finish",F)};P(e)?(e.on("complete",F),$||e.on("abort",V),e.req?q():e.on("request",q)):M&&!L&&(e.on("end",W),e.on("close",W)),$||"boolean"!==typeof e.aborted||e.on("aborted",V),e.on("end",B),e.on("finish",F),!1!==t.error&&e.on("error",G),e.on("close",V),H?n.nextTick(V):null!==L&&void 0!==L&&L.errorEmitted||null!==j&&void 0!==j&&j.errorEmitted?$||n.nextTick(Y):(p||$&&!w(e)||!C&&!1!==E(e))&&(M||$&&!E(e)||!U&&!1!==w(e))?j&&e.req&&e.aborted&&n.nextTick(Y):n.nextTick(Y);const K=()=>{i=x,e.removeListener("aborted",V),e.removeListener("complete",F),e.removeListener("abort",V),e.removeListener("request",q),e.req&&e.req.removeListener("finish",F),e.removeListener("end",W),e.removeListener("close",W),e.removeListener("finish",F),e.removeListener("end",B),e.removeListener("error",G),e.removeListener("close",V)};if(t.signal&&!H){const a=()=>{const r=i;K(),r.call(e,new o(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{D=D||r(55980).addAbortListener;const n=D(t.signal,a),o=i;i=d(((...t)=>{n[y](),o.apply(e,t)}))}}return K}function O(e,t,i){let a=!1,l=x;if(t.signal)if(l=()=>{a=!0,i.call(e,new o(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(l);else{D=D||r(55980).addAbortListener;const n=D(t.signal,l),o=i;i=d(((...t)=>{n[y](),o.apply(e,t)}))}const s=(...t)=>{a||n.nextTick((()=>i.apply(e,t)))};return p(e[M].promise,s,s),x}function j(e,t){var r;let n=!1;return null===t&&(t=s),null!==(r=t)&&void 0!==r&&r.cleanup&&(b(t.cleanup,"cleanup"),n=t.cleanup),new h(((r,o)=>{const i=L(e,t,(e=>{n&&i(),e?o(e):r()}))}))}e.exports=L,e.exports.finished=j},29609:function(e,t,r){"use strict";const n=r(34155),{PromisePrototypeThen:o,SymbolAsyncIterator:i,SymbolIterator:a}=r(30671),{Buffer:l}=r(48764),{ERR_INVALID_ARG_TYPE:s,ERR_STREAM_NULL_VALUES:d}=r(43550).codes;function u(e,t,r){let u,c;if("string"===typeof t||t instanceof l)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[i])c=!0,u=t[i]();else{if(!t||!t[a])throw new s("iterable",["Iterable"],t);c=!1,u=t[a]()}const f=new e({objectMode:!0,highWaterMark:1,...r});let b=!1;async function h(e){const t=void 0!==e&&null!==e,r="function"===typeof u.throw;if(t&&r){const{value:t,done:r}=await u.throw(e);if(await t,r)return}if("function"===typeof u.return){const{value:e}=await u.return();await e}}async function p(){for(;;){try{const{value:e,done:t}=c?await u.next():u.next();if(t)f.push(null);else{const t=e&&"function"===typeof e.then?await e:e;if(null===t)throw b=!1,new d;if(f.push(t))continue;b=!1}}catch(e){f.destroy(e)}break}}return f._read=function(){b||(b=!0,p())},f._destroy=function(e,t){o(h(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},f}e.exports=u},1850:function(e,t,r){"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:o}=r(30671),{EventEmitter:i}=r(17187);function a(e){i.call(this,e)}function l(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}o(a.prototype,i.prototype),o(a,i),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",d));let a=!1;function s(){a||(a=!0,e.end())}function d(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){c(),0===i.listenerCount(this,"error")&&this.emit("error",e)}function c(){r.removeListener("data",n),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",d),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return l(r,"error",u),l(e,"error",u),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:l}},73293:function(e,t,r){"use strict";const n=globalThis.AbortController||r(28599).AbortController,{codes:{ERR_INVALID_ARG_VALUE:o,ERR_INVALID_ARG_TYPE:i,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:l},AbortError:s}=r(43550),{validateAbortSignal:d,validateInteger:u,validateObject:c}=r(39229),f=r(30671).Symbol("kWeak"),b=r(30671).Symbol("kResistStopPropagation"),{finished:h}=r(34131),p=r(70342),{addAbortSignalNoValidate:y}=r(16298),{isWritable:_,isNodeStream:w}=r(13394),{deprecate:g}=r(55980),{ArrayPrototypePush:m,Boolean:S,MathFloor:v,Number:E,NumberIsNaN:R,Promise:A,PromiseReject:T,PromiseResolve:k,PromisePrototypeThen:I,Symbol:N}=r(30671),M=N("kEmpty"),D=N("kEof");function P(e,t){if(null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),w(e)&&!_(e))throw new o("stream",e,"must be writable");const r=p(this,e);return null!==t&&void 0!==t&&t.signal&&y(t.signal,r),r}function x(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal");let n=1;null!=(null===t||void 0===t?void 0:t.concurrency)&&(n=v(t.concurrency));let o=n-1;return null!=(null===t||void 0===t?void 0:t.highWaterMark)&&(o=v(t.highWaterMark)),u(n,"options.concurrency",1),u(o,"options.highWaterMark",0),o+=n,async function*(){const i=r(55980).AbortSignalAny([null===t||void 0===t?void 0:t.signal].filter(S)),a=this,l=[],d={signal:i};let u,c,f=!1,b=0;function h(){f=!0,p()}function p(){b-=1,y()}function y(){c&&!f&&b=o||b>=n)&&await new A((e=>{c=e}))}l.push(D)}catch(t){const e=T(t);I(e,p,h),l.push(e)}finally{f=!0,u&&(u(),u=null)}}_();try{while(1){while(l.length>0){const e=await l[0];if(e===D)return;if(i.aborted)throw new s;e!==M&&(yield e),l.shift(),y()}await new A((e=>{u=e}))}}finally{f=!0,c&&(c(),c=null)}}.call(this)}function L(e=void 0){return null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s({cause:e.signal.reason});yield[t++,n]}}.call(this)}async function O(e,t=void 0){for await(const r of C.call(this,e,t))return!0;return!1}async function j(e,t=void 0){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);return!await O.call(this,(async(...t)=>!await e(...t)),t)}async function W(e,t){for await(const r of C.call(this,e,t))return r}async function $(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r),M}for await(const n of x.call(this,r,t));}function C(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r)?t:M}return x.call(this,r,t)}class F extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function U(e,t,r){var o;if("function"!==typeof e)throw new i("reducer",["Function","AsyncFunction"],e);null!=r&&c(r,"options"),null!=(null===r||void 0===r?void 0:r.signal)&&d(r.signal,"options.signal");let a=arguments.length>1;if(null!==r&&void 0!==r&&null!==(o=r.signal)&&void 0!==o&&o.aborted){const e=new s(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await h(this.destroy(e)),e}const l=new n,u=l.signal;if(null!==r&&void 0!==r&&r.signal){const e={once:!0,[f]:this,[b]:!0};r.signal.addEventListener("abort",(()=>l.abort()),e)}let p=!1;try{for await(const n of this){var y;if(p=!0,null!==r&&void 0!==r&&null!==(y=r.signal)&&void 0!==y&&y.aborted)throw new s;a?t=await e(t,n,{signal:u}):(t=n,a=!0)}if(!p&&!a)throw new F}finally{l.abort()}return t}async function B(e){null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s(void 0,{cause:e.signal.reason});m(t,n)}return t}function G(e,t){const r=x.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)}function H(e){if(e=E(e),R(e))return 0;if(e<0)throw new l("number",">= 0",e);return e}function V(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=H(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;e--<=0&&(yield o)}}.call(this)}function Y(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=H(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;if(e-- >0&&(yield o),e<=0)return}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:g(L,"readable.asIndexedPairs will be removed in a future version."),drop:V,filter:C,flatMap:G,map:x,take:Y,compose:P},e.exports.promiseReturningOperators={every:j,forEach:$,reduce:U,toArray:B,some:O,find:W}},86133:function(e,t,r){"use strict";const{ObjectSetPrototypeOf:n}=r(30671);e.exports=i;const o=r(91380);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}n(i.prototype,o.prototype),n(i,o),i.prototype._transform=function(e,t,r){r(null,e)}},41165:function(e,t,r){const n=r(34155),{ArrayIsArray:o,Promise:i,SymbolAsyncIterator:a,SymbolDispose:l}=r(30671),s=r(34131),{once:d}=r(55980),u=r(7702),c=r(23234),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:b,ERR_INVALID_RETURN_VALUE:h,ERR_MISSING_ARGS:p,ERR_STREAM_DESTROYED:y,ERR_STREAM_PREMATURE_CLOSE:_},AbortError:w}=r(43550),{validateFunction:g,validateAbortSignal:m}=r(39229),{isIterable:S,isReadable:v,isReadableNodeStream:E,isNodeStream:R,isTransformStream:A,isWebStream:T,isReadableStream:k,isReadableFinished:I}=r(13394),N=globalThis.AbortController||r(28599).AbortController;let M,D,P;function x(e,t,r){let n=!1;e.on("close",(()=>{n=!0}));const o=s(e,{readable:t,writable:r},(e=>{n=!e}));return{destroy:t=>{n||(n=!0,u.destroyer(e,t||new y("pipe")))},cleanup:o}}function L(e){return g(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function O(e){if(S(e))return e;if(E(e))return j(e);throw new b("val",["Readable","Iterable","AsyncIterable"],e)}async function*j(e){D||(D=r(17862)),yield*D.prototype[a].call(e)}async function W(e,t,r,{end:n}){let o,a=null;const l=e=>{if(e&&(o=e),a){const e=a;a=null,e()}},d=()=>new i(((e,t)=>{o?t(o):a=()=>{o?t(o):e()}}));t.on("drain",l);const u=s(t,{readable:!1},l);try{t.writableNeedDrain&&await d();for await(const r of e)t.write(r)||await d();n&&(t.end(),await d()),r()}catch(c){r(o!==c?f(o,c):c)}finally{u(),t.off("drain",l)}}async function $(e,t,r,{end:n}){A(t)&&(t=t.writable);const o=t.getWriter();try{for await(const t of e)await o.ready,o.write(t).catch((()=>{}));await o.ready,n&&await o.close(),r()}catch(i){try{await o.abort(i),r(i)}catch(i){r(i)}}}function C(...e){return F(e,d(L(e)))}function F(e,t,i){if(1===e.length&&o(e[0])&&(e=e[0]),e.length<2)throw new p("streams");const a=new N,s=a.signal,d=null===i||void 0===i?void 0:i.signal,u=[];function f(){C(new w)}let y,_,g;m(d,"options.signal"),P=P||r(55980).addAbortListener,d&&(y=P(d,f));const I=[];let D,L=0;function j(e){C(e,0===--L)}function C(e,r){var o;if(!e||_&&"ERR_STREAM_PREMATURE_CLOSE"!==_.code||(_=e),_||r){while(I.length)I.shift()(_);null===(o=y)||void 0===o||o[l](),a.abort(),r&&(_||u.forEach((e=>e())),n.nextTick(t,_,g))}}for(let H=0;H0,K=Y||!1!==(null===i||void 0===i?void 0:i.end),z=H===e.length-1;if(R(V)){if(K){const{destroy:X,cleanup:J}=x(V,Y,q);I.push(X),v(V)&&z&&u.push(J)}function F(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&j(e)}V.on("error",F),v(V)&&z&&u.push((()=>{V.removeListener("error",F)}))}if(0===H)if("function"===typeof V){if(D=V({signal:s}),!S(D))throw new h("Iterable, AsyncIterable or Stream","source",D)}else D=S(V)||E(V)||A(V)?V:c.from(V);else if("function"===typeof V){var B;if(A(D))D=O(null===(B=D)||void 0===B?void 0:B.readable);else D=O(D);if(D=V(D,{signal:s}),Y){if(!S(D,!0))throw new h("AsyncIterable",`transform[${H-1}]`,D)}else{var G;M||(M=r(86133));const Z=new M({objectMode:!0}),Q=null===(G=D)||void 0===G?void 0:G.then;if("function"===typeof Q)L++,Q.call(D,(e=>{g=e,null!=e&&Z.write(e),K&&Z.end(),n.nextTick(j)}),(e=>{Z.destroy(e),n.nextTick(j,e)}));else if(S(D,!0))L++,W(D,Z,j,{end:K});else{if(!k(D)&&!A(D))throw new h("AsyncIterable or Promise","destination",D);{const re=D.readable||D;L++,W(re,Z,j,{end:K})}}D=Z;const{destroy:ee,cleanup:te}=x(D,!1,!0);I.push(ee),z&&u.push(te)}}else if(R(V)){if(E(D)){L+=2;const ne=U(D,V,j,{end:K});v(V)&&z&&u.push(ne)}else if(A(D)||k(D)){const oe=D.readable||D;L++,W(oe,V,j,{end:K})}else{if(!S(D))throw new b("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],D);L++,W(D,V,j,{end:K})}D=V}else if(T(V)){if(E(D))L++,$(O(D),V,j,{end:K});else if(k(D)||S(D))L++,$(D,V,j,{end:K});else{if(!A(D))throw new b("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],D);L++,$(D.readable,V,j,{end:K})}D=V}else D=c.from(V)}return(null!==s&&void 0!==s&&s.aborted||null!==d&&void 0!==d&&d.aborted)&&n.nextTick(f),D}function U(e,t,r,{end:o}){let i=!1;if(t.on("close",(()=>{i||r(new _)})),e.pipe(t,{end:!1}),o){function a(){i=!0,t.end()}I(e)?n.nextTick(a):e.once("end",a)}else r();return s(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),s(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:F,pipeline:C}},17862:function(e,t,r){const n=r(34155),{ArrayPrototypeIndexOf:o,NumberIsInteger:i,NumberIsNaN:a,NumberParseInt:l,ObjectDefineProperties:s,ObjectKeys:d,ObjectSetPrototypeOf:u,Promise:c,SafeSet:f,SymbolAsyncDispose:b,SymbolAsyncIterator:h,Symbol:p}=r(30671);e.exports=le,le.ReadableState=ae;const{EventEmitter:y}=r(17187),{Stream:_,prependListener:w}=r(1850),{Buffer:g}=r(48764),{addAbortSignal:m}=r(16298),S=r(34131);let v=r(55980).debuglog("stream",(e=>{v=e}));const E=r(30188),R=r(7702),{getHighWaterMark:A,getDefaultHighWaterMark:T}=r(80310),{aggregateTwoErrors:k,codes:{ERR_INVALID_ARG_TYPE:I,ERR_METHOD_NOT_IMPLEMENTED:N,ERR_OUT_OF_RANGE:M,ERR_STREAM_PUSH_AFTER_EOF:D,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:P},AbortError:x}=r(43550),{validateObject:L}=r(39229),O=p("kPaused"),{StringDecoder:j}=r(32553),W=r(29609);u(le.prototype,_.prototype),u(le,_);const $=()=>{},{errorOrDestroy:C}=R,F=1,U=2,B=4,G=8,H=16,V=32,Y=64,q=128,K=256,z=512,X=1024,J=2048,Z=4096,Q=8192,ee=16384,te=32768,re=65536,ne=1<<17,oe=1<<18;function ie(e){return{enumerable:!1,get(){return 0!==(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function ae(e,t,n){"boolean"!==typeof n&&(n=t instanceof r(23234)),this.state=J|Z|H|V,e&&e.objectMode&&(this.state|=F),n&&e&&e.readableObjectMode&&(this.state|=F),this.highWaterMark=e?A(this,e,"readableHighWaterMark",n):T(!1),this.buffer=new E,this.length=0,this.pipes=[],this.flowing=null,this[O]=null,e&&!1===e.emitClose&&(this.state&=~J),e&&!1===e.autoDestroy&&(this.state&=~Z),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new j(e.encoding),this.encoding=e.encoding)}function le(e){if(!(this instanceof le))return new le(e);const t=this instanceof r(23234);this._readableState=new ae(e,this,t),e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&m(e.signal,this)),_.call(this,e),R.construct(this,(()=>{this._readableState.needReadable&&ye(this,this._readableState)}))}function se(e,t,r,n){v("readableAddChunk",t);const o=e._readableState;let i;if(0===(o.state&F)&&("string"===typeof t?(r=r||o.defaultEncoding,o.encoding!==r&&(n&&o.encoding?t=g.from(t,r).toString(o.encoding):(t=g.from(t,r),r=""))):t instanceof g?r="":_._isUint8Array(t)?(t=_._uint8ArrayToBuffer(t),r=""):null!=t&&(i=new I("chunk",["string","Buffer","Uint8Array"],t))),i)C(e,i);else if(null===t)o.state&=~G,be(e,o);else if(0!==(o.state&F)||t&&t.length>0)if(n)if(0!==(o.state&B))C(e,new P);else{if(o.destroyed||o.errored)return!1;de(e,o,t,!0)}else if(o.ended)C(e,new D);else{if(o.destroyed||o.errored)return!1;o.state&=~G,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?de(e,o,t,!1):ye(e,o)):de(e,o,t,!1)}else n||(o.state&=~G,ye(e,o));return!o.ended&&(o.length0?(0!==(t.state&re)?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),0!==(t.state&Y)&&he(e)),ye(e,t)}s(ae.prototype,{objectMode:ie(F),ended:ie(U),endEmitted:ie(B),reading:ie(G),constructed:ie(H),sync:ie(V),needReadable:ie(Y),emittedReadable:ie(q),readableListening:ie(K),resumeScheduled:ie(z),errorEmitted:ie(X),emitClose:ie(J),autoDestroy:ie(Z),destroyed:ie(Q),closed:ie(ee),closeEmitted:ie(te),multiAwaitDrain:ie(re),readingMore:ie(ne),dataEmitted:ie(oe)}),le.prototype.destroy=R.destroy,le.prototype._undestroy=R.undestroy,le.prototype._destroy=function(e,t){t(e)},le.prototype[y.captureRejectionSymbol]=function(e){this.destroy(e)},le.prototype[b]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new x,this.destroy(e)),new c(((t,r)=>S(this,(n=>n&&n!==e?r(n):t(null)))))},le.prototype.push=function(e,t){return se(this,e,t,!1)},le.prototype.unshift=function(e,t){return se(this,e,t,!0)},le.prototype.isPaused=function(){const e=this._readableState;return!0===e[O]||!1===e.flowing},le.prototype.setEncoding=function(e){const t=new j(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const o of r)n+=t.write(o);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this};const ue=1073741824;function ce(e){if(e>ue)throw new M("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function fe(e,t){return e<=0||0===t.length&&t.ended?0:0!==(t.state&F)?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function be(e,t){if(v("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?he(e):(t.needReadable=!1,t.emittedReadable=!0,pe(e))}}function he(e){const t=e._readableState;v("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(v("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(pe,e))}function pe(e){const t=e._readableState;v("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Ee(e)}function ye(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(_e,e,t))}function _e(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[O]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function me(e){v("readable nexttick read 0"),e.read(0)}function Se(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(ve,e,t))}function ve(e,t){v("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Ee(e),t.flowing&&!t.reading&&e.read(0)}function Ee(e){const t=e._readableState;v("flow",t.flowing);while(t.flowing&&null!==e.read());}function Re(e,t){"function"!==typeof e.read&&(e=le.wrap(e,{objectMode:!0}));const r=Ae(e,t);return r.stream=e,r}async function*Ae(e,t){let r,n=$;function o(t){this===e?(n(),n=$):n=t}e.on("readable",o);const i=S(e,{writable:!1},(e=>{r=e?k(r,e):null,n(),n=$}));try{while(1){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new c(o)}}}catch(a){throw r=k(r,a),r}finally{!r&&!1===(null===t||void 0===t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",o),i()):R.destroyer(e,null)}}function Te(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function ke(e){const t=e._readableState;v("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(Ie,t,e))}function Ie(e,t){if(v("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(Ne,t);else if(e.autoDestroy){const e=t._writableState,r=!e||e.autoDestroy&&(e.finished||!1===e.writable);r&&t.destroy()}}function Ne(e){const t=e.writable&&!e.writableEnded&&!e.destroyed;t&&e.end()}let Me;function De(){return void 0===Me&&(Me={}),Me}le.prototype.read=function(e){v("read",e),void 0===e?e=NaN:i(e)||(e=l(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=ce(e)),0!==e&&(t.state&=~q),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return v("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?ke(this):he(this),null;if(e=fe(e,t),0===e&&t.ended)return 0===t.length&&ke(this),null;let n,o=0!==(t.state&Y);if(v("need readable",o),(0===t.length||t.length-e0?Te(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ke(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},le.prototype._read=function(e){throw new N("_read()")},le.prototype.pipe=function(e,t){const r=this,o=this._readableState;1===o.pipes.length&&(o.multiAwaitDrain||(o.multiAwaitDrain=!0,o.awaitDrainWriters=new f(o.awaitDrainWriters?[o.awaitDrainWriters]:[]))),o.pipes.push(e),v("pipe count=%d opts=%j",o.pipes.length,t);const i=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr,a=i?s:g;function l(e,t){v("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,c())}function s(){v("onend"),e.end()}let d;o.endEmitted?n.nextTick(a):r.once("end",a),e.on("unpipe",l);let u=!1;function c(){v("cleanup"),e.removeListener("close",y),e.removeListener("finish",_),d&&e.removeListener("drain",d),e.removeListener("error",p),e.removeListener("unpipe",l),r.removeListener("end",s),r.removeListener("end",g),r.removeListener("data",h),u=!0,d&&o.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&d()}function b(){u||(1===o.pipes.length&&o.pipes[0]===e?(v("false write response, pause",0),o.awaitDrainWriters=e,o.multiAwaitDrain=!1):o.pipes.length>1&&o.pipes.includes(e)&&(v("false write response, pause",o.awaitDrainWriters.size),o.awaitDrainWriters.add(e)),r.pause()),d||(d=we(r,e),e.on("drain",d))}function h(t){v("ondata");const r=e.write(t);v("dest.write",r),!1===r&&b()}function p(t){if(v("onerror",t),g(),e.removeListener("error",p),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?C(e,t):e.emit("error",t)}}function y(){e.removeListener("finish",_),g()}function _(){v("onfinish"),e.removeListener("close",y),g()}function g(){v("unpipe"),r.unpipe(e)}return r.on("data",h),w(e,"error",p),e.once("close",y),e.once("finish",_),e.emit("pipe",r),!0===e.writableNeedDrain?b():o.flowing||(v("pipe resume"),r.resume()),e},le.prototype.unpipe=function(e){const t=this._readableState,r={hasUnpiped:!1};if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==o.flowing&&this.resume()):"readable"===e&&(o.endEmitted||o.readableListening||(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,v("on readable",o.length,o.reading),o.length?he(this):o.reading||n.nextTick(me,this))),r},le.prototype.addListener=le.prototype.on,le.prototype.removeListener=function(e,t){const r=_.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(ge,this),r},le.prototype.off=le.prototype.removeListener,le.prototype.removeAllListeners=function(e){const t=_.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(ge,this),t},le.prototype.resume=function(){const e=this._readableState;return e.flowing||(v("resume"),e.flowing=!e.readableListening,Se(this,e)),e[O]=!1,this},le.prototype.pause=function(){return v("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(v("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[O]=!0,this},le.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{C(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=d(e);for(let n=1;n{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function c(){this._final!==u&&u.call(this)}d.prototype._final=u,d.prototype._transform=function(e,t,r){throw new i("_transform()")},d.prototype._write=function(e,t,r){const n=this._readableState,o=this._writableState,i=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),o.ended||i===n.length||n.length{const e=this._writableState;e.writing||G(this,e),q(this,e)}))}function O(e,t,r,o){const i=e._writableState;if("function"===typeof r)o=r,r=i.defaultEncoding;else{if(r){if("buffer"!==r&&!p.isEncoding(r))throw new I(r)}else r=i.defaultEncoding;"function"!==typeof o&&(o=M)}if(null===t)throw new T;if(!i.objectMode)if("string"===typeof t)!1!==i.decodeStrings&&(t=p.from(t,r),r="buffer");else if(t instanceof p)r="buffer";else{if(!h._isUint8Array(t))throw new m("chunk",["string","Buffer","Uint8Array"],t);t=h._uint8ArrayToBuffer(t),r="buffer"}let a;return i.ending?a=new k:i.destroyed&&(a=new R("write")),a?(n.nextTick(o,a),N(e,a,!0),a):(i.pendingcb++,j(e,i,t,r,o))}function j(e,t,r,n,o){const i=t.objectMode?1:r.length;t.length+=i;const a=t.lengthr.bufferedIndex&&G(e,r),o?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===i?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:i,stream:e,state:r},n.nextTick(F,r.afterWriteTickInfo)):U(e,r,1,i))):N(e,new v)}function F({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,U(e,t,r,n)}function U(e,t,r,n){const o=!t.ending&&!e.destroyed&&0===t.length&&t.needDrain;o&&(t.needDrain=!1,e.emit("drain"));while(r-- >0)t.pendingcb--,n();t.destroyed&&B(t),q(e,t)}function B(e){if(e.writing)return;for(let o=e.bufferedIndex;o1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?M:e=>{for(let t=l;t256?(r.splice(0,l),t.bufferedIndex=0):t.bufferedIndex=l}t.bufferProcessing=!1}function H(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function V(e,t){let r=!1;function o(o){if(r)N(e,null!==o&&void 0!==o?o:v());else if(r=!0,t.pendingcb--,o){const r=t[D].splice(0);for(let e=0;e{H(t)?K(e,t):t.pendingcb--}),e,t)):H(t)&&(t.pendingcb++,K(e,t))))}function K(e,t){t.pendingcb--,t.finished=!0;const r=t[D].splice(0);for(let n=0;n>>0}const N=/^[0-7]+$/,M="must be a 32-bit unsigned integer or an octal string";function D(e,t,r){if("undefined"===typeof e&&(e=r),"string"===typeof e){if(null===b(N,e))throw new m(t,e,M);e=c(e,8)}return L(e,t),e}const P=_(((e,t,r=u,n=d)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),x=_(((e,t,r=-2147483648,n=2147483647)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),L=_(((e,t,r=!1)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);const n=r?1:0,o=4294967295;if(eo)throw new S(t,`>= ${n} && <= ${o}`,e)}));function O(e,t){if("string"!==typeof e)throw new g(t,"string",e)}function j(e,t,r=void 0,n){if("number"!==typeof e)throw new g(t,"number",e);if(null!=r&&en||(null!=r||null!=n)&&s(e))throw new S(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)}const W=_(((e,t,r)=>{if(!o(r,e)){const n=i(a(r,(e=>"string"===typeof e?`'${e}'`:h(e))),", "),o="must be one of: "+n;throw new m(t,e,o)}}));function $(e,t){if("boolean"!==typeof e)throw new g(t,"boolean",e)}function C(e,t,r){return null!=e&&f(e,t)?e[t]:r}const F=_(((e,t,r=null)=>{const o=C(r,"allowArray",!1),i=C(r,"allowFunction",!1),a=C(r,"nullable",!1);if(!a&&null===e||!o&&n(e)||"object"!==typeof e&&(!i||"function"!==typeof e))throw new g(t,"Object",e)})),U=_(((e,t)=>{if(null!=e&&"object"!==typeof e&&"function"!==typeof e)throw new g(t,"a dictionary",e)})),B=_(((e,t,r=0)=>{if(!n(e))throw new g(t,"Array",e);if(e.length{if(!A(e))throw new g(t,["Buffer","TypedArray","DataView"],e)}));function K(e,t){const r=E(t),n=e.length;if("hex"===r&&n%2!==0)throw new m("encoding",t,`is invalid for data of length ${n}`)}function z(e,t="Port",r=!0){if("number"!==typeof e&&"string"!==typeof e||"string"===typeof e&&0===y(e).length||+e!==+e>>>0||e>65535||0===e&&!r)throw new w(t,e,r);return 0|e}const X=_(((e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new g(t,"AbortSignal",e)})),J=_(((e,t)=>{if("function"!==typeof e)throw new g(t,"Function",e)})),Z=_(((e,t)=>{if("function"!==typeof e||R(e))throw new g(t,"Function",e)})),Q=_(((e,t)=>{if(void 0!==e)throw new g(t,"undefined",e)}));function ee(e,t,r){if(!o(r,e))throw new g(t,`('${i(r,"|")}')`,e)}const te=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function re(e,t){if("undefined"===typeof e||!b(te,e))throw new m(t,e,'must be an array or string of format "; rel=preload; as=style"')}function ne(e){if("string"===typeof e)return re(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}e.exports={isInt32:k,isUint32:I,parseFileMode:D,validateArray:B,validateStringArray:G,validateBooleanArray:H,validateAbortSignalArray:V,validateBoolean:$,validateBuffer:q,validateDictionary:U,validateEncoding:K,validateFunction:J,validateInt32:x,validateInteger:P,validateNumber:j,validateObject:F,validateOneOf:W,validatePlainFunction:Z,validatePort:z,validateSignalName:Y,validateString:O,validateUint32:L,validateUndefined:Q,validateUnion:ee,validateAbortSignal:X,validateLinkHeaderValue:ne}},41017:function(e,t,r){"use strict";const n=r(24541),o=r(36051),i=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=i,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return o}}),e.exports.Stream=n.Stream,e.exports["default"]=e.exports},43550:function(e,t,r){"use strict";const{format:n,inspect:o,AggregateError:i}=r(55980),a=globalThis.AggregateError||i,l=Symbol("kIsNodeError"),s=["string","function","number","object","Function","Object","boolean","bigint","symbol"],d=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function f(e,t){if(!e)throw new c.ERR_INTERNAL_ASSERTION(t)}function b(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function h(e,t,r){if("function"===typeof t)return f(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const o=(t.match(/%[dfijoOs]/g)||[]).length;return f(o===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${o}).`),0===r.length?t:n(t,...r)}function p(e,t,r){r||(r=Error);class n extends r{constructor(...r){super(h(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=e,n.prototype[l]=!0,c[e]=n}function y(e){const t=u+e.name;return Object.defineProperty(e,"name",{value:t}),e}function _(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t}class w extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!==typeof t)throw new c.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",((e,t,r)=>{f("string"===typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const i=[],a=[],l=[];for(const o of t)f("string"===typeof o,"All expected entries have to be of type string"),s.includes(o)?i.push(o.toLowerCase()):d.test(o)?a.push(o):(f("object"!==o,'The value "object" should be written as "Object"'),l.push(o));if(a.length>0){const e=i.indexOf("object");-1!==e&&(i.splice(i,e,1),a.push("Object"))}if(i.length>0){switch(i.length){case 1:n+=`of type ${i[0]}`;break;case 2:n+=`one of type ${i[0]} or ${i[1]}`;break;default:{const e=i.pop();n+=`one of type ${i.join(", ")}, or ${e}`}}(a.length>0||l.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}l.length>0&&(n+=" or ")}switch(l.length){case 0:break;case 1:l[0].toLowerCase()!==l[0]&&(n+="an "),n+=`${l[0]}`;break;case 2:n+=`one of ${l[0]} or ${l[1]}`;break;default:{const e=l.pop();n+=`one of ${l.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"===typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"===typeof r){var u;if(null!==(u=r.constructor)&&void 0!==u&&u.name)n+=`. Received an instance of ${r.constructor.name}`;else{const e=o(r,{depth:-1});n+=`. Received ${e}`}}else{let e=o(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),p("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=o(t);n.length>128&&(n=n.slice(0,128)+"...");const i=e.includes(".")?"property":"argument";return`The ${i} '${e}' ${r}. Received ${n}`}),TypeError),p("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;const o=null!==r&&void 0!==r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r;return`Expected ${e} to be returned from the "${t}" function but got ${o}.`}),TypeError),p("ERR_MISSING_ARGS",((...e)=>{let t;f(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`}),TypeError),p("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return f(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=b(String(r)):"bigint"===typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=b(n)),n+="n"):n=o(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:w,aggregateTwoErrors:y(_),hideStackFrames:y,codes:c}},30671:function(e){"use strict";e.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,r){return e.slice(t,r)},Error:Error,FunctionPrototypeCall(e,t,...r){return e.call(t,...r)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number:Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,r){return Object.defineProperty(e,t,r)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise:Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,r){return e.then(t,r)},PromiseReject(e){return Promise.reject(e)},PromiseResolve(e){return Promise.resolve(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String:String,StringPrototypeSlice(e,t,r){return e.slice(t,r)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol:Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(e,t,r){return e.set(t,r)},Boolean:Boolean,Uint8Array:Uint8Array}},55980:function(e,t,r){"use strict";const n=r(48764),{kResistStopPropagation:o,SymbolDispose:i}=r(30671),a=globalThis.AbortSignal||r(28599).AbortSignal,l=globalThis.AbortController||r(28599).AbortController,s=Object.getPrototypeOf((async function(){})).constructor,d=globalThis.Blob||n.Blob,u="undefined"!==typeof d?function(e){return e instanceof d}:function(e){return!1},c=(e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)},f=(e,t)=>{if("function"!==typeof e)throw new ERR_INVALID_ARG_TYPE(t,"Function",e)};class b extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n}));return{promise:r,resolve:e,reject:t}},promisify(e){return new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))}))},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();if("f"===r)return n.toFixed(6);if("j"===r)return JSON.stringify(n);if("s"===r&&"object"===typeof n){const e=n.constructor!==Object?n.constructor.name:"";return`${e} {}`.trim()}return n.toString()}))},inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof s},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:u,deprecate(e,t){return e},addAbortListener:r(17187).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return c(e,"signal"),f(t,"listener"),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[o]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[i](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new l,r=()=>t.abort();return e.forEach((e=>{c(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},24541:function(e,t,r){const{Buffer:n}=r(48764),{ObjectDefineProperty:o,ObjectKeys:i,ReflectApply:a}=r(30671),{promisify:{custom:l}}=r(55980),{streamReturningOperators:s,promiseReturningOperators:d}=r(73293),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=r(43550),c=r(70342),{setDefaultHighWaterMark:f,getDefaultHighWaterMark:b}=r(80310),{pipeline:h}=r(41165),{destroyer:p}=r(7702),y=r(34131),_=r(36051),w=r(13394),g=e.exports=r(1850).Stream;g.isDestroyed=w.isDestroyed,g.isDisturbed=w.isDisturbed,g.isErrored=w.isErrored,g.isReadable=w.isReadable,g.isWritable=w.isWritable,g.Readable=r(17862);for(const v of i(s)){const E=s[v];function m(...e){if(new.target)throw u();return g.Readable.from(a(E,this,e))}o(m,"name",{__proto__:null,value:E.name}),o(m,"length",{__proto__:null,value:E.length}),o(g.Readable.prototype,v,{__proto__:null,value:m,enumerable:!1,configurable:!0,writable:!0})}for(const R of i(d)){const A=d[R];function m(...e){if(new.target)throw u();return a(A,this,e)}o(m,"name",{__proto__:null,value:A.name}),o(m,"length",{__proto__:null,value:A.length}),o(g.Readable.prototype,R,{__proto__:null,value:m,enumerable:!1,configurable:!0,writable:!0})}g.Writable=r(15929),g.Duplex=r(23234),g.Transform=r(91380),g.PassThrough=r(86133),g.pipeline=h;const{addAbortSignal:S}=r(16298);g.addAbortSignal=S,g.finished=y,g.destroy=p,g.compose=c,g.setDefaultHighWaterMark=f,g.getDefaultHighWaterMark=b,o(g,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),o(h,l,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),o(y,l,{__proto__:null,enumerable:!0,get(){return _.finished}}),g.Stream=g,g._isUint8Array=function(e){return e instanceof Uint8Array},g._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},36051:function(e,t,r){"use strict";const{ArrayPrototypePop:n,Promise:o}=r(30671),{isIterable:i,isNodeStream:a,isWebStream:l}=r(13394),{pipelineImpl:s}=r(41165),{finished:d}=r(34131);function u(...e){return new o(((t,r)=>{let o,d;const u=e[e.length-1];if(u&&"object"===typeof u&&!a(u)&&!i(u)&&!l(u)){const t=n(e);o=t.signal,d=t.end}s(e,((e,n)=>{e?r(e):t(n)}),{signal:o,end:d})}))}r(24541),e.exports={finished:d,pipeline:u}},85249:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return M}});var n=r(90540);function o(e){return"_:"+e.value}var i=o;function a(e,t){return[...e].map((e=>t(e))).join("\n")+"\n"}var l=a;function s(){return""}var d=s;function u(e){return"<"+e.value+">"}var c=u;const f=/["\\\\\n\r]/,b=/["\\\\\n\r]/g,h={'"':'\\"',"\\":"\\\\","\n":"\\n","\r":"\\r"};function p(e){return h[e]}function y(e){return f.test(e)?e.replace(b,p):e}function _(e){const t=y(e.value);return"http://www.w3.org/2001/XMLSchema#string"===e.datatype.value?'"'+t+'"':"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"===e.datatype.value?'"'+t+'"@'+e.language:'"'+t+'"^^'+c(e.datatype)}var w=_;function g(e,t){const r=t(e.subject),n=t(e.predicate),o=t(e.object),i=t(e.graph);return`${r} ${n} ${o} ${i?i+" ":""}.`}var m=g;function S(e){return"?"+e.value}var v=S;function E(e){if(!e)return null;if("BlankNode"===e.termType)return i(e);if("DefaultGraph"===e.termType)return d();if("Literal"===e.termType)return w(e);if("NamedNode"===e.termType)return c(e);if("Quad"===e.termType||e.subject&&e.predicate&&e.object&&e.graph)return m(e,E);if("Variable"===e.termType)return v(e);if(e[Symbol.iterator])return l(e,E);throw new Error(`unknown termType ${e.termType}`)}var R=E,A=r(54350),T=r(41017);class k{constructor(e){const t=new T.Transform({objectMode:!0,transform:(e,t,r)=>{r(null,`${R(e)}\n`)}});return e.pipe(t),(0,A.Z)(t)}}var I=k;class N extends n.Z{constructor(){super(I)}}var M=N}}]);
+//# sourceMappingURL=249.6097629f.js.map
\ No newline at end of file
diff --git a/js/249.6097629f.js.map b/js/249.6097629f.js.map
new file mode 100644
index 0000000..4ac5304
--- /dev/null
+++ b/js/249.6097629f.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/249.6097629f.js","mappings":"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","sources":["webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/from.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/internal/validators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/ours/browser.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/ours/errors.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/ours/primordials.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/ours/util.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/readable-stream/lib/stream/promises.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/blankNode.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/dataset.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/defaultGraph.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/namedNode.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/literal.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/quad.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/lib/variable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/node_modules/@rdfjs/to-ntriples/index.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/lib/SerializerStream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-ntriples/index.js"],"sourcesContent":["'use strict'\n\nconst { SymbolDispose } = require('../../ours/primordials')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { isNodeStream, isWebStream, kControllerErrorFunction } = require('./utils')\nconst eos = require('./end-of-stream')\nconst { ERR_INVALID_ARG_TYPE } = codes\nlet addAbortListener\n\n// This method is inlined here for readable-stream\n// It also does not allow for signal to not exist on the stream\n// https://github.com/nodejs/node/pull/36061#discussion_r533718029\nconst validateAbortSignal = (signal, name) => {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nmodule.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n validateAbortSignal(signal, 'signal')\n if (!isNodeStream(stream) && !isWebStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n return module.exports.addAbortSignalNoValidate(signal, stream)\n}\nmodule.exports.addAbortSignalNoValidate = function (signal, stream) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n return stream\n }\n const onAbort = isNodeStream(stream)\n ? () => {\n stream.destroy(\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n : () => {\n stream[kControllerErrorFunction](\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n if (signal.aborted) {\n onAbort()\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(signal, onAbort)\n eos(stream, disposable[SymbolDispose])\n }\n return stream\n}\n","'use strict'\n\nconst { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { inspect } = require('../../ours/util')\nmodule.exports = class BufferList {\n constructor() {\n this.head = null\n this.tail = null\n this.length = 0\n }\n push(v) {\n const entry = {\n data: v,\n next: null\n }\n if (this.length > 0) this.tail.next = entry\n else this.head = entry\n this.tail = entry\n ++this.length\n }\n unshift(v) {\n const entry = {\n data: v,\n next: this.head\n }\n if (this.length === 0) this.tail = entry\n this.head = entry\n ++this.length\n }\n shift() {\n if (this.length === 0) return\n const ret = this.head.data\n if (this.length === 1) this.head = this.tail = null\n else this.head = this.head.next\n --this.length\n return ret\n }\n clear() {\n this.head = this.tail = null\n this.length = 0\n }\n join(s) {\n if (this.length === 0) return ''\n let p = this.head\n let ret = '' + p.data\n while ((p = p.next) !== null) ret += s + p.data\n return ret\n }\n concat(n) {\n if (this.length === 0) return Buffer.alloc(0)\n const ret = Buffer.allocUnsafe(n >>> 0)\n let p = this.head\n let i = 0\n while (p) {\n TypedArrayPrototypeSet(ret, p.data, i)\n i += p.data.length\n p = p.next\n }\n return ret\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n consume(n, hasStrings) {\n const data = this.head.data\n if (n < data.length) {\n // `slice` is the same for buffers and strings.\n const slice = data.slice(0, n)\n this.head.data = data.slice(n)\n return slice\n }\n if (n === data.length) {\n // First chunk is a perfect match.\n return this.shift()\n }\n // Result spans more than one buffer.\n return hasStrings ? this._getString(n) : this._getBuffer(n)\n }\n first() {\n return this.head.data\n }\n *[SymbolIterator]() {\n for (let p = this.head; p; p = p.next) {\n yield p.data\n }\n }\n\n // Consumes a specified amount of characters from the buffered data.\n _getString(n) {\n let ret = ''\n let p = this.head\n let c = 0\n do {\n const str = p.data\n if (n > str.length) {\n ret += str\n n -= str.length\n } else {\n if (n === str.length) {\n ret += str\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n ret += StringPrototypeSlice(str, 0, n)\n this.head = p\n p.data = StringPrototypeSlice(str, n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n _getBuffer(n) {\n const ret = Buffer.allocUnsafe(n)\n const retLen = n\n let p = this.head\n let c = 0\n do {\n const buf = p.data\n if (n > buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n n -= buf.length\n } else {\n if (n === buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n TypedArrayPrototypeSet(ret, new Uint8Array(buf.buffer, buf.byteOffset, n), retLen - n)\n this.head = p\n p.data = buf.slice(n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n [Symbol.for('nodejs.util.inspect.custom')](_, options) {\n return inspect(this, {\n ...options,\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n })\n }\n}\n","'use strict'\n\nconst { pipeline } = require('./pipeline')\nconst Duplex = require('./duplex')\nconst { destroyer } = require('./destroy')\nconst {\n isNodeStream,\n isReadable,\n isWritable,\n isWebStream,\n isTransformStream,\n isWritableStream,\n isReadableStream\n} = require('./utils')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }\n} = require('../../ours/errors')\nconst eos = require('./end-of-stream')\nmodule.exports = function compose(...streams) {\n if (streams.length === 0) {\n throw new ERR_MISSING_ARGS('streams')\n }\n if (streams.length === 1) {\n return Duplex.from(streams[0])\n }\n const orgStreams = [...streams]\n if (typeof streams[0] === 'function') {\n streams[0] = Duplex.from(streams[0])\n }\n if (typeof streams[streams.length - 1] === 'function') {\n const idx = streams.length - 1\n streams[idx] = Duplex.from(streams[idx])\n }\n for (let n = 0; n < streams.length; ++n) {\n if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {\n // TODO(ronag): Add checks for non streams.\n continue\n }\n if (\n n < streams.length - 1 &&\n !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))\n ) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be readable')\n }\n if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be writable')\n }\n }\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n } else if (!readable && !writable) {\n d.destroy()\n }\n }\n const head = streams[0]\n const tail = pipeline(streams, onfinished)\n const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head))\n const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail))\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplex({\n // TODO (ronag): highWaterMark?\n writableObjectMode: !!(head !== null && head !== undefined && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== undefined && tail.readableObjectMode),\n writable,\n readable\n })\n if (writable) {\n if (isNodeStream(head)) {\n d._write = function (chunk, encoding, callback) {\n if (head.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n head.end()\n onfinish = callback\n }\n head.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n } else if (isWebStream(head)) {\n const writable = isTransformStream(head) ? head.writable : head\n const writer = writable.getWriter()\n d._write = async function (chunk, encoding, callback) {\n try {\n await writer.ready\n writer.write(chunk).catch(() => {})\n callback()\n } catch (err) {\n callback(err)\n }\n }\n d._final = async function (callback) {\n try {\n await writer.ready\n writer.close().catch(() => {})\n onfinish = callback\n } catch (err) {\n callback(err)\n }\n }\n }\n const toRead = isTransformStream(tail) ? tail.readable : tail\n eos(toRead, () => {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n if (isNodeStream(tail)) {\n tail.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n tail.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = tail.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n } else if (isWebStream(tail)) {\n const readable = isTransformStream(tail) ? tail.readable : tail\n const reader = readable.getReader()\n d._read = async function () {\n while (true) {\n try {\n const { value, done } = await reader.read()\n if (!d.push(value)) {\n return\n }\n if (done) {\n d.push(null)\n return\n }\n } catch {\n return\n }\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n if (isNodeStream(tail)) {\n destroyer(tail, err)\n }\n }\n }\n return d\n}\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError\n} = require('../../ours/errors')\nconst { Symbol } = require('../../ours/primordials')\nconst { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require('./utils')\nconst kDestroy = Symbol('kDestroy')\nconst kConstruct = Symbol('kConstruct')\nfunction checkError(err, w, r) {\n if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n }\n}\n\n// Backwards compat. cb() is undocumented and unused in core but\n// unfortunately might be used by modules.\nfunction destroy(err, cb) {\n const r = this._readableState\n const w = this._writableState\n // With duplex streams we use the writable side for state.\n const s = w || r\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n if (typeof cb === 'function') {\n cb()\n }\n return this\n }\n\n // We set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n checkError(err, w, r)\n if (w) {\n w.destroyed = true\n }\n if (r) {\n r.destroyed = true\n }\n\n // If still constructing then defer calling _destroy.\n if (!s.constructed) {\n this.once(kDestroy, function (er) {\n _destroy(this, aggregateTwoErrors(er, err), cb)\n })\n } else {\n _destroy(this, err, cb)\n }\n return this\n}\nfunction _destroy(self, err, cb) {\n let called = false\n function onDestroy(err) {\n if (called) {\n return\n }\n called = true\n const r = self._readableState\n const w = self._writableState\n checkError(err, w, r)\n if (w) {\n w.closed = true\n }\n if (r) {\n r.closed = true\n }\n if (typeof cb === 'function') {\n cb(err)\n }\n if (err) {\n process.nextTick(emitErrorCloseNT, self, err)\n } else {\n process.nextTick(emitCloseNT, self)\n }\n }\n try {\n self._destroy(err || null, onDestroy)\n } catch (err) {\n onDestroy(err)\n }\n}\nfunction emitErrorCloseNT(self, err) {\n emitErrorNT(self, err)\n emitCloseNT(self)\n}\nfunction emitCloseNT(self) {\n const r = self._readableState\n const w = self._writableState\n if (w) {\n w.closeEmitted = true\n }\n if (r) {\n r.closeEmitted = true\n }\n if ((w !== null && w !== undefined && w.emitClose) || (r !== null && r !== undefined && r.emitClose)) {\n self.emit('close')\n }\n}\nfunction emitErrorNT(self, err) {\n const r = self._readableState\n const w = self._writableState\n if ((w !== null && w !== undefined && w.errorEmitted) || (r !== null && r !== undefined && r.errorEmitted)) {\n return\n }\n if (w) {\n w.errorEmitted = true\n }\n if (r) {\n r.errorEmitted = true\n }\n self.emit('error', err)\n}\nfunction undestroy() {\n const r = this._readableState\n const w = this._writableState\n if (r) {\n r.constructed = true\n r.closed = false\n r.closeEmitted = false\n r.destroyed = false\n r.errored = null\n r.errorEmitted = false\n r.reading = false\n r.ended = r.readable === false\n r.endEmitted = r.readable === false\n }\n if (w) {\n w.constructed = true\n w.destroyed = false\n w.closed = false\n w.closeEmitted = false\n w.errored = null\n w.errorEmitted = false\n w.finalCalled = false\n w.prefinished = false\n w.ended = w.writable === false\n w.ending = w.writable === false\n w.finished = w.writable === false\n }\n}\nfunction errorOrDestroy(stream, err, sync) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n const r = stream._readableState\n const w = stream._writableState\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n return this\n }\n if ((r !== null && r !== undefined && r.autoDestroy) || (w !== null && w !== undefined && w.autoDestroy))\n stream.destroy(err)\n else if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n if (sync) {\n process.nextTick(emitErrorNT, stream, err)\n } else {\n emitErrorNT(stream, err)\n }\n }\n}\nfunction construct(stream, cb) {\n if (typeof stream._construct !== 'function') {\n return\n }\n const r = stream._readableState\n const w = stream._writableState\n if (r) {\n r.constructed = false\n }\n if (w) {\n w.constructed = false\n }\n stream.once(kConstruct, cb)\n if (stream.listenerCount(kConstruct) > 1) {\n // Duplex\n return\n }\n process.nextTick(constructNT, stream)\n}\nfunction constructNT(stream) {\n let called = false\n function onConstruct(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : new ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n const r = stream._readableState\n const w = stream._writableState\n const s = w || r\n if (r) {\n r.constructed = true\n }\n if (w) {\n w.constructed = true\n }\n if (s.destroyed) {\n stream.emit(kDestroy, err)\n } else if (err) {\n errorOrDestroy(stream, err, true)\n } else {\n process.nextTick(emitConstructNT, stream)\n }\n }\n try {\n stream._construct((err) => {\n process.nextTick(onConstruct, err)\n })\n } catch (err) {\n process.nextTick(onConstruct, err)\n }\n}\nfunction emitConstructNT(stream) {\n stream.emit(kConstruct)\n}\nfunction isRequest(stream) {\n return (stream === null || stream === undefined ? undefined : stream.setHeader) && typeof stream.abort === 'function'\n}\nfunction emitCloseLegacy(stream) {\n stream.emit('close')\n}\nfunction emitErrorCloseLegacy(stream, err) {\n stream.emit('error', err)\n process.nextTick(emitCloseLegacy, stream)\n}\n\n// Normalize destroy for legacy.\nfunction destroyer(stream, err) {\n if (!stream || isDestroyed(stream)) {\n return\n }\n if (!err && !isFinished(stream)) {\n err = new AbortError()\n }\n\n // TODO: Remove isRequest branches.\n if (isServerRequest(stream)) {\n stream.socket = null\n stream.destroy(err)\n } else if (isRequest(stream)) {\n stream.abort()\n } else if (isRequest(stream.req)) {\n stream.req.abort()\n } else if (typeof stream.destroy === 'function') {\n stream.destroy(err)\n } else if (typeof stream.close === 'function') {\n // TODO: Don't lose err?\n stream.close()\n } else if (err) {\n process.nextTick(emitErrorCloseLegacy, stream, err)\n } else {\n process.nextTick(emitCloseLegacy, stream)\n }\n if (!stream.destroyed) {\n stream[kIsDestroyed] = true\n }\n}\nmodule.exports = {\n construct,\n destroyer,\n destroy,\n undestroy,\n errorOrDestroy\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototype inheritance, this class\n// prototypically inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict'\n\nconst {\n ObjectDefineProperties,\n ObjectGetOwnPropertyDescriptor,\n ObjectKeys,\n ObjectSetPrototypeOf\n} = require('../../ours/primordials')\nmodule.exports = Duplex\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nObjectSetPrototypeOf(Duplex.prototype, Readable.prototype)\nObjectSetPrototypeOf(Duplex, Readable)\n{\n const keys = ObjectKeys(Writable.prototype)\n // Allow the keys array to be GC'ed.\n for (let i = 0; i < keys.length; i++) {\n const method = keys[i]\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options)\n Readable.call(this, options)\n Writable.call(this, options)\n if (options) {\n this.allowHalfOpen = options.allowHalfOpen !== false\n if (options.readable === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if (options.writable === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n } else {\n this.allowHalfOpen = true\n }\n}\nObjectDefineProperties(Duplex.prototype, {\n writable: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable')\n },\n writableHighWaterMark: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark')\n },\n writableObjectMode: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode')\n },\n writableBuffer: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer')\n },\n writableLength: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableLength')\n },\n writableFinished: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableFinished')\n },\n writableCorked: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableCorked')\n },\n writableEnded: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableEnded')\n },\n writableNeedDrain: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableNeedDrain')\n },\n destroyed: {\n __proto__: null,\n get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false\n }\n return this._readableState.destroyed && this._writableState.destroyed\n },\n set(value) {\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n if (this._readableState && this._writableState) {\n this._readableState.destroyed = value\n this._writableState.destroyed = value\n }\n }\n }\n})\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nDuplex.fromWeb = function (pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options)\n}\nDuplex.toWeb = function (duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)\n}\nlet duplexify\nDuplex.from = function (body) {\n if (!duplexify) {\n duplexify = require('./duplexify')\n }\n return duplexify(body, 'body')\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\n;('use strict')\nconst bufferModule = require('buffer')\nconst {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream,\n isReadableStream,\n isWritableStream\n} = require('./utils')\nconst eos = require('./end-of-stream')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE }\n} = require('../../ours/errors')\nconst { destroyer } = require('./destroy')\nconst Duplex = require('./duplex')\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nconst { createDeferredPromise } = require('../../ours/util')\nconst from = require('./from')\nconst Blob = globalThis.Blob || bufferModule.Blob\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst { FunctionPrototypeCall } = require('../../ours/primordials')\n\n// This is needed for pre node 17.\nclass Duplexify extends Duplex {\n constructor(options) {\n super(options)\n\n // https://github.com/nodejs/node/pull/34385\n\n if ((options === null || options === undefined ? undefined : options.readable) === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if ((options === null || options === undefined ? undefined : options.writable) === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n }\n}\nmodule.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body)) {\n return body\n }\n if (isReadableNodeStream(body)) {\n return _duplexify({\n readable: body\n })\n }\n if (isWritableNodeStream(body)) {\n return _duplexify({\n writable: body\n })\n }\n if (isNodeStream(body)) {\n return _duplexify({\n writable: false,\n readable: false\n })\n }\n if (isReadableStream(body)) {\n return _duplexify({\n readable: Readable.fromWeb(body)\n })\n }\n if (isWritableStream(body)) {\n return _duplexify({\n writable: Writable.fromWeb(body)\n })\n }\n if (typeof body === 'function') {\n const { value, write, final, destroy } = fromAsyncGen(body)\n if (isIterable(value)) {\n return from(Duplexify, value, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n write,\n final,\n destroy\n })\n }\n const then = value === null || value === undefined ? undefined : value.then\n if (typeof then === 'function') {\n let d\n const promise = FunctionPrototypeCall(\n then,\n value,\n (val) => {\n if (val != null) {\n throw new ERR_INVALID_RETURN_VALUE('nully', 'body', val)\n }\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n // TODO (ronag): highWaterMark?\n objectMode: true,\n readable: false,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise\n process.nextTick(cb, null)\n } catch (err) {\n process.nextTick(cb, err)\n }\n })\n },\n destroy\n }))\n }\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or AsyncFunction', name, value)\n }\n if (isBlob(body)) {\n return duplexify(body.arrayBuffer())\n }\n if (isIterable(body)) {\n return from(Duplexify, body, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n writable: false\n })\n }\n if (\n isReadableStream(body === null || body === undefined ? undefined : body.readable) &&\n isWritableStream(body === null || body === undefined ? undefined : body.writable)\n ) {\n return Duplexify.fromWeb(body)\n }\n if (\n typeof (body === null || body === undefined ? undefined : body.writable) === 'object' ||\n typeof (body === null || body === undefined ? undefined : body.readable) === 'object'\n ) {\n const readable =\n body !== null && body !== undefined && body.readable\n ? isReadableNodeStream(body === null || body === undefined ? undefined : body.readable)\n ? body === null || body === undefined\n ? undefined\n : body.readable\n : duplexify(body.readable)\n : undefined\n const writable =\n body !== null && body !== undefined && body.writable\n ? isWritableNodeStream(body === null || body === undefined ? undefined : body.writable)\n ? body === null || body === undefined\n ? undefined\n : body.writable\n : duplexify(body.writable)\n : undefined\n return _duplexify({\n readable,\n writable\n })\n }\n const then = body === null || body === undefined ? undefined : body.then\n if (typeof then === 'function') {\n let d\n FunctionPrototypeCall(\n then,\n body,\n (val) => {\n if (val != null) {\n d.push(val)\n }\n d.push(null)\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n objectMode: true,\n writable: false,\n read() {}\n }))\n }\n throw new ERR_INVALID_ARG_TYPE(\n name,\n [\n 'Blob',\n 'ReadableStream',\n 'WritableStream',\n 'Stream',\n 'Iterable',\n 'AsyncIterable',\n 'Function',\n '{ readable, writable } pair',\n 'Promise'\n ],\n body\n )\n}\nfunction fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise()\n const ac = new AbortController()\n const signal = ac.signal\n const value = fn(\n (async function* () {\n while (true) {\n const _promise = promise\n promise = null\n const { chunk, done, cb } = await _promise\n process.nextTick(cb)\n if (done) return\n if (signal.aborted)\n throw new AbortError(undefined, {\n cause: signal.reason\n })\n ;({ promise, resolve } = createDeferredPromise())\n yield chunk\n }\n })(),\n {\n signal\n }\n )\n return {\n value,\n write(chunk, encoding, cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n chunk,\n done: false,\n cb\n })\n },\n final(cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n done: true,\n cb\n })\n },\n destroy(err, cb) {\n ac.abort()\n cb(err)\n }\n }\n}\nfunction _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== 'function' ? Readable.wrap(pair.readable) : pair.readable\n const w = pair.writable\n let readable = !!isReadable(r)\n let writable = !!isWritable(w)\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n }\n }\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplexify({\n // TODO (ronag): highWaterMark?\n readableObjectMode: !!(r !== null && r !== undefined && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== undefined && w.writableObjectMode),\n readable,\n writable\n })\n if (writable) {\n eos(w, (err) => {\n writable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n d._write = function (chunk, encoding, callback) {\n if (w.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n w.end()\n onfinish = callback\n }\n w.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n w.on('finish', function () {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n eos(r, (err) => {\n readable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n r.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n r.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = r.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n destroyer(w, err)\n destroyer(r, err)\n }\n }\n return d\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes\nconst { kEmptyObject, once } = require('../../ours/util')\nconst { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require('../validators')\nconst { Promise, PromisePrototypeThen, SymbolDispose } = require('../../ours/primordials')\nconst {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose,\n kIsClosedPromise\n} = require('./utils')\nlet addAbortListener\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function'\n}\nconst nop = () => {}\nfunction eos(stream, options, callback) {\n var _options$readable, _options$writable\n if (arguments.length === 2) {\n callback = options\n options = kEmptyObject\n } else if (options == null) {\n options = kEmptyObject\n } else {\n validateObject(options, 'options')\n }\n validateFunction(callback, 'callback')\n validateAbortSignal(options.signal, 'options.signal')\n callback = once(callback)\n if (isReadableStream(stream) || isWritableStream(stream)) {\n return eosWeb(stream, options, callback)\n }\n if (!isNodeStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n const readable =\n (_options$readable = options.readable) !== null && _options$readable !== undefined\n ? _options$readable\n : isReadableNodeStream(stream)\n const writable =\n (_options$writable = options.writable) !== null && _options$writable !== undefined\n ? _options$writable\n : isWritableNodeStream(stream)\n const wState = stream._writableState\n const rState = stream._readableState\n const onlegacyfinish = () => {\n if (!stream.writable) {\n onfinish()\n }\n }\n\n // TODO (ronag): Improve soft detection to include core modules and\n // common ecosystem modules that do properly emit 'close' but fail\n // this generic check.\n let willEmitClose =\n _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable\n let writableFinished = isWritableFinished(stream, false)\n const onfinish = () => {\n writableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.readable || readable)) {\n return\n }\n if (!readable || readableFinished) {\n callback.call(stream)\n }\n }\n let readableFinished = isReadableFinished(stream, false)\n const onend = () => {\n readableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.writable || writable)) {\n return\n }\n if (!writable || writableFinished) {\n callback.call(stream)\n }\n }\n const onerror = (err) => {\n callback.call(stream, err)\n }\n let closed = isClosed(stream)\n const onclose = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n if (readable && !readableFinished && isReadableNodeStream(stream, true)) {\n if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n callback.call(stream)\n }\n const onclosed = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n callback.call(stream)\n }\n const onrequest = () => {\n stream.req.on('finish', onfinish)\n }\n if (isRequest(stream)) {\n stream.on('complete', onfinish)\n if (!willEmitClose) {\n stream.on('abort', onclose)\n }\n if (stream.req) {\n onrequest()\n } else {\n stream.on('request', onrequest)\n }\n } else if (writable && !wState) {\n // legacy streams\n stream.on('end', onlegacyfinish)\n stream.on('close', onlegacyfinish)\n }\n\n // Not all streams will emit 'close' after 'aborted'.\n if (!willEmitClose && typeof stream.aborted === 'boolean') {\n stream.on('aborted', onclose)\n }\n stream.on('end', onend)\n stream.on('finish', onfinish)\n if (options.error !== false) {\n stream.on('error', onerror)\n }\n stream.on('close', onclose)\n if (closed) {\n process.nextTick(onclose)\n } else if (\n (wState !== null && wState !== undefined && wState.errorEmitted) ||\n (rState !== null && rState !== undefined && rState.errorEmitted)\n ) {\n if (!willEmitClose) {\n process.nextTick(onclosed)\n }\n } else if (\n !readable &&\n (!willEmitClose || isReadable(stream)) &&\n (writableFinished || isWritable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (\n !writable &&\n (!willEmitClose || isWritable(stream)) &&\n (readableFinished || isReadable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (rState && stream.req && stream.aborted) {\n process.nextTick(onclosed)\n }\n const cleanup = () => {\n callback = nop\n stream.removeListener('aborted', onclose)\n stream.removeListener('complete', onfinish)\n stream.removeListener('abort', onclose)\n stream.removeListener('request', onrequest)\n if (stream.req) stream.req.removeListener('finish', onfinish)\n stream.removeListener('end', onlegacyfinish)\n stream.removeListener('close', onlegacyfinish)\n stream.removeListener('finish', onfinish)\n stream.removeListener('end', onend)\n stream.removeListener('error', onerror)\n stream.removeListener('close', onclose)\n }\n if (options.signal && !closed) {\n const abort = () => {\n // Keep it because cleanup removes it.\n const endCallback = callback\n cleanup()\n endCallback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n return cleanup\n}\nfunction eosWeb(stream, options, callback) {\n let isAborted = false\n let abort = nop\n if (options.signal) {\n abort = () => {\n isAborted = true\n callback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n const resolverFn = (...args) => {\n if (!isAborted) {\n process.nextTick(() => callback.apply(stream, args))\n }\n }\n PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn)\n return nop\n}\nfunction finished(stream, opts) {\n var _opts\n let autoCleanup = false\n if (opts === null) {\n opts = kEmptyObject\n }\n if ((_opts = opts) !== null && _opts !== undefined && _opts.cleanup) {\n validateBoolean(opts.cleanup, 'cleanup')\n autoCleanup = opts.cleanup\n }\n return new Promise((resolve, reject) => {\n const cleanup = eos(stream, opts, (err) => {\n if (autoCleanup) {\n cleanup()\n }\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n })\n })\n}\nmodule.exports = eos\nmodule.exports.finished = finished\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_NULL_VALUES } = require('../../ours/errors').codes\nfunction from(Readable, iterable, opts) {\n let iterator\n if (typeof iterable === 'string' || iterable instanceof Buffer) {\n return new Readable({\n objectMode: true,\n ...opts,\n read() {\n this.push(iterable)\n this.push(null)\n }\n })\n }\n let isAsync\n if (iterable && iterable[SymbolAsyncIterator]) {\n isAsync = true\n iterator = iterable[SymbolAsyncIterator]()\n } else if (iterable && iterable[SymbolIterator]) {\n isAsync = false\n iterator = iterable[SymbolIterator]()\n } else {\n throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable)\n }\n const readable = new Readable({\n objectMode: true,\n highWaterMark: 1,\n // TODO(ronag): What options should be allowed?\n ...opts\n })\n\n // Flag to protect against _read\n // being called before last iteration completion.\n let reading = false\n readable._read = function () {\n if (!reading) {\n reading = true\n next()\n }\n }\n readable._destroy = function (error, cb) {\n PromisePrototypeThen(\n close(error),\n () => process.nextTick(cb, error),\n // nextTick is here in case cb throws\n (e) => process.nextTick(cb, e || error)\n )\n }\n async function close(error) {\n const hadError = error !== undefined && error !== null\n const hasThrow = typeof iterator.throw === 'function'\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error)\n await value\n if (done) {\n return\n }\n }\n if (typeof iterator.return === 'function') {\n const { value } = await iterator.return()\n await value\n }\n }\n async function next() {\n for (;;) {\n try {\n const { value, done } = isAsync ? await iterator.next() : iterator.next()\n if (done) {\n readable.push(null)\n } else {\n const res = value && typeof value.then === 'function' ? await value : value\n if (res === null) {\n reading = false\n throw new ERR_STREAM_NULL_VALUES()\n } else if (readable.push(res)) {\n continue\n } else {\n reading = false\n }\n }\n } catch (err) {\n readable.destroy(err)\n }\n break\n }\n }\n return readable\n}\nmodule.exports = from\n","'use strict'\n\nconst { ArrayIsArray, ObjectSetPrototypeOf } = require('../../ours/primordials')\nconst { EventEmitter: EE } = require('events')\nfunction Stream(opts) {\n EE.call(this, opts)\n}\nObjectSetPrototypeOf(Stream.prototype, EE.prototype)\nObjectSetPrototypeOf(Stream, EE)\nStream.prototype.pipe = function (dest, options) {\n const source = this\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === false && source.pause) {\n source.pause()\n }\n }\n source.on('data', ondata)\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume()\n }\n }\n dest.on('drain', ondrain)\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend)\n source.on('close', onclose)\n }\n let didOnEnd = false\n function onend() {\n if (didOnEnd) return\n didOnEnd = true\n dest.end()\n }\n function onclose() {\n if (didOnEnd) return\n didOnEnd = true\n if (typeof dest.destroy === 'function') dest.destroy()\n }\n\n // Don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup()\n if (EE.listenerCount(this, 'error') === 0) {\n this.emit('error', er)\n }\n }\n prependListener(source, 'error', onerror)\n prependListener(dest, 'error', onerror)\n\n // Remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata)\n dest.removeListener('drain', ondrain)\n source.removeListener('end', onend)\n source.removeListener('close', onclose)\n source.removeListener('error', onerror)\n dest.removeListener('error', onerror)\n source.removeListener('end', cleanup)\n source.removeListener('close', cleanup)\n dest.removeListener('close', cleanup)\n }\n source.on('end', cleanup)\n source.on('close', cleanup)\n dest.on('close', cleanup)\n dest.emit('pipe', source)\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest\n}\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn)\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn)\n else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn)\n else emitter._events[event] = [fn, emitter._events[event]]\n}\nmodule.exports = {\n Stream,\n prependListener\n}\n","'use strict'\n\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst {\n codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError\n} = require('../../ours/errors')\nconst { validateAbortSignal, validateInteger, validateObject } = require('../validators')\nconst kWeakHandler = require('../../ours/primordials').Symbol('kWeak')\nconst kResistStopPropagation = require('../../ours/primordials').Symbol('kResistStopPropagation')\nconst { finished } = require('./end-of-stream')\nconst staticCompose = require('./compose')\nconst { addAbortSignalNoValidate } = require('./add-abort-signal')\nconst { isWritable, isNodeStream } = require('./utils')\nconst { deprecate } = require('../../ours/util')\nconst {\n ArrayPrototypePush,\n Boolean,\n MathFloor,\n Number,\n NumberIsNaN,\n Promise,\n PromiseReject,\n PromiseResolve,\n PromisePrototypeThen,\n Symbol\n} = require('../../ours/primordials')\nconst kEmpty = Symbol('kEmpty')\nconst kEof = Symbol('kEof')\nfunction compose(stream, options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n if (isNodeStream(stream) && !isWritable(stream)) {\n throw new ERR_INVALID_ARG_VALUE('stream', stream, 'must be writable')\n }\n const composedStream = staticCompose(this, stream)\n if (options !== null && options !== undefined && options.signal) {\n // Not validating as we already validated before\n addAbortSignalNoValidate(options.signal, composedStream)\n }\n return composedStream\n}\nfunction map(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let concurrency = 1\n if ((options === null || options === undefined ? undefined : options.concurrency) != null) {\n concurrency = MathFloor(options.concurrency)\n }\n let highWaterMark = concurrency - 1\n if ((options === null || options === undefined ? undefined : options.highWaterMark) != null) {\n highWaterMark = MathFloor(options.highWaterMark)\n }\n validateInteger(concurrency, 'options.concurrency', 1)\n validateInteger(highWaterMark, 'options.highWaterMark', 0)\n highWaterMark += concurrency\n return async function* map() {\n const signal = require('../../ours/util').AbortSignalAny(\n [options === null || options === undefined ? undefined : options.signal].filter(Boolean)\n )\n const stream = this\n const queue = []\n const signalOpt = {\n signal\n }\n let next\n let resume\n let done = false\n let cnt = 0\n function onCatch() {\n done = true\n afterItemProcessed()\n }\n function afterItemProcessed() {\n cnt -= 1\n maybeResume()\n }\n function maybeResume() {\n if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {\n resume()\n resume = null\n }\n }\n async function pump() {\n try {\n for await (let val of stream) {\n if (done) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n try {\n val = fn(val, signalOpt)\n if (val === kEmpty) {\n continue\n }\n val = PromiseResolve(val)\n } catch (err) {\n val = PromiseReject(err)\n }\n cnt += 1\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n if (next) {\n next()\n next = null\n }\n if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {\n await new Promise((resolve) => {\n resume = resolve\n })\n }\n }\n queue.push(kEof)\n } catch (err) {\n const val = PromiseReject(err)\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n } finally {\n done = true\n if (next) {\n next()\n next = null\n }\n }\n }\n pump()\n try {\n while (true) {\n while (queue.length > 0) {\n const val = await queue[0]\n if (val === kEof) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n if (val !== kEmpty) {\n yield val\n }\n queue.shift()\n maybeResume()\n }\n await new Promise((resolve) => {\n next = resolve\n })\n }\n } finally {\n done = true\n if (resume) {\n resume()\n resume = null\n }\n }\n }.call(this)\n}\nfunction asIndexedPairs(options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n return async function* asIndexedPairs() {\n let index = 0\n for await (const val of this) {\n var _options$signal\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal = options.signal) !== null &&\n _options$signal !== undefined &&\n _options$signal.aborted\n ) {\n throw new AbortError({\n cause: options.signal.reason\n })\n }\n yield [index++, val]\n }\n }.call(this)\n}\nasync function some(fn, options = undefined) {\n for await (const unused of filter.call(this, fn, options)) {\n return true\n }\n return false\n}\nasync function every(fn, options = undefined) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n // https://en.wikipedia.org/wiki/De_Morgan%27s_laws\n return !(await some.call(\n this,\n async (...args) => {\n return !(await fn(...args))\n },\n options\n ))\n}\nasync function find(fn, options) {\n for await (const result of filter.call(this, fn, options)) {\n return result\n }\n return undefined\n}\nasync function forEach(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function forEachFn(value, options) {\n await fn(value, options)\n return kEmpty\n }\n // eslint-disable-next-line no-unused-vars\n for await (const unused of map.call(this, forEachFn, options));\n}\nfunction filter(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function filterFn(value, options) {\n if (await fn(value, options)) {\n return value\n }\n return kEmpty\n }\n return map.call(this, filterFn, options)\n}\n\n// Specific to provide better error to reduce since the argument is only\n// missing if the stream has no items in it - but the code is still appropriate\nclass ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS {\n constructor() {\n super('reduce')\n this.message = 'Reduce of an empty stream requires an initial value'\n }\n}\nasync function reduce(reducer, initialValue, options) {\n var _options$signal2\n if (typeof reducer !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('reducer', ['Function', 'AsyncFunction'], reducer)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let hasInitialValue = arguments.length > 1\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal2 = options.signal) !== null &&\n _options$signal2 !== undefined &&\n _options$signal2.aborted\n ) {\n const err = new AbortError(undefined, {\n cause: options.signal.reason\n })\n this.once('error', () => {}) // The error is already propagated\n await finished(this.destroy(err))\n throw err\n }\n const ac = new AbortController()\n const signal = ac.signal\n if (options !== null && options !== undefined && options.signal) {\n const opts = {\n once: true,\n [kWeakHandler]: this,\n [kResistStopPropagation]: true\n }\n options.signal.addEventListener('abort', () => ac.abort(), opts)\n }\n let gotAnyItemFromStream = false\n try {\n for await (const value of this) {\n var _options$signal3\n gotAnyItemFromStream = true\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal3 = options.signal) !== null &&\n _options$signal3 !== undefined &&\n _options$signal3.aborted\n ) {\n throw new AbortError()\n }\n if (!hasInitialValue) {\n initialValue = value\n hasInitialValue = true\n } else {\n initialValue = await reducer(initialValue, value, {\n signal\n })\n }\n }\n if (!gotAnyItemFromStream && !hasInitialValue) {\n throw new ReduceAwareErrMissingArgs()\n }\n } finally {\n ac.abort()\n }\n return initialValue\n}\nasync function toArray(options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n const result = []\n for await (const val of this) {\n var _options$signal4\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal4 = options.signal) !== null &&\n _options$signal4 !== undefined &&\n _options$signal4.aborted\n ) {\n throw new AbortError(undefined, {\n cause: options.signal.reason\n })\n }\n ArrayPrototypePush(result, val)\n }\n return result\n}\nfunction flatMap(fn, options) {\n const values = map.call(this, fn, options)\n return async function* flatMap() {\n for await (const val of values) {\n yield* val\n }\n }.call(this)\n}\nfunction toIntegerOrInfinity(number) {\n // We coerce here to align with the spec\n // https://github.com/tc39/proposal-iterator-helpers/issues/169\n number = Number(number)\n if (NumberIsNaN(number)) {\n return 0\n }\n if (number < 0) {\n throw new ERR_OUT_OF_RANGE('number', '>= 0', number)\n }\n return number\n}\nfunction drop(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* drop() {\n var _options$signal5\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal5 = options.signal) !== null &&\n _options$signal5 !== undefined &&\n _options$signal5.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal6\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal6 = options.signal) !== null &&\n _options$signal6 !== undefined &&\n _options$signal6.aborted\n ) {\n throw new AbortError()\n }\n if (number-- <= 0) {\n yield val\n }\n }\n }.call(this)\n}\nfunction take(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* take() {\n var _options$signal7\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal7 = options.signal) !== null &&\n _options$signal7 !== undefined &&\n _options$signal7.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal8\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal8 = options.signal) !== null &&\n _options$signal8 !== undefined &&\n _options$signal8.aborted\n ) {\n throw new AbortError()\n }\n if (number-- > 0) {\n yield val\n }\n\n // Don't get another item from iterator in case we reached the end\n if (number <= 0) {\n return\n }\n }\n }.call(this)\n}\nmodule.exports.streamReturningOperators = {\n asIndexedPairs: deprecate(asIndexedPairs, 'readable.asIndexedPairs will be removed in a future version.'),\n drop,\n filter,\n flatMap,\n map,\n take,\n compose\n}\nmodule.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf } = require('../../ours/primordials')\nmodule.exports = PassThrough\nconst Transform = require('./transform')\nObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype)\nObjectSetPrototypeOf(PassThrough, Transform)\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options)\n Transform.call(this, options)\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk)\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { ArrayIsArray, Promise, SymbolAsyncIterator, SymbolDispose } = require('../../ours/primordials')\nconst eos = require('./end-of-stream')\nconst { once } = require('../../ours/util')\nconst destroyImpl = require('./destroy')\nconst Duplex = require('./duplex')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_PREMATURE_CLOSE\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateFunction, validateAbortSignal } = require('../validators')\nconst {\n isIterable,\n isReadable,\n isReadableNodeStream,\n isNodeStream,\n isTransformStream,\n isWebStream,\n isReadableStream,\n isReadableFinished\n} = require('./utils')\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nlet PassThrough\nlet Readable\nlet addAbortListener\nfunction destroyer(stream, reading, writing) {\n let finished = false\n stream.on('close', () => {\n finished = true\n })\n const cleanup = eos(\n stream,\n {\n readable: reading,\n writable: writing\n },\n (err) => {\n finished = !err\n }\n )\n return {\n destroy: (err) => {\n if (finished) return\n finished = true\n destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED('pipe'))\n },\n cleanup\n }\n}\nfunction popCallback(streams) {\n // Streams should never be an empty array. It should always contain at least\n // a single stream. Therefore optimize for the average case instead of\n // checking for length === 0 as well.\n validateFunction(streams[streams.length - 1], 'streams[stream.length - 1]')\n return streams.pop()\n}\nfunction makeAsyncIterable(val) {\n if (isIterable(val)) {\n return val\n } else if (isReadableNodeStream(val)) {\n // Legacy streams are not Iterable.\n return fromReadable(val)\n }\n throw new ERR_INVALID_ARG_TYPE('val', ['Readable', 'Iterable', 'AsyncIterable'], val)\n}\nasync function* fromReadable(val) {\n if (!Readable) {\n Readable = require('./readable')\n }\n yield* Readable.prototype[SymbolAsyncIterator].call(val)\n}\nasync function pumpToNode(iterable, writable, finish, { end }) {\n let error\n let onresolve = null\n const resume = (err) => {\n if (err) {\n error = err\n }\n if (onresolve) {\n const callback = onresolve\n onresolve = null\n callback()\n }\n }\n const wait = () =>\n new Promise((resolve, reject) => {\n if (error) {\n reject(error)\n } else {\n onresolve = () => {\n if (error) {\n reject(error)\n } else {\n resolve()\n }\n }\n }\n })\n writable.on('drain', resume)\n const cleanup = eos(\n writable,\n {\n readable: false\n },\n resume\n )\n try {\n if (writable.writableNeedDrain) {\n await wait()\n }\n for await (const chunk of iterable) {\n if (!writable.write(chunk)) {\n await wait()\n }\n }\n if (end) {\n writable.end()\n await wait()\n }\n finish()\n } catch (err) {\n finish(error !== err ? aggregateTwoErrors(error, err) : err)\n } finally {\n cleanup()\n writable.off('drain', resume)\n }\n}\nasync function pumpToWeb(readable, writable, finish, { end }) {\n if (isTransformStream(writable)) {\n writable = writable.writable\n }\n // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure\n const writer = writable.getWriter()\n try {\n for await (const chunk of readable) {\n await writer.ready\n writer.write(chunk).catch(() => {})\n }\n await writer.ready\n if (end) {\n await writer.close()\n }\n finish()\n } catch (err) {\n try {\n await writer.abort(err)\n finish(err)\n } catch (err) {\n finish(err)\n }\n }\n}\nfunction pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)))\n}\nfunction pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray(streams[0])) {\n streams = streams[0]\n }\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams')\n }\n const ac = new AbortController()\n const signal = ac.signal\n const outerSignal = opts === null || opts === undefined ? undefined : opts.signal\n\n // Need to cleanup event listeners if last stream is readable\n // https://github.com/nodejs/node/issues/35452\n const lastStreamCleanup = []\n validateAbortSignal(outerSignal, 'options.signal')\n function abort() {\n finishImpl(new AbortError())\n }\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n let disposable\n if (outerSignal) {\n disposable = addAbortListener(outerSignal, abort)\n }\n let error\n let value\n const destroys = []\n let finishCount = 0\n function finish(err) {\n finishImpl(err, --finishCount === 0)\n }\n function finishImpl(err, final) {\n var _disposable\n if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE')) {\n error = err\n }\n if (!error && !final) {\n return\n }\n while (destroys.length) {\n destroys.shift()(error)\n }\n ;(_disposable = disposable) === null || _disposable === undefined ? undefined : _disposable[SymbolDispose]()\n ac.abort()\n if (final) {\n if (!error) {\n lastStreamCleanup.forEach((fn) => fn())\n }\n process.nextTick(callback, error, value)\n }\n }\n let ret\n for (let i = 0; i < streams.length; i++) {\n const stream = streams[i]\n const reading = i < streams.length - 1\n const writing = i > 0\n const end = reading || (opts === null || opts === undefined ? undefined : opts.end) !== false\n const isLastStream = i === streams.length - 1\n if (isNodeStream(stream)) {\n if (end) {\n const { destroy, cleanup } = destroyer(stream, reading, writing)\n destroys.push(destroy)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n\n // Catch stream errors that occur after pipe/pump has completed.\n function onError(err) {\n if (err && err.name !== 'AbortError' && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n finish(err)\n }\n }\n stream.on('error', onError)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(() => {\n stream.removeListener('error', onError)\n })\n }\n }\n if (i === 0) {\n if (typeof stream === 'function') {\n ret = stream({\n signal\n })\n if (!isIterable(ret)) {\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or Stream', 'source', ret)\n }\n } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n } else if (typeof stream === 'function') {\n if (isTransformStream(ret)) {\n var _ret\n ret = makeAsyncIterable((_ret = ret) === null || _ret === undefined ? undefined : _ret.readable)\n } else {\n ret = makeAsyncIterable(ret)\n }\n ret = stream(ret, {\n signal\n })\n if (reading) {\n if (!isIterable(ret, true)) {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable', `transform[${i - 1}]`, ret)\n }\n } else {\n var _ret2\n if (!PassThrough) {\n PassThrough = require('./passthrough')\n }\n\n // If the last argument to pipeline is not a stream\n // we must create a proxy stream so that pipeline(...)\n // always returns a stream which can be further\n // composed through `.pipe(stream)`.\n\n const pt = new PassThrough({\n objectMode: true\n })\n\n // Handle Promises/A+ spec, `then` could be a getter that throws on\n // second use.\n const then = (_ret2 = ret) === null || _ret2 === undefined ? undefined : _ret2.then\n if (typeof then === 'function') {\n finishCount++\n then.call(\n ret,\n (val) => {\n value = val\n if (val != null) {\n pt.write(val)\n }\n if (end) {\n pt.end()\n }\n process.nextTick(finish)\n },\n (err) => {\n pt.destroy(err)\n process.nextTick(finish, err)\n }\n )\n } else if (isIterable(ret, true)) {\n finishCount++\n pumpToNode(ret, pt, finish, {\n end\n })\n } else if (isReadableStream(ret) || isTransformStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, pt, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable or Promise', 'destination', ret)\n }\n ret = pt\n const { destroy, cleanup } = destroyer(ret, false, true)\n destroys.push(destroy)\n if (isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n } else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2\n const cleanup = pipe(ret, stream, finish, {\n end\n })\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n } else if (isTransformStream(ret) || isReadableStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, stream, finish, {\n end\n })\n } else if (isIterable(ret)) {\n finishCount++\n pumpToNode(ret, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else if (isWebStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount++\n pumpToWeb(makeAsyncIterable(ret), stream, finish, {\n end\n })\n } else if (isReadableStream(ret) || isIterable(ret)) {\n finishCount++\n pumpToWeb(ret, stream, finish, {\n end\n })\n } else if (isTransformStream(ret)) {\n finishCount++\n pumpToWeb(ret.readable, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n }\n if (\n (signal !== null && signal !== undefined && signal.aborted) ||\n (outerSignal !== null && outerSignal !== undefined && outerSignal.aborted)\n ) {\n process.nextTick(abort)\n }\n return ret\n}\nfunction pipe(src, dst, finish, { end }) {\n let ended = false\n dst.on('close', () => {\n if (!ended) {\n // Finish if the destination closes before the source has completed.\n finish(new ERR_STREAM_PREMATURE_CLOSE())\n }\n })\n src.pipe(dst, {\n end: false\n }) // If end is true we already will have a listener to end dst.\n\n if (end) {\n // Compat. Before node v10.12.0 stdio used to throw an error so\n // pipe() did/does not end() stdio destinations.\n // Now they allow it but \"secretly\" don't close the underlying fd.\n\n function endFn() {\n ended = true\n dst.end()\n }\n if (isReadableFinished(src)) {\n // End the destination if the source has already ended.\n process.nextTick(endFn)\n } else {\n src.once('end', endFn)\n }\n } else {\n finish()\n }\n eos(\n src,\n {\n readable: true,\n writable: false\n },\n (err) => {\n const rState = src._readableState\n if (\n err &&\n err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&\n rState &&\n rState.ended &&\n !rState.errored &&\n !rState.errorEmitted\n ) {\n // Some readable streams will emit 'close' before 'end'. However, since\n // this is on the readable side 'end' should still be emitted if the\n // stream has been ended and no error emitted. This should be allowed in\n // favor of backwards compatibility. Since the stream is piped to a\n // destination this should not result in any observable difference.\n // We don't need to check if this is a writable premature close since\n // eos will only fail with premature close on the reading side for\n // duplex streams.\n src.once('end', finish).once('error', finish)\n } else {\n finish(err)\n }\n }\n )\n return eos(\n dst,\n {\n readable: false,\n writable: true\n },\n finish\n )\n}\nmodule.exports = {\n pipelineImpl,\n pipeline\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise,\n SafeSet,\n SymbolAsyncDispose,\n SymbolAsyncIterator,\n Symbol\n} = require('../../ours/primordials')\nmodule.exports = Readable\nReadable.ReadableState = ReadableState\nconst { EventEmitter: EE } = require('events')\nconst { Stream, prependListener } = require('./legacy')\nconst { Buffer } = require('buffer')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst eos = require('./end-of-stream')\nlet debug = require('../../ours/util').debuglog('stream', (fn) => {\n debug = fn\n})\nconst BufferList = require('./buffer_list')\nconst destroyImpl = require('./destroy')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateObject } = require('../validators')\nconst kPaused = Symbol('kPaused')\nconst { StringDecoder } = require('string_decoder')\nconst from = require('./from')\nObjectSetPrototypeOf(Readable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Readable, Stream)\nconst nop = () => {}\nconst { errorOrDestroy } = destroyImpl\nconst kObjectMode = 1 << 0\nconst kEnded = 1 << 1\nconst kEndEmitted = 1 << 2\nconst kReading = 1 << 3\nconst kConstructed = 1 << 4\nconst kSync = 1 << 5\nconst kNeedReadable = 1 << 6\nconst kEmittedReadable = 1 << 7\nconst kReadableListening = 1 << 8\nconst kResumeScheduled = 1 << 9\nconst kErrorEmitted = 1 << 10\nconst kEmitClose = 1 << 11\nconst kAutoDestroy = 1 << 12\nconst kDestroyed = 1 << 13\nconst kClosed = 1 << 14\nconst kCloseEmitted = 1 << 15\nconst kMultiAwaitDrain = 1 << 16\nconst kReadingMore = 1 << 17\nconst kDataEmitted = 1 << 18\n\n// TODO(benjamingr) it is likely slower to do it this way than with free functions\nfunction makeBitMapDescriptor(bit) {\n return {\n enumerable: false,\n get() {\n return (this.state & bit) !== 0\n },\n set(value) {\n if (value) this.state |= bit\n else this.state &= ~bit\n }\n }\n}\nObjectDefineProperties(ReadableState.prototype, {\n objectMode: makeBitMapDescriptor(kObjectMode),\n ended: makeBitMapDescriptor(kEnded),\n endEmitted: makeBitMapDescriptor(kEndEmitted),\n reading: makeBitMapDescriptor(kReading),\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n constructed: makeBitMapDescriptor(kConstructed),\n // A flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n sync: makeBitMapDescriptor(kSync),\n // Whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n needReadable: makeBitMapDescriptor(kNeedReadable),\n emittedReadable: makeBitMapDescriptor(kEmittedReadable),\n readableListening: makeBitMapDescriptor(kReadableListening),\n resumeScheduled: makeBitMapDescriptor(kResumeScheduled),\n // True if the error was already emitted and should not be thrown again.\n errorEmitted: makeBitMapDescriptor(kErrorEmitted),\n emitClose: makeBitMapDescriptor(kEmitClose),\n autoDestroy: makeBitMapDescriptor(kAutoDestroy),\n // Has it been destroyed.\n destroyed: makeBitMapDescriptor(kDestroyed),\n // Indicates whether the stream has finished destroying.\n closed: makeBitMapDescriptor(kClosed),\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n closeEmitted: makeBitMapDescriptor(kCloseEmitted),\n multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),\n // If true, a maybeReadMore has been scheduled.\n readingMore: makeBitMapDescriptor(kReadingMore),\n dataEmitted: makeBitMapDescriptor(kDataEmitted)\n})\nfunction ReadableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Bit map field to store ReadableState more effciently with 1 bit per field\n // instead of a V8 slot per field.\n this.state = kEmitClose | kAutoDestroy | kConstructed | kSync\n // Object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away.\n if (options && options.objectMode) this.state |= kObjectMode\n if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode\n\n // The point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift().\n this.buffer = new BufferList()\n this.length = 0\n this.pipes = []\n this.flowing = null\n this[kPaused] = null\n\n // Should close be emitted on destroy. Defaults to true.\n if (options && options.emitClose === false) this.state &= ~kEmitClose\n\n // Should .destroy() be called after 'end' (and potentially 'finish').\n if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy\n\n // Indicates whether the stream has errored. When true no further\n // _read calls, 'data' or 'readable' events should occur. This is needed\n // since when autoDestroy is disabled we need a way to tell whether the\n // stream has failed.\n this.errored = null\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Ref the piped dest which we need a drain event on it\n // type: null | Writable | Set.\n this.awaitDrainWriters = null\n this.decoder = null\n this.encoding = null\n if (options && options.encoding) {\n this.decoder = new StringDecoder(options.encoding)\n this.encoding = options.encoding\n }\n}\nfunction Readable(options) {\n if (!(this instanceof Readable)) return new Readable(options)\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n this._readableState = new ReadableState(options, this, isDuplex)\n if (options) {\n if (typeof options.read === 'function') this._read = options.read\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal && !isDuplex) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n if (this._readableState.needReadable) {\n maybeReadMore(this, this._readableState)\n }\n })\n}\nReadable.prototype.destroy = destroyImpl.destroy\nReadable.prototype._undestroy = destroyImpl.undestroy\nReadable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nReadable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nReadable.prototype[SymbolAsyncDispose] = function () {\n let error\n if (!this.destroyed) {\n error = this.readableEnded ? null : new AbortError()\n this.destroy(error)\n }\n return new Promise((resolve, reject) => eos(this, (err) => (err && err !== error ? reject(err) : resolve(null))))\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, false)\n}\n\n// Unshift should *always* be something directly out of read().\nReadable.prototype.unshift = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, true)\n}\nfunction readableAddChunk(stream, chunk, encoding, addToFront) {\n debug('readableAddChunk', chunk)\n const state = stream._readableState\n let err\n if ((state.state & kObjectMode) === 0) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding\n if (state.encoding !== encoding) {\n if (addToFront && state.encoding) {\n // When unshifting, if state.encoding is set, we have to save\n // the string in the BufferList with the state encoding.\n chunk = Buffer.from(chunk, encoding).toString(state.encoding)\n } else {\n chunk = Buffer.from(chunk, encoding)\n encoding = ''\n }\n }\n } else if (chunk instanceof Buffer) {\n encoding = ''\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = ''\n } else if (chunk != null) {\n err = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n if (err) {\n errorOrDestroy(stream, err)\n } else if (chunk === null) {\n state.state &= ~kReading\n onEofChunk(stream, state)\n } else if ((state.state & kObjectMode) !== 0 || (chunk && chunk.length > 0)) {\n if (addToFront) {\n if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT())\n else if (state.destroyed || state.errored) return false\n else addChunk(stream, state, chunk, true)\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF())\n } else if (state.destroyed || state.errored) {\n return false\n } else {\n state.state &= ~kReading\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk)\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false)\n else maybeReadMore(stream, state)\n } else {\n addChunk(stream, state, chunk, false)\n }\n }\n } else if (!addToFront) {\n state.state &= ~kReading\n maybeReadMore(stream, state)\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0)\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount('data') > 0) {\n // Use the guard to avoid creating `Set()` repeatedly\n // when we have multiple pipes.\n if ((state.state & kMultiAwaitDrain) !== 0) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n state.dataEmitted = true\n stream.emit('data', chunk)\n } else {\n // Update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length\n if (addToFront) state.buffer.unshift(chunk)\n else state.buffer.push(chunk)\n if ((state.state & kNeedReadable) !== 0) emitReadable(stream)\n }\n maybeReadMore(stream, state)\n}\nReadable.prototype.isPaused = function () {\n const state = this._readableState\n return state[kPaused] === true || state.flowing === false\n}\n\n// Backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n const decoder = new StringDecoder(enc)\n this._readableState.decoder = decoder\n // If setEncoding(null), decoder.encoding equals utf8.\n this._readableState.encoding = this._readableState.decoder.encoding\n const buffer = this._readableState.buffer\n // Iterate over current buffer to convert already stored Buffers:\n let content = ''\n for (const data of buffer) {\n content += decoder.write(data)\n }\n buffer.clear()\n if (content !== '') buffer.push(content)\n this._readableState.length = content.length\n return this\n}\n\n// Don't raise the hwm > 1GB.\nconst MAX_HWM = 0x40000000\nfunction computeNewHighWaterMark(n) {\n if (n > MAX_HWM) {\n throw new ERR_OUT_OF_RANGE('size', '<= 1GiB', n)\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts.\n n--\n n |= n >>> 1\n n |= n >>> 2\n n |= n >>> 4\n n |= n >>> 8\n n |= n >>> 16\n n++\n }\n return n\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || (state.length === 0 && state.ended)) return 0\n if ((state.state & kObjectMode) !== 0) return 1\n if (NumberIsNaN(n)) {\n // Only flow one buffer at a time.\n if (state.flowing && state.length) return state.buffer.first().length\n return state.length\n }\n if (n <= state.length) return n\n return state.ended ? state.length : 0\n}\n\n// You can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n)\n // Same as parseInt(undefined, 10), however V8 7.3 performance regressed\n // in this scenario, so we are doing it manually.\n if (n === undefined) {\n n = NaN\n } else if (!NumberIsInteger(n)) {\n n = NumberParseInt(n, 10)\n }\n const state = this._readableState\n const nOrig = n\n\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n)\n if (n !== 0) state.state &= ~kEmittedReadable\n\n // If we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (\n n === 0 &&\n state.needReadable &&\n ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)\n ) {\n debug('read: emitReadable', state.length, state.ended)\n if (state.length === 0 && state.ended) endReadable(this)\n else emitReadable(this)\n return null\n }\n n = howMuchToRead(n, state)\n\n // If we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this)\n return null\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n let doRead = (state.state & kNeedReadable) !== 0\n debug('need readable', doRead)\n\n // If we currently have less than the highWaterMark, then also read some.\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true\n debug('length less than watermark', doRead)\n }\n\n // However, if we've ended, then there's no point, if we're already\n // reading, then it's unnecessary, if we're constructing we have to wait,\n // and if we're destroyed or errored, then it's not allowed,\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {\n doRead = false\n debug('reading, ended or constructing', doRead)\n } else if (doRead) {\n debug('do read')\n state.state |= kReading | kSync\n // If the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.state |= kNeedReadable\n\n // Call internal read method\n try {\n this._read(state.highWaterMark)\n } catch (err) {\n errorOrDestroy(this, err)\n }\n state.state &= ~kSync\n\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state)\n }\n let ret\n if (n > 0) ret = fromList(n, state)\n else ret = null\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark\n n = 0\n } else {\n state.length -= n\n if (state.multiAwaitDrain) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this)\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted) {\n state.dataEmitted = true\n this.emit('data', ret)\n }\n return ret\n}\nfunction onEofChunk(stream, state) {\n debug('onEofChunk')\n if (state.ended) return\n if (state.decoder) {\n const chunk = state.decoder.end()\n if (chunk && chunk.length) {\n state.buffer.push(chunk)\n state.length += state.objectMode ? 1 : chunk.length\n }\n }\n state.ended = true\n if (state.sync) {\n // If we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call.\n emitReadable(stream)\n } else {\n // Emit 'readable' now to make sure it gets picked up.\n state.needReadable = false\n state.emittedReadable = true\n // We have to emit readable now that we are EOF. Modules\n // in the ecosystem (e.g. dicer) rely on this event being sync.\n emitReadable_(stream)\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n const state = stream._readableState\n debug('emitReadable', state.needReadable, state.emittedReadable)\n state.needReadable = false\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing)\n state.emittedReadable = true\n process.nextTick(emitReadable_, stream)\n }\n}\nfunction emitReadable_(stream) {\n const state = stream._readableState\n debug('emitReadable_', state.destroyed, state.length, state.ended)\n if (!state.destroyed && !state.errored && (state.length || state.ended)) {\n stream.emit('readable')\n state.emittedReadable = false\n }\n\n // The stream needs another readable event if:\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark\n flow(stream)\n}\n\n// At this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore && state.constructed) {\n state.readingMore = true\n process.nextTick(maybeReadMore_, stream, state)\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (\n !state.reading &&\n !state.ended &&\n (state.length < state.highWaterMark || (state.flowing && state.length === 0))\n ) {\n const len = state.length\n debug('maybeReadMore read 0')\n stream.read(0)\n if (len === state.length)\n // Didn't get any data, stop spinning.\n break\n }\n state.readingMore = false\n}\n\n// Abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_read()')\n}\nReadable.prototype.pipe = function (dest, pipeOpts) {\n const src = this\n const state = this._readableState\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain) {\n state.multiAwaitDrain = true\n state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : [])\n }\n }\n state.pipes.push(dest)\n debug('pipe count=%d opts=%j', state.pipes.length, pipeOpts)\n const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr\n const endFn = doEnd ? onend : unpipe\n if (state.endEmitted) process.nextTick(endFn)\n else src.once('end', endFn)\n dest.on('unpipe', onunpipe)\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe')\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true\n cleanup()\n }\n }\n }\n function onend() {\n debug('onend')\n dest.end()\n }\n let ondrain\n let cleanedUp = false\n function cleanup() {\n debug('cleanup')\n // Cleanup event handlers once the pipe is broken.\n dest.removeListener('close', onclose)\n dest.removeListener('finish', onfinish)\n if (ondrain) {\n dest.removeListener('drain', ondrain)\n }\n dest.removeListener('error', onerror)\n dest.removeListener('unpipe', onunpipe)\n src.removeListener('end', onend)\n src.removeListener('end', unpipe)\n src.removeListener('data', ondata)\n cleanedUp = true\n\n // If the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain()\n }\n function pause() {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest) {\n debug('false write response, pause', 0)\n state.awaitDrainWriters = dest\n state.multiAwaitDrain = false\n } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {\n debug('false write response, pause', state.awaitDrainWriters.size)\n state.awaitDrainWriters.add(dest)\n }\n src.pause()\n }\n if (!ondrain) {\n // When the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n ondrain = pipeOnDrain(src, dest)\n dest.on('drain', ondrain)\n }\n }\n src.on('data', ondata)\n function ondata(chunk) {\n debug('ondata')\n const ret = dest.write(chunk)\n debug('dest.write', ret)\n if (ret === false) {\n pause()\n }\n }\n\n // If the dest has an error, then stop piping into it.\n // However, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er)\n unpipe()\n dest.removeListener('error', onerror)\n if (dest.listenerCount('error') === 0) {\n const s = dest._writableState || dest._readableState\n if (s && !s.errorEmitted) {\n // User incorrectly emitted 'error' directly on the stream.\n errorOrDestroy(dest, er)\n } else {\n dest.emit('error', er)\n }\n }\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror)\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish)\n unpipe()\n }\n dest.once('close', onclose)\n function onfinish() {\n debug('onfinish')\n dest.removeListener('close', onclose)\n unpipe()\n }\n dest.once('finish', onfinish)\n function unpipe() {\n debug('unpipe')\n src.unpipe(dest)\n }\n\n // Tell the dest that it's being piped to.\n dest.emit('pipe', src)\n\n // Start the flow if it hasn't been started already.\n\n if (dest.writableNeedDrain === true) {\n pause()\n } else if (!state.flowing) {\n debug('pipe resume')\n src.resume()\n }\n return dest\n}\nfunction pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState\n\n // `ondrain` will call directly,\n // `this` maybe not a reference to dest,\n // so we use the real dest here.\n if (state.awaitDrainWriters === dest) {\n debug('pipeOnDrain', 1)\n state.awaitDrainWriters = null\n } else if (state.multiAwaitDrain) {\n debug('pipeOnDrain', state.awaitDrainWriters.size)\n state.awaitDrainWriters.delete(dest)\n }\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount('data')) {\n src.resume()\n }\n }\n}\nReadable.prototype.unpipe = function (dest) {\n const state = this._readableState\n const unpipeInfo = {\n hasUnpiped: false\n }\n\n // If we're not piping anywhere, then do nothing.\n if (state.pipes.length === 0) return this\n if (!dest) {\n // remove all.\n const dests = state.pipes\n state.pipes = []\n this.pause()\n for (let i = 0; i < dests.length; i++)\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n })\n return this\n }\n\n // Try to find the right one.\n const index = ArrayPrototypeIndexOf(state.pipes, dest)\n if (index === -1) return this\n state.pipes.splice(index, 1)\n if (state.pipes.length === 0) this.pause()\n dest.emit('unpipe', this, unpipeInfo)\n return this\n}\n\n// Set up data events if they are asked for\n// Ensure readable listeners eventually get something.\nReadable.prototype.on = function (ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn)\n const state = this._readableState\n if (ev === 'data') {\n // Update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0\n\n // Try start flowing on next tick if stream isn't explicitly paused.\n if (state.flowing !== false) this.resume()\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true\n state.flowing = false\n state.emittedReadable = false\n debug('on readable', state.length, state.reading)\n if (state.length) {\n emitReadable(this)\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this)\n }\n }\n }\n return res\n}\nReadable.prototype.addListener = Readable.prototype.on\nReadable.prototype.removeListener = function (ev, fn) {\n const res = Stream.prototype.removeListener.call(this, ev, fn)\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nReadable.prototype.off = Readable.prototype.removeListener\nReadable.prototype.removeAllListeners = function (ev) {\n const res = Stream.prototype.removeAllListeners.apply(this, arguments)\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nfunction updateReadableListening(self) {\n const state = self._readableState\n state.readableListening = self.listenerCount('readable') > 0\n if (state.resumeScheduled && state[kPaused] === false) {\n // Flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true\n\n // Crude way to check if we should resume.\n } else if (self.listenerCount('data') > 0) {\n self.resume()\n } else if (!state.readableListening) {\n state.flowing = null\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0')\n self.read(0)\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n const state = this._readableState\n if (!state.flowing) {\n debug('resume')\n // We flow only if there is no one listening\n // for readable, but we still have to call\n // resume().\n state.flowing = !state.readableListening\n resume(this, state)\n }\n state[kPaused] = false\n return this\n}\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true\n process.nextTick(resume_, stream, state)\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading)\n if (!state.reading) {\n stream.read(0)\n }\n state.resumeScheduled = false\n stream.emit('resume')\n flow(stream)\n if (state.flowing && !state.reading) stream.read(0)\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing)\n if (this._readableState.flowing !== false) {\n debug('pause')\n this._readableState.flowing = false\n this.emit('pause')\n }\n this._readableState[kPaused] = true\n return this\n}\nfunction flow(stream) {\n const state = stream._readableState\n debug('flow', state.flowing)\n while (state.flowing && stream.read() !== null);\n}\n\n// Wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n let paused = false\n\n // TODO (ronag): Should this.destroy(err) emit\n // 'error' on the wrapped stream? Would require\n // a static factory method, e.g. Readable.wrap(stream).\n\n stream.on('data', (chunk) => {\n if (!this.push(chunk) && stream.pause) {\n paused = true\n stream.pause()\n }\n })\n stream.on('end', () => {\n this.push(null)\n })\n stream.on('error', (err) => {\n errorOrDestroy(this, err)\n })\n stream.on('close', () => {\n this.destroy()\n })\n stream.on('destroy', () => {\n this.destroy()\n })\n this._read = () => {\n if (paused && stream.resume) {\n paused = false\n stream.resume()\n }\n }\n\n // Proxy all the other methods. Important when wrapping filters and duplexes.\n const streamKeys = ObjectKeys(stream)\n for (let j = 1; j < streamKeys.length; j++) {\n const i = streamKeys[j]\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = stream[i].bind(stream)\n }\n }\n return this\n}\nReadable.prototype[SymbolAsyncIterator] = function () {\n return streamToAsyncIterator(this)\n}\nReadable.prototype.iterator = function (options) {\n if (options !== undefined) {\n validateObject(options, 'options')\n }\n return streamToAsyncIterator(this, options)\n}\nfunction streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== 'function') {\n stream = Readable.wrap(stream, {\n objectMode: true\n })\n }\n const iter = createAsyncIterator(stream, options)\n iter.stream = stream\n return iter\n}\nasync function* createAsyncIterator(stream, options) {\n let callback = nop\n function next(resolve) {\n if (this === stream) {\n callback()\n callback = nop\n } else {\n callback = resolve\n }\n }\n stream.on('readable', next)\n let error\n const cleanup = eos(\n stream,\n {\n writable: false\n },\n (err) => {\n error = err ? aggregateTwoErrors(error, err) : null\n callback()\n callback = nop\n }\n )\n try {\n while (true) {\n const chunk = stream.destroyed ? null : stream.read()\n if (chunk !== null) {\n yield chunk\n } else if (error) {\n throw error\n } else if (error === null) {\n return\n } else {\n await new Promise(next)\n }\n }\n } catch (err) {\n error = aggregateTwoErrors(error, err)\n throw error\n } finally {\n if (\n (error || (options === null || options === undefined ? undefined : options.destroyOnReturn) !== false) &&\n (error === undefined || stream._readableState.autoDestroy)\n ) {\n destroyImpl.destroyer(stream, null)\n } else {\n stream.off('readable', next)\n cleanup()\n }\n }\n}\n\n// Making it explicit these properties are not enumerable\n// because otherwise some prototype manipulation in\n// userland will fail.\nObjectDefineProperties(Readable.prototype, {\n readable: {\n __proto__: null,\n get() {\n const r = this._readableState\n // r.readable === false means that this is part of a Duplex stream\n // where the readable side was disabled upon construction.\n // Compat. The user might manually disable readable side through\n // deprecated setter.\n return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted\n },\n set(val) {\n // Backwards compat.\n if (this._readableState) {\n this._readableState.readable = !!val\n }\n }\n },\n readableDidRead: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.dataEmitted\n }\n },\n readableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._readableState.readable !== false &&\n (this._readableState.destroyed || this._readableState.errored) &&\n !this._readableState.endEmitted\n )\n }\n },\n readableHighWaterMark: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark\n }\n },\n readableBuffer: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState && this._readableState.buffer\n }\n },\n readableFlowing: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.flowing\n },\n set: function (state) {\n if (this._readableState) {\n this._readableState.flowing = state\n }\n }\n },\n readableLength: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState.length\n }\n },\n readableObjectMode: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.objectMode : false\n }\n },\n readableEncoding: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.encoding : null\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.errored : null\n }\n },\n closed: {\n __proto__: null,\n get() {\n return this._readableState ? this._readableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.destroyed : false\n },\n set(value) {\n // We ignore the value if the stream\n // has not been initialized yet.\n if (!this._readableState) {\n return\n }\n\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n this._readableState.destroyed = value\n }\n },\n readableEnded: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.endEmitted : false\n }\n }\n})\nObjectDefineProperties(ReadableState.prototype, {\n // Legacy getter for `pipesCount`.\n pipesCount: {\n __proto__: null,\n get() {\n return this.pipes.length\n }\n },\n // Legacy property for `paused`.\n paused: {\n __proto__: null,\n get() {\n return this[kPaused] !== false\n },\n set(value) {\n this[kPaused] = !!value\n }\n }\n})\n\n// Exposed for testing purposes only.\nReadable._fromList = fromList\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered.\n if (state.length === 0) return null\n let ret\n if (state.objectMode) ret = state.buffer.shift()\n else if (!n || n >= state.length) {\n // Read it all, truncate the list.\n if (state.decoder) ret = state.buffer.join('')\n else if (state.buffer.length === 1) ret = state.buffer.first()\n else ret = state.buffer.concat(state.length)\n state.buffer.clear()\n } else {\n // read part of list.\n ret = state.buffer.consume(n, state.decoder)\n }\n return ret\n}\nfunction endReadable(stream) {\n const state = stream._readableState\n debug('endReadable', state.endEmitted)\n if (!state.endEmitted) {\n state.ended = true\n process.nextTick(endReadableNT, state, stream)\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length)\n\n // Check that we didn't get one last unshift.\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n state.endEmitted = true\n stream.emit('end')\n if (stream.writable && stream.allowHalfOpen === false) {\n process.nextTick(endWritableNT, stream)\n } else if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well.\n const wState = stream._writableState\n const autoDestroy =\n !wState ||\n (wState.autoDestroy &&\n // We don't expect the writable to ever 'finish'\n // if writable is explicitly set to false.\n (wState.finished || wState.writable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n }\n}\nfunction endWritableNT(stream) {\n const writable = stream.writable && !stream.writableEnded && !stream.destroyed\n if (writable) {\n stream.end()\n }\n}\nReadable.from = function (iterable, opts) {\n return from(Readable, iterable, opts)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nReadable.fromWeb = function (readableStream, options) {\n return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options)\n}\nReadable.toWeb = function (streamReadable, options) {\n return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options)\n}\nReadable.wrap = function (src, options) {\n var _ref, _src$readableObjectMo\n return new Readable({\n objectMode:\n (_ref =\n (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== undefined\n ? _src$readableObjectMo\n : src.objectMode) !== null && _ref !== undefined\n ? _ref\n : true,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err)\n callback(err)\n }\n }).wrap(src)\n}\n","'use strict'\n\nconst { MathFloor, NumberIsInteger } = require('../../ours/primordials')\nconst { validateInteger } = require('../validators')\nconst { ERR_INVALID_ARG_VALUE } = require('../../ours/errors').codes\nlet defaultHighWaterMarkBytes = 16 * 1024\nlet defaultHighWaterMarkObjectMode = 16\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null\n}\nfunction getDefaultHighWaterMark(objectMode) {\n return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes\n}\nfunction setDefaultHighWaterMark(objectMode, value) {\n validateInteger(value, 'value', 0)\n if (objectMode) {\n defaultHighWaterMarkObjectMode = value\n } else {\n defaultHighWaterMarkBytes = value\n }\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey)\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex ? `options.${duplexKey}` : 'options.highWaterMark'\n throw new ERR_INVALID_ARG_VALUE(name, hwm)\n }\n return MathFloor(hwm)\n }\n\n // Default value\n return getDefaultHighWaterMark(state.objectMode)\n}\nmodule.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark,\n setDefaultHighWaterMark\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf, Symbol } = require('../../ours/primordials')\nmodule.exports = Transform\nconst { ERR_METHOD_NOT_IMPLEMENTED } = require('../../ours/errors').codes\nconst Duplex = require('./duplex')\nconst { getHighWaterMark } = require('./state')\nObjectSetPrototypeOf(Transform.prototype, Duplex.prototype)\nObjectSetPrototypeOf(Transform, Duplex)\nconst kCallback = Symbol('kCallback')\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options)\n\n // TODO (ronag): This should preferably always be\n // applied but would be semver-major. Or even better;\n // make Transform a Readable with the Writable interface.\n const readableHighWaterMark = options ? getHighWaterMark(this, options, 'readableHighWaterMark', true) : null\n if (readableHighWaterMark === 0) {\n // A Duplex will buffer both on the writable and readable side while\n // a Transform just wants to buffer hwm number of elements. To avoid\n // buffering twice we disable buffering on the writable side.\n options = {\n ...options,\n highWaterMark: null,\n readableHighWaterMark,\n // TODO (ronag): 0 is not optimal since we have\n // a \"bug\" where we check needDrain before calling _write and not after.\n // Refs: https://github.com/nodejs/node/pull/32887\n // Refs: https://github.com/nodejs/node/pull/35941\n writableHighWaterMark: options.writableHighWaterMark || 0\n }\n }\n Duplex.call(this, options)\n\n // We have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false\n this[kCallback] = null\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform\n if (typeof options.flush === 'function') this._flush = options.flush\n }\n\n // When the writable side finishes, then flush out anything remaining.\n // Backwards compat. Some Transform streams incorrectly implement _final\n // instead of or in addition to _flush. By using 'prefinish' instead of\n // implementing _final we continue supporting this unfortunate use case.\n this.on('prefinish', prefinish)\n}\nfunction final(cb) {\n if (typeof this._flush === 'function' && !this.destroyed) {\n this._flush((er, data) => {\n if (er) {\n if (cb) {\n cb(er)\n } else {\n this.destroy(er)\n }\n return\n }\n if (data != null) {\n this.push(data)\n }\n this.push(null)\n if (cb) {\n cb()\n }\n })\n } else {\n this.push(null)\n if (cb) {\n cb()\n }\n }\n}\nfunction prefinish() {\n if (this._final !== final) {\n final.call(this)\n }\n}\nTransform.prototype._final = final\nTransform.prototype._transform = function (chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_transform()')\n}\nTransform.prototype._write = function (chunk, encoding, callback) {\n const rState = this._readableState\n const wState = this._writableState\n const length = rState.length\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err)\n return\n }\n if (val != null) {\n this.push(val)\n }\n if (\n wState.ended ||\n // Backwards compat.\n length === rState.length ||\n // Backwards compat.\n rState.length < rState.highWaterMark\n ) {\n callback()\n } else {\n this[kCallback] = callback\n }\n })\n}\nTransform.prototype._read = function () {\n if (this[kCallback]) {\n const callback = this[kCallback]\n this[kCallback] = null\n callback()\n }\n}\n","'use strict'\n\nconst { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require('../../ours/primordials')\n\n// We need to use SymbolFor to make these globally available\n// for interopt with readable-stream, i.e. readable-stream\n// and node core needs to be able to read/write private state\n// from each other for proper interoperability.\nconst kIsDestroyed = SymbolFor('nodejs.stream.destroyed')\nconst kIsErrored = SymbolFor('nodejs.stream.errored')\nconst kIsReadable = SymbolFor('nodejs.stream.readable')\nconst kIsWritable = SymbolFor('nodejs.stream.writable')\nconst kIsDisturbed = SymbolFor('nodejs.stream.disturbed')\nconst kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise')\nconst kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction')\nfunction isReadableNodeStream(obj, strict = false) {\n var _obj$_readableState\n return !!(\n (\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!strict || (typeof obj.pause === 'function' && typeof obj.resume === 'function')) &&\n (!obj._writableState ||\n ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === undefined\n ? undefined\n : _obj$_readableState.readable) !== false) &&\n // Duplex\n (!obj._writableState || obj._readableState)\n ) // Writable has .pipe.\n )\n}\n\nfunction isWritableNodeStream(obj) {\n var _obj$_writableState\n return !!(\n (\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState ||\n ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === undefined\n ? undefined\n : _obj$_writableState.writable) !== false)\n ) // Duplex\n )\n}\n\nfunction isDuplexNodeStream(obj) {\n return !!(\n obj &&\n typeof obj.pipe === 'function' &&\n obj._readableState &&\n typeof obj.on === 'function' &&\n typeof obj.write === 'function'\n )\n}\nfunction isNodeStream(obj) {\n return (\n obj &&\n (obj._readableState ||\n obj._writableState ||\n (typeof obj.write === 'function' && typeof obj.on === 'function') ||\n (typeof obj.pipe === 'function' && typeof obj.on === 'function'))\n )\n}\nfunction isReadableStream(obj) {\n return !!(\n obj &&\n !isNodeStream(obj) &&\n typeof obj.pipeThrough === 'function' &&\n typeof obj.getReader === 'function' &&\n typeof obj.cancel === 'function'\n )\n}\nfunction isWritableStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === 'function' && typeof obj.abort === 'function')\n}\nfunction isTransformStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.readable === 'object' && typeof obj.writable === 'object')\n}\nfunction isWebStream(obj) {\n return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj)\n}\nfunction isIterable(obj, isAsync) {\n if (obj == null) return false\n if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function'\n if (isAsync === false) return typeof obj[SymbolIterator] === 'function'\n return typeof obj[SymbolAsyncIterator] === 'function' || typeof obj[SymbolIterator] === 'function'\n}\nfunction isDestroyed(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return !!(stream.destroyed || stream[kIsDestroyed] || (state !== null && state !== undefined && state.destroyed))\n}\n\n// Have been end():d.\nfunction isWritableEnded(stream) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableEnded === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.ended) !== 'boolean') return null\n return wState.ended\n}\n\n// Have emitted 'finish'.\nfunction isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableFinished === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.finished) !== 'boolean') return null\n return !!(wState.finished || (strict === false && wState.ended === true && wState.length === 0))\n}\n\n// Have been push(null):d.\nfunction isReadableEnded(stream) {\n if (!isReadableNodeStream(stream)) return null\n if (stream.readableEnded === true) return true\n const rState = stream._readableState\n if (!rState || rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.ended) !== 'boolean') return null\n return rState.ended\n}\n\n// Have emitted 'end'.\nfunction isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream)) return null\n const rState = stream._readableState\n if (rState !== null && rState !== undefined && rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.endEmitted) !== 'boolean') return null\n return !!(rState.endEmitted || (strict === false && rState.ended === true && rState.length === 0))\n}\nfunction isReadable(stream) {\n if (stream && stream[kIsReadable] != null) return stream[kIsReadable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.readable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream)\n}\nfunction isWritable(stream) {\n if (stream && stream[kIsWritable] != null) return stream[kIsWritable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.writable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream)\n}\nfunction isFinished(stream, opts) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (isDestroyed(stream)) {\n return true\n }\n if ((opts === null || opts === undefined ? undefined : opts.readable) !== false && isReadable(stream)) {\n return false\n }\n if ((opts === null || opts === undefined ? undefined : opts.writable) !== false && isWritable(stream)) {\n return false\n }\n return true\n}\nfunction isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.writableErrored) {\n return stream.writableErrored\n }\n return (_stream$_writableStat =\n (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === undefined\n ? undefined\n : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== undefined\n ? _stream$_writableStat\n : null\n}\nfunction isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.readableErrored) {\n return stream.readableErrored\n }\n return (_stream$_readableStat =\n (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === undefined\n ? undefined\n : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== undefined\n ? _stream$_readableStat\n : null\n}\nfunction isClosed(stream) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (typeof stream.closed === 'boolean') {\n return stream.closed\n }\n const wState = stream._writableState\n const rState = stream._readableState\n if (\n typeof (wState === null || wState === undefined ? undefined : wState.closed) === 'boolean' ||\n typeof (rState === null || rState === undefined ? undefined : rState.closed) === 'boolean'\n ) {\n return (\n (wState === null || wState === undefined ? undefined : wState.closed) ||\n (rState === null || rState === undefined ? undefined : rState.closed)\n )\n }\n if (typeof stream._closed === 'boolean' && isOutgoingMessage(stream)) {\n return stream._closed\n }\n return null\n}\nfunction isOutgoingMessage(stream) {\n return (\n typeof stream._closed === 'boolean' &&\n typeof stream._defaultKeepAlive === 'boolean' &&\n typeof stream._removedConnection === 'boolean' &&\n typeof stream._removedContLen === 'boolean'\n )\n}\nfunction isServerResponse(stream) {\n return typeof stream._sent100 === 'boolean' && isOutgoingMessage(stream)\n}\nfunction isServerRequest(stream) {\n var _stream$req\n return (\n typeof stream._consuming === 'boolean' &&\n typeof stream._dumped === 'boolean' &&\n ((_stream$req = stream.req) === null || _stream$req === undefined ? undefined : _stream$req.upgradeOrConnect) ===\n undefined\n )\n}\nfunction willEmitClose(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return (\n (!state && isServerResponse(stream)) || !!(state && state.autoDestroy && state.emitClose && state.closed === false)\n )\n}\nfunction isDisturbed(stream) {\n var _stream$kIsDisturbed\n return !!(\n stream &&\n ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== undefined\n ? _stream$kIsDisturbed\n : stream.readableDidRead || stream.readableAborted)\n )\n}\nfunction isErrored(stream) {\n var _ref,\n _ref2,\n _ref3,\n _ref4,\n _ref5,\n _stream$kIsErrored,\n _stream$_readableStat3,\n _stream$_writableStat3,\n _stream$_readableStat4,\n _stream$_writableStat4\n return !!(\n stream &&\n ((_ref =\n (_ref2 =\n (_ref3 =\n (_ref4 =\n (_ref5 =\n (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== undefined\n ? _stream$kIsErrored\n : stream.readableErrored) !== null && _ref5 !== undefined\n ? _ref5\n : stream.writableErrored) !== null && _ref4 !== undefined\n ? _ref4\n : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === undefined\n ? undefined\n : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== undefined\n ? _ref3\n : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === undefined\n ? undefined\n : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== undefined\n ? _ref2\n : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === undefined\n ? undefined\n : _stream$_readableStat4.errored) !== null && _ref !== undefined\n ? _ref\n : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === undefined\n ? undefined\n : _stream$_writableStat4.errored)\n )\n}\nmodule.exports = {\n isDestroyed,\n kIsDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n kIsClosedPromise,\n kControllerErrorFunction,\n kIsWritable,\n isClosed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWebStream,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose,\n isTransformStream\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n;('use strict')\nconst {\n ArrayPrototypeSlice,\n Error,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol,\n SymbolHasInstance\n} = require('../../ours/primordials')\nmodule.exports = Writable\nWritable.WritableState = WritableState\nconst { EventEmitter: EE } = require('events')\nconst Stream = require('./legacy').Stream\nconst { Buffer } = require('buffer')\nconst destroyImpl = require('./destroy')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n} = require('../../ours/errors').codes\nconst { errorOrDestroy } = destroyImpl\nObjectSetPrototypeOf(Writable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Writable, Stream)\nfunction nop() {}\nconst kOnFinished = Symbol('kOnFinished')\nfunction WritableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!(options && options.objectMode)\n if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode)\n\n // The point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write().\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // if _final has been called.\n this.finalCalled = false\n\n // drain event flag.\n this.needDrain = false\n // At the start of calling end()\n this.ending = false\n // When end() has been called, and returned.\n this.ended = false\n // When 'finish' is emitted.\n this.finished = false\n\n // Has it been destroyed\n this.destroyed = false\n\n // Should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n const noDecode = !!(options && options.decodeStrings === false)\n this.decodeStrings = !noDecode\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0\n\n // A flag to see when we're in the middle of a write.\n this.writing = false\n\n // When true all writes will be buffered until .uncork() call.\n this.corked = 0\n\n // A flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true\n\n // A flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false\n\n // The callback that's passed to _write(chunk, cb).\n this.onwrite = onwrite.bind(undefined, stream)\n\n // The callback that the user supplies to write(chunk, encoding, cb).\n this.writecb = null\n\n // The amount that is being written when _write is called.\n this.writelen = 0\n\n // Storage for data passed to the afterWrite() callback in case of\n // synchronous _write() completion.\n this.afterWriteTickInfo = null\n resetBuffer(this)\n\n // Number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted.\n this.pendingcb = 0\n\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n this.constructed = true\n\n // Emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams.\n this.prefinished = false\n\n // True if the error was already emitted and should not be thrown again.\n this.errorEmitted = false\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = !options || options.emitClose !== false\n\n // Should .destroy() be called after 'finish' (and potentially 'end').\n this.autoDestroy = !options || options.autoDestroy !== false\n\n // Indicates whether the stream has errored. When true all write() calls\n // should return false. This is needed since when autoDestroy\n // is disabled we need a way to tell whether the stream has failed.\n this.errored = null\n\n // Indicates whether the stream has finished destroying.\n this.closed = false\n\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n this.closeEmitted = false\n this[kOnFinished] = []\n}\nfunction resetBuffer(state) {\n state.buffered = []\n state.bufferedIndex = 0\n state.allBuffers = true\n state.allNoop = true\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex)\n}\nObjectDefineProperty(WritableState.prototype, 'bufferedRequestCount', {\n __proto__: null,\n get() {\n return this.buffered.length - this.bufferedIndex\n }\n})\nfunction Writable(options) {\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options)\n this._writableState = new WritableState(options, this, isDuplex)\n if (options) {\n if (typeof options.write === 'function') this._write = options.write\n if (typeof options.writev === 'function') this._writev = options.writev\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.final === 'function') this._final = options.final\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n const state = this._writableState\n if (!state.writing) {\n clearBuffer(this, state)\n }\n finishMaybe(this, state)\n })\n}\nObjectDefineProperty(Writable, SymbolHasInstance, {\n __proto__: null,\n value: function (object) {\n if (FunctionPrototypeSymbolHasInstance(this, object)) return true\n if (this !== Writable) return false\n return object && object._writableState instanceof WritableState\n }\n})\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE())\n}\nfunction _write(stream, chunk, encoding, cb) {\n const state = stream._writableState\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = state.defaultEncoding\n } else {\n if (!encoding) encoding = state.defaultEncoding\n else if (encoding !== 'buffer' && !Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n if (typeof cb !== 'function') cb = nop\n }\n if (chunk === null) {\n throw new ERR_STREAM_NULL_VALUES()\n } else if (!state.objectMode) {\n if (typeof chunk === 'string') {\n if (state.decodeStrings !== false) {\n chunk = Buffer.from(chunk, encoding)\n encoding = 'buffer'\n }\n } else if (chunk instanceof Buffer) {\n encoding = 'buffer'\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = 'buffer'\n } else {\n throw new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n let err\n if (state.ending) {\n err = new ERR_STREAM_WRITE_AFTER_END()\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('write')\n }\n if (err) {\n process.nextTick(cb, err)\n errorOrDestroy(stream, err, true)\n return err\n }\n state.pendingcb++\n return writeOrBuffer(stream, state, chunk, encoding, cb)\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === true\n}\nWritable.prototype.cork = function () {\n this._writableState.corked++\n}\nWritable.prototype.uncork = function () {\n const state = this._writableState\n if (state.corked) {\n state.corked--\n if (!state.writing) clearBuffer(this, state)\n }\n}\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = StringPrototypeToLowerCase(encoding)\n if (!Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n this._writableState.defaultEncoding = encoding\n return this\n}\n\n// If we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode ? 1 : chunk.length\n state.length += len\n\n // stream._write resets state.length\n const ret = state.length < state.highWaterMark\n // We must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true\n if (state.writing || state.corked || state.errored || !state.constructed) {\n state.buffered.push({\n chunk,\n encoding,\n callback\n })\n if (state.allBuffers && encoding !== 'buffer') {\n state.allBuffers = false\n }\n if (state.allNoop && callback !== nop) {\n state.allNoop = false\n }\n } else {\n state.writelen = len\n state.writecb = callback\n state.writing = true\n state.sync = true\n stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n }\n\n // Return false if errored or destroyed in order to break\n // any synchronous while(stream.write(data)) loops.\n return ret && !state.errored && !state.destroyed\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len\n state.writecb = cb\n state.writing = true\n state.sync = true\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'))\n else if (writev) stream._writev(chunk, state.onwrite)\n else stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n}\nfunction onwriteError(stream, state, er, cb) {\n --state.pendingcb\n cb(er)\n // Ensure callbacks are invoked even when autoDestroy is\n // not enabled. Passing `er` here doesn't make sense since\n // it's related to one specific write, not to the buffered\n // writes.\n errorBuffer(state)\n // This can emit error, but error must always follow cb.\n errorOrDestroy(stream, er)\n}\nfunction onwrite(stream, er) {\n const state = stream._writableState\n const sync = state.sync\n const cb = state.writecb\n if (typeof cb !== 'function') {\n errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK())\n return\n }\n state.writing = false\n state.writecb = null\n state.length -= state.writelen\n state.writelen = 0\n if (er) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n er.stack // eslint-disable-line no-unused-expressions\n\n if (!state.errored) {\n state.errored = er\n }\n\n // In case of duplex streams we need to notify the readable side of the\n // error.\n if (stream._readableState && !stream._readableState.errored) {\n stream._readableState.errored = er\n }\n if (sync) {\n process.nextTick(onwriteError, stream, state, er, cb)\n } else {\n onwriteError(stream, state, er, cb)\n }\n } else {\n if (state.buffered.length > state.bufferedIndex) {\n clearBuffer(stream, state)\n }\n if (sync) {\n // It is a common case that the callback passed to .write() is always\n // the same. In that case, we do not schedule a new nextTick(), but\n // rather just increase a counter, to improve performance and avoid\n // memory allocations.\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {\n state.afterWriteTickInfo.count++\n } else {\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }\n process.nextTick(afterWriteTick, state.afterWriteTickInfo)\n }\n } else {\n afterWrite(stream, state, 1, cb)\n }\n }\n}\nfunction afterWriteTick({ stream, state, count, cb }) {\n state.afterWriteTickInfo = null\n return afterWrite(stream, state, count, cb)\n}\nfunction afterWrite(stream, state, count, cb) {\n const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain\n if (needDrain) {\n state.needDrain = false\n stream.emit('drain')\n }\n while (count-- > 0) {\n state.pendingcb--\n cb()\n }\n if (state.destroyed) {\n errorBuffer(state)\n }\n finishMaybe(stream, state)\n}\n\n// If there's something in the buffer waiting, then invoke callbacks.\nfunction errorBuffer(state) {\n if (state.writing) {\n return\n }\n for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {\n var _state$errored\n const { chunk, callback } = state.buffered[n]\n const len = state.objectMode ? 1 : chunk.length\n state.length -= len\n callback(\n (_state$errored = state.errored) !== null && _state$errored !== undefined\n ? _state$errored\n : new ERR_STREAM_DESTROYED('write')\n )\n }\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n var _state$errored2\n onfinishCallbacks[i](\n (_state$errored2 = state.errored) !== null && _state$errored2 !== undefined\n ? _state$errored2\n : new ERR_STREAM_DESTROYED('end')\n )\n }\n resetBuffer(state)\n}\n\n// If there's something in the buffer waiting, then process it.\nfunction clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {\n return\n }\n const { buffered, bufferedIndex, objectMode } = state\n const bufferedLength = buffered.length - bufferedIndex\n if (!bufferedLength) {\n return\n }\n let i = bufferedIndex\n state.bufferProcessing = true\n if (bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1\n const callback = state.allNoop\n ? nop\n : (err) => {\n for (let n = i; n < buffered.length; ++n) {\n buffered[n].callback(err)\n }\n }\n // Make a copy of `buffered` if it's going to be used by `callback` above,\n // since `doWrite` will mutate the array.\n const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i)\n chunks.allBuffers = state.allBuffers\n doWrite(stream, state, true, state.length, chunks, '', callback)\n resetBuffer(state)\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i]\n buffered[i++] = null\n const len = objectMode ? 1 : chunk.length\n doWrite(stream, state, false, len, chunk, encoding, callback)\n } while (i < buffered.length && !state.writing)\n if (i === buffered.length) {\n resetBuffer(state)\n } else if (i > 256) {\n buffered.splice(0, i)\n state.bufferedIndex = 0\n } else {\n state.bufferedIndex = i\n }\n }\n state.bufferProcessing = false\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n if (this._writev) {\n this._writev(\n [\n {\n chunk,\n encoding\n }\n ],\n cb\n )\n } else {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_write()')\n }\n}\nWritable.prototype._writev = null\nWritable.prototype.end = function (chunk, encoding, cb) {\n const state = this._writableState\n if (typeof chunk === 'function') {\n cb = chunk\n chunk = null\n encoding = null\n } else if (typeof encoding === 'function') {\n cb = encoding\n encoding = null\n }\n let err\n if (chunk !== null && chunk !== undefined) {\n const ret = _write(this, chunk, encoding)\n if (ret instanceof Error) {\n err = ret\n }\n }\n\n // .end() fully uncorks.\n if (state.corked) {\n state.corked = 1\n this.uncork()\n }\n if (err) {\n // Do nothing...\n } else if (!state.errored && !state.ending) {\n // This is forgiving in terms of unnecessary calls to end() and can hide\n // logic errors. However, usually such errors are harmless and causing a\n // hard error can be disproportionately destructive. It is not always\n // trivial for the user to determine whether end() needs to be called\n // or not.\n\n state.ending = true\n finishMaybe(this, state, true)\n state.ended = true\n } else if (state.finished) {\n err = new ERR_STREAM_ALREADY_FINISHED('end')\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('end')\n }\n if (typeof cb === 'function') {\n if (err || state.finished) {\n process.nextTick(cb, err)\n } else {\n state[kOnFinished].push(cb)\n }\n }\n return this\n}\nfunction needFinish(state) {\n return (\n state.ending &&\n !state.destroyed &&\n state.constructed &&\n state.length === 0 &&\n !state.errored &&\n state.buffered.length === 0 &&\n !state.finished &&\n !state.writing &&\n !state.errorEmitted &&\n !state.closeEmitted\n )\n}\nfunction callFinal(stream, state) {\n let called = false\n function onFinish(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n state.pendingcb--\n if (err) {\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i](err)\n }\n errorOrDestroy(stream, err, state.sync)\n } else if (needFinish(state)) {\n state.prefinished = true\n stream.emit('prefinish')\n // Backwards compat. Don't check state.sync here.\n // Some streams assume 'finish' will be emitted\n // asynchronously relative to _final callback.\n state.pendingcb++\n process.nextTick(finish, stream, state)\n }\n }\n state.sync = true\n state.pendingcb++\n try {\n stream._final(onFinish)\n } catch (err) {\n onFinish(err)\n }\n state.sync = false\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.finalCalled = true\n callFinal(stream, state)\n } else {\n state.prefinished = true\n stream.emit('prefinish')\n }\n }\n}\nfunction finishMaybe(stream, state, sync) {\n if (needFinish(state)) {\n prefinish(stream, state)\n if (state.pendingcb === 0) {\n if (sync) {\n state.pendingcb++\n process.nextTick(\n (stream, state) => {\n if (needFinish(state)) {\n finish(stream, state)\n } else {\n state.pendingcb--\n }\n },\n stream,\n state\n )\n } else if (needFinish(state)) {\n state.pendingcb++\n finish(stream, state)\n }\n }\n }\n}\nfunction finish(stream, state) {\n state.pendingcb--\n state.finished = true\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i]()\n }\n stream.emit('finish')\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well.\n const rState = stream._readableState\n const autoDestroy =\n !rState ||\n (rState.autoDestroy &&\n // We don't expect the readable to ever 'end'\n // if readable is explicitly set to false.\n (rState.endEmitted || rState.readable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n}\nObjectDefineProperties(Writable.prototype, {\n closed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.destroyed : false\n },\n set(value) {\n // Backward compatibility, the user is explicitly managing destroyed.\n if (this._writableState) {\n this._writableState.destroyed = value\n }\n }\n },\n writable: {\n __proto__: null,\n get() {\n const w = this._writableState\n // w.writable === false means that this is part of a Duplex stream\n // where the writable side was disabled upon construction.\n // Compat. The user might manually disable writable side through\n // deprecated setter.\n return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended\n },\n set(val) {\n // Backwards compatible.\n if (this._writableState) {\n this._writableState.writable = !!val\n }\n }\n },\n writableFinished: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.finished : false\n }\n },\n writableObjectMode: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.objectMode : false\n }\n },\n writableBuffer: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.getBuffer()\n }\n },\n writableEnded: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.ending : false\n }\n },\n writableNeedDrain: {\n __proto__: null,\n get() {\n const wState = this._writableState\n if (!wState) return false\n return !wState.destroyed && !wState.ending && wState.needDrain\n }\n },\n writableHighWaterMark: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.highWaterMark\n }\n },\n writableCorked: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.corked : 0\n }\n },\n writableLength: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.length\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._writableState ? this._writableState.errored : null\n }\n },\n writableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._writableState.writable !== false &&\n (this._writableState.destroyed || this._writableState.errored) &&\n !this._writableState.finished\n )\n }\n }\n})\nconst destroy = destroyImpl.destroy\nWritable.prototype.destroy = function (err, cb) {\n const state = this._writableState\n\n // Invoke pending callbacks.\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {\n process.nextTick(errorBuffer, state)\n }\n destroy.call(this, err, cb)\n return this\n}\nWritable.prototype._undestroy = destroyImpl.undestroy\nWritable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nWritable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nWritable.fromWeb = function (writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options)\n}\nWritable.toWeb = function (streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)\n}\n","/* eslint jsdoc/require-jsdoc: \"error\" */\n\n'use strict'\n\nconst {\n ArrayIsArray,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberIsNaN,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n ObjectPrototypeHasOwnProperty,\n RegExpPrototypeExec,\n String,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n} = require('../ours/primordials')\nconst {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n} = require('../ours/errors')\nconst { normalizeEncoding } = require('../ours/util')\nconst { isAsyncFunction, isArrayBufferView } = require('../ours/util').types\nconst signals = {}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isInt32(value) {\n return value === (value | 0)\n}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isUint32(value) {\n return value === value >>> 0\n}\nconst octalReg = /^[0-7]+$/\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string'\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land, but any value higher than 0o777 will result in platform-specific\n * behaviors.\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified, will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value, name, def) {\n if (typeof value === 'undefined') {\n value = def\n }\n if (typeof value === 'string') {\n if (RegExpPrototypeExec(octalReg, value) === null) {\n throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc)\n }\n value = NumberParseInt(value, 8)\n }\n validateUint32(value, name)\n return value\n}\n\n/**\n * @callback validateInteger\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInteger} */\nconst validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n})\n\n/**\n * @callback validateInt32\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInt32} */\nconst validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateUint32\n * @param {*} value\n * @param {string} name\n * @param {number|boolean} [positive=false]\n * @returns {asserts value is number}\n */\n\n/** @type {validateUint32} */\nconst validateUint32 = hideStackFrames((value, name, positive = false) => {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n const min = positive ? 1 : 0\n // 2 ** 32 === 4294967296\n const max = 4294967295\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateString\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string}\n */\n\n/** @type {validateString} */\nfunction validateString(value, name) {\n if (typeof value !== 'string') throw new ERR_INVALID_ARG_TYPE(name, 'string', value)\n}\n\n/**\n * @callback validateNumber\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateNumber} */\nfunction validateNumber(value, name, min = undefined, max) {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (\n (min != null && value < min) ||\n (max != null && value > max) ||\n ((min != null || max != null) && NumberIsNaN(value))\n ) {\n throw new ERR_OUT_OF_RANGE(\n name,\n `${min != null ? `>= ${min}` : ''}${min != null && max != null ? ' && ' : ''}${max != null ? `<= ${max}` : ''}`,\n value\n )\n }\n}\n\n/**\n * @callback validateOneOf\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} oneOf\n */\n\n/** @type {validateOneOf} */\nconst validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf, (v) => (typeof v === 'string' ? `'${v}'` : String(v))),\n ', '\n )\n const reason = 'must be one of: ' + allowed\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateBoolean\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean}\n */\n\n/** @type {validateBoolean} */\nfunction validateBoolean(value, name) {\n if (typeof value !== 'boolean') throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value)\n}\n\n/**\n * @param {any} options\n * @param {string} key\n * @param {boolean} defaultValue\n * @returns {boolean}\n */\nfunction getOwnPropertyValueOrDefault(options, key, defaultValue) {\n return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]\n}\n\n/**\n * @callback validateObject\n * @param {*} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean,\n * allowFunction?: boolean,\n * nullable?: boolean\n * }} [options]\n */\n\n/** @type {validateObject} */\nconst validateObject = hideStackFrames((value, name, options = null) => {\n const allowArray = getOwnPropertyValueOrDefault(options, 'allowArray', false)\n const allowFunction = getOwnPropertyValueOrDefault(options, 'allowFunction', false)\n const nullable = getOwnPropertyValueOrDefault(options, 'nullable', false)\n if (\n (!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (!allowFunction || typeof value !== 'function'))\n ) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Object', value)\n }\n})\n\n/**\n * @callback validateDictionary - We are using the Web IDL Standard definition\n * of \"dictionary\" here, which means any value\n * whose Type is either Undefined, Null, or\n * Object (which includes functions).\n * @param {*} value\n * @param {string} name\n * @see https://webidl.spec.whatwg.org/#es-dictionary\n * @see https://tc39.es/ecma262/#table-typeof-operator-results\n */\n\n/** @type {validateDictionary} */\nconst validateDictionary = hideStackFrames((value, name) => {\n if (value != null && typeof value !== 'object' && typeof value !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(name, 'a dictionary', value)\n }\n})\n\n/**\n * @callback validateArray\n * @param {*} value\n * @param {string} name\n * @param {number} [minLength]\n * @returns {asserts value is any[]}\n */\n\n/** @type {validateArray} */\nconst validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Array', value)\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateStringArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string[]}\n */\n\n/** @type {validateStringArray} */\nfunction validateStringArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateString(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateBooleanArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean[]}\n */\n\n/** @type {validateBooleanArray} */\nfunction validateBooleanArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateBoolean(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateAbortSignalArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is AbortSignal[]}\n */\n\n/** @type {validateAbortSignalArray} */\nfunction validateAbortSignalArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n const signal = value[i]\n const indexedName = `${name}[${i}]`\n if (signal == null) {\n throw new ERR_INVALID_ARG_TYPE(indexedName, 'AbortSignal', signal)\n }\n validateAbortSignal(signal, indexedName)\n }\n}\n\n/**\n * @param {*} signal\n * @param {string} [name='signal']\n * @returns {asserts signal is keyof signals}\n */\nfunction validateSignalName(signal, name = 'signal') {\n validateString(signal, name)\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal + ' (signals must use all capital letters)')\n }\n throw new ERR_UNKNOWN_SIGNAL(signal)\n }\n}\n\n/**\n * @callback validateBuffer\n * @param {*} buffer\n * @param {string} [name='buffer']\n * @returns {asserts buffer is ArrayBufferView}\n */\n\n/** @type {validateBuffer} */\nconst validateBuffer = hideStackFrames((buffer, name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name, ['Buffer', 'TypedArray', 'DataView'], buffer)\n }\n})\n\n/**\n * @param {string} data\n * @param {string} encoding\n */\nfunction validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding)\n const length = data.length\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding', encoding, `is invalid for data of length ${length}`)\n }\n}\n\n/**\n * Check that the port number is not NaN when coerced to a number,\n * is an integer and that it falls within the legal range of port numbers.\n * @param {*} port\n * @param {string} [name='Port']\n * @param {boolean} [allowZero=true]\n * @returns {number}\n */\nfunction validatePort(port, name = 'Port', allowZero = true) {\n if (\n (typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== +port >>> 0 ||\n port > 0xffff ||\n (port === 0 && !allowZero)\n ) {\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero)\n }\n return port | 0\n}\n\n/**\n * @callback validateAbortSignal\n * @param {*} signal\n * @param {string} name\n */\n\n/** @type {validateAbortSignal} */\nconst validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n})\n\n/**\n * @callback validateFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validateFunction} */\nconst validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validatePlainFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validatePlainFunction} */\nconst validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function' || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validateUndefined\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is undefined}\n */\n\n/** @type {validateUndefined} */\nconst validateUndefined = hideStackFrames((value, name) => {\n if (value !== undefined) throw new ERR_INVALID_ARG_TYPE(name, 'undefined', value)\n})\n\n/**\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} union\n */\nfunction validateUnion(value, name, union) {\n if (!ArrayPrototypeIncludes(union, value)) {\n throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value)\n }\n}\n\n/*\n The rules for the Link header field are described here:\n https://www.rfc-editor.org/rfc/rfc8288.html#section-3\n\n This regex validates any string surrounded by angle brackets\n (not necessarily a valid URI reference) followed by zero or more\n link-params separated by semicolons.\n*/\nconst linkValueRegExp = /^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/\n\n/**\n * @param {any} value\n * @param {string} name\n */\nfunction validateLinkHeaderFormat(value, name) {\n if (typeof value === 'undefined' || !RegExpPrototypeExec(linkValueRegExp, value)) {\n throw new ERR_INVALID_ARG_VALUE(\n name,\n value,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n }\n}\n\n/**\n * @param {any} hints\n * @return {string}\n */\nfunction validateLinkHeaderValue(hints) {\n if (typeof hints === 'string') {\n validateLinkHeaderFormat(hints, 'hints')\n return hints\n } else if (ArrayIsArray(hints)) {\n const hintsLength = hints.length\n let result = ''\n if (hintsLength === 0) {\n return result\n }\n for (let i = 0; i < hintsLength; i++) {\n const link = hints[i]\n validateLinkHeaderFormat(link, 'hints')\n result += link\n if (i !== hintsLength - 1) {\n result += ', '\n }\n }\n return result\n }\n throw new ERR_INVALID_ARG_VALUE(\n 'hints',\n hints,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n}\nmodule.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateStringArray,\n validateBooleanArray,\n validateAbortSignalArray,\n validateBoolean,\n validateBuffer,\n validateDictionary,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateUnion,\n validateAbortSignal,\n validateLinkHeaderValue\n}\n","'use strict'\n\nconst CustomStream = require('../stream')\nconst promises = require('../stream/promises')\nconst originalDestroy = CustomStream.Readable.destroy\nmodule.exports = CustomStream.Readable\n\n// Explicit export naming is needed for ESM\nmodule.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer\nmodule.exports._isUint8Array = CustomStream._isUint8Array\nmodule.exports.isDisturbed = CustomStream.isDisturbed\nmodule.exports.isErrored = CustomStream.isErrored\nmodule.exports.isReadable = CustomStream.isReadable\nmodule.exports.Readable = CustomStream.Readable\nmodule.exports.Writable = CustomStream.Writable\nmodule.exports.Duplex = CustomStream.Duplex\nmodule.exports.Transform = CustomStream.Transform\nmodule.exports.PassThrough = CustomStream.PassThrough\nmodule.exports.addAbortSignal = CustomStream.addAbortSignal\nmodule.exports.finished = CustomStream.finished\nmodule.exports.destroy = CustomStream.destroy\nmodule.exports.destroy = originalDestroy\nmodule.exports.pipeline = CustomStream.pipeline\nmodule.exports.compose = CustomStream.compose\nObject.defineProperty(CustomStream, 'promises', {\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nmodule.exports.Stream = CustomStream.Stream\n\n// Allow default importing\nmodule.exports.default = module.exports\n","'use strict'\n\nconst { format, inspect, AggregateError: CustomAggregateError } = require('./util')\n\n/*\n This file is a reduced and adapted version of the main lib/internal/errors.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/errors.js\n\n Don't try to replace with the original file and keep it up to date (starting from E(...) definitions)\n with the upstream file.\n*/\n\nconst AggregateError = globalThis.AggregateError || CustomAggregateError\nconst kIsNodeError = Symbol('kIsNodeError')\nconst kTypes = [\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/\nconst nodeInternalPrefix = '__node_internal_'\nconst codes = {}\nfunction assert(value, message) {\n if (!value) {\n throw new codes.ERR_INTERNAL_ASSERTION(message)\n }\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\nfunction getMessage(key, msg, args) {\n if (typeof msg === 'function') {\n assert(\n msg.length <= args.length,\n // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`\n )\n return msg(...args)\n }\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`\n )\n if (args.length === 0) {\n return msg\n }\n return format(msg, ...args)\n}\nfunction E(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args))\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: true,\n enumerable: false,\n configurable: true\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`\n },\n writable: true,\n enumerable: false,\n configurable: true\n }\n })\n NodeError.prototype.code = code\n NodeError.prototype[kIsNodeError] = true\n codes[code] = NodeError\n}\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name\n Object.defineProperty(fn, 'name', {\n value: hidden\n })\n return fn\n}\nfunction aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (Array.isArray(outerError.errors)) {\n // If `outerError` is already an `AggregateError`.\n outerError.errors.push(innerError)\n return outerError\n }\n const err = new AggregateError([outerError, innerError], outerError.message)\n err.code = outerError.code\n return err\n }\n return innerError || outerError\n}\nclass AbortError extends Error {\n constructor(message = 'The operation was aborted', options = undefined) {\n if (options !== undefined && typeof options !== 'object') {\n throw new codes.ERR_INVALID_ARG_TYPE('options', 'Object', options)\n }\n super(message, options)\n this.code = 'ABORT_ERR'\n this.name = 'AbortError'\n }\n}\nE('ERR_ASSERTION', '%s', Error)\nE(\n 'ERR_INVALID_ARG_TYPE',\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\")\n if (!Array.isArray(expected)) {\n expected = [expected]\n }\n let msg = 'The '\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n msg += `${name} `\n } else {\n msg += `\"${name}\" ${name.includes('.') ? 'property' : 'argument'} `\n }\n msg += 'must be '\n const types = []\n const instances = []\n const other = []\n for (const value of expected) {\n assert(typeof value === 'string', 'All expected entries have to be of type string')\n if (kTypes.includes(value)) {\n types.push(value.toLowerCase())\n } else if (classRegExp.test(value)) {\n instances.push(value)\n } else {\n assert(value !== 'object', 'The value \"object\" should be written as \"Object\"')\n other.push(value)\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object')\n if (pos !== -1) {\n types.splice(types, pos, 1)\n instances.push('Object')\n }\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`\n break\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`\n break\n default: {\n const last = types.pop()\n msg += `one of type ${types.join(', ')}, or ${last}`\n }\n }\n if (instances.length > 0 || other.length > 0) {\n msg += ' or '\n }\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`\n break\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`\n break\n default: {\n const last = instances.pop()\n msg += `an instance of ${instances.join(', ')}, or ${last}`\n }\n }\n if (other.length > 0) {\n msg += ' or '\n }\n }\n switch (other.length) {\n case 0:\n break\n case 1:\n if (other[0].toLowerCase() !== other[0]) {\n msg += 'an '\n }\n msg += `${other[0]}`\n break\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`\n break\n default: {\n const last = other.pop()\n msg += `one of ${other.join(', ')}, or ${last}`\n }\n }\n if (actual == null) {\n msg += `. Received ${actual}`\n } else if (typeof actual === 'function' && actual.name) {\n msg += `. Received function ${actual.name}`\n } else if (typeof actual === 'object') {\n var _actual$constructor\n if (\n (_actual$constructor = actual.constructor) !== null &&\n _actual$constructor !== undefined &&\n _actual$constructor.name\n ) {\n msg += `. Received an instance of ${actual.constructor.name}`\n } else {\n const inspected = inspect(actual, {\n depth: -1\n })\n msg += `. Received ${inspected}`\n }\n } else {\n let inspected = inspect(actual, {\n colors: false\n })\n if (inspected.length > 25) {\n inspected = `${inspected.slice(0, 25)}...`\n }\n msg += `. Received type ${typeof actual} (${inspected})`\n }\n return msg\n },\n TypeError\n)\nE(\n 'ERR_INVALID_ARG_VALUE',\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value)\n if (inspected.length > 128) {\n inspected = inspected.slice(0, 128) + '...'\n }\n const type = name.includes('.') ? 'property' : 'argument'\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n)\nE(\n 'ERR_INVALID_RETURN_VALUE',\n (input, name, value) => {\n var _value$constructor\n const type =\n value !== null &&\n value !== undefined &&\n (_value$constructor = value.constructor) !== null &&\n _value$constructor !== undefined &&\n _value$constructor.name\n ? `instance of ${value.constructor.name}`\n : `type ${typeof value}`\n return `Expected ${input} to be returned from the \"${name}\"` + ` function but got ${type}.`\n },\n TypeError\n)\nE(\n 'ERR_MISSING_ARGS',\n (...args) => {\n assert(args.length > 0, 'At least one arg needs to be specified')\n let msg\n const len = args.length\n args = (Array.isArray(args) ? args : [args]).map((a) => `\"${a}\"`).join(' or ')\n switch (len) {\n case 1:\n msg += `The ${args[0]} argument`\n break\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`\n break\n default:\n {\n const last = args.pop()\n msg += `The ${args.join(', ')}, and ${last} arguments`\n }\n break\n }\n return `${msg} must be specified`\n },\n TypeError\n)\nE(\n 'ERR_OUT_OF_RANGE',\n (str, range, input) => {\n assert(range, 'Missing \"range\" argument')\n let received\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > 2n ** 32n || input < -(2n ** 32n)) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n } else {\n received = inspect(input)\n }\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`\n },\n RangeError\n)\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error)\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error)\nE('ERR_STREAM_ALREADY_FINISHED', 'Cannot call %s after a stream was finished', Error)\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error)\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error)\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError)\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error)\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error)\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event', Error)\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error)\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError)\nmodule.exports = {\n AbortError,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n}\n","'use strict'\n\n/*\n This file is a reduced and adapted version of the main lib/internal/per_context/primordials.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/per_context/primordials.js\n\n Don't try to replace with the original file and keep it up to date with the upstream file.\n*/\nmodule.exports = {\n ArrayIsArray(self) {\n return Array.isArray(self)\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el)\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el)\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep)\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn)\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el)\n },\n ArrayPrototypePush(self, el) {\n return self.push(el)\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.call(thisArgs, ...args)\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].call(self, instance)\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props)\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop)\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name)\n },\n ObjectKeys(obj) {\n return Object.keys(obj)\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto)\n },\n Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn)\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn)\n },\n PromiseReject(err) {\n return Promise.reject(err)\n },\n PromiseResolve(val) {\n return Promise.resolve(val)\n },\n ReflectApply: Reflect.apply,\n RegExpPrototypeTest(self, value) {\n return self.test(value)\n },\n SafeSet: Set,\n String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase()\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase()\n },\n StringPrototypeTrim(self) {\n return self.trim()\n },\n Symbol,\n SymbolFor: Symbol.for,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n SymbolDispose: Symbol.dispose || Symbol('Symbol.dispose'),\n SymbolAsyncDispose: Symbol.asyncDispose || Symbol('Symbol.asyncDispose'),\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len)\n },\n Boolean: Boolean,\n Uint8Array\n}\n","'use strict'\n\nconst bufferModule = require('buffer')\nconst { kResistStopPropagation, SymbolDispose } = require('./primordials')\nconst AbortSignal = globalThis.AbortSignal || require('abort-controller').AbortSignal\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor\nconst Blob = globalThis.Blob || bufferModule.Blob\n/* eslint-disable indent */\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n // eslint-disable-next-line indent\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\n/* eslint-enable indent */\n\nconst validateAbortSignal = (signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nconst validateFunction = (value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n}\n\n// This is a simplified version of AggregateError\nclass AggregateError extends Error {\n constructor(errors) {\n if (!Array.isArray(errors)) {\n throw new TypeError(`Expected input to be an Array, got ${typeof errors}`)\n }\n let message = ''\n for (let i = 0; i < errors.length; i++) {\n message += ` ${errors[i].stack}\\n`\n }\n super(message)\n this.name = 'AggregateError'\n this.errors = errors\n }\n}\nmodule.exports = {\n AggregateError,\n kEmptyObject: Object.freeze({}),\n once(callback) {\n let called = false\n return function (...args) {\n if (called) {\n return\n }\n called = true\n callback.apply(this, args)\n }\n },\n createDeferredPromise: function () {\n let resolve\n let reject\n\n // eslint-disable-next-line promise/param-names\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return {\n promise,\n resolve,\n reject\n }\n },\n promisify(fn) {\n return new Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err) {\n return reject(err)\n }\n return resolve(...args)\n })\n })\n },\n debuglog() {\n return function () {}\n },\n format(format, ...args) {\n // Simplified version of https://nodejs.org/api/util.html#utilformatformat-args\n return format.replace(/%([sdifj])/g, function (...[_unused, type]) {\n const replacement = args.shift()\n if (type === 'f') {\n return replacement.toFixed(6)\n } else if (type === 'j') {\n return JSON.stringify(replacement)\n } else if (type === 's' && typeof replacement === 'object') {\n const ctor = replacement.constructor !== Object ? replacement.constructor.name : ''\n return `${ctor} {}`.trim()\n } else {\n return replacement.toString()\n }\n })\n },\n inspect(value) {\n // Vastly simplified version of https://nodejs.org/api/util.html#utilinspectobject-options\n switch (typeof value) {\n case 'string':\n if (value.includes(\"'\")) {\n if (!value.includes('\"')) {\n return `\"${value}\"`\n } else if (!value.includes('`') && !value.includes('${')) {\n return `\\`${value}\\``\n }\n }\n return `'${value}'`\n case 'number':\n if (isNaN(value)) {\n return 'NaN'\n } else if (Object.is(value, -0)) {\n return String(value)\n }\n return value\n case 'bigint':\n return `${String(value)}n`\n case 'boolean':\n case 'undefined':\n return String(value)\n case 'object':\n return '{}'\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction\n },\n isArrayBufferView(arr) {\n return ArrayBuffer.isView(arr)\n }\n },\n isBlob,\n deprecate(fn, message) {\n return fn\n },\n addAbortListener:\n require('events').addAbortListener ||\n function addAbortListener(signal, listener) {\n if (signal === undefined) {\n throw new ERR_INVALID_ARG_TYPE('signal', 'AbortSignal', signal)\n }\n validateAbortSignal(signal, 'signal')\n validateFunction(listener, 'listener')\n let removeEventListener\n if (signal.aborted) {\n queueMicrotask(() => listener())\n } else {\n signal.addEventListener('abort', listener, {\n __proto__: null,\n once: true,\n [kResistStopPropagation]: true\n })\n removeEventListener = () => {\n signal.removeEventListener('abort', listener)\n }\n }\n return {\n __proto__: null,\n [SymbolDispose]() {\n var _removeEventListener\n ;(_removeEventListener = removeEventListener) === null || _removeEventListener === undefined\n ? undefined\n : _removeEventListener()\n }\n }\n },\n AbortSignalAny:\n AbortSignal.any ||\n function AbortSignalAny(signals) {\n // Fast path if there is only one signal.\n if (signals.length === 1) {\n return signals[0]\n }\n const ac = new AbortController()\n const abort = () => ac.abort()\n signals.forEach((signal) => {\n validateAbortSignal(signal, 'signals')\n signal.addEventListener('abort', abort, {\n once: true\n })\n })\n ac.signal.addEventListener(\n 'abort',\n () => {\n signals.forEach((signal) => signal.removeEventListener('abort', abort))\n },\n {\n once: true\n }\n )\n return ac.signal\n }\n}\nmodule.exports.promisify.custom = Symbol.for('nodejs.util.promisify.custom')\n","/* replacement start */\n\nconst { Buffer } = require('buffer')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst { ObjectDefineProperty, ObjectKeys, ReflectApply } = require('./ours/primordials')\nconst {\n promisify: { custom: customPromisify }\n} = require('./ours/util')\nconst { streamReturningOperators, promiseReturningOperators } = require('./internal/streams/operators')\nconst {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n} = require('./ours/errors')\nconst compose = require('./internal/streams/compose')\nconst { setDefaultHighWaterMark, getDefaultHighWaterMark } = require('./internal/streams/state')\nconst { pipeline } = require('./internal/streams/pipeline')\nconst { destroyer } = require('./internal/streams/destroy')\nconst eos = require('./internal/streams/end-of-stream')\nconst internalBuffer = {}\nconst promises = require('./stream/promises')\nconst utils = require('./internal/streams/utils')\nconst Stream = (module.exports = require('./internal/streams/legacy').Stream)\nStream.isDestroyed = utils.isDestroyed\nStream.isDisturbed = utils.isDisturbed\nStream.isErrored = utils.isErrored\nStream.isReadable = utils.isReadable\nStream.isWritable = utils.isWritable\nStream.Readable = require('./internal/streams/readable')\nfor (const key of ObjectKeys(streamReturningOperators)) {\n const op = streamReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return Stream.Readable.from(ReflectApply(op, this, args))\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nfor (const key of ObjectKeys(promiseReturningOperators)) {\n const op = promiseReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return ReflectApply(op, this, args)\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nStream.Writable = require('./internal/streams/writable')\nStream.Duplex = require('./internal/streams/duplex')\nStream.Transform = require('./internal/streams/transform')\nStream.PassThrough = require('./internal/streams/passthrough')\nStream.pipeline = pipeline\nconst { addAbortSignal } = require('./internal/streams/add-abort-signal')\nStream.addAbortSignal = addAbortSignal\nStream.finished = eos\nStream.destroy = destroyer\nStream.compose = compose\nStream.setDefaultHighWaterMark = setDefaultHighWaterMark\nStream.getDefaultHighWaterMark = getDefaultHighWaterMark\nObjectDefineProperty(Stream, 'promises', {\n __proto__: null,\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nObjectDefineProperty(pipeline, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.pipeline\n }\n})\nObjectDefineProperty(eos, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.finished\n }\n})\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream\nStream._isUint8Array = function isUint8Array(value) {\n return value instanceof Uint8Array\n}\nStream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)\n}\n","'use strict'\n\nconst { ArrayPrototypePop, Promise } = require('../ours/primordials')\nconst { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils')\nconst { pipelineImpl: pl } = require('../internal/streams/pipeline')\nconst { finished } = require('../internal/streams/end-of-stream')\nrequire('../../lib/stream.js')\nfunction pipeline(...streams) {\n return new Promise((resolve, reject) => {\n let signal\n let end\n const lastArg = streams[streams.length - 1]\n if (\n lastArg &&\n typeof lastArg === 'object' &&\n !isNodeStream(lastArg) &&\n !isIterable(lastArg) &&\n !isWebStream(lastArg)\n ) {\n const options = ArrayPrototypePop(streams)\n signal = options.signal\n end = options.end\n }\n pl(\n streams,\n (err, value) => {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n },\n {\n signal,\n end\n }\n )\n })\n}\nmodule.exports = {\n finished,\n pipeline\n}\n","function blankNode (blankNode) {\n return '_:' + blankNode.value // TODO: escape special chars\n}\n\nexport default blankNode\n","function dataset (dataset, toNT) {\n return [...dataset].map(quad => toNT(quad)).join('\\n') + '\\n'\n}\n\nexport default dataset\n","function defaultGraph () {\n return ''\n}\n\nexport default defaultGraph\n","function namedNode (namedNode) {\n return '<' + namedNode.value + '>'\n}\n\nexport default namedNode\n","import namedNode from './namedNode.js'\n\nconst echarRegEx = /[\"\\\\\\\\\\n\\r]/\nconst echarRegExAll = /[\"\\\\\\\\\\n\\r]/g\n\nconst echarReplacement = {\n '\"': '\\\\\"',\n '\\\\': '\\\\\\\\',\n '\\n': '\\\\n',\n '\\r': '\\\\r'\n}\n\nfunction echarReplacer (char) {\n return echarReplacement[char]\n}\n\nfunction escapeValue (value) {\n if (echarRegEx.test(value)) {\n return value.replace(echarRegExAll, echarReplacer)\n }\n\n return value\n}\n\nfunction literal (literal) {\n const escapedValue = escapeValue(literal.value)\n\n if (literal.datatype.value === 'http://www.w3.org/2001/XMLSchema#string') {\n return '\"' + escapedValue + '\"'\n }\n\n if (literal.datatype.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#langString') {\n return '\"' + escapedValue + '\"@' + literal.language\n }\n\n return '\"' + escapedValue + '\"^^' + namedNode(literal.datatype)\n}\n\nexport default literal\n","function quad (quad, toNT) {\n const subjectString = toNT(quad.subject)\n const predicateString = toNT(quad.predicate)\n const objectString = toNT(quad.object)\n const graphString = toNT(quad.graph)\n\n return `${subjectString} ${predicateString} ${objectString} ${graphString ? graphString + ' ' : ''}.`\n}\n\nexport default quad\n","function variable (variable) {\n return '?' + variable.value\n}\n\nexport default variable\n","import blankNode from './lib/blankNode.js'\nimport dataset from './lib/dataset.js'\nimport defaultGraph from './lib/defaultGraph.js'\nimport literal from './lib/literal.js'\nimport namedNode from './lib/namedNode.js'\nimport quad from './lib/quad.js'\nimport variable from './lib/variable.js'\n\nfunction toNT (term) {\n if (!term) {\n return null\n }\n\n if (term.termType === 'BlankNode') {\n return blankNode(term)\n }\n\n if (term.termType === 'DefaultGraph') {\n return defaultGraph()\n }\n\n if (term.termType === 'Literal') {\n return literal(term)\n }\n\n if (term.termType === 'NamedNode') {\n return namedNode(term)\n }\n\n // legacy quad support without .termType\n if (term.termType === 'Quad' || (term.subject && term.predicate && term.object && term.graph)) {\n return quad(term, toNT)\n }\n\n if (term.termType === 'Variable') {\n return variable(term)\n }\n\n if (term[Symbol.iterator]) {\n return dataset(term, toNT)\n }\n\n throw new Error(`unknown termType ${term.termType}`)\n}\n\nexport default toNT\n","import toNT from '@rdfjs/to-ntriples'\nimport toReadable from 'duplex-to/readable.js'\nimport { Transform } from 'readable-stream'\n\nclass SerializerStream {\n constructor (input) {\n const stream = new Transform({\n objectMode: true,\n transform: (quad, encoding, callback) => {\n callback(null, `${toNT(quad)}\\n`)\n }\n })\n\n input.pipe(stream)\n\n return toReadable(stream)\n }\n}\n\nexport default SerializerStream\n","import Sink from '@rdfjs/sink'\nimport SerializerStream from './lib/SerializerStream.js'\n\nclass Serializer extends Sink {\n constructor () {\n super(SerializerStream)\n }\n}\n\nexport default Serializer\n"],"names":["SymbolDispose","AbortError","codes","isNodeStream","isWebStream","kControllerErrorFunction","eos","ERR_INVALID_ARG_TYPE","addAbortListener","validateAbortSignal","signal","name","module","exports","addAbortSignal","stream","addAbortSignalNoValidate","onAbort","destroy","undefined","cause","reason","aborted","disposable","StringPrototypeSlice","SymbolIterator","TypedArrayPrototypeSet","Uint8Array","Buffer","inspect","constructor","this","head","tail","length","push","v","entry","data","next","unshift","shift","ret","clear","join","s","p","concat","n","alloc","allocUnsafe","i","consume","hasStrings","slice","_getString","_getBuffer","first","c","str","retLen","buf","buffer","byteOffset","Symbol","for","_","options","depth","customInspect","pipeline","Duplex","destroyer","isReadable","isWritable","isTransformStream","isWritableStream","isReadableStream","ERR_INVALID_ARG_VALUE","ERR_MISSING_ARGS","streams","from","orgStreams","idx","ondrain","onfinish","onreadable","onclose","d","onfinished","err","cb","readable","writable","writableObjectMode","readableObjectMode","_write","chunk","encoding","callback","write","_final","end","on","writer","getWriter","async","ready","catch","close","toRead","_read","read","reader","getReader","value","done","_destroy","process","aggregateTwoErrors","ERR_MULTIPLE_CALLBACK","kIsDestroyed","isDestroyed","isFinished","isServerRequest","kDestroy","kConstruct","checkError","w","r","stack","errored","_readableState","_writableState","destroyed","constructed","once","er","self","called","onDestroy","closed","nextTick","emitErrorCloseNT","emitCloseNT","emitErrorNT","closeEmitted","emitClose","emit","errorEmitted","undestroy","reading","ended","endEmitted","finalCalled","prefinished","ending","finished","errorOrDestroy","sync","autoDestroy","construct","_construct","listenerCount","constructNT","onConstruct","emitConstructNT","isRequest","setHeader","abort","emitCloseLegacy","emitErrorCloseLegacy","socket","req","ObjectDefineProperties","ObjectGetOwnPropertyDescriptor","ObjectKeys","ObjectSetPrototypeOf","Readable","Writable","prototype","keys","method","call","allowHalfOpen","webStreamsAdapters","duplexify","lazyWebStreams","__proto__","writableHighWaterMark","writableBuffer","writableLength","writableFinished","writableCorked","writableEnded","writableNeedDrain","get","set","fromWeb","pair","newStreamDuplexFromReadableWritablePair","toWeb","duplex","newReadableWritablePairFromDuplex","body","bufferModule","isIterable","isReadableNodeStream","isWritableNodeStream","isDuplexNodeStream","ERR_INVALID_RETURN_VALUE","createDeferredPromise","Blob","globalThis","isBlob","b","AbortController","FunctionPrototypeCall","Duplexify","super","fromAsyncGen","fn","promise","resolve","ac","_promise","_resolve","final","_duplexify","wrap","objectMode","then","val","arrayBuffer","ERR_STREAM_PREMATURE_CLOSE","kEmptyObject","validateFunction","validateObject","validateBoolean","Promise","PromisePrototypeThen","isClosed","isReadableFinished","isReadableErrored","isWritableFinished","isWritableErrored","willEmitClose","_willEmitClose","kIsClosedPromise","nop","_options$readable","_options$writable","arguments","eosWeb","wState","rState","onlegacyfinish","readableFinished","onend","onerror","onclosed","onrequest","error","cleanup","removeListener","endCallback","originalCallback","args","apply","isAborted","resolverFn","opts","_opts","autoCleanup","reject","SymbolAsyncIterator","ERR_STREAM_NULL_VALUES","iterable","iterator","isAsync","highWaterMark","hadError","hasThrow","throw","return","res","e","ArrayIsArray","EventEmitter","EE","Stream","prependListener","emitter","event","_events","pipe","dest","source","ondata","pause","resume","_isStdio","didOnEnd","ERR_OUT_OF_RANGE","validateInteger","kWeakHandler","kResistStopPropagation","staticCompose","deprecate","ArrayPrototypePush","Boolean","MathFloor","Number","NumberIsNaN","PromiseReject","PromiseResolve","kEmpty","kEof","compose","composedStream","map","concurrency","filter","queue","signalOpt","cnt","onCatch","afterItemProcessed","maybeResume","pump","asIndexedPairs","index","_options$signal","some","unused","every","find","result","forEach","forEachFn","filterFn","ReduceAwareErrMissingArgs","message","reduce","reducer","initialValue","_options$signal2","hasInitialValue","addEventListener","gotAnyItemFromStream","_options$signal3","toArray","_options$signal4","flatMap","values","toIntegerOrInfinity","number","drop","_options$signal5","_options$signal6","take","_options$signal7","_options$signal8","streamReturningOperators","promiseReturningOperators","PassThrough","Transform","_transform","destroyImpl","ERR_STREAM_DESTROYED","writing","popCallback","pop","makeAsyncIterable","fromReadable","pumpToNode","finish","onresolve","wait","off","pumpToWeb","pipelineImpl","outerSignal","lastStreamCleanup","finishImpl","destroys","finishCount","_disposable","code","isLastStream","onError","_ret","_ret2","pt","src","dst","endFn","ArrayPrototypeIndexOf","NumberIsInteger","NumberParseInt","SafeSet","SymbolAsyncDispose","ReadableState","debug","BufferList","getHighWaterMark","getDefaultHighWaterMark","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kPaused","StringDecoder","kObjectMode","kEnded","kEndEmitted","kReading","kConstructed","kSync","kNeedReadable","kEmittedReadable","kReadableListening","kResumeScheduled","kErrorEmitted","kEmitClose","kAutoDestroy","kDestroyed","kClosed","kCloseEmitted","kMultiAwaitDrain","kReadingMore","kDataEmitted","makeBitMapDescriptor","bit","enumerable","state","isDuplex","pipes","flowing","defaultEncoding","awaitDrainWriters","decoder","needReadable","maybeReadMore","readableAddChunk","addToFront","toString","_isUint8Array","_uint8ArrayToBuffer","onEofChunk","addChunk","dataEmitted","emitReadable","emittedReadable","readableListening","resumeScheduled","multiAwaitDrain","readingMore","_undestroy","captureRejectionSymbol","readableEnded","isPaused","setEncoding","enc","content","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","flow","maybeReadMore_","len","pipeOnDrain","size","delete","updateReadableListening","nReadingNextTick","resume_","streamToAsyncIterator","iter","createAsyncIterator","destroyOnReturn","fromList","endReadable","endReadableNT","endWritableNT","NaN","nOrig","doRead","pipeOpts","doEnd","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","needDrain","includes","add","dests","splice","ev","addListener","removeAllListeners","paused","streamKeys","j","bind","readableDidRead","readableAborted","readableHighWaterMark","readableBuffer","readableFlowing","readableLength","readableEncoding","pipesCount","_fromList","readableStream","newStreamReadableFromReadableStream","streamReadable","newReadableStreamFromStreamReadable","_ref","_src$readableObjectMo","defaultHighWaterMarkBytes","defaultHighWaterMarkObjectMode","highWaterMarkFrom","duplexKey","setDefaultHighWaterMark","hwm","kCallback","transform","flush","_flush","prefinish","SymbolFor","kIsErrored","kIsReadable","kIsWritable","kIsDisturbed","obj","strict","_obj$_readableState","_obj$_writableState","pipeThrough","cancel","isWritableEnded","isReadableEnded","_stream$_writableStat","_stream$_writableStat2","writableErrored","_stream$_readableStat","_stream$_readableStat2","readableErrored","_closed","isOutgoingMessage","_defaultKeepAlive","_removedConnection","_removedContLen","isServerResponse","_sent100","_stream$req","_consuming","_dumped","upgradeOrConnect","isDisturbed","_stream$kIsDisturbed","isErrored","_ref2","_ref3","_ref4","_ref5","_stream$kIsErrored","_stream$_readableStat3","_stream$_writableStat3","_stream$_readableStat4","_stream$_writableStat4","ArrayPrototypeSlice","Error","FunctionPrototypeSymbolHasInstance","ObjectDefineProperty","StringPrototypeToLowerCase","SymbolHasInstance","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_ALREADY_FINISHED","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","kOnFinished","noDecode","decodeStrings","corked","bufferProcessing","onwrite","writecb","writelen","afterWriteTickInfo","resetBuffer","pendingcb","buffered","bufferedIndex","allBuffers","allNoop","writev","_writev","clearBuffer","finishMaybe","isEncoding","writeOrBuffer","doWrite","onwriteError","errorBuffer","count","afterWriteTick","afterWrite","_state$errored","onfinishCallbacks","_state$errored2","bufferedLength","chunks","needFinish","callFinal","onFinish","getBuffer","object","cork","uncork","setDefaultEncoding","writableAborted","writableStream","newStreamWritableFromWritableStream","streamWritable","newWritableStreamFromStreamWritable","ArrayPrototypeIncludes","ArrayPrototypeJoin","ArrayPrototypeMap","NumberMAX_SAFE_INTEGER","NumberMIN_SAFE_INTEGER","ObjectPrototypeHasOwnProperty","RegExpPrototypeExec","String","StringPrototypeToUpperCase","StringPrototypeTrim","hideStackFrames","ERR_SOCKET_BAD_PORT","ERR_UNKNOWN_SIGNAL","normalizeEncoding","isAsyncFunction","isArrayBufferView","signals","isInt32","isUint32","octalReg","modeDesc","parseFileMode","def","validateUint32","min","max","validateInt32","positive","validateString","validateNumber","validateOneOf","oneOf","allowed","getOwnPropertyValueOrDefault","key","defaultValue","allowArray","allowFunction","nullable","validateDictionary","validateArray","minLength","validateStringArray","validateBooleanArray","validateAbortSignalArray","indexedName","validateSignalName","validateBuffer","validateEncoding","normalizedEncoding","validatePort","port","allowZero","validatePlainFunction","validateUndefined","validateUnion","union","linkValueRegExp","validateLinkHeaderFormat","validateLinkHeaderValue","hints","hintsLength","link","CustomStream","promises","originalDestroy","Object","defineProperty","configurable","format","AggregateError","CustomAggregateError","kIsNodeError","kTypes","classRegExp","nodeInternalPrefix","assert","ERR_INTERNAL_ASSERTION","addNumericalSeparator","start","getMessage","msg","expectedLength","match","E","Base","NodeError","defineProperties","hidden","innerError","outerError","Array","isArray","errors","expected","actual","endsWith","types","instances","other","toLowerCase","test","pos","indexOf","last","_actual$constructor","inspected","colors","TypeError","type","input","_value$constructor","a","range","received","isInteger","Math","abs","RangeError","el","sep","ArrayPrototypePop","thisArgs","instance","Function","hasInstance","floor","isNaN","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseInt","props","prop","getOwnPropertyDescriptor","target","proto","setPrototypeOf","PromisePrototypeCatch","thenFn","catchFn","ReflectApply","Reflect","RegExpPrototypeTest","Set","toUpperCase","trim","asyncIterator","dispose","asyncDispose","AbortSignal","AsyncFunction","getPrototypeOf","freeze","rej","promisify","debuglog","replace","_unused","replacement","toFixed","JSON","stringify","ctor","is","arr","ArrayBuffer","isView","listener","removeEventListener","queueMicrotask","_removeEventListener","AbortSignalAny","any","custom","customPromisify","ERR_ILLEGAL_CONSTRUCTOR","utils","op","byteLength","pl","lastArg","blankNode","dataset","toNT","quad","defaultGraph","namedNode","echarRegEx","echarRegExAll","echarReplacement","echarReplacer","char","escapeValue","literal","escapedValue","datatype","language","subjectString","subject","predicateString","predicate","objectString","graphString","graph","variable","term","termType","SerializerStream","Serializer"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/250.1464af0c.js b/js/250.1464af0c.js
new file mode 100644
index 0000000..3c73688
--- /dev/null
+++ b/js/250.1464af0c.js
@@ -0,0 +1,2 @@
+(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[250],{41134:function(e,t,r){"use strict";const{SymbolDispose:n}=r(60341),{AbortError:o,codes:i}=r(18461),{isNodeStream:a,isWebStream:l,kControllerErrorFunction:s}=r(58516),d=r(5499),{ERR_INVALID_ARG_TYPE:u}=i;let c;const f=(e,t)=>{if("object"!==typeof e||!("aborted"in e))throw new u(t,"AbortSignal",e)};e.exports.addAbortSignal=function(t,r){if(f(t,"signal"),!a(r)&&!l(r))throw new u("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!==typeof e||!("aborted"in e))return t;const i=a(t)?()=>{t.destroy(new o(void 0,{cause:e.reason}))}:()=>{t[s](new o(void 0,{cause:e.reason}))};if(e.aborted)i();else{c=c||r(57255).addAbortListener;const o=c(e,i);d(t,o[n])}return t}},65072:function(e,t,r){"use strict";const{StringPrototypeSlice:n,SymbolIterator:o,TypedArrayPrototypeSet:i,Uint8Array:a}=r(60341),{Buffer:l}=r(48764),{inspect:s}=r(57255);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;while(null!==(t=t.next))r+=e+t.data;return r}concat(e){if(0===this.length)return l.alloc(0);const t=l.allocUnsafe(e>>>0);let r=this.head,n=0;while(r)i(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(ei.length)){e===i.length?(t+=i,++o,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(i,0,e),this.head=r,r.data=n(i,e));break}t+=i,e-=i.length,++o}while(null!==(r=r.next));return this.length-=o,t}_getBuffer(e){const t=l.allocUnsafe(e),r=e;let n=this.head,o=0;do{const l=n.data;if(!(e>l.length)){e===l.length?(i(t,l,r-e),++o,n.next?this.head=n.next:this.head=this.tail=null):(i(t,new a(l.buffer,l.byteOffset,e),r-e),this.head=n,n.data=l.slice(e));break}i(t,l,r-e),e-=l.length,++o}while(null!==(n=n.next));return this.length-=o,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return s(this,{...t,depth:0,customInspect:!1})}}},7422:function(e,t,r){"use strict";const{pipeline:n}=r(91519),o=r(27415),{destroyer:i}=r(20339),{isNodeStream:a,isReadable:l,isWritable:s,isWebStream:d,isTransformStream:u,isWritableStream:c,isReadableStream:f}=r(58516),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:b,ERR_MISSING_ARGS:p}}=r(18461),y=r(5499);e.exports=function(...e){if(0===e.length)throw new p("streams");if(1===e.length)return o.from(e[0]);const t=[...e];if("function"===typeof e[0]&&(e[0]=o.from(e[0])),"function"===typeof e[e.length-1]){const t=e.length-1;e[t]=o.from(e[t])}for(let n=0;n0&&!(s(e[n])||c(e[n])||u(e[n])))throw new b(`streams[${n}]`,t[n],"must be writable")}let r,_,g,w,m;function S(e){const t=w;w=null,t?t(e):e?m.destroy(e):A||R||m.destroy()}const v=e[0],E=n(e,S),R=!!(s(v)||c(v)||u(v)),A=!!(l(E)||f(E)||u(E));if(m=new o({writableObjectMode:!(null===v||void 0===v||!v.writableObjectMode),readableObjectMode:!(null===E||void 0===E||!E.readableObjectMode),writable:R,readable:A}),R){if(a(v))m._write=function(e,t,n){v.write(e,t)?n():r=n},m._final=function(e){v.end(),_=e},v.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(d(v)){const e=u(v)?v.writable:v,t=e.getWriter();m._write=async function(e,r,n){try{await t.ready,t.write(e).catch((()=>{})),n()}catch(o){n(o)}},m._final=async function(e){try{await t.ready,t.close().catch((()=>{})),_=e}catch(r){e(r)}}}const e=u(E)?E.readable:E;y(e,(()=>{if(_){const e=_;_=null,e()}}))}if(A)if(a(E))E.on("readable",(function(){if(g){const e=g;g=null,e()}})),E.on("end",(function(){m.push(null)})),m._read=function(){while(1){const e=E.read();if(null===e)return void(g=m._read);if(!m.push(e))return}};else if(d(E)){const e=u(E)?E.readable:E,t=e.getReader();m._read=async function(){while(1)try{const{value:e,done:r}=await t.read();if(!m.push(e))return;if(r)return void m.push(null)}catch{return}}}return m._destroy=function(e,t){e||null===w||(e=new h),g=null,r=null,_=null,null===w?t(e):(w=t,a(E)&&i(E,e))},m}},20339:function(e,t,r){"use strict";const n=r(34155),{aggregateTwoErrors:o,codes:{ERR_MULTIPLE_CALLBACK:i},AbortError:a}=r(18461),{Symbol:l}=r(60341),{kIsDestroyed:s,isDestroyed:d,isFinished:u,isServerRequest:c}=r(58516),f=l("kDestroy"),h=l("kConstruct");function b(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function p(e,t){const r=this._readableState,n=this._writableState,i=n||r;return null!==n&&void 0!==n&&n.destroyed||null!==r&&void 0!==r&&r.destroyed?("function"===typeof t&&t(),this):(b(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),i.constructed?y(this,e,t):this.once(f,(function(r){y(this,o(r,e),t)})),this)}function y(e,t,r){let o=!1;function i(t){if(o)return;o=!0;const i=e._readableState,a=e._writableState;b(t,a,i),a&&(a.closed=!0),i&&(i.closed=!0),"function"===typeof r&&r(t),t?n.nextTick(_,e,t):n.nextTick(g,e)}try{e._destroy(t||null,i)}catch(t){i(t)}}function _(e,t){w(e,t),g(e)}function g(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!==r&&void 0!==r&&r.emitClose||null!==t&&void 0!==t&&t.emitClose)&&e.emit("close")}function w(e,t){const r=e._readableState,n=e._writableState;null!==n&&void 0!==n&&n.errorEmitted||null!==r&&void 0!==r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function m(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)}function S(e,t,r){const o=e._readableState,i=e._writableState;if(null!==i&&void 0!==i&&i.destroyed||null!==o&&void 0!==o&&o.destroyed)return this;null!==o&&void 0!==o&&o.autoDestroy||null!==i&&void 0!==i&&i.autoDestroy?e.destroy(t):t&&(t.stack,i&&!i.errored&&(i.errored=t),o&&!o.errored&&(o.errored=t),r?n.nextTick(w,e,t):w(e,t))}function v(e,t){if("function"!==typeof e._construct)return;const r=e._readableState,o=e._writableState;r&&(r.constructed=!1),o&&(o.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(E,e)}function E(e){let t=!1;function r(r){if(t)return void S(e,null!==r&&void 0!==r?r:new i);t=!0;const o=e._readableState,a=e._writableState,l=a||o;o&&(o.constructed=!0),a&&(a.constructed=!0),l.destroyed?e.emit(f,r):r?S(e,r,!0):n.nextTick(R,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(o){n.nextTick(r,o)}}function R(e){e.emit(h)}function A(e){return(null===e||void 0===e?void 0:e.setHeader)&&"function"===typeof e.abort}function T(e){e.emit("close")}function k(e,t){e.emit("error",t),n.nextTick(T,e)}function I(e,t){e&&!d(e)&&(t||u(e)||(t=new a),c(e)?(e.socket=null,e.destroy(t)):A(e)?e.abort():A(e.req)?e.req.abort():"function"===typeof e.destroy?e.destroy(t):"function"===typeof e.close?e.close():t?n.nextTick(k,e,t):n.nextTick(T,e),e.destroyed||(e[s]=!0))}e.exports={construct:v,destroyer:I,destroy:p,undestroy:m,errorOrDestroy:S}},27415:function(e,t,r){"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:o,ObjectKeys:i,ObjectSetPrototypeOf:a}=r(60341);e.exports=d;const l=r(377),s=r(11339);a(d.prototype,l.prototype),a(d,l);{const e=i(s.prototype);for(let t=0;t{c=!1,e&&g(t,e),f(e)})),d._write=function(e,t,o){r.write(e,t)?o():n=o},d._final=function(e){r.end(),o=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(o){const e=o;o=null,e()}}))),u&&(b(t,(e=>{u=!1,e&&g(t,e),f(e)})),t.on("readable",(function(){if(l){const e=l;l=null,e()}})),t.on("end",(function(){d.push(null)})),d._read=function(){while(1){const e=t.read();if(null===e)return void(l=d._read);if(!d.push(e))return}}),d._destroy=function(e,i){e||null===s||(e=new p),l=null,n=null,o=null,null===s?i(e):(s=i,g(r,e),g(t,e))},d}e.exports=function e(t,r){if(c(t))return t;if(d(t))return M({readable:t});if(u(t))return M({writable:t});if(s(t))return M({writable:!1,readable:!1});if(f(t))return M({readable:m.fromWeb(t)});if(h(t))return M({writable:S.fromWeb(t)});if("function"===typeof t){const{value:e,write:o,final:i,destroy:a}=N(t);if(l(e))return E(I,e,{objectMode:!0,write:o,final:i,destroy:a});const s=null===e||void 0===e?void 0:e.then;if("function"===typeof s){let t;const r=k(s,e,(e=>{if(null!=e)throw new _("nully","body",e)}),(e=>{g(t,e)}));return t=new I({objectMode:!0,readable:!1,write:o,final(e){i((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new _("Iterable, AsyncIterable or AsyncFunction",r,e)}if(A(t))return e(t.arrayBuffer());if(l(t))return E(I,t,{objectMode:!0,writable:!1});if(f(null===t||void 0===t?void 0:t.readable)&&h(null===t||void 0===t?void 0:t.writable))return I.fromWeb(t);if("object"===typeof(null===t||void 0===t?void 0:t.writable)||"object"===typeof(null===t||void 0===t?void 0:t.readable)){const r=null!==t&&void 0!==t&&t.readable?d(null===t||void 0===t?void 0:t.readable)?null===t||void 0===t?void 0:t.readable:e(t.readable):void 0,n=null!==t&&void 0!==t&&t.writable?u(null===t||void 0===t?void 0:t.writable)?null===t||void 0===t?void 0:t.writable:e(t.writable):void 0;return M({readable:r,writable:n})}const o=null===t||void 0===t?void 0:t.then;if("function"===typeof o){let e;return k(o,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{g(e,t)})),e=new I({objectMode:!0,writable:!1,read(){}})}throw new y(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},5499:function(e,t,r){const n=r(34155),{AbortError:o,codes:i}=r(18461),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:l}=i,{kEmptyObject:s,once:d}=r(57255),{validateAbortSignal:u,validateFunction:c,validateObject:f,validateBoolean:h}=r(12309),{Promise:b,PromisePrototypeThen:p,SymbolDispose:y}=r(60341),{isClosed:_,isReadable:g,isReadableNodeStream:w,isReadableStream:m,isReadableFinished:S,isReadableErrored:v,isWritable:E,isWritableNodeStream:R,isWritableStream:A,isWritableFinished:T,isWritableErrored:k,isNodeStream:I,willEmitClose:N,kIsClosedPromise:M}=r(58516);let D;function x(e){return e.setHeader&&"function"===typeof e.abort}const P=()=>{};function j(e,t,i){var h,b;if(2===arguments.length?(i=t,t=s):null==t?t=s:f(t,"options"),c(i,"callback"),u(t.signal,"options.signal"),i=d(i),m(e)||A(e))return L(e,t,i);if(!I(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const p=null!==(h=t.readable)&&void 0!==h?h:w(e),M=null!==(b=t.writable)&&void 0!==b?b:R(e),j=e._writableState,O=e._readableState,W=()=>{e.writable||F()};let $=N(e)&&w(e)===p&&R(e)===M,C=T(e,!1);const F=()=>{C=!0,e.destroyed&&($=!1),(!$||e.readable&&!p)&&(p&&!U||i.call(e))};let U=S(e,!1);const B=()=>{U=!0,e.destroyed&&($=!1),(!$||e.writable&&!M)&&(M&&!C||i.call(e))},V=t=>{i.call(e,t)};let G=_(e);const H=()=>{G=!0;const t=k(e)||v(e);return t&&"boolean"!==typeof t?i.call(e,t):p&&!U&&w(e,!0)&&!S(e,!1)?i.call(e,new l):!M||C||T(e,!1)?void i.call(e):i.call(e,new l)},Y=()=>{G=!0;const t=k(e)||v(e);if(t&&"boolean"!==typeof t)return i.call(e,t);i.call(e)},q=()=>{e.req.on("finish",F)};x(e)?(e.on("complete",F),$||e.on("abort",H),e.req?q():e.on("request",q)):M&&!j&&(e.on("end",W),e.on("close",W)),$||"boolean"!==typeof e.aborted||e.on("aborted",H),e.on("end",B),e.on("finish",F),!1!==t.error&&e.on("error",V),e.on("close",H),G?n.nextTick(H):null!==j&&void 0!==j&&j.errorEmitted||null!==O&&void 0!==O&&O.errorEmitted?$||n.nextTick(Y):(p||$&&!g(e)||!C&&!1!==E(e))&&(M||$&&!E(e)||!U&&!1!==g(e))?O&&e.req&&e.aborted&&n.nextTick(Y):n.nextTick(Y);const K=()=>{i=P,e.removeListener("aborted",H),e.removeListener("complete",F),e.removeListener("abort",H),e.removeListener("request",q),e.req&&e.req.removeListener("finish",F),e.removeListener("end",W),e.removeListener("close",W),e.removeListener("finish",F),e.removeListener("end",B),e.removeListener("error",V),e.removeListener("close",H)};if(t.signal&&!G){const a=()=>{const r=i;K(),r.call(e,new o(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{D=D||r(57255).addAbortListener;const n=D(t.signal,a),o=i;i=d(((...t)=>{n[y](),o.apply(e,t)}))}}return K}function L(e,t,i){let a=!1,l=P;if(t.signal)if(l=()=>{a=!0,i.call(e,new o(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(l);else{D=D||r(57255).addAbortListener;const n=D(t.signal,l),o=i;i=d(((...t)=>{n[y](),o.apply(e,t)}))}const s=(...t)=>{a||n.nextTick((()=>i.apply(e,t)))};return p(e[M].promise,s,s),P}function O(e,t){var r;let n=!1;return null===t&&(t=s),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new b(((r,o)=>{const i=j(e,t,(e=>{n&&i(),e?o(e):r()}))}))}e.exports=j,e.exports.finished=O},61949:function(e,t,r){"use strict";const n=r(34155),{PromisePrototypeThen:o,SymbolAsyncIterator:i,SymbolIterator:a}=r(60341),{Buffer:l}=r(48764),{ERR_INVALID_ARG_TYPE:s,ERR_STREAM_NULL_VALUES:d}=r(18461).codes;function u(e,t,r){let u,c;if("string"===typeof t||t instanceof l)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[i])c=!0,u=t[i]();else{if(!t||!t[a])throw new s("iterable",["Iterable"],t);c=!1,u=t[a]()}const f=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;async function b(e){const t=void 0!==e&&null!==e,r="function"===typeof u.throw;if(t&&r){const{value:t,done:r}=await u.throw(e);if(await t,r)return}if("function"===typeof u.return){const{value:e}=await u.return();await e}}async function p(){for(;;){try{const{value:e,done:t}=c?await u.next():u.next();if(t)f.push(null);else{const t=e&&"function"===typeof e.then?await e:e;if(null===t)throw h=!1,new d;if(f.push(t))continue;h=!1}}catch(e){f.destroy(e)}break}}return f._read=function(){h||(h=!0,p())},f._destroy=function(e,t){o(b(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},f}e.exports=u},33491:function(e,t,r){"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:o}=r(60341),{EventEmitter:i}=r(17187);function a(e){i.call(this,e)}function l(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}o(a.prototype,i.prototype),o(a,i),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",d));let a=!1;function s(){a||(a=!0,e.end())}function d(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){c(),0===i.listenerCount(this,"error")&&this.emit("error",e)}function c(){r.removeListener("data",n),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",d),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return l(r,"error",u),l(e,"error",u),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:l}},60918:function(e,t,r){"use strict";const n=globalThis.AbortController||r(28599).AbortController,{codes:{ERR_INVALID_ARG_VALUE:o,ERR_INVALID_ARG_TYPE:i,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:l},AbortError:s}=r(18461),{validateAbortSignal:d,validateInteger:u,validateObject:c}=r(12309),f=r(60341).Symbol("kWeak"),h=r(60341).Symbol("kResistStopPropagation"),{finished:b}=r(5499),p=r(7422),{addAbortSignalNoValidate:y}=r(41134),{isWritable:_,isNodeStream:g}=r(58516),{deprecate:w}=r(57255),{ArrayPrototypePush:m,Boolean:S,MathFloor:v,Number:E,NumberIsNaN:R,Promise:A,PromiseReject:T,PromiseResolve:k,PromisePrototypeThen:I,Symbol:N}=r(60341),M=N("kEmpty"),D=N("kEof");function x(e,t){if(null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),g(e)&&!_(e))throw new o("stream",e,"must be writable");const r=p(this,e);return null!==t&&void 0!==t&&t.signal&&y(t.signal,r),r}function P(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal");let n=1;null!=(null===t||void 0===t?void 0:t.concurrency)&&(n=v(t.concurrency));let o=n-1;return null!=(null===t||void 0===t?void 0:t.highWaterMark)&&(o=v(t.highWaterMark)),u(n,"options.concurrency",1),u(o,"options.highWaterMark",0),o+=n,async function*(){const i=r(57255).AbortSignalAny([null===t||void 0===t?void 0:t.signal].filter(S)),a=this,l=[],d={signal:i};let u,c,f=!1,h=0;function b(){f=!0,p()}function p(){h-=1,y()}function y(){c&&!f&&h=o||h>=n)&&await new A((e=>{c=e}))}l.push(D)}catch(t){const e=T(t);I(e,p,b),l.push(e)}finally{f=!0,u&&(u(),u=null)}}_();try{while(1){while(l.length>0){const e=await l[0];if(e===D)return;if(i.aborted)throw new s;e!==M&&(yield e),l.shift(),y()}await new A((e=>{u=e}))}}finally{f=!0,c&&(c(),c=null)}}.call(this)}function j(e=void 0){return null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s({cause:e.signal.reason});yield[t++,n]}}.call(this)}async function L(e,t=void 0){for await(const r of C.call(this,e,t))return!0;return!1}async function O(e,t=void 0){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);return!await L.call(this,(async(...t)=>!await e(...t)),t)}async function W(e,t){for await(const r of C.call(this,e,t))return r}async function $(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r),M}for await(const n of P.call(this,r,t));}function C(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r)?t:M}return P.call(this,r,t)}class F extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function U(e,t,r){var o;if("function"!==typeof e)throw new i("reducer",["Function","AsyncFunction"],e);null!=r&&c(r,"options"),null!=(null===r||void 0===r?void 0:r.signal)&&d(r.signal,"options.signal");let a=arguments.length>1;if(null!==r&&void 0!==r&&null!==(o=r.signal)&&void 0!==o&&o.aborted){const e=new s(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await b(this.destroy(e)),e}const l=new n,u=l.signal;if(null!==r&&void 0!==r&&r.signal){const e={once:!0,[f]:this,[h]:!0};r.signal.addEventListener("abort",(()=>l.abort()),e)}let p=!1;try{for await(const n of this){var y;if(p=!0,null!==r&&void 0!==r&&null!==(y=r.signal)&&void 0!==y&&y.aborted)throw new s;a?t=await e(t,n,{signal:u}):(t=n,a=!0)}if(!p&&!a)throw new F}finally{l.abort()}return t}async function B(e){null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s(void 0,{cause:e.signal.reason});m(t,n)}return t}function V(e,t){const r=P.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)}function G(e){if(e=E(e),R(e))return 0;if(e<0)throw new l("number",">= 0",e);return e}function H(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;e--<=0&&(yield o)}}.call(this)}function Y(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;if(e-- >0&&(yield o),e<=0)return}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:w(j,"readable.asIndexedPairs will be removed in a future version."),drop:H,filter:C,flatMap:V,map:P,take:Y,compose:x},e.exports.promiseReturningOperators={every:O,forEach:$,reduce:U,toArray:B,some:L,find:W}},57295:function(e,t,r){"use strict";const{ObjectSetPrototypeOf:n}=r(60341);e.exports=i;const o=r(21122);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}n(i.prototype,o.prototype),n(i,o),i.prototype._transform=function(e,t,r){r(null,e)}},91519:function(e,t,r){const n=r(34155),{ArrayIsArray:o,Promise:i,SymbolAsyncIterator:a,SymbolDispose:l}=r(60341),s=r(5499),{once:d}=r(57255),u=r(20339),c=r(27415),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:h,ERR_INVALID_RETURN_VALUE:b,ERR_MISSING_ARGS:p,ERR_STREAM_DESTROYED:y,ERR_STREAM_PREMATURE_CLOSE:_},AbortError:g}=r(18461),{validateFunction:w,validateAbortSignal:m}=r(12309),{isIterable:S,isReadable:v,isReadableNodeStream:E,isNodeStream:R,isTransformStream:A,isWebStream:T,isReadableStream:k,isReadableFinished:I}=r(58516),N=globalThis.AbortController||r(28599).AbortController;let M,D,x;function P(e,t,r){let n=!1;e.on("close",(()=>{n=!0}));const o=s(e,{readable:t,writable:r},(e=>{n=!e}));return{destroy:t=>{n||(n=!0,u.destroyer(e,t||new y("pipe")))},cleanup:o}}function j(e){return w(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function L(e){if(S(e))return e;if(E(e))return O(e);throw new h("val",["Readable","Iterable","AsyncIterable"],e)}async function*O(e){D||(D=r(377)),yield*D.prototype[a].call(e)}async function W(e,t,r,{end:n}){let o,a=null;const l=e=>{if(e&&(o=e),a){const e=a;a=null,e()}},d=()=>new i(((e,t)=>{o?t(o):a=()=>{o?t(o):e()}}));t.on("drain",l);const u=s(t,{readable:!1},l);try{t.writableNeedDrain&&await d();for await(const r of e)t.write(r)||await d();n&&(t.end(),await d()),r()}catch(c){r(o!==c?f(o,c):c)}finally{u(),t.off("drain",l)}}async function $(e,t,r,{end:n}){A(t)&&(t=t.writable);const o=t.getWriter();try{for await(const t of e)await o.ready,o.write(t).catch((()=>{}));await o.ready,n&&await o.close(),r()}catch(i){try{await o.abort(i),r(i)}catch(i){r(i)}}}function C(...e){return F(e,d(j(e)))}function F(e,t,i){if(1===e.length&&o(e[0])&&(e=e[0]),e.length<2)throw new p("streams");const a=new N,s=a.signal,d=null===i||void 0===i?void 0:i.signal,u=[];function f(){C(new g)}let y,_,w;m(d,"options.signal"),x=x||r(57255).addAbortListener,d&&(y=x(d,f));const I=[];let D,j=0;function O(e){C(e,0===--j)}function C(e,r){var o;if(!e||_&&"ERR_STREAM_PREMATURE_CLOSE"!==_.code||(_=e),_||r){while(I.length)I.shift()(_);null===(o=y)||void 0===o||o[l](),a.abort(),r&&(_||u.forEach((e=>e())),n.nextTick(t,_,w))}}for(let G=0;G0,K=Y||!1!==(null===i||void 0===i?void 0:i.end),z=G===e.length-1;if(R(H)){if(K){const{destroy:J,cleanup:X}=P(H,Y,q);I.push(J),v(H)&&z&&u.push(X)}function F(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&O(e)}H.on("error",F),v(H)&&z&&u.push((()=>{H.removeListener("error",F)}))}if(0===G)if("function"===typeof H){if(D=H({signal:s}),!S(D))throw new b("Iterable, AsyncIterable or Stream","source",D)}else D=S(H)||E(H)||A(H)?H:c.from(H);else if("function"===typeof H){var B;if(A(D))D=L(null===(B=D)||void 0===B?void 0:B.readable);else D=L(D);if(D=H(D,{signal:s}),Y){if(!S(D,!0))throw new b("AsyncIterable",`transform[${G-1}]`,D)}else{var V;M||(M=r(57295));const Z=new M({objectMode:!0}),Q=null===(V=D)||void 0===V?void 0:V.then;if("function"===typeof Q)j++,Q.call(D,(e=>{w=e,null!=e&&Z.write(e),K&&Z.end(),n.nextTick(O)}),(e=>{Z.destroy(e),n.nextTick(O,e)}));else if(S(D,!0))j++,W(D,Z,O,{end:K});else{if(!k(D)&&!A(D))throw new b("AsyncIterable or Promise","destination",D);{const re=D.readable||D;j++,W(re,Z,O,{end:K})}}D=Z;const{destroy:ee,cleanup:te}=P(D,!1,!0);I.push(ee),z&&u.push(te)}}else if(R(H)){if(E(D)){j+=2;const ne=U(D,H,O,{end:K});v(H)&&z&&u.push(ne)}else if(A(D)||k(D)){const oe=D.readable||D;j++,W(oe,H,O,{end:K})}else{if(!S(D))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],D);j++,W(D,H,O,{end:K})}D=H}else if(T(H)){if(E(D))j++,$(L(D),H,O,{end:K});else if(k(D)||S(D))j++,$(D,H,O,{end:K});else{if(!A(D))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],D);j++,$(D.readable,H,O,{end:K})}D=H}else D=c.from(H)}return(null!==s&&void 0!==s&&s.aborted||null!==d&&void 0!==d&&d.aborted)&&n.nextTick(f),D}function U(e,t,r,{end:o}){let i=!1;if(t.on("close",(()=>{i||r(new _)})),e.pipe(t,{end:!1}),o){function a(){i=!0,t.end()}I(e)?n.nextTick(a):e.once("end",a)}else r();return s(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),s(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:F,pipeline:C}},377:function(e,t,r){const n=r(34155),{ArrayPrototypeIndexOf:o,NumberIsInteger:i,NumberIsNaN:a,NumberParseInt:l,ObjectDefineProperties:s,ObjectKeys:d,ObjectSetPrototypeOf:u,Promise:c,SafeSet:f,SymbolAsyncDispose:h,SymbolAsyncIterator:b,Symbol:p}=r(60341);e.exports=le,le.ReadableState=ae;const{EventEmitter:y}=r(17187),{Stream:_,prependListener:g}=r(33491),{Buffer:w}=r(48764),{addAbortSignal:m}=r(41134),S=r(5499);let v=r(57255).debuglog("stream",(e=>{v=e}));const E=r(65072),R=r(20339),{getHighWaterMark:A,getDefaultHighWaterMark:T}=r(94864),{aggregateTwoErrors:k,codes:{ERR_INVALID_ARG_TYPE:I,ERR_METHOD_NOT_IMPLEMENTED:N,ERR_OUT_OF_RANGE:M,ERR_STREAM_PUSH_AFTER_EOF:D,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:x},AbortError:P}=r(18461),{validateObject:j}=r(12309),L=p("kPaused"),{StringDecoder:O}=r(32553),W=r(61949);u(le.prototype,_.prototype),u(le,_);const $=()=>{},{errorOrDestroy:C}=R,F=1,U=2,B=4,V=8,G=16,H=32,Y=64,q=128,K=256,z=512,J=1024,X=2048,Z=4096,Q=8192,ee=16384,te=32768,re=65536,ne=1<<17,oe=1<<18;function ie(e){return{enumerable:!1,get(){return 0!==(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function ae(e,t,n){"boolean"!==typeof n&&(n=t instanceof r(27415)),this.state=X|Z|G|H,e&&e.objectMode&&(this.state|=F),n&&e&&e.readableObjectMode&&(this.state|=F),this.highWaterMark=e?A(this,e,"readableHighWaterMark",n):T(!1),this.buffer=new E,this.length=0,this.pipes=[],this.flowing=null,this[L]=null,e&&!1===e.emitClose&&(this.state&=~X),e&&!1===e.autoDestroy&&(this.state&=~Z),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new O(e.encoding),this.encoding=e.encoding)}function le(e){if(!(this instanceof le))return new le(e);const t=this instanceof r(27415);this._readableState=new ae(e,this,t),e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&m(e.signal,this)),_.call(this,e),R.construct(this,(()=>{this._readableState.needReadable&&ye(this,this._readableState)}))}function se(e,t,r,n){v("readableAddChunk",t);const o=e._readableState;let i;if(0===(o.state&F)&&("string"===typeof t?(r=r||o.defaultEncoding,o.encoding!==r&&(n&&o.encoding?t=w.from(t,r).toString(o.encoding):(t=w.from(t,r),r=""))):t instanceof w?r="":_._isUint8Array(t)?(t=_._uint8ArrayToBuffer(t),r=""):null!=t&&(i=new I("chunk",["string","Buffer","Uint8Array"],t))),i)C(e,i);else if(null===t)o.state&=~V,he(e,o);else if(0!==(o.state&F)||t&&t.length>0)if(n)if(0!==(o.state&B))C(e,new x);else{if(o.destroyed||o.errored)return!1;de(e,o,t,!0)}else if(o.ended)C(e,new D);else{if(o.destroyed||o.errored)return!1;o.state&=~V,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?de(e,o,t,!1):ye(e,o)):de(e,o,t,!1)}else n||(o.state&=~V,ye(e,o));return!o.ended&&(o.length0?(0!==(t.state&re)?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),0!==(t.state&Y)&&be(e)),ye(e,t)}s(ae.prototype,{objectMode:ie(F),ended:ie(U),endEmitted:ie(B),reading:ie(V),constructed:ie(G),sync:ie(H),needReadable:ie(Y),emittedReadable:ie(q),readableListening:ie(K),resumeScheduled:ie(z),errorEmitted:ie(J),emitClose:ie(X),autoDestroy:ie(Z),destroyed:ie(Q),closed:ie(ee),closeEmitted:ie(te),multiAwaitDrain:ie(re),readingMore:ie(ne),dataEmitted:ie(oe)}),le.prototype.destroy=R.destroy,le.prototype._undestroy=R.undestroy,le.prototype._destroy=function(e,t){t(e)},le.prototype[y.captureRejectionSymbol]=function(e){this.destroy(e)},le.prototype[h]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new P,this.destroy(e)),new c(((t,r)=>S(this,(n=>n&&n!==e?r(n):t(null)))))},le.prototype.push=function(e,t){return se(this,e,t,!1)},le.prototype.unshift=function(e,t){return se(this,e,t,!0)},le.prototype.isPaused=function(){const e=this._readableState;return!0===e[L]||!1===e.flowing},le.prototype.setEncoding=function(e){const t=new O(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const o of r)n+=t.write(o);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this};const ue=1073741824;function ce(e){if(e>ue)throw new M("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function fe(e,t){return e<=0||0===t.length&&t.ended?0:0!==(t.state&F)?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function he(e,t){if(v("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?be(e):(t.needReadable=!1,t.emittedReadable=!0,pe(e))}}function be(e){const t=e._readableState;v("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(v("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(pe,e))}function pe(e){const t=e._readableState;v("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Ee(e)}function ye(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(_e,e,t))}function _e(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[L]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function me(e){v("readable nexttick read 0"),e.read(0)}function Se(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(ve,e,t))}function ve(e,t){v("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Ee(e),t.flowing&&!t.reading&&e.read(0)}function Ee(e){const t=e._readableState;v("flow",t.flowing);while(t.flowing&&null!==e.read());}function Re(e,t){"function"!==typeof e.read&&(e=le.wrap(e,{objectMode:!0}));const r=Ae(e,t);return r.stream=e,r}async function*Ae(e,t){let r,n=$;function o(t){this===e?(n(),n=$):n=t}e.on("readable",o);const i=S(e,{writable:!1},(e=>{r=e?k(r,e):null,n(),n=$}));try{while(1){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new c(o)}}}catch(a){throw r=k(r,a),r}finally{!r&&!1===(null===t||void 0===t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",o),i()):R.destroyer(e,null)}}function Te(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function ke(e){const t=e._readableState;v("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(Ie,t,e))}function Ie(e,t){if(v("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(Ne,t);else if(e.autoDestroy){const e=t._writableState,r=!e||e.autoDestroy&&(e.finished||!1===e.writable);r&&t.destroy()}}function Ne(e){const t=e.writable&&!e.writableEnded&&!e.destroyed;t&&e.end()}let Me;function De(){return void 0===Me&&(Me={}),Me}le.prototype.read=function(e){v("read",e),void 0===e?e=NaN:i(e)||(e=l(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=ce(e)),0!==e&&(t.state&=~q),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return v("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?ke(this):be(this),null;if(e=fe(e,t),0===e&&t.ended)return 0===t.length&&ke(this),null;let n,o=0!==(t.state&Y);if(v("need readable",o),(0===t.length||t.length-e0?Te(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ke(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},le.prototype._read=function(e){throw new N("_read()")},le.prototype.pipe=function(e,t){const r=this,o=this._readableState;1===o.pipes.length&&(o.multiAwaitDrain||(o.multiAwaitDrain=!0,o.awaitDrainWriters=new f(o.awaitDrainWriters?[o.awaitDrainWriters]:[]))),o.pipes.push(e),v("pipe count=%d opts=%j",o.pipes.length,t);const i=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr,a=i?s:w;function l(e,t){v("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,c())}function s(){v("onend"),e.end()}let d;o.endEmitted?n.nextTick(a):r.once("end",a),e.on("unpipe",l);let u=!1;function c(){v("cleanup"),e.removeListener("close",y),e.removeListener("finish",_),d&&e.removeListener("drain",d),e.removeListener("error",p),e.removeListener("unpipe",l),r.removeListener("end",s),r.removeListener("end",w),r.removeListener("data",b),u=!0,d&&o.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&d()}function h(){u||(1===o.pipes.length&&o.pipes[0]===e?(v("false write response, pause",0),o.awaitDrainWriters=e,o.multiAwaitDrain=!1):o.pipes.length>1&&o.pipes.includes(e)&&(v("false write response, pause",o.awaitDrainWriters.size),o.awaitDrainWriters.add(e)),r.pause()),d||(d=ge(r,e),e.on("drain",d))}function b(t){v("ondata");const r=e.write(t);v("dest.write",r),!1===r&&h()}function p(t){if(v("onerror",t),w(),e.removeListener("error",p),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?C(e,t):e.emit("error",t)}}function y(){e.removeListener("finish",_),w()}function _(){v("onfinish"),e.removeListener("close",y),w()}function w(){v("unpipe"),r.unpipe(e)}return r.on("data",b),g(e,"error",p),e.once("close",y),e.once("finish",_),e.emit("pipe",r),!0===e.writableNeedDrain?h():o.flowing||(v("pipe resume"),r.resume()),e},le.prototype.unpipe=function(e){const t=this._readableState,r={hasUnpiped:!1};if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==o.flowing&&this.resume()):"readable"===e&&(o.endEmitted||o.readableListening||(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,v("on readable",o.length,o.reading),o.length?be(this):o.reading||n.nextTick(me,this))),r},le.prototype.addListener=le.prototype.on,le.prototype.removeListener=function(e,t){const r=_.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(we,this),r},le.prototype.off=le.prototype.removeListener,le.prototype.removeAllListeners=function(e){const t=_.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(we,this),t},le.prototype.resume=function(){const e=this._readableState;return e.flowing||(v("resume"),e.flowing=!e.readableListening,Se(this,e)),e[L]=!1,this},le.prototype.pause=function(){return v("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(v("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[L]=!0,this},le.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{C(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=d(e);for(let n=1;n{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function c(){this._final!==u&&u.call(this)}d.prototype._final=u,d.prototype._transform=function(e,t,r){throw new i("_transform()")},d.prototype._write=function(e,t,r){const n=this._readableState,o=this._writableState,i=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),o.ended||i===n.length||n.length{const e=this._writableState;e.writing||V(this,e),q(this,e)}))}function L(e,t,r,o){const i=e._writableState;if("function"===typeof r)o=r,r=i.defaultEncoding;else{if(r){if("buffer"!==r&&!p.isEncoding(r))throw new I(r)}else r=i.defaultEncoding;"function"!==typeof o&&(o=M)}if(null===t)throw new T;if(!i.objectMode)if("string"===typeof t)!1!==i.decodeStrings&&(t=p.from(t,r),r="buffer");else if(t instanceof p)r="buffer";else{if(!b._isUint8Array(t))throw new m("chunk",["string","Buffer","Uint8Array"],t);t=b._uint8ArrayToBuffer(t),r="buffer"}let a;return i.ending?a=new k:i.destroyed&&(a=new R("write")),a?(n.nextTick(o,a),N(e,a,!0),a):(i.pendingcb++,O(e,i,t,r,o))}function O(e,t,r,n,o){const i=t.objectMode?1:r.length;t.length+=i;const a=t.lengthr.bufferedIndex&&V(e,r),o?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===i?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:i,stream:e,state:r},n.nextTick(F,r.afterWriteTickInfo)):U(e,r,1,i))):N(e,new v)}function F({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,U(e,t,r,n)}function U(e,t,r,n){const o=!t.ending&&!e.destroyed&&0===t.length&&t.needDrain;o&&(t.needDrain=!1,e.emit("drain"));while(r-- >0)t.pendingcb--,n();t.destroyed&&B(t),q(e,t)}function B(e){if(e.writing)return;for(let o=e.bufferedIndex;o1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?M:e=>{for(let t=l;t256?(r.splice(0,l),t.bufferedIndex=0):t.bufferedIndex=l}t.bufferProcessing=!1}function G(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function H(e,t){let r=!1;function o(o){if(r)N(e,null!==o&&void 0!==o?o:v());else if(r=!0,t.pendingcb--,o){const r=t[D].splice(0);for(let e=0;e{G(t)?K(e,t):t.pendingcb--}),e,t)):G(t)&&(t.pendingcb++,K(e,t))))}function K(e,t){t.pendingcb--,t.finished=!0;const r=t[D].splice(0);for(let n=0;n>>0}const N=/^[0-7]+$/,M="must be a 32-bit unsigned integer or an octal string";function D(e,t,r){if("undefined"===typeof e&&(e=r),"string"===typeof e){if(null===h(N,e))throw new m(t,e,M);e=c(e,8)}return j(e,t),e}const x=_(((e,t,r=u,n=d)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),P=_(((e,t,r=-2147483648,n=2147483647)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),j=_(((e,t,r=!1)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!l(e))throw new S(t,"an integer",e);const n=r?1:0,o=4294967295;if(eo)throw new S(t,`>= ${n} && <= ${o}`,e)}));function L(e,t){if("string"!==typeof e)throw new w(t,"string",e)}function O(e,t,r=void 0,n){if("number"!==typeof e)throw new w(t,"number",e);if(null!=r&&en||(null!=r||null!=n)&&s(e))throw new S(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)}const W=_(((e,t,r)=>{if(!o(r,e)){const n=i(a(r,(e=>"string"===typeof e?`'${e}'`:b(e))),", "),o="must be one of: "+n;throw new m(t,e,o)}}));function $(e,t){if("boolean"!==typeof e)throw new w(t,"boolean",e)}function C(e,t,r){return null!=e&&f(e,t)?e[t]:r}const F=_(((e,t,r=null)=>{const o=C(r,"allowArray",!1),i=C(r,"allowFunction",!1),a=C(r,"nullable",!1);if(!a&&null===e||!o&&n(e)||"object"!==typeof e&&(!i||"function"!==typeof e))throw new w(t,"Object",e)})),U=_(((e,t)=>{if(null!=e&&"object"!==typeof e&&"function"!==typeof e)throw new w(t,"a dictionary",e)})),B=_(((e,t,r=0)=>{if(!n(e))throw new w(t,"Array",e);if(e.length{if(!A(e))throw new w(t,["Buffer","TypedArray","DataView"],e)}));function K(e,t){const r=E(t),n=e.length;if("hex"===r&&n%2!==0)throw new m("encoding",t,`is invalid for data of length ${n}`)}function z(e,t="Port",r=!0){if("number"!==typeof e&&"string"!==typeof e||"string"===typeof e&&0===y(e).length||+e!==+e>>>0||e>65535||0===e&&!r)throw new g(t,e,r);return 0|e}const J=_(((e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new w(t,"AbortSignal",e)})),X=_(((e,t)=>{if("function"!==typeof e)throw new w(t,"Function",e)})),Z=_(((e,t)=>{if("function"!==typeof e||R(e))throw new w(t,"Function",e)})),Q=_(((e,t)=>{if(void 0!==e)throw new w(t,"undefined",e)}));function ee(e,t,r){if(!o(r,e))throw new w(t,`('${i(r,"|")}')`,e)}const te=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function re(e,t){if("undefined"===typeof e||!h(te,e))throw new m(t,e,'must be an array or string of format "; rel=preload; as=style"')}function ne(e){if("string"===typeof e)return re(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}e.exports={isInt32:k,isUint32:I,parseFileMode:D,validateArray:B,validateStringArray:V,validateBooleanArray:G,validateAbortSignalArray:H,validateBoolean:$,validateBuffer:q,validateDictionary:U,validateEncoding:K,validateFunction:X,validateInt32:P,validateInteger:x,validateNumber:O,validateObject:F,validateOneOf:W,validatePlainFunction:Z,validatePort:z,validateSignalName:Y,validateString:L,validateUint32:j,validateUndefined:Q,validateUnion:ee,validateAbortSignal:J,validateLinkHeaderValue:ne}},98124:function(e,t,r){"use strict";const n=r(18152),o=r(74787),i=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=i,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return o}}),e.exports.Stream=n.Stream,e.exports["default"]=e.exports},18461:function(e,t,r){"use strict";const{format:n,inspect:o,AggregateError:i}=r(57255),a=globalThis.AggregateError||i,l=Symbol("kIsNodeError"),s=["string","function","number","object","Function","Object","boolean","bigint","symbol"],d=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function f(e,t){if(!e)throw new c.ERR_INTERNAL_ASSERTION(t)}function h(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function b(e,t,r){if("function"===typeof t)return f(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const o=(t.match(/%[dfijoOs]/g)||[]).length;return f(o===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${o}).`),0===r.length?t:n(t,...r)}function p(e,t,r){r||(r=Error);class n extends r{constructor(...r){super(b(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=e,n.prototype[l]=!0,c[e]=n}function y(e){const t=u+e.name;return Object.defineProperty(e,"name",{value:t}),e}function _(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t}class g extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!==typeof t)throw new c.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",((e,t,r)=>{f("string"===typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const i=[],a=[],l=[];for(const o of t)f("string"===typeof o,"All expected entries have to be of type string"),s.includes(o)?i.push(o.toLowerCase()):d.test(o)?a.push(o):(f("object"!==o,'The value "object" should be written as "Object"'),l.push(o));if(a.length>0){const e=i.indexOf("object");-1!==e&&(i.splice(i,e,1),a.push("Object"))}if(i.length>0){switch(i.length){case 1:n+=`of type ${i[0]}`;break;case 2:n+=`one of type ${i[0]} or ${i[1]}`;break;default:{const e=i.pop();n+=`one of type ${i.join(", ")}, or ${e}`}}(a.length>0||l.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}l.length>0&&(n+=" or ")}switch(l.length){case 0:break;case 1:l[0].toLowerCase()!==l[0]&&(n+="an "),n+=`${l[0]}`;break;case 2:n+=`one of ${l[0]} or ${l[1]}`;break;default:{const e=l.pop();n+=`one of ${l.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"===typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"===typeof r){var u;if(null!==(u=r.constructor)&&void 0!==u&&u.name)n+=`. Received an instance of ${r.constructor.name}`;else{const e=o(r,{depth:-1});n+=`. Received ${e}`}}else{let e=o(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),p("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=o(t);n.length>128&&(n=n.slice(0,128)+"...");const i=e.includes(".")?"property":"argument";return`The ${i} '${e}' ${r}. Received ${n}`}),TypeError),p("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;const o=null!==r&&void 0!==r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r;return`Expected ${e} to be returned from the "${t}" function but got ${o}.`}),TypeError),p("ERR_MISSING_ARGS",((...e)=>{let t;f(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`}),TypeError),p("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return f(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=h(String(r)):"bigint"===typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=h(n)),n+="n"):n=o(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:g,aggregateTwoErrors:y(_),hideStackFrames:y,codes:c}},60341:function(e){"use strict";e.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,r){return e.slice(t,r)},Error:Error,FunctionPrototypeCall(e,t,...r){return e.call(t,...r)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number:Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,r){return Object.defineProperty(e,t,r)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise:Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,r){return e.then(t,r)},PromiseReject(e){return Promise.reject(e)},PromiseResolve(e){return Promise.resolve(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String:String,StringPrototypeSlice(e,t,r){return e.slice(t,r)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol:Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(e,t,r){return e.set(t,r)},Boolean:Boolean,Uint8Array:Uint8Array}},57255:function(e,t,r){"use strict";const n=r(48764),{kResistStopPropagation:o,SymbolDispose:i}=r(60341),a=globalThis.AbortSignal||r(28599).AbortSignal,l=globalThis.AbortController||r(28599).AbortController,s=Object.getPrototypeOf((async function(){})).constructor,d=globalThis.Blob||n.Blob,u="undefined"!==typeof d?function(e){return e instanceof d}:function(e){return!1},c=(e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)},f=(e,t)=>{if("function"!==typeof e)throw new ERR_INVALID_ARG_TYPE(t,"Function",e)};class h extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n}));return{promise:r,resolve:e,reject:t}},promisify(e){return new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))}))},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();if("f"===r)return n.toFixed(6);if("j"===r)return JSON.stringify(n);if("s"===r&&"object"===typeof n){const e=n.constructor!==Object?n.constructor.name:"";return`${e} {}`.trim()}return n.toString()}))},inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof s},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:u,deprecate(e,t){return e},addAbortListener:r(17187).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return c(e,"signal"),f(t,"listener"),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[o]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[i](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new l,r=()=>t.abort();return e.forEach((e=>{c(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},18152:function(e,t,r){const{Buffer:n}=r(48764),{ObjectDefineProperty:o,ObjectKeys:i,ReflectApply:a}=r(60341),{promisify:{custom:l}}=r(57255),{streamReturningOperators:s,promiseReturningOperators:d}=r(60918),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=r(18461),c=r(7422),{setDefaultHighWaterMark:f,getDefaultHighWaterMark:h}=r(94864),{pipeline:b}=r(91519),{destroyer:p}=r(20339),y=r(5499),_=r(74787),g=r(58516),w=e.exports=r(33491).Stream;w.isDestroyed=g.isDestroyed,w.isDisturbed=g.isDisturbed,w.isErrored=g.isErrored,w.isReadable=g.isReadable,w.isWritable=g.isWritable,w.Readable=r(377);for(const v of i(s)){const E=s[v];function m(...e){if(new.target)throw u();return w.Readable.from(a(E,this,e))}o(m,"name",{__proto__:null,value:E.name}),o(m,"length",{__proto__:null,value:E.length}),o(w.Readable.prototype,v,{__proto__:null,value:m,enumerable:!1,configurable:!0,writable:!0})}for(const R of i(d)){const A=d[R];function m(...e){if(new.target)throw u();return a(A,this,e)}o(m,"name",{__proto__:null,value:A.name}),o(m,"length",{__proto__:null,value:A.length}),o(w.Readable.prototype,R,{__proto__:null,value:m,enumerable:!1,configurable:!0,writable:!0})}w.Writable=r(11339),w.Duplex=r(27415),w.Transform=r(21122),w.PassThrough=r(57295),w.pipeline=b;const{addAbortSignal:S}=r(41134);w.addAbortSignal=S,w.finished=y,w.destroy=p,w.compose=c,w.setDefaultHighWaterMark=f,w.getDefaultHighWaterMark=h,o(w,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),o(b,l,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),o(y,l,{__proto__:null,enumerable:!0,get(){return _.finished}}),w.Stream=w,w._isUint8Array=function(e){return e instanceof Uint8Array},w._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},74787:function(e,t,r){"use strict";const{ArrayPrototypePop:n,Promise:o}=r(60341),{isIterable:i,isNodeStream:a,isWebStream:l}=r(58516),{pipelineImpl:s}=r(91519),{finished:d}=r(5499);function u(...e){return new o(((t,r)=>{let o,d;const u=e[e.length-1];if(u&&"object"===typeof u&&!a(u)&&!i(u)&&!l(u)){const t=n(e);o=t.signal,d=t.end}s(e,((e,n)=>{e?r(e):t(n)}),{signal:o,end:d})}))}r(18152),e.exports={finished:d,pipeline:u}},40250:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return b}});var n=r(90540),o=r(98124);class i{constructor(e){this.stream=e,this.array=[]}push(e){this.array.push(e)}end(){this.stream.push(this.array),this.stream.push(null)}}var a=i;class l{constructor(e){this.stream=e,this.first=!0,this.stream.push("[")}push(e){this.first?this.first=!1:this.stream.push(","),this.stream.push(JSON.stringify(e))}end(){this.stream.push("]"),this.stream.push(null)}}var s=l;class d extends o.Readable{constructor(e,{encoding:t="object"}={}){if(super({objectMode:!0,read:()=>{}}),"object"===t&&(this.encoder=new a(this)),"string"===t&&(this.encoder=new s(this)),!this.encoder)throw new Error(`unknown encoding: ${t}`);e.on("data",(e=>{const t={};let r=t;"DefaultGraph"!==e.graph.termType&&(t["@id"]=e.graph.value,t["@graph"]={},r=t["@graph"]),r["@id"]=d.subjectValue(e.subject),"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"===e.predicate.value?r["@type"]=d.subjectValue(e.object):r[e.predicate.value]=d.objectValue(e.object),this.encoder.push(t)})),e.on("end",(()=>this.encoder.end())),e.on("error",(e=>this.emit("error",e)))}static subjectValue(e){return"BlankNode"===e.termType?"_:"+e.value:e.value}static objectValue(e){return"NamedNode"===e.termType?{"@id":e.value}:"BlankNode"===e.termType?{"@id":"_:"+e.value}:e.language?{"@language":e.language,"@value":e.value}:e.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==e.datatype.value?{"@type":e.datatype.value,"@value":e.value}:e.value}}var u=d;class c extends n.Z{constructor(e){super(u,e)}}var f=c;class h extends f{constructor({...e}={}){super({encoding:"string",...e})}}var b=h}}]);
+//# sourceMappingURL=250.1464af0c.js.map
\ No newline at end of file
diff --git a/js/250.1464af0c.js.map b/js/250.1464af0c.js.map
new file mode 100644
index 0000000..eabb5ce
--- /dev/null
+++ b/js/250.1464af0c.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/250.1464af0c.js","mappings":"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","sources":["webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/from.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/validators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/browser.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/errors.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/primordials.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/util.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/stream/promises.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/ObjectEncoder.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/StringEncoder.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/SerializerStream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/index.js","webpack://@zazuko/spex/./node_modules/@zazuko/formats-lazy/lib/CustomJsonLdSerializer.js"],"sourcesContent":["'use strict'\n\nconst { SymbolDispose } = require('../../ours/primordials')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { isNodeStream, isWebStream, kControllerErrorFunction } = require('./utils')\nconst eos = require('./end-of-stream')\nconst { ERR_INVALID_ARG_TYPE } = codes\nlet addAbortListener\n\n// This method is inlined here for readable-stream\n// It also does not allow for signal to not exist on the stream\n// https://github.com/nodejs/node/pull/36061#discussion_r533718029\nconst validateAbortSignal = (signal, name) => {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nmodule.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n validateAbortSignal(signal, 'signal')\n if (!isNodeStream(stream) && !isWebStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n return module.exports.addAbortSignalNoValidate(signal, stream)\n}\nmodule.exports.addAbortSignalNoValidate = function (signal, stream) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n return stream\n }\n const onAbort = isNodeStream(stream)\n ? () => {\n stream.destroy(\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n : () => {\n stream[kControllerErrorFunction](\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n if (signal.aborted) {\n onAbort()\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(signal, onAbort)\n eos(stream, disposable[SymbolDispose])\n }\n return stream\n}\n","'use strict'\n\nconst { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { inspect } = require('../../ours/util')\nmodule.exports = class BufferList {\n constructor() {\n this.head = null\n this.tail = null\n this.length = 0\n }\n push(v) {\n const entry = {\n data: v,\n next: null\n }\n if (this.length > 0) this.tail.next = entry\n else this.head = entry\n this.tail = entry\n ++this.length\n }\n unshift(v) {\n const entry = {\n data: v,\n next: this.head\n }\n if (this.length === 0) this.tail = entry\n this.head = entry\n ++this.length\n }\n shift() {\n if (this.length === 0) return\n const ret = this.head.data\n if (this.length === 1) this.head = this.tail = null\n else this.head = this.head.next\n --this.length\n return ret\n }\n clear() {\n this.head = this.tail = null\n this.length = 0\n }\n join(s) {\n if (this.length === 0) return ''\n let p = this.head\n let ret = '' + p.data\n while ((p = p.next) !== null) ret += s + p.data\n return ret\n }\n concat(n) {\n if (this.length === 0) return Buffer.alloc(0)\n const ret = Buffer.allocUnsafe(n >>> 0)\n let p = this.head\n let i = 0\n while (p) {\n TypedArrayPrototypeSet(ret, p.data, i)\n i += p.data.length\n p = p.next\n }\n return ret\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n consume(n, hasStrings) {\n const data = this.head.data\n if (n < data.length) {\n // `slice` is the same for buffers and strings.\n const slice = data.slice(0, n)\n this.head.data = data.slice(n)\n return slice\n }\n if (n === data.length) {\n // First chunk is a perfect match.\n return this.shift()\n }\n // Result spans more than one buffer.\n return hasStrings ? this._getString(n) : this._getBuffer(n)\n }\n first() {\n return this.head.data\n }\n *[SymbolIterator]() {\n for (let p = this.head; p; p = p.next) {\n yield p.data\n }\n }\n\n // Consumes a specified amount of characters from the buffered data.\n _getString(n) {\n let ret = ''\n let p = this.head\n let c = 0\n do {\n const str = p.data\n if (n > str.length) {\n ret += str\n n -= str.length\n } else {\n if (n === str.length) {\n ret += str\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n ret += StringPrototypeSlice(str, 0, n)\n this.head = p\n p.data = StringPrototypeSlice(str, n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n _getBuffer(n) {\n const ret = Buffer.allocUnsafe(n)\n const retLen = n\n let p = this.head\n let c = 0\n do {\n const buf = p.data\n if (n > buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n n -= buf.length\n } else {\n if (n === buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n TypedArrayPrototypeSet(ret, new Uint8Array(buf.buffer, buf.byteOffset, n), retLen - n)\n this.head = p\n p.data = buf.slice(n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n [Symbol.for('nodejs.util.inspect.custom')](_, options) {\n return inspect(this, {\n ...options,\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n })\n }\n}\n","'use strict'\n\nconst { pipeline } = require('./pipeline')\nconst Duplex = require('./duplex')\nconst { destroyer } = require('./destroy')\nconst {\n isNodeStream,\n isReadable,\n isWritable,\n isWebStream,\n isTransformStream,\n isWritableStream,\n isReadableStream\n} = require('./utils')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }\n} = require('../../ours/errors')\nconst eos = require('./end-of-stream')\nmodule.exports = function compose(...streams) {\n if (streams.length === 0) {\n throw new ERR_MISSING_ARGS('streams')\n }\n if (streams.length === 1) {\n return Duplex.from(streams[0])\n }\n const orgStreams = [...streams]\n if (typeof streams[0] === 'function') {\n streams[0] = Duplex.from(streams[0])\n }\n if (typeof streams[streams.length - 1] === 'function') {\n const idx = streams.length - 1\n streams[idx] = Duplex.from(streams[idx])\n }\n for (let n = 0; n < streams.length; ++n) {\n if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {\n // TODO(ronag): Add checks for non streams.\n continue\n }\n if (\n n < streams.length - 1 &&\n !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))\n ) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be readable')\n }\n if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be writable')\n }\n }\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n } else if (!readable && !writable) {\n d.destroy()\n }\n }\n const head = streams[0]\n const tail = pipeline(streams, onfinished)\n const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head))\n const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail))\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplex({\n // TODO (ronag): highWaterMark?\n writableObjectMode: !!(head !== null && head !== undefined && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== undefined && tail.readableObjectMode),\n writable,\n readable\n })\n if (writable) {\n if (isNodeStream(head)) {\n d._write = function (chunk, encoding, callback) {\n if (head.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n head.end()\n onfinish = callback\n }\n head.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n } else if (isWebStream(head)) {\n const writable = isTransformStream(head) ? head.writable : head\n const writer = writable.getWriter()\n d._write = async function (chunk, encoding, callback) {\n try {\n await writer.ready\n writer.write(chunk).catch(() => {})\n callback()\n } catch (err) {\n callback(err)\n }\n }\n d._final = async function (callback) {\n try {\n await writer.ready\n writer.close().catch(() => {})\n onfinish = callback\n } catch (err) {\n callback(err)\n }\n }\n }\n const toRead = isTransformStream(tail) ? tail.readable : tail\n eos(toRead, () => {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n if (isNodeStream(tail)) {\n tail.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n tail.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = tail.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n } else if (isWebStream(tail)) {\n const readable = isTransformStream(tail) ? tail.readable : tail\n const reader = readable.getReader()\n d._read = async function () {\n while (true) {\n try {\n const { value, done } = await reader.read()\n if (!d.push(value)) {\n return\n }\n if (done) {\n d.push(null)\n return\n }\n } catch {\n return\n }\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n if (isNodeStream(tail)) {\n destroyer(tail, err)\n }\n }\n }\n return d\n}\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError\n} = require('../../ours/errors')\nconst { Symbol } = require('../../ours/primordials')\nconst { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require('./utils')\nconst kDestroy = Symbol('kDestroy')\nconst kConstruct = Symbol('kConstruct')\nfunction checkError(err, w, r) {\n if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n }\n}\n\n// Backwards compat. cb() is undocumented and unused in core but\n// unfortunately might be used by modules.\nfunction destroy(err, cb) {\n const r = this._readableState\n const w = this._writableState\n // With duplex streams we use the writable side for state.\n const s = w || r\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n if (typeof cb === 'function') {\n cb()\n }\n return this\n }\n\n // We set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n checkError(err, w, r)\n if (w) {\n w.destroyed = true\n }\n if (r) {\n r.destroyed = true\n }\n\n // If still constructing then defer calling _destroy.\n if (!s.constructed) {\n this.once(kDestroy, function (er) {\n _destroy(this, aggregateTwoErrors(er, err), cb)\n })\n } else {\n _destroy(this, err, cb)\n }\n return this\n}\nfunction _destroy(self, err, cb) {\n let called = false\n function onDestroy(err) {\n if (called) {\n return\n }\n called = true\n const r = self._readableState\n const w = self._writableState\n checkError(err, w, r)\n if (w) {\n w.closed = true\n }\n if (r) {\n r.closed = true\n }\n if (typeof cb === 'function') {\n cb(err)\n }\n if (err) {\n process.nextTick(emitErrorCloseNT, self, err)\n } else {\n process.nextTick(emitCloseNT, self)\n }\n }\n try {\n self._destroy(err || null, onDestroy)\n } catch (err) {\n onDestroy(err)\n }\n}\nfunction emitErrorCloseNT(self, err) {\n emitErrorNT(self, err)\n emitCloseNT(self)\n}\nfunction emitCloseNT(self) {\n const r = self._readableState\n const w = self._writableState\n if (w) {\n w.closeEmitted = true\n }\n if (r) {\n r.closeEmitted = true\n }\n if ((w !== null && w !== undefined && w.emitClose) || (r !== null && r !== undefined && r.emitClose)) {\n self.emit('close')\n }\n}\nfunction emitErrorNT(self, err) {\n const r = self._readableState\n const w = self._writableState\n if ((w !== null && w !== undefined && w.errorEmitted) || (r !== null && r !== undefined && r.errorEmitted)) {\n return\n }\n if (w) {\n w.errorEmitted = true\n }\n if (r) {\n r.errorEmitted = true\n }\n self.emit('error', err)\n}\nfunction undestroy() {\n const r = this._readableState\n const w = this._writableState\n if (r) {\n r.constructed = true\n r.closed = false\n r.closeEmitted = false\n r.destroyed = false\n r.errored = null\n r.errorEmitted = false\n r.reading = false\n r.ended = r.readable === false\n r.endEmitted = r.readable === false\n }\n if (w) {\n w.constructed = true\n w.destroyed = false\n w.closed = false\n w.closeEmitted = false\n w.errored = null\n w.errorEmitted = false\n w.finalCalled = false\n w.prefinished = false\n w.ended = w.writable === false\n w.ending = w.writable === false\n w.finished = w.writable === false\n }\n}\nfunction errorOrDestroy(stream, err, sync) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n const r = stream._readableState\n const w = stream._writableState\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n return this\n }\n if ((r !== null && r !== undefined && r.autoDestroy) || (w !== null && w !== undefined && w.autoDestroy))\n stream.destroy(err)\n else if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n if (sync) {\n process.nextTick(emitErrorNT, stream, err)\n } else {\n emitErrorNT(stream, err)\n }\n }\n}\nfunction construct(stream, cb) {\n if (typeof stream._construct !== 'function') {\n return\n }\n const r = stream._readableState\n const w = stream._writableState\n if (r) {\n r.constructed = false\n }\n if (w) {\n w.constructed = false\n }\n stream.once(kConstruct, cb)\n if (stream.listenerCount(kConstruct) > 1) {\n // Duplex\n return\n }\n process.nextTick(constructNT, stream)\n}\nfunction constructNT(stream) {\n let called = false\n function onConstruct(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : new ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n const r = stream._readableState\n const w = stream._writableState\n const s = w || r\n if (r) {\n r.constructed = true\n }\n if (w) {\n w.constructed = true\n }\n if (s.destroyed) {\n stream.emit(kDestroy, err)\n } else if (err) {\n errorOrDestroy(stream, err, true)\n } else {\n process.nextTick(emitConstructNT, stream)\n }\n }\n try {\n stream._construct((err) => {\n process.nextTick(onConstruct, err)\n })\n } catch (err) {\n process.nextTick(onConstruct, err)\n }\n}\nfunction emitConstructNT(stream) {\n stream.emit(kConstruct)\n}\nfunction isRequest(stream) {\n return (stream === null || stream === undefined ? undefined : stream.setHeader) && typeof stream.abort === 'function'\n}\nfunction emitCloseLegacy(stream) {\n stream.emit('close')\n}\nfunction emitErrorCloseLegacy(stream, err) {\n stream.emit('error', err)\n process.nextTick(emitCloseLegacy, stream)\n}\n\n// Normalize destroy for legacy.\nfunction destroyer(stream, err) {\n if (!stream || isDestroyed(stream)) {\n return\n }\n if (!err && !isFinished(stream)) {\n err = new AbortError()\n }\n\n // TODO: Remove isRequest branches.\n if (isServerRequest(stream)) {\n stream.socket = null\n stream.destroy(err)\n } else if (isRequest(stream)) {\n stream.abort()\n } else if (isRequest(stream.req)) {\n stream.req.abort()\n } else if (typeof stream.destroy === 'function') {\n stream.destroy(err)\n } else if (typeof stream.close === 'function') {\n // TODO: Don't lose err?\n stream.close()\n } else if (err) {\n process.nextTick(emitErrorCloseLegacy, stream, err)\n } else {\n process.nextTick(emitCloseLegacy, stream)\n }\n if (!stream.destroyed) {\n stream[kIsDestroyed] = true\n }\n}\nmodule.exports = {\n construct,\n destroyer,\n destroy,\n undestroy,\n errorOrDestroy\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototype inheritance, this class\n// prototypically inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict'\n\nconst {\n ObjectDefineProperties,\n ObjectGetOwnPropertyDescriptor,\n ObjectKeys,\n ObjectSetPrototypeOf\n} = require('../../ours/primordials')\nmodule.exports = Duplex\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nObjectSetPrototypeOf(Duplex.prototype, Readable.prototype)\nObjectSetPrototypeOf(Duplex, Readable)\n{\n const keys = ObjectKeys(Writable.prototype)\n // Allow the keys array to be GC'ed.\n for (let i = 0; i < keys.length; i++) {\n const method = keys[i]\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options)\n Readable.call(this, options)\n Writable.call(this, options)\n if (options) {\n this.allowHalfOpen = options.allowHalfOpen !== false\n if (options.readable === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if (options.writable === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n } else {\n this.allowHalfOpen = true\n }\n}\nObjectDefineProperties(Duplex.prototype, {\n writable: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable')\n },\n writableHighWaterMark: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark')\n },\n writableObjectMode: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode')\n },\n writableBuffer: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer')\n },\n writableLength: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableLength')\n },\n writableFinished: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableFinished')\n },\n writableCorked: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableCorked')\n },\n writableEnded: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableEnded')\n },\n writableNeedDrain: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableNeedDrain')\n },\n destroyed: {\n __proto__: null,\n get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false\n }\n return this._readableState.destroyed && this._writableState.destroyed\n },\n set(value) {\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n if (this._readableState && this._writableState) {\n this._readableState.destroyed = value\n this._writableState.destroyed = value\n }\n }\n }\n})\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nDuplex.fromWeb = function (pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options)\n}\nDuplex.toWeb = function (duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)\n}\nlet duplexify\nDuplex.from = function (body) {\n if (!duplexify) {\n duplexify = require('./duplexify')\n }\n return duplexify(body, 'body')\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\n;('use strict')\nconst bufferModule = require('buffer')\nconst {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream,\n isReadableStream,\n isWritableStream\n} = require('./utils')\nconst eos = require('./end-of-stream')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE }\n} = require('../../ours/errors')\nconst { destroyer } = require('./destroy')\nconst Duplex = require('./duplex')\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nconst { createDeferredPromise } = require('../../ours/util')\nconst from = require('./from')\nconst Blob = globalThis.Blob || bufferModule.Blob\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst { FunctionPrototypeCall } = require('../../ours/primordials')\n\n// This is needed for pre node 17.\nclass Duplexify extends Duplex {\n constructor(options) {\n super(options)\n\n // https://github.com/nodejs/node/pull/34385\n\n if ((options === null || options === undefined ? undefined : options.readable) === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if ((options === null || options === undefined ? undefined : options.writable) === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n }\n}\nmodule.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body)) {\n return body\n }\n if (isReadableNodeStream(body)) {\n return _duplexify({\n readable: body\n })\n }\n if (isWritableNodeStream(body)) {\n return _duplexify({\n writable: body\n })\n }\n if (isNodeStream(body)) {\n return _duplexify({\n writable: false,\n readable: false\n })\n }\n if (isReadableStream(body)) {\n return _duplexify({\n readable: Readable.fromWeb(body)\n })\n }\n if (isWritableStream(body)) {\n return _duplexify({\n writable: Writable.fromWeb(body)\n })\n }\n if (typeof body === 'function') {\n const { value, write, final, destroy } = fromAsyncGen(body)\n if (isIterable(value)) {\n return from(Duplexify, value, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n write,\n final,\n destroy\n })\n }\n const then = value === null || value === undefined ? undefined : value.then\n if (typeof then === 'function') {\n let d\n const promise = FunctionPrototypeCall(\n then,\n value,\n (val) => {\n if (val != null) {\n throw new ERR_INVALID_RETURN_VALUE('nully', 'body', val)\n }\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n // TODO (ronag): highWaterMark?\n objectMode: true,\n readable: false,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise\n process.nextTick(cb, null)\n } catch (err) {\n process.nextTick(cb, err)\n }\n })\n },\n destroy\n }))\n }\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or AsyncFunction', name, value)\n }\n if (isBlob(body)) {\n return duplexify(body.arrayBuffer())\n }\n if (isIterable(body)) {\n return from(Duplexify, body, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n writable: false\n })\n }\n if (\n isReadableStream(body === null || body === undefined ? undefined : body.readable) &&\n isWritableStream(body === null || body === undefined ? undefined : body.writable)\n ) {\n return Duplexify.fromWeb(body)\n }\n if (\n typeof (body === null || body === undefined ? undefined : body.writable) === 'object' ||\n typeof (body === null || body === undefined ? undefined : body.readable) === 'object'\n ) {\n const readable =\n body !== null && body !== undefined && body.readable\n ? isReadableNodeStream(body === null || body === undefined ? undefined : body.readable)\n ? body === null || body === undefined\n ? undefined\n : body.readable\n : duplexify(body.readable)\n : undefined\n const writable =\n body !== null && body !== undefined && body.writable\n ? isWritableNodeStream(body === null || body === undefined ? undefined : body.writable)\n ? body === null || body === undefined\n ? undefined\n : body.writable\n : duplexify(body.writable)\n : undefined\n return _duplexify({\n readable,\n writable\n })\n }\n const then = body === null || body === undefined ? undefined : body.then\n if (typeof then === 'function') {\n let d\n FunctionPrototypeCall(\n then,\n body,\n (val) => {\n if (val != null) {\n d.push(val)\n }\n d.push(null)\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n objectMode: true,\n writable: false,\n read() {}\n }))\n }\n throw new ERR_INVALID_ARG_TYPE(\n name,\n [\n 'Blob',\n 'ReadableStream',\n 'WritableStream',\n 'Stream',\n 'Iterable',\n 'AsyncIterable',\n 'Function',\n '{ readable, writable } pair',\n 'Promise'\n ],\n body\n )\n}\nfunction fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise()\n const ac = new AbortController()\n const signal = ac.signal\n const value = fn(\n (async function* () {\n while (true) {\n const _promise = promise\n promise = null\n const { chunk, done, cb } = await _promise\n process.nextTick(cb)\n if (done) return\n if (signal.aborted)\n throw new AbortError(undefined, {\n cause: signal.reason\n })\n ;({ promise, resolve } = createDeferredPromise())\n yield chunk\n }\n })(),\n {\n signal\n }\n )\n return {\n value,\n write(chunk, encoding, cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n chunk,\n done: false,\n cb\n })\n },\n final(cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n done: true,\n cb\n })\n },\n destroy(err, cb) {\n ac.abort()\n cb(err)\n }\n }\n}\nfunction _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== 'function' ? Readable.wrap(pair.readable) : pair.readable\n const w = pair.writable\n let readable = !!isReadable(r)\n let writable = !!isWritable(w)\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n }\n }\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplexify({\n // TODO (ronag): highWaterMark?\n readableObjectMode: !!(r !== null && r !== undefined && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== undefined && w.writableObjectMode),\n readable,\n writable\n })\n if (writable) {\n eos(w, (err) => {\n writable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n d._write = function (chunk, encoding, callback) {\n if (w.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n w.end()\n onfinish = callback\n }\n w.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n w.on('finish', function () {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n eos(r, (err) => {\n readable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n r.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n r.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = r.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n destroyer(w, err)\n destroyer(r, err)\n }\n }\n return d\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes\nconst { kEmptyObject, once } = require('../../ours/util')\nconst { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require('../validators')\nconst { Promise, PromisePrototypeThen, SymbolDispose } = require('../../ours/primordials')\nconst {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose,\n kIsClosedPromise\n} = require('./utils')\nlet addAbortListener\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function'\n}\nconst nop = () => {}\nfunction eos(stream, options, callback) {\n var _options$readable, _options$writable\n if (arguments.length === 2) {\n callback = options\n options = kEmptyObject\n } else if (options == null) {\n options = kEmptyObject\n } else {\n validateObject(options, 'options')\n }\n validateFunction(callback, 'callback')\n validateAbortSignal(options.signal, 'options.signal')\n callback = once(callback)\n if (isReadableStream(stream) || isWritableStream(stream)) {\n return eosWeb(stream, options, callback)\n }\n if (!isNodeStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n const readable =\n (_options$readable = options.readable) !== null && _options$readable !== undefined\n ? _options$readable\n : isReadableNodeStream(stream)\n const writable =\n (_options$writable = options.writable) !== null && _options$writable !== undefined\n ? _options$writable\n : isWritableNodeStream(stream)\n const wState = stream._writableState\n const rState = stream._readableState\n const onlegacyfinish = () => {\n if (!stream.writable) {\n onfinish()\n }\n }\n\n // TODO (ronag): Improve soft detection to include core modules and\n // common ecosystem modules that do properly emit 'close' but fail\n // this generic check.\n let willEmitClose =\n _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable\n let writableFinished = isWritableFinished(stream, false)\n const onfinish = () => {\n writableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.readable || readable)) {\n return\n }\n if (!readable || readableFinished) {\n callback.call(stream)\n }\n }\n let readableFinished = isReadableFinished(stream, false)\n const onend = () => {\n readableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.writable || writable)) {\n return\n }\n if (!writable || writableFinished) {\n callback.call(stream)\n }\n }\n const onerror = (err) => {\n callback.call(stream, err)\n }\n let closed = isClosed(stream)\n const onclose = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n if (readable && !readableFinished && isReadableNodeStream(stream, true)) {\n if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n callback.call(stream)\n }\n const onclosed = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n callback.call(stream)\n }\n const onrequest = () => {\n stream.req.on('finish', onfinish)\n }\n if (isRequest(stream)) {\n stream.on('complete', onfinish)\n if (!willEmitClose) {\n stream.on('abort', onclose)\n }\n if (stream.req) {\n onrequest()\n } else {\n stream.on('request', onrequest)\n }\n } else if (writable && !wState) {\n // legacy streams\n stream.on('end', onlegacyfinish)\n stream.on('close', onlegacyfinish)\n }\n\n // Not all streams will emit 'close' after 'aborted'.\n if (!willEmitClose && typeof stream.aborted === 'boolean') {\n stream.on('aborted', onclose)\n }\n stream.on('end', onend)\n stream.on('finish', onfinish)\n if (options.error !== false) {\n stream.on('error', onerror)\n }\n stream.on('close', onclose)\n if (closed) {\n process.nextTick(onclose)\n } else if (\n (wState !== null && wState !== undefined && wState.errorEmitted) ||\n (rState !== null && rState !== undefined && rState.errorEmitted)\n ) {\n if (!willEmitClose) {\n process.nextTick(onclosed)\n }\n } else if (\n !readable &&\n (!willEmitClose || isReadable(stream)) &&\n (writableFinished || isWritable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (\n !writable &&\n (!willEmitClose || isWritable(stream)) &&\n (readableFinished || isReadable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (rState && stream.req && stream.aborted) {\n process.nextTick(onclosed)\n }\n const cleanup = () => {\n callback = nop\n stream.removeListener('aborted', onclose)\n stream.removeListener('complete', onfinish)\n stream.removeListener('abort', onclose)\n stream.removeListener('request', onrequest)\n if (stream.req) stream.req.removeListener('finish', onfinish)\n stream.removeListener('end', onlegacyfinish)\n stream.removeListener('close', onlegacyfinish)\n stream.removeListener('finish', onfinish)\n stream.removeListener('end', onend)\n stream.removeListener('error', onerror)\n stream.removeListener('close', onclose)\n }\n if (options.signal && !closed) {\n const abort = () => {\n // Keep it because cleanup removes it.\n const endCallback = callback\n cleanup()\n endCallback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n return cleanup\n}\nfunction eosWeb(stream, options, callback) {\n let isAborted = false\n let abort = nop\n if (options.signal) {\n abort = () => {\n isAborted = true\n callback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n const resolverFn = (...args) => {\n if (!isAborted) {\n process.nextTick(() => callback.apply(stream, args))\n }\n }\n PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn)\n return nop\n}\nfunction finished(stream, opts) {\n var _opts\n let autoCleanup = false\n if (opts === null) {\n opts = kEmptyObject\n }\n if ((_opts = opts) !== null && _opts !== undefined && _opts.cleanup) {\n validateBoolean(opts.cleanup, 'cleanup')\n autoCleanup = opts.cleanup\n }\n return new Promise((resolve, reject) => {\n const cleanup = eos(stream, opts, (err) => {\n if (autoCleanup) {\n cleanup()\n }\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n })\n })\n}\nmodule.exports = eos\nmodule.exports.finished = finished\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_NULL_VALUES } = require('../../ours/errors').codes\nfunction from(Readable, iterable, opts) {\n let iterator\n if (typeof iterable === 'string' || iterable instanceof Buffer) {\n return new Readable({\n objectMode: true,\n ...opts,\n read() {\n this.push(iterable)\n this.push(null)\n }\n })\n }\n let isAsync\n if (iterable && iterable[SymbolAsyncIterator]) {\n isAsync = true\n iterator = iterable[SymbolAsyncIterator]()\n } else if (iterable && iterable[SymbolIterator]) {\n isAsync = false\n iterator = iterable[SymbolIterator]()\n } else {\n throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable)\n }\n const readable = new Readable({\n objectMode: true,\n highWaterMark: 1,\n // TODO(ronag): What options should be allowed?\n ...opts\n })\n\n // Flag to protect against _read\n // being called before last iteration completion.\n let reading = false\n readable._read = function () {\n if (!reading) {\n reading = true\n next()\n }\n }\n readable._destroy = function (error, cb) {\n PromisePrototypeThen(\n close(error),\n () => process.nextTick(cb, error),\n // nextTick is here in case cb throws\n (e) => process.nextTick(cb, e || error)\n )\n }\n async function close(error) {\n const hadError = error !== undefined && error !== null\n const hasThrow = typeof iterator.throw === 'function'\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error)\n await value\n if (done) {\n return\n }\n }\n if (typeof iterator.return === 'function') {\n const { value } = await iterator.return()\n await value\n }\n }\n async function next() {\n for (;;) {\n try {\n const { value, done } = isAsync ? await iterator.next() : iterator.next()\n if (done) {\n readable.push(null)\n } else {\n const res = value && typeof value.then === 'function' ? await value : value\n if (res === null) {\n reading = false\n throw new ERR_STREAM_NULL_VALUES()\n } else if (readable.push(res)) {\n continue\n } else {\n reading = false\n }\n }\n } catch (err) {\n readable.destroy(err)\n }\n break\n }\n }\n return readable\n}\nmodule.exports = from\n","'use strict'\n\nconst { ArrayIsArray, ObjectSetPrototypeOf } = require('../../ours/primordials')\nconst { EventEmitter: EE } = require('events')\nfunction Stream(opts) {\n EE.call(this, opts)\n}\nObjectSetPrototypeOf(Stream.prototype, EE.prototype)\nObjectSetPrototypeOf(Stream, EE)\nStream.prototype.pipe = function (dest, options) {\n const source = this\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === false && source.pause) {\n source.pause()\n }\n }\n source.on('data', ondata)\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume()\n }\n }\n dest.on('drain', ondrain)\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend)\n source.on('close', onclose)\n }\n let didOnEnd = false\n function onend() {\n if (didOnEnd) return\n didOnEnd = true\n dest.end()\n }\n function onclose() {\n if (didOnEnd) return\n didOnEnd = true\n if (typeof dest.destroy === 'function') dest.destroy()\n }\n\n // Don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup()\n if (EE.listenerCount(this, 'error') === 0) {\n this.emit('error', er)\n }\n }\n prependListener(source, 'error', onerror)\n prependListener(dest, 'error', onerror)\n\n // Remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata)\n dest.removeListener('drain', ondrain)\n source.removeListener('end', onend)\n source.removeListener('close', onclose)\n source.removeListener('error', onerror)\n dest.removeListener('error', onerror)\n source.removeListener('end', cleanup)\n source.removeListener('close', cleanup)\n dest.removeListener('close', cleanup)\n }\n source.on('end', cleanup)\n source.on('close', cleanup)\n dest.on('close', cleanup)\n dest.emit('pipe', source)\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest\n}\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn)\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn)\n else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn)\n else emitter._events[event] = [fn, emitter._events[event]]\n}\nmodule.exports = {\n Stream,\n prependListener\n}\n","'use strict'\n\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst {\n codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError\n} = require('../../ours/errors')\nconst { validateAbortSignal, validateInteger, validateObject } = require('../validators')\nconst kWeakHandler = require('../../ours/primordials').Symbol('kWeak')\nconst kResistStopPropagation = require('../../ours/primordials').Symbol('kResistStopPropagation')\nconst { finished } = require('./end-of-stream')\nconst staticCompose = require('./compose')\nconst { addAbortSignalNoValidate } = require('./add-abort-signal')\nconst { isWritable, isNodeStream } = require('./utils')\nconst { deprecate } = require('../../ours/util')\nconst {\n ArrayPrototypePush,\n Boolean,\n MathFloor,\n Number,\n NumberIsNaN,\n Promise,\n PromiseReject,\n PromiseResolve,\n PromisePrototypeThen,\n Symbol\n} = require('../../ours/primordials')\nconst kEmpty = Symbol('kEmpty')\nconst kEof = Symbol('kEof')\nfunction compose(stream, options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n if (isNodeStream(stream) && !isWritable(stream)) {\n throw new ERR_INVALID_ARG_VALUE('stream', stream, 'must be writable')\n }\n const composedStream = staticCompose(this, stream)\n if (options !== null && options !== undefined && options.signal) {\n // Not validating as we already validated before\n addAbortSignalNoValidate(options.signal, composedStream)\n }\n return composedStream\n}\nfunction map(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let concurrency = 1\n if ((options === null || options === undefined ? undefined : options.concurrency) != null) {\n concurrency = MathFloor(options.concurrency)\n }\n let highWaterMark = concurrency - 1\n if ((options === null || options === undefined ? undefined : options.highWaterMark) != null) {\n highWaterMark = MathFloor(options.highWaterMark)\n }\n validateInteger(concurrency, 'options.concurrency', 1)\n validateInteger(highWaterMark, 'options.highWaterMark', 0)\n highWaterMark += concurrency\n return async function* map() {\n const signal = require('../../ours/util').AbortSignalAny(\n [options === null || options === undefined ? undefined : options.signal].filter(Boolean)\n )\n const stream = this\n const queue = []\n const signalOpt = {\n signal\n }\n let next\n let resume\n let done = false\n let cnt = 0\n function onCatch() {\n done = true\n afterItemProcessed()\n }\n function afterItemProcessed() {\n cnt -= 1\n maybeResume()\n }\n function maybeResume() {\n if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {\n resume()\n resume = null\n }\n }\n async function pump() {\n try {\n for await (let val of stream) {\n if (done) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n try {\n val = fn(val, signalOpt)\n if (val === kEmpty) {\n continue\n }\n val = PromiseResolve(val)\n } catch (err) {\n val = PromiseReject(err)\n }\n cnt += 1\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n if (next) {\n next()\n next = null\n }\n if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {\n await new Promise((resolve) => {\n resume = resolve\n })\n }\n }\n queue.push(kEof)\n } catch (err) {\n const val = PromiseReject(err)\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n } finally {\n done = true\n if (next) {\n next()\n next = null\n }\n }\n }\n pump()\n try {\n while (true) {\n while (queue.length > 0) {\n const val = await queue[0]\n if (val === kEof) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n if (val !== kEmpty) {\n yield val\n }\n queue.shift()\n maybeResume()\n }\n await new Promise((resolve) => {\n next = resolve\n })\n }\n } finally {\n done = true\n if (resume) {\n resume()\n resume = null\n }\n }\n }.call(this)\n}\nfunction asIndexedPairs(options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n return async function* asIndexedPairs() {\n let index = 0\n for await (const val of this) {\n var _options$signal\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal = options.signal) !== null &&\n _options$signal !== undefined &&\n _options$signal.aborted\n ) {\n throw new AbortError({\n cause: options.signal.reason\n })\n }\n yield [index++, val]\n }\n }.call(this)\n}\nasync function some(fn, options = undefined) {\n for await (const unused of filter.call(this, fn, options)) {\n return true\n }\n return false\n}\nasync function every(fn, options = undefined) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n // https://en.wikipedia.org/wiki/De_Morgan%27s_laws\n return !(await some.call(\n this,\n async (...args) => {\n return !(await fn(...args))\n },\n options\n ))\n}\nasync function find(fn, options) {\n for await (const result of filter.call(this, fn, options)) {\n return result\n }\n return undefined\n}\nasync function forEach(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function forEachFn(value, options) {\n await fn(value, options)\n return kEmpty\n }\n // eslint-disable-next-line no-unused-vars\n for await (const unused of map.call(this, forEachFn, options));\n}\nfunction filter(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function filterFn(value, options) {\n if (await fn(value, options)) {\n return value\n }\n return kEmpty\n }\n return map.call(this, filterFn, options)\n}\n\n// Specific to provide better error to reduce since the argument is only\n// missing if the stream has no items in it - but the code is still appropriate\nclass ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS {\n constructor() {\n super('reduce')\n this.message = 'Reduce of an empty stream requires an initial value'\n }\n}\nasync function reduce(reducer, initialValue, options) {\n var _options$signal2\n if (typeof reducer !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('reducer', ['Function', 'AsyncFunction'], reducer)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let hasInitialValue = arguments.length > 1\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal2 = options.signal) !== null &&\n _options$signal2 !== undefined &&\n _options$signal2.aborted\n ) {\n const err = new AbortError(undefined, {\n cause: options.signal.reason\n })\n this.once('error', () => {}) // The error is already propagated\n await finished(this.destroy(err))\n throw err\n }\n const ac = new AbortController()\n const signal = ac.signal\n if (options !== null && options !== undefined && options.signal) {\n const opts = {\n once: true,\n [kWeakHandler]: this,\n [kResistStopPropagation]: true\n }\n options.signal.addEventListener('abort', () => ac.abort(), opts)\n }\n let gotAnyItemFromStream = false\n try {\n for await (const value of this) {\n var _options$signal3\n gotAnyItemFromStream = true\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal3 = options.signal) !== null &&\n _options$signal3 !== undefined &&\n _options$signal3.aborted\n ) {\n throw new AbortError()\n }\n if (!hasInitialValue) {\n initialValue = value\n hasInitialValue = true\n } else {\n initialValue = await reducer(initialValue, value, {\n signal\n })\n }\n }\n if (!gotAnyItemFromStream && !hasInitialValue) {\n throw new ReduceAwareErrMissingArgs()\n }\n } finally {\n ac.abort()\n }\n return initialValue\n}\nasync function toArray(options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n const result = []\n for await (const val of this) {\n var _options$signal4\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal4 = options.signal) !== null &&\n _options$signal4 !== undefined &&\n _options$signal4.aborted\n ) {\n throw new AbortError(undefined, {\n cause: options.signal.reason\n })\n }\n ArrayPrototypePush(result, val)\n }\n return result\n}\nfunction flatMap(fn, options) {\n const values = map.call(this, fn, options)\n return async function* flatMap() {\n for await (const val of values) {\n yield* val\n }\n }.call(this)\n}\nfunction toIntegerOrInfinity(number) {\n // We coerce here to align with the spec\n // https://github.com/tc39/proposal-iterator-helpers/issues/169\n number = Number(number)\n if (NumberIsNaN(number)) {\n return 0\n }\n if (number < 0) {\n throw new ERR_OUT_OF_RANGE('number', '>= 0', number)\n }\n return number\n}\nfunction drop(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* drop() {\n var _options$signal5\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal5 = options.signal) !== null &&\n _options$signal5 !== undefined &&\n _options$signal5.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal6\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal6 = options.signal) !== null &&\n _options$signal6 !== undefined &&\n _options$signal6.aborted\n ) {\n throw new AbortError()\n }\n if (number-- <= 0) {\n yield val\n }\n }\n }.call(this)\n}\nfunction take(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* take() {\n var _options$signal7\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal7 = options.signal) !== null &&\n _options$signal7 !== undefined &&\n _options$signal7.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal8\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal8 = options.signal) !== null &&\n _options$signal8 !== undefined &&\n _options$signal8.aborted\n ) {\n throw new AbortError()\n }\n if (number-- > 0) {\n yield val\n }\n\n // Don't get another item from iterator in case we reached the end\n if (number <= 0) {\n return\n }\n }\n }.call(this)\n}\nmodule.exports.streamReturningOperators = {\n asIndexedPairs: deprecate(asIndexedPairs, 'readable.asIndexedPairs will be removed in a future version.'),\n drop,\n filter,\n flatMap,\n map,\n take,\n compose\n}\nmodule.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf } = require('../../ours/primordials')\nmodule.exports = PassThrough\nconst Transform = require('./transform')\nObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype)\nObjectSetPrototypeOf(PassThrough, Transform)\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options)\n Transform.call(this, options)\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk)\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { ArrayIsArray, Promise, SymbolAsyncIterator, SymbolDispose } = require('../../ours/primordials')\nconst eos = require('./end-of-stream')\nconst { once } = require('../../ours/util')\nconst destroyImpl = require('./destroy')\nconst Duplex = require('./duplex')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_PREMATURE_CLOSE\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateFunction, validateAbortSignal } = require('../validators')\nconst {\n isIterable,\n isReadable,\n isReadableNodeStream,\n isNodeStream,\n isTransformStream,\n isWebStream,\n isReadableStream,\n isReadableFinished\n} = require('./utils')\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nlet PassThrough\nlet Readable\nlet addAbortListener\nfunction destroyer(stream, reading, writing) {\n let finished = false\n stream.on('close', () => {\n finished = true\n })\n const cleanup = eos(\n stream,\n {\n readable: reading,\n writable: writing\n },\n (err) => {\n finished = !err\n }\n )\n return {\n destroy: (err) => {\n if (finished) return\n finished = true\n destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED('pipe'))\n },\n cleanup\n }\n}\nfunction popCallback(streams) {\n // Streams should never be an empty array. It should always contain at least\n // a single stream. Therefore optimize for the average case instead of\n // checking for length === 0 as well.\n validateFunction(streams[streams.length - 1], 'streams[stream.length - 1]')\n return streams.pop()\n}\nfunction makeAsyncIterable(val) {\n if (isIterable(val)) {\n return val\n } else if (isReadableNodeStream(val)) {\n // Legacy streams are not Iterable.\n return fromReadable(val)\n }\n throw new ERR_INVALID_ARG_TYPE('val', ['Readable', 'Iterable', 'AsyncIterable'], val)\n}\nasync function* fromReadable(val) {\n if (!Readable) {\n Readable = require('./readable')\n }\n yield* Readable.prototype[SymbolAsyncIterator].call(val)\n}\nasync function pumpToNode(iterable, writable, finish, { end }) {\n let error\n let onresolve = null\n const resume = (err) => {\n if (err) {\n error = err\n }\n if (onresolve) {\n const callback = onresolve\n onresolve = null\n callback()\n }\n }\n const wait = () =>\n new Promise((resolve, reject) => {\n if (error) {\n reject(error)\n } else {\n onresolve = () => {\n if (error) {\n reject(error)\n } else {\n resolve()\n }\n }\n }\n })\n writable.on('drain', resume)\n const cleanup = eos(\n writable,\n {\n readable: false\n },\n resume\n )\n try {\n if (writable.writableNeedDrain) {\n await wait()\n }\n for await (const chunk of iterable) {\n if (!writable.write(chunk)) {\n await wait()\n }\n }\n if (end) {\n writable.end()\n await wait()\n }\n finish()\n } catch (err) {\n finish(error !== err ? aggregateTwoErrors(error, err) : err)\n } finally {\n cleanup()\n writable.off('drain', resume)\n }\n}\nasync function pumpToWeb(readable, writable, finish, { end }) {\n if (isTransformStream(writable)) {\n writable = writable.writable\n }\n // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure\n const writer = writable.getWriter()\n try {\n for await (const chunk of readable) {\n await writer.ready\n writer.write(chunk).catch(() => {})\n }\n await writer.ready\n if (end) {\n await writer.close()\n }\n finish()\n } catch (err) {\n try {\n await writer.abort(err)\n finish(err)\n } catch (err) {\n finish(err)\n }\n }\n}\nfunction pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)))\n}\nfunction pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray(streams[0])) {\n streams = streams[0]\n }\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams')\n }\n const ac = new AbortController()\n const signal = ac.signal\n const outerSignal = opts === null || opts === undefined ? undefined : opts.signal\n\n // Need to cleanup event listeners if last stream is readable\n // https://github.com/nodejs/node/issues/35452\n const lastStreamCleanup = []\n validateAbortSignal(outerSignal, 'options.signal')\n function abort() {\n finishImpl(new AbortError())\n }\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n let disposable\n if (outerSignal) {\n disposable = addAbortListener(outerSignal, abort)\n }\n let error\n let value\n const destroys = []\n let finishCount = 0\n function finish(err) {\n finishImpl(err, --finishCount === 0)\n }\n function finishImpl(err, final) {\n var _disposable\n if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE')) {\n error = err\n }\n if (!error && !final) {\n return\n }\n while (destroys.length) {\n destroys.shift()(error)\n }\n ;(_disposable = disposable) === null || _disposable === undefined ? undefined : _disposable[SymbolDispose]()\n ac.abort()\n if (final) {\n if (!error) {\n lastStreamCleanup.forEach((fn) => fn())\n }\n process.nextTick(callback, error, value)\n }\n }\n let ret\n for (let i = 0; i < streams.length; i++) {\n const stream = streams[i]\n const reading = i < streams.length - 1\n const writing = i > 0\n const end = reading || (opts === null || opts === undefined ? undefined : opts.end) !== false\n const isLastStream = i === streams.length - 1\n if (isNodeStream(stream)) {\n if (end) {\n const { destroy, cleanup } = destroyer(stream, reading, writing)\n destroys.push(destroy)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n\n // Catch stream errors that occur after pipe/pump has completed.\n function onError(err) {\n if (err && err.name !== 'AbortError' && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n finish(err)\n }\n }\n stream.on('error', onError)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(() => {\n stream.removeListener('error', onError)\n })\n }\n }\n if (i === 0) {\n if (typeof stream === 'function') {\n ret = stream({\n signal\n })\n if (!isIterable(ret)) {\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or Stream', 'source', ret)\n }\n } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n } else if (typeof stream === 'function') {\n if (isTransformStream(ret)) {\n var _ret\n ret = makeAsyncIterable((_ret = ret) === null || _ret === undefined ? undefined : _ret.readable)\n } else {\n ret = makeAsyncIterable(ret)\n }\n ret = stream(ret, {\n signal\n })\n if (reading) {\n if (!isIterable(ret, true)) {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable', `transform[${i - 1}]`, ret)\n }\n } else {\n var _ret2\n if (!PassThrough) {\n PassThrough = require('./passthrough')\n }\n\n // If the last argument to pipeline is not a stream\n // we must create a proxy stream so that pipeline(...)\n // always returns a stream which can be further\n // composed through `.pipe(stream)`.\n\n const pt = new PassThrough({\n objectMode: true\n })\n\n // Handle Promises/A+ spec, `then` could be a getter that throws on\n // second use.\n const then = (_ret2 = ret) === null || _ret2 === undefined ? undefined : _ret2.then\n if (typeof then === 'function') {\n finishCount++\n then.call(\n ret,\n (val) => {\n value = val\n if (val != null) {\n pt.write(val)\n }\n if (end) {\n pt.end()\n }\n process.nextTick(finish)\n },\n (err) => {\n pt.destroy(err)\n process.nextTick(finish, err)\n }\n )\n } else if (isIterable(ret, true)) {\n finishCount++\n pumpToNode(ret, pt, finish, {\n end\n })\n } else if (isReadableStream(ret) || isTransformStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, pt, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable or Promise', 'destination', ret)\n }\n ret = pt\n const { destroy, cleanup } = destroyer(ret, false, true)\n destroys.push(destroy)\n if (isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n } else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2\n const cleanup = pipe(ret, stream, finish, {\n end\n })\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n } else if (isTransformStream(ret) || isReadableStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, stream, finish, {\n end\n })\n } else if (isIterable(ret)) {\n finishCount++\n pumpToNode(ret, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else if (isWebStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount++\n pumpToWeb(makeAsyncIterable(ret), stream, finish, {\n end\n })\n } else if (isReadableStream(ret) || isIterable(ret)) {\n finishCount++\n pumpToWeb(ret, stream, finish, {\n end\n })\n } else if (isTransformStream(ret)) {\n finishCount++\n pumpToWeb(ret.readable, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n }\n if (\n (signal !== null && signal !== undefined && signal.aborted) ||\n (outerSignal !== null && outerSignal !== undefined && outerSignal.aborted)\n ) {\n process.nextTick(abort)\n }\n return ret\n}\nfunction pipe(src, dst, finish, { end }) {\n let ended = false\n dst.on('close', () => {\n if (!ended) {\n // Finish if the destination closes before the source has completed.\n finish(new ERR_STREAM_PREMATURE_CLOSE())\n }\n })\n src.pipe(dst, {\n end: false\n }) // If end is true we already will have a listener to end dst.\n\n if (end) {\n // Compat. Before node v10.12.0 stdio used to throw an error so\n // pipe() did/does not end() stdio destinations.\n // Now they allow it but \"secretly\" don't close the underlying fd.\n\n function endFn() {\n ended = true\n dst.end()\n }\n if (isReadableFinished(src)) {\n // End the destination if the source has already ended.\n process.nextTick(endFn)\n } else {\n src.once('end', endFn)\n }\n } else {\n finish()\n }\n eos(\n src,\n {\n readable: true,\n writable: false\n },\n (err) => {\n const rState = src._readableState\n if (\n err &&\n err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&\n rState &&\n rState.ended &&\n !rState.errored &&\n !rState.errorEmitted\n ) {\n // Some readable streams will emit 'close' before 'end'. However, since\n // this is on the readable side 'end' should still be emitted if the\n // stream has been ended and no error emitted. This should be allowed in\n // favor of backwards compatibility. Since the stream is piped to a\n // destination this should not result in any observable difference.\n // We don't need to check if this is a writable premature close since\n // eos will only fail with premature close on the reading side for\n // duplex streams.\n src.once('end', finish).once('error', finish)\n } else {\n finish(err)\n }\n }\n )\n return eos(\n dst,\n {\n readable: false,\n writable: true\n },\n finish\n )\n}\nmodule.exports = {\n pipelineImpl,\n pipeline\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise,\n SafeSet,\n SymbolAsyncDispose,\n SymbolAsyncIterator,\n Symbol\n} = require('../../ours/primordials')\nmodule.exports = Readable\nReadable.ReadableState = ReadableState\nconst { EventEmitter: EE } = require('events')\nconst { Stream, prependListener } = require('./legacy')\nconst { Buffer } = require('buffer')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst eos = require('./end-of-stream')\nlet debug = require('../../ours/util').debuglog('stream', (fn) => {\n debug = fn\n})\nconst BufferList = require('./buffer_list')\nconst destroyImpl = require('./destroy')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateObject } = require('../validators')\nconst kPaused = Symbol('kPaused')\nconst { StringDecoder } = require('string_decoder')\nconst from = require('./from')\nObjectSetPrototypeOf(Readable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Readable, Stream)\nconst nop = () => {}\nconst { errorOrDestroy } = destroyImpl\nconst kObjectMode = 1 << 0\nconst kEnded = 1 << 1\nconst kEndEmitted = 1 << 2\nconst kReading = 1 << 3\nconst kConstructed = 1 << 4\nconst kSync = 1 << 5\nconst kNeedReadable = 1 << 6\nconst kEmittedReadable = 1 << 7\nconst kReadableListening = 1 << 8\nconst kResumeScheduled = 1 << 9\nconst kErrorEmitted = 1 << 10\nconst kEmitClose = 1 << 11\nconst kAutoDestroy = 1 << 12\nconst kDestroyed = 1 << 13\nconst kClosed = 1 << 14\nconst kCloseEmitted = 1 << 15\nconst kMultiAwaitDrain = 1 << 16\nconst kReadingMore = 1 << 17\nconst kDataEmitted = 1 << 18\n\n// TODO(benjamingr) it is likely slower to do it this way than with free functions\nfunction makeBitMapDescriptor(bit) {\n return {\n enumerable: false,\n get() {\n return (this.state & bit) !== 0\n },\n set(value) {\n if (value) this.state |= bit\n else this.state &= ~bit\n }\n }\n}\nObjectDefineProperties(ReadableState.prototype, {\n objectMode: makeBitMapDescriptor(kObjectMode),\n ended: makeBitMapDescriptor(kEnded),\n endEmitted: makeBitMapDescriptor(kEndEmitted),\n reading: makeBitMapDescriptor(kReading),\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n constructed: makeBitMapDescriptor(kConstructed),\n // A flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n sync: makeBitMapDescriptor(kSync),\n // Whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n needReadable: makeBitMapDescriptor(kNeedReadable),\n emittedReadable: makeBitMapDescriptor(kEmittedReadable),\n readableListening: makeBitMapDescriptor(kReadableListening),\n resumeScheduled: makeBitMapDescriptor(kResumeScheduled),\n // True if the error was already emitted and should not be thrown again.\n errorEmitted: makeBitMapDescriptor(kErrorEmitted),\n emitClose: makeBitMapDescriptor(kEmitClose),\n autoDestroy: makeBitMapDescriptor(kAutoDestroy),\n // Has it been destroyed.\n destroyed: makeBitMapDescriptor(kDestroyed),\n // Indicates whether the stream has finished destroying.\n closed: makeBitMapDescriptor(kClosed),\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n closeEmitted: makeBitMapDescriptor(kCloseEmitted),\n multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),\n // If true, a maybeReadMore has been scheduled.\n readingMore: makeBitMapDescriptor(kReadingMore),\n dataEmitted: makeBitMapDescriptor(kDataEmitted)\n})\nfunction ReadableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Bit map field to store ReadableState more effciently with 1 bit per field\n // instead of a V8 slot per field.\n this.state = kEmitClose | kAutoDestroy | kConstructed | kSync\n // Object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away.\n if (options && options.objectMode) this.state |= kObjectMode\n if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode\n\n // The point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift().\n this.buffer = new BufferList()\n this.length = 0\n this.pipes = []\n this.flowing = null\n this[kPaused] = null\n\n // Should close be emitted on destroy. Defaults to true.\n if (options && options.emitClose === false) this.state &= ~kEmitClose\n\n // Should .destroy() be called after 'end' (and potentially 'finish').\n if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy\n\n // Indicates whether the stream has errored. When true no further\n // _read calls, 'data' or 'readable' events should occur. This is needed\n // since when autoDestroy is disabled we need a way to tell whether the\n // stream has failed.\n this.errored = null\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Ref the piped dest which we need a drain event on it\n // type: null | Writable | Set.\n this.awaitDrainWriters = null\n this.decoder = null\n this.encoding = null\n if (options && options.encoding) {\n this.decoder = new StringDecoder(options.encoding)\n this.encoding = options.encoding\n }\n}\nfunction Readable(options) {\n if (!(this instanceof Readable)) return new Readable(options)\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n this._readableState = new ReadableState(options, this, isDuplex)\n if (options) {\n if (typeof options.read === 'function') this._read = options.read\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal && !isDuplex) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n if (this._readableState.needReadable) {\n maybeReadMore(this, this._readableState)\n }\n })\n}\nReadable.prototype.destroy = destroyImpl.destroy\nReadable.prototype._undestroy = destroyImpl.undestroy\nReadable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nReadable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nReadable.prototype[SymbolAsyncDispose] = function () {\n let error\n if (!this.destroyed) {\n error = this.readableEnded ? null : new AbortError()\n this.destroy(error)\n }\n return new Promise((resolve, reject) => eos(this, (err) => (err && err !== error ? reject(err) : resolve(null))))\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, false)\n}\n\n// Unshift should *always* be something directly out of read().\nReadable.prototype.unshift = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, true)\n}\nfunction readableAddChunk(stream, chunk, encoding, addToFront) {\n debug('readableAddChunk', chunk)\n const state = stream._readableState\n let err\n if ((state.state & kObjectMode) === 0) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding\n if (state.encoding !== encoding) {\n if (addToFront && state.encoding) {\n // When unshifting, if state.encoding is set, we have to save\n // the string in the BufferList with the state encoding.\n chunk = Buffer.from(chunk, encoding).toString(state.encoding)\n } else {\n chunk = Buffer.from(chunk, encoding)\n encoding = ''\n }\n }\n } else if (chunk instanceof Buffer) {\n encoding = ''\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = ''\n } else if (chunk != null) {\n err = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n if (err) {\n errorOrDestroy(stream, err)\n } else if (chunk === null) {\n state.state &= ~kReading\n onEofChunk(stream, state)\n } else if ((state.state & kObjectMode) !== 0 || (chunk && chunk.length > 0)) {\n if (addToFront) {\n if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT())\n else if (state.destroyed || state.errored) return false\n else addChunk(stream, state, chunk, true)\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF())\n } else if (state.destroyed || state.errored) {\n return false\n } else {\n state.state &= ~kReading\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk)\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false)\n else maybeReadMore(stream, state)\n } else {\n addChunk(stream, state, chunk, false)\n }\n }\n } else if (!addToFront) {\n state.state &= ~kReading\n maybeReadMore(stream, state)\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0)\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount('data') > 0) {\n // Use the guard to avoid creating `Set()` repeatedly\n // when we have multiple pipes.\n if ((state.state & kMultiAwaitDrain) !== 0) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n state.dataEmitted = true\n stream.emit('data', chunk)\n } else {\n // Update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length\n if (addToFront) state.buffer.unshift(chunk)\n else state.buffer.push(chunk)\n if ((state.state & kNeedReadable) !== 0) emitReadable(stream)\n }\n maybeReadMore(stream, state)\n}\nReadable.prototype.isPaused = function () {\n const state = this._readableState\n return state[kPaused] === true || state.flowing === false\n}\n\n// Backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n const decoder = new StringDecoder(enc)\n this._readableState.decoder = decoder\n // If setEncoding(null), decoder.encoding equals utf8.\n this._readableState.encoding = this._readableState.decoder.encoding\n const buffer = this._readableState.buffer\n // Iterate over current buffer to convert already stored Buffers:\n let content = ''\n for (const data of buffer) {\n content += decoder.write(data)\n }\n buffer.clear()\n if (content !== '') buffer.push(content)\n this._readableState.length = content.length\n return this\n}\n\n// Don't raise the hwm > 1GB.\nconst MAX_HWM = 0x40000000\nfunction computeNewHighWaterMark(n) {\n if (n > MAX_HWM) {\n throw new ERR_OUT_OF_RANGE('size', '<= 1GiB', n)\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts.\n n--\n n |= n >>> 1\n n |= n >>> 2\n n |= n >>> 4\n n |= n >>> 8\n n |= n >>> 16\n n++\n }\n return n\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || (state.length === 0 && state.ended)) return 0\n if ((state.state & kObjectMode) !== 0) return 1\n if (NumberIsNaN(n)) {\n // Only flow one buffer at a time.\n if (state.flowing && state.length) return state.buffer.first().length\n return state.length\n }\n if (n <= state.length) return n\n return state.ended ? state.length : 0\n}\n\n// You can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n)\n // Same as parseInt(undefined, 10), however V8 7.3 performance regressed\n // in this scenario, so we are doing it manually.\n if (n === undefined) {\n n = NaN\n } else if (!NumberIsInteger(n)) {\n n = NumberParseInt(n, 10)\n }\n const state = this._readableState\n const nOrig = n\n\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n)\n if (n !== 0) state.state &= ~kEmittedReadable\n\n // If we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (\n n === 0 &&\n state.needReadable &&\n ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)\n ) {\n debug('read: emitReadable', state.length, state.ended)\n if (state.length === 0 && state.ended) endReadable(this)\n else emitReadable(this)\n return null\n }\n n = howMuchToRead(n, state)\n\n // If we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this)\n return null\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n let doRead = (state.state & kNeedReadable) !== 0\n debug('need readable', doRead)\n\n // If we currently have less than the highWaterMark, then also read some.\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true\n debug('length less than watermark', doRead)\n }\n\n // However, if we've ended, then there's no point, if we're already\n // reading, then it's unnecessary, if we're constructing we have to wait,\n // and if we're destroyed or errored, then it's not allowed,\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {\n doRead = false\n debug('reading, ended or constructing', doRead)\n } else if (doRead) {\n debug('do read')\n state.state |= kReading | kSync\n // If the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.state |= kNeedReadable\n\n // Call internal read method\n try {\n this._read(state.highWaterMark)\n } catch (err) {\n errorOrDestroy(this, err)\n }\n state.state &= ~kSync\n\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state)\n }\n let ret\n if (n > 0) ret = fromList(n, state)\n else ret = null\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark\n n = 0\n } else {\n state.length -= n\n if (state.multiAwaitDrain) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this)\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted) {\n state.dataEmitted = true\n this.emit('data', ret)\n }\n return ret\n}\nfunction onEofChunk(stream, state) {\n debug('onEofChunk')\n if (state.ended) return\n if (state.decoder) {\n const chunk = state.decoder.end()\n if (chunk && chunk.length) {\n state.buffer.push(chunk)\n state.length += state.objectMode ? 1 : chunk.length\n }\n }\n state.ended = true\n if (state.sync) {\n // If we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call.\n emitReadable(stream)\n } else {\n // Emit 'readable' now to make sure it gets picked up.\n state.needReadable = false\n state.emittedReadable = true\n // We have to emit readable now that we are EOF. Modules\n // in the ecosystem (e.g. dicer) rely on this event being sync.\n emitReadable_(stream)\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n const state = stream._readableState\n debug('emitReadable', state.needReadable, state.emittedReadable)\n state.needReadable = false\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing)\n state.emittedReadable = true\n process.nextTick(emitReadable_, stream)\n }\n}\nfunction emitReadable_(stream) {\n const state = stream._readableState\n debug('emitReadable_', state.destroyed, state.length, state.ended)\n if (!state.destroyed && !state.errored && (state.length || state.ended)) {\n stream.emit('readable')\n state.emittedReadable = false\n }\n\n // The stream needs another readable event if:\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark\n flow(stream)\n}\n\n// At this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore && state.constructed) {\n state.readingMore = true\n process.nextTick(maybeReadMore_, stream, state)\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (\n !state.reading &&\n !state.ended &&\n (state.length < state.highWaterMark || (state.flowing && state.length === 0))\n ) {\n const len = state.length\n debug('maybeReadMore read 0')\n stream.read(0)\n if (len === state.length)\n // Didn't get any data, stop spinning.\n break\n }\n state.readingMore = false\n}\n\n// Abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_read()')\n}\nReadable.prototype.pipe = function (dest, pipeOpts) {\n const src = this\n const state = this._readableState\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain) {\n state.multiAwaitDrain = true\n state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : [])\n }\n }\n state.pipes.push(dest)\n debug('pipe count=%d opts=%j', state.pipes.length, pipeOpts)\n const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr\n const endFn = doEnd ? onend : unpipe\n if (state.endEmitted) process.nextTick(endFn)\n else src.once('end', endFn)\n dest.on('unpipe', onunpipe)\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe')\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true\n cleanup()\n }\n }\n }\n function onend() {\n debug('onend')\n dest.end()\n }\n let ondrain\n let cleanedUp = false\n function cleanup() {\n debug('cleanup')\n // Cleanup event handlers once the pipe is broken.\n dest.removeListener('close', onclose)\n dest.removeListener('finish', onfinish)\n if (ondrain) {\n dest.removeListener('drain', ondrain)\n }\n dest.removeListener('error', onerror)\n dest.removeListener('unpipe', onunpipe)\n src.removeListener('end', onend)\n src.removeListener('end', unpipe)\n src.removeListener('data', ondata)\n cleanedUp = true\n\n // If the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain()\n }\n function pause() {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest) {\n debug('false write response, pause', 0)\n state.awaitDrainWriters = dest\n state.multiAwaitDrain = false\n } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {\n debug('false write response, pause', state.awaitDrainWriters.size)\n state.awaitDrainWriters.add(dest)\n }\n src.pause()\n }\n if (!ondrain) {\n // When the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n ondrain = pipeOnDrain(src, dest)\n dest.on('drain', ondrain)\n }\n }\n src.on('data', ondata)\n function ondata(chunk) {\n debug('ondata')\n const ret = dest.write(chunk)\n debug('dest.write', ret)\n if (ret === false) {\n pause()\n }\n }\n\n // If the dest has an error, then stop piping into it.\n // However, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er)\n unpipe()\n dest.removeListener('error', onerror)\n if (dest.listenerCount('error') === 0) {\n const s = dest._writableState || dest._readableState\n if (s && !s.errorEmitted) {\n // User incorrectly emitted 'error' directly on the stream.\n errorOrDestroy(dest, er)\n } else {\n dest.emit('error', er)\n }\n }\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror)\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish)\n unpipe()\n }\n dest.once('close', onclose)\n function onfinish() {\n debug('onfinish')\n dest.removeListener('close', onclose)\n unpipe()\n }\n dest.once('finish', onfinish)\n function unpipe() {\n debug('unpipe')\n src.unpipe(dest)\n }\n\n // Tell the dest that it's being piped to.\n dest.emit('pipe', src)\n\n // Start the flow if it hasn't been started already.\n\n if (dest.writableNeedDrain === true) {\n pause()\n } else if (!state.flowing) {\n debug('pipe resume')\n src.resume()\n }\n return dest\n}\nfunction pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState\n\n // `ondrain` will call directly,\n // `this` maybe not a reference to dest,\n // so we use the real dest here.\n if (state.awaitDrainWriters === dest) {\n debug('pipeOnDrain', 1)\n state.awaitDrainWriters = null\n } else if (state.multiAwaitDrain) {\n debug('pipeOnDrain', state.awaitDrainWriters.size)\n state.awaitDrainWriters.delete(dest)\n }\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount('data')) {\n src.resume()\n }\n }\n}\nReadable.prototype.unpipe = function (dest) {\n const state = this._readableState\n const unpipeInfo = {\n hasUnpiped: false\n }\n\n // If we're not piping anywhere, then do nothing.\n if (state.pipes.length === 0) return this\n if (!dest) {\n // remove all.\n const dests = state.pipes\n state.pipes = []\n this.pause()\n for (let i = 0; i < dests.length; i++)\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n })\n return this\n }\n\n // Try to find the right one.\n const index = ArrayPrototypeIndexOf(state.pipes, dest)\n if (index === -1) return this\n state.pipes.splice(index, 1)\n if (state.pipes.length === 0) this.pause()\n dest.emit('unpipe', this, unpipeInfo)\n return this\n}\n\n// Set up data events if they are asked for\n// Ensure readable listeners eventually get something.\nReadable.prototype.on = function (ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn)\n const state = this._readableState\n if (ev === 'data') {\n // Update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0\n\n // Try start flowing on next tick if stream isn't explicitly paused.\n if (state.flowing !== false) this.resume()\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true\n state.flowing = false\n state.emittedReadable = false\n debug('on readable', state.length, state.reading)\n if (state.length) {\n emitReadable(this)\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this)\n }\n }\n }\n return res\n}\nReadable.prototype.addListener = Readable.prototype.on\nReadable.prototype.removeListener = function (ev, fn) {\n const res = Stream.prototype.removeListener.call(this, ev, fn)\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nReadable.prototype.off = Readable.prototype.removeListener\nReadable.prototype.removeAllListeners = function (ev) {\n const res = Stream.prototype.removeAllListeners.apply(this, arguments)\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nfunction updateReadableListening(self) {\n const state = self._readableState\n state.readableListening = self.listenerCount('readable') > 0\n if (state.resumeScheduled && state[kPaused] === false) {\n // Flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true\n\n // Crude way to check if we should resume.\n } else if (self.listenerCount('data') > 0) {\n self.resume()\n } else if (!state.readableListening) {\n state.flowing = null\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0')\n self.read(0)\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n const state = this._readableState\n if (!state.flowing) {\n debug('resume')\n // We flow only if there is no one listening\n // for readable, but we still have to call\n // resume().\n state.flowing = !state.readableListening\n resume(this, state)\n }\n state[kPaused] = false\n return this\n}\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true\n process.nextTick(resume_, stream, state)\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading)\n if (!state.reading) {\n stream.read(0)\n }\n state.resumeScheduled = false\n stream.emit('resume')\n flow(stream)\n if (state.flowing && !state.reading) stream.read(0)\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing)\n if (this._readableState.flowing !== false) {\n debug('pause')\n this._readableState.flowing = false\n this.emit('pause')\n }\n this._readableState[kPaused] = true\n return this\n}\nfunction flow(stream) {\n const state = stream._readableState\n debug('flow', state.flowing)\n while (state.flowing && stream.read() !== null);\n}\n\n// Wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n let paused = false\n\n // TODO (ronag): Should this.destroy(err) emit\n // 'error' on the wrapped stream? Would require\n // a static factory method, e.g. Readable.wrap(stream).\n\n stream.on('data', (chunk) => {\n if (!this.push(chunk) && stream.pause) {\n paused = true\n stream.pause()\n }\n })\n stream.on('end', () => {\n this.push(null)\n })\n stream.on('error', (err) => {\n errorOrDestroy(this, err)\n })\n stream.on('close', () => {\n this.destroy()\n })\n stream.on('destroy', () => {\n this.destroy()\n })\n this._read = () => {\n if (paused && stream.resume) {\n paused = false\n stream.resume()\n }\n }\n\n // Proxy all the other methods. Important when wrapping filters and duplexes.\n const streamKeys = ObjectKeys(stream)\n for (let j = 1; j < streamKeys.length; j++) {\n const i = streamKeys[j]\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = stream[i].bind(stream)\n }\n }\n return this\n}\nReadable.prototype[SymbolAsyncIterator] = function () {\n return streamToAsyncIterator(this)\n}\nReadable.prototype.iterator = function (options) {\n if (options !== undefined) {\n validateObject(options, 'options')\n }\n return streamToAsyncIterator(this, options)\n}\nfunction streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== 'function') {\n stream = Readable.wrap(stream, {\n objectMode: true\n })\n }\n const iter = createAsyncIterator(stream, options)\n iter.stream = stream\n return iter\n}\nasync function* createAsyncIterator(stream, options) {\n let callback = nop\n function next(resolve) {\n if (this === stream) {\n callback()\n callback = nop\n } else {\n callback = resolve\n }\n }\n stream.on('readable', next)\n let error\n const cleanup = eos(\n stream,\n {\n writable: false\n },\n (err) => {\n error = err ? aggregateTwoErrors(error, err) : null\n callback()\n callback = nop\n }\n )\n try {\n while (true) {\n const chunk = stream.destroyed ? null : stream.read()\n if (chunk !== null) {\n yield chunk\n } else if (error) {\n throw error\n } else if (error === null) {\n return\n } else {\n await new Promise(next)\n }\n }\n } catch (err) {\n error = aggregateTwoErrors(error, err)\n throw error\n } finally {\n if (\n (error || (options === null || options === undefined ? undefined : options.destroyOnReturn) !== false) &&\n (error === undefined || stream._readableState.autoDestroy)\n ) {\n destroyImpl.destroyer(stream, null)\n } else {\n stream.off('readable', next)\n cleanup()\n }\n }\n}\n\n// Making it explicit these properties are not enumerable\n// because otherwise some prototype manipulation in\n// userland will fail.\nObjectDefineProperties(Readable.prototype, {\n readable: {\n __proto__: null,\n get() {\n const r = this._readableState\n // r.readable === false means that this is part of a Duplex stream\n // where the readable side was disabled upon construction.\n // Compat. The user might manually disable readable side through\n // deprecated setter.\n return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted\n },\n set(val) {\n // Backwards compat.\n if (this._readableState) {\n this._readableState.readable = !!val\n }\n }\n },\n readableDidRead: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.dataEmitted\n }\n },\n readableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._readableState.readable !== false &&\n (this._readableState.destroyed || this._readableState.errored) &&\n !this._readableState.endEmitted\n )\n }\n },\n readableHighWaterMark: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark\n }\n },\n readableBuffer: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState && this._readableState.buffer\n }\n },\n readableFlowing: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.flowing\n },\n set: function (state) {\n if (this._readableState) {\n this._readableState.flowing = state\n }\n }\n },\n readableLength: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState.length\n }\n },\n readableObjectMode: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.objectMode : false\n }\n },\n readableEncoding: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.encoding : null\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.errored : null\n }\n },\n closed: {\n __proto__: null,\n get() {\n return this._readableState ? this._readableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.destroyed : false\n },\n set(value) {\n // We ignore the value if the stream\n // has not been initialized yet.\n if (!this._readableState) {\n return\n }\n\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n this._readableState.destroyed = value\n }\n },\n readableEnded: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.endEmitted : false\n }\n }\n})\nObjectDefineProperties(ReadableState.prototype, {\n // Legacy getter for `pipesCount`.\n pipesCount: {\n __proto__: null,\n get() {\n return this.pipes.length\n }\n },\n // Legacy property for `paused`.\n paused: {\n __proto__: null,\n get() {\n return this[kPaused] !== false\n },\n set(value) {\n this[kPaused] = !!value\n }\n }\n})\n\n// Exposed for testing purposes only.\nReadable._fromList = fromList\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered.\n if (state.length === 0) return null\n let ret\n if (state.objectMode) ret = state.buffer.shift()\n else if (!n || n >= state.length) {\n // Read it all, truncate the list.\n if (state.decoder) ret = state.buffer.join('')\n else if (state.buffer.length === 1) ret = state.buffer.first()\n else ret = state.buffer.concat(state.length)\n state.buffer.clear()\n } else {\n // read part of list.\n ret = state.buffer.consume(n, state.decoder)\n }\n return ret\n}\nfunction endReadable(stream) {\n const state = stream._readableState\n debug('endReadable', state.endEmitted)\n if (!state.endEmitted) {\n state.ended = true\n process.nextTick(endReadableNT, state, stream)\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length)\n\n // Check that we didn't get one last unshift.\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n state.endEmitted = true\n stream.emit('end')\n if (stream.writable && stream.allowHalfOpen === false) {\n process.nextTick(endWritableNT, stream)\n } else if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well.\n const wState = stream._writableState\n const autoDestroy =\n !wState ||\n (wState.autoDestroy &&\n // We don't expect the writable to ever 'finish'\n // if writable is explicitly set to false.\n (wState.finished || wState.writable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n }\n}\nfunction endWritableNT(stream) {\n const writable = stream.writable && !stream.writableEnded && !stream.destroyed\n if (writable) {\n stream.end()\n }\n}\nReadable.from = function (iterable, opts) {\n return from(Readable, iterable, opts)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nReadable.fromWeb = function (readableStream, options) {\n return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options)\n}\nReadable.toWeb = function (streamReadable, options) {\n return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options)\n}\nReadable.wrap = function (src, options) {\n var _ref, _src$readableObjectMo\n return new Readable({\n objectMode:\n (_ref =\n (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== undefined\n ? _src$readableObjectMo\n : src.objectMode) !== null && _ref !== undefined\n ? _ref\n : true,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err)\n callback(err)\n }\n }).wrap(src)\n}\n","'use strict'\n\nconst { MathFloor, NumberIsInteger } = require('../../ours/primordials')\nconst { validateInteger } = require('../validators')\nconst { ERR_INVALID_ARG_VALUE } = require('../../ours/errors').codes\nlet defaultHighWaterMarkBytes = 16 * 1024\nlet defaultHighWaterMarkObjectMode = 16\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null\n}\nfunction getDefaultHighWaterMark(objectMode) {\n return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes\n}\nfunction setDefaultHighWaterMark(objectMode, value) {\n validateInteger(value, 'value', 0)\n if (objectMode) {\n defaultHighWaterMarkObjectMode = value\n } else {\n defaultHighWaterMarkBytes = value\n }\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey)\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex ? `options.${duplexKey}` : 'options.highWaterMark'\n throw new ERR_INVALID_ARG_VALUE(name, hwm)\n }\n return MathFloor(hwm)\n }\n\n // Default value\n return getDefaultHighWaterMark(state.objectMode)\n}\nmodule.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark,\n setDefaultHighWaterMark\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf, Symbol } = require('../../ours/primordials')\nmodule.exports = Transform\nconst { ERR_METHOD_NOT_IMPLEMENTED } = require('../../ours/errors').codes\nconst Duplex = require('./duplex')\nconst { getHighWaterMark } = require('./state')\nObjectSetPrototypeOf(Transform.prototype, Duplex.prototype)\nObjectSetPrototypeOf(Transform, Duplex)\nconst kCallback = Symbol('kCallback')\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options)\n\n // TODO (ronag): This should preferably always be\n // applied but would be semver-major. Or even better;\n // make Transform a Readable with the Writable interface.\n const readableHighWaterMark = options ? getHighWaterMark(this, options, 'readableHighWaterMark', true) : null\n if (readableHighWaterMark === 0) {\n // A Duplex will buffer both on the writable and readable side while\n // a Transform just wants to buffer hwm number of elements. To avoid\n // buffering twice we disable buffering on the writable side.\n options = {\n ...options,\n highWaterMark: null,\n readableHighWaterMark,\n // TODO (ronag): 0 is not optimal since we have\n // a \"bug\" where we check needDrain before calling _write and not after.\n // Refs: https://github.com/nodejs/node/pull/32887\n // Refs: https://github.com/nodejs/node/pull/35941\n writableHighWaterMark: options.writableHighWaterMark || 0\n }\n }\n Duplex.call(this, options)\n\n // We have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false\n this[kCallback] = null\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform\n if (typeof options.flush === 'function') this._flush = options.flush\n }\n\n // When the writable side finishes, then flush out anything remaining.\n // Backwards compat. Some Transform streams incorrectly implement _final\n // instead of or in addition to _flush. By using 'prefinish' instead of\n // implementing _final we continue supporting this unfortunate use case.\n this.on('prefinish', prefinish)\n}\nfunction final(cb) {\n if (typeof this._flush === 'function' && !this.destroyed) {\n this._flush((er, data) => {\n if (er) {\n if (cb) {\n cb(er)\n } else {\n this.destroy(er)\n }\n return\n }\n if (data != null) {\n this.push(data)\n }\n this.push(null)\n if (cb) {\n cb()\n }\n })\n } else {\n this.push(null)\n if (cb) {\n cb()\n }\n }\n}\nfunction prefinish() {\n if (this._final !== final) {\n final.call(this)\n }\n}\nTransform.prototype._final = final\nTransform.prototype._transform = function (chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_transform()')\n}\nTransform.prototype._write = function (chunk, encoding, callback) {\n const rState = this._readableState\n const wState = this._writableState\n const length = rState.length\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err)\n return\n }\n if (val != null) {\n this.push(val)\n }\n if (\n wState.ended ||\n // Backwards compat.\n length === rState.length ||\n // Backwards compat.\n rState.length < rState.highWaterMark\n ) {\n callback()\n } else {\n this[kCallback] = callback\n }\n })\n}\nTransform.prototype._read = function () {\n if (this[kCallback]) {\n const callback = this[kCallback]\n this[kCallback] = null\n callback()\n }\n}\n","'use strict'\n\nconst { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require('../../ours/primordials')\n\n// We need to use SymbolFor to make these globally available\n// for interopt with readable-stream, i.e. readable-stream\n// and node core needs to be able to read/write private state\n// from each other for proper interoperability.\nconst kIsDestroyed = SymbolFor('nodejs.stream.destroyed')\nconst kIsErrored = SymbolFor('nodejs.stream.errored')\nconst kIsReadable = SymbolFor('nodejs.stream.readable')\nconst kIsWritable = SymbolFor('nodejs.stream.writable')\nconst kIsDisturbed = SymbolFor('nodejs.stream.disturbed')\nconst kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise')\nconst kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction')\nfunction isReadableNodeStream(obj, strict = false) {\n var _obj$_readableState\n return !!(\n (\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!strict || (typeof obj.pause === 'function' && typeof obj.resume === 'function')) &&\n (!obj._writableState ||\n ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === undefined\n ? undefined\n : _obj$_readableState.readable) !== false) &&\n // Duplex\n (!obj._writableState || obj._readableState)\n ) // Writable has .pipe.\n )\n}\n\nfunction isWritableNodeStream(obj) {\n var _obj$_writableState\n return !!(\n (\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState ||\n ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === undefined\n ? undefined\n : _obj$_writableState.writable) !== false)\n ) // Duplex\n )\n}\n\nfunction isDuplexNodeStream(obj) {\n return !!(\n obj &&\n typeof obj.pipe === 'function' &&\n obj._readableState &&\n typeof obj.on === 'function' &&\n typeof obj.write === 'function'\n )\n}\nfunction isNodeStream(obj) {\n return (\n obj &&\n (obj._readableState ||\n obj._writableState ||\n (typeof obj.write === 'function' && typeof obj.on === 'function') ||\n (typeof obj.pipe === 'function' && typeof obj.on === 'function'))\n )\n}\nfunction isReadableStream(obj) {\n return !!(\n obj &&\n !isNodeStream(obj) &&\n typeof obj.pipeThrough === 'function' &&\n typeof obj.getReader === 'function' &&\n typeof obj.cancel === 'function'\n )\n}\nfunction isWritableStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === 'function' && typeof obj.abort === 'function')\n}\nfunction isTransformStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.readable === 'object' && typeof obj.writable === 'object')\n}\nfunction isWebStream(obj) {\n return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj)\n}\nfunction isIterable(obj, isAsync) {\n if (obj == null) return false\n if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function'\n if (isAsync === false) return typeof obj[SymbolIterator] === 'function'\n return typeof obj[SymbolAsyncIterator] === 'function' || typeof obj[SymbolIterator] === 'function'\n}\nfunction isDestroyed(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return !!(stream.destroyed || stream[kIsDestroyed] || (state !== null && state !== undefined && state.destroyed))\n}\n\n// Have been end():d.\nfunction isWritableEnded(stream) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableEnded === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.ended) !== 'boolean') return null\n return wState.ended\n}\n\n// Have emitted 'finish'.\nfunction isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableFinished === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.finished) !== 'boolean') return null\n return !!(wState.finished || (strict === false && wState.ended === true && wState.length === 0))\n}\n\n// Have been push(null):d.\nfunction isReadableEnded(stream) {\n if (!isReadableNodeStream(stream)) return null\n if (stream.readableEnded === true) return true\n const rState = stream._readableState\n if (!rState || rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.ended) !== 'boolean') return null\n return rState.ended\n}\n\n// Have emitted 'end'.\nfunction isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream)) return null\n const rState = stream._readableState\n if (rState !== null && rState !== undefined && rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.endEmitted) !== 'boolean') return null\n return !!(rState.endEmitted || (strict === false && rState.ended === true && rState.length === 0))\n}\nfunction isReadable(stream) {\n if (stream && stream[kIsReadable] != null) return stream[kIsReadable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.readable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream)\n}\nfunction isWritable(stream) {\n if (stream && stream[kIsWritable] != null) return stream[kIsWritable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.writable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream)\n}\nfunction isFinished(stream, opts) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (isDestroyed(stream)) {\n return true\n }\n if ((opts === null || opts === undefined ? undefined : opts.readable) !== false && isReadable(stream)) {\n return false\n }\n if ((opts === null || opts === undefined ? undefined : opts.writable) !== false && isWritable(stream)) {\n return false\n }\n return true\n}\nfunction isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.writableErrored) {\n return stream.writableErrored\n }\n return (_stream$_writableStat =\n (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === undefined\n ? undefined\n : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== undefined\n ? _stream$_writableStat\n : null\n}\nfunction isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.readableErrored) {\n return stream.readableErrored\n }\n return (_stream$_readableStat =\n (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === undefined\n ? undefined\n : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== undefined\n ? _stream$_readableStat\n : null\n}\nfunction isClosed(stream) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (typeof stream.closed === 'boolean') {\n return stream.closed\n }\n const wState = stream._writableState\n const rState = stream._readableState\n if (\n typeof (wState === null || wState === undefined ? undefined : wState.closed) === 'boolean' ||\n typeof (rState === null || rState === undefined ? undefined : rState.closed) === 'boolean'\n ) {\n return (\n (wState === null || wState === undefined ? undefined : wState.closed) ||\n (rState === null || rState === undefined ? undefined : rState.closed)\n )\n }\n if (typeof stream._closed === 'boolean' && isOutgoingMessage(stream)) {\n return stream._closed\n }\n return null\n}\nfunction isOutgoingMessage(stream) {\n return (\n typeof stream._closed === 'boolean' &&\n typeof stream._defaultKeepAlive === 'boolean' &&\n typeof stream._removedConnection === 'boolean' &&\n typeof stream._removedContLen === 'boolean'\n )\n}\nfunction isServerResponse(stream) {\n return typeof stream._sent100 === 'boolean' && isOutgoingMessage(stream)\n}\nfunction isServerRequest(stream) {\n var _stream$req\n return (\n typeof stream._consuming === 'boolean' &&\n typeof stream._dumped === 'boolean' &&\n ((_stream$req = stream.req) === null || _stream$req === undefined ? undefined : _stream$req.upgradeOrConnect) ===\n undefined\n )\n}\nfunction willEmitClose(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return (\n (!state && isServerResponse(stream)) || !!(state && state.autoDestroy && state.emitClose && state.closed === false)\n )\n}\nfunction isDisturbed(stream) {\n var _stream$kIsDisturbed\n return !!(\n stream &&\n ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== undefined\n ? _stream$kIsDisturbed\n : stream.readableDidRead || stream.readableAborted)\n )\n}\nfunction isErrored(stream) {\n var _ref,\n _ref2,\n _ref3,\n _ref4,\n _ref5,\n _stream$kIsErrored,\n _stream$_readableStat3,\n _stream$_writableStat3,\n _stream$_readableStat4,\n _stream$_writableStat4\n return !!(\n stream &&\n ((_ref =\n (_ref2 =\n (_ref3 =\n (_ref4 =\n (_ref5 =\n (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== undefined\n ? _stream$kIsErrored\n : stream.readableErrored) !== null && _ref5 !== undefined\n ? _ref5\n : stream.writableErrored) !== null && _ref4 !== undefined\n ? _ref4\n : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === undefined\n ? undefined\n : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== undefined\n ? _ref3\n : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === undefined\n ? undefined\n : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== undefined\n ? _ref2\n : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === undefined\n ? undefined\n : _stream$_readableStat4.errored) !== null && _ref !== undefined\n ? _ref\n : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === undefined\n ? undefined\n : _stream$_writableStat4.errored)\n )\n}\nmodule.exports = {\n isDestroyed,\n kIsDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n kIsClosedPromise,\n kControllerErrorFunction,\n kIsWritable,\n isClosed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWebStream,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose,\n isTransformStream\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n;('use strict')\nconst {\n ArrayPrototypeSlice,\n Error,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol,\n SymbolHasInstance\n} = require('../../ours/primordials')\nmodule.exports = Writable\nWritable.WritableState = WritableState\nconst { EventEmitter: EE } = require('events')\nconst Stream = require('./legacy').Stream\nconst { Buffer } = require('buffer')\nconst destroyImpl = require('./destroy')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n} = require('../../ours/errors').codes\nconst { errorOrDestroy } = destroyImpl\nObjectSetPrototypeOf(Writable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Writable, Stream)\nfunction nop() {}\nconst kOnFinished = Symbol('kOnFinished')\nfunction WritableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!(options && options.objectMode)\n if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode)\n\n // The point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write().\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // if _final has been called.\n this.finalCalled = false\n\n // drain event flag.\n this.needDrain = false\n // At the start of calling end()\n this.ending = false\n // When end() has been called, and returned.\n this.ended = false\n // When 'finish' is emitted.\n this.finished = false\n\n // Has it been destroyed\n this.destroyed = false\n\n // Should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n const noDecode = !!(options && options.decodeStrings === false)\n this.decodeStrings = !noDecode\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0\n\n // A flag to see when we're in the middle of a write.\n this.writing = false\n\n // When true all writes will be buffered until .uncork() call.\n this.corked = 0\n\n // A flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true\n\n // A flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false\n\n // The callback that's passed to _write(chunk, cb).\n this.onwrite = onwrite.bind(undefined, stream)\n\n // The callback that the user supplies to write(chunk, encoding, cb).\n this.writecb = null\n\n // The amount that is being written when _write is called.\n this.writelen = 0\n\n // Storage for data passed to the afterWrite() callback in case of\n // synchronous _write() completion.\n this.afterWriteTickInfo = null\n resetBuffer(this)\n\n // Number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted.\n this.pendingcb = 0\n\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n this.constructed = true\n\n // Emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams.\n this.prefinished = false\n\n // True if the error was already emitted and should not be thrown again.\n this.errorEmitted = false\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = !options || options.emitClose !== false\n\n // Should .destroy() be called after 'finish' (and potentially 'end').\n this.autoDestroy = !options || options.autoDestroy !== false\n\n // Indicates whether the stream has errored. When true all write() calls\n // should return false. This is needed since when autoDestroy\n // is disabled we need a way to tell whether the stream has failed.\n this.errored = null\n\n // Indicates whether the stream has finished destroying.\n this.closed = false\n\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n this.closeEmitted = false\n this[kOnFinished] = []\n}\nfunction resetBuffer(state) {\n state.buffered = []\n state.bufferedIndex = 0\n state.allBuffers = true\n state.allNoop = true\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex)\n}\nObjectDefineProperty(WritableState.prototype, 'bufferedRequestCount', {\n __proto__: null,\n get() {\n return this.buffered.length - this.bufferedIndex\n }\n})\nfunction Writable(options) {\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options)\n this._writableState = new WritableState(options, this, isDuplex)\n if (options) {\n if (typeof options.write === 'function') this._write = options.write\n if (typeof options.writev === 'function') this._writev = options.writev\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.final === 'function') this._final = options.final\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n const state = this._writableState\n if (!state.writing) {\n clearBuffer(this, state)\n }\n finishMaybe(this, state)\n })\n}\nObjectDefineProperty(Writable, SymbolHasInstance, {\n __proto__: null,\n value: function (object) {\n if (FunctionPrototypeSymbolHasInstance(this, object)) return true\n if (this !== Writable) return false\n return object && object._writableState instanceof WritableState\n }\n})\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE())\n}\nfunction _write(stream, chunk, encoding, cb) {\n const state = stream._writableState\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = state.defaultEncoding\n } else {\n if (!encoding) encoding = state.defaultEncoding\n else if (encoding !== 'buffer' && !Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n if (typeof cb !== 'function') cb = nop\n }\n if (chunk === null) {\n throw new ERR_STREAM_NULL_VALUES()\n } else if (!state.objectMode) {\n if (typeof chunk === 'string') {\n if (state.decodeStrings !== false) {\n chunk = Buffer.from(chunk, encoding)\n encoding = 'buffer'\n }\n } else if (chunk instanceof Buffer) {\n encoding = 'buffer'\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = 'buffer'\n } else {\n throw new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n let err\n if (state.ending) {\n err = new ERR_STREAM_WRITE_AFTER_END()\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('write')\n }\n if (err) {\n process.nextTick(cb, err)\n errorOrDestroy(stream, err, true)\n return err\n }\n state.pendingcb++\n return writeOrBuffer(stream, state, chunk, encoding, cb)\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === true\n}\nWritable.prototype.cork = function () {\n this._writableState.corked++\n}\nWritable.prototype.uncork = function () {\n const state = this._writableState\n if (state.corked) {\n state.corked--\n if (!state.writing) clearBuffer(this, state)\n }\n}\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = StringPrototypeToLowerCase(encoding)\n if (!Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n this._writableState.defaultEncoding = encoding\n return this\n}\n\n// If we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode ? 1 : chunk.length\n state.length += len\n\n // stream._write resets state.length\n const ret = state.length < state.highWaterMark\n // We must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true\n if (state.writing || state.corked || state.errored || !state.constructed) {\n state.buffered.push({\n chunk,\n encoding,\n callback\n })\n if (state.allBuffers && encoding !== 'buffer') {\n state.allBuffers = false\n }\n if (state.allNoop && callback !== nop) {\n state.allNoop = false\n }\n } else {\n state.writelen = len\n state.writecb = callback\n state.writing = true\n state.sync = true\n stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n }\n\n // Return false if errored or destroyed in order to break\n // any synchronous while(stream.write(data)) loops.\n return ret && !state.errored && !state.destroyed\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len\n state.writecb = cb\n state.writing = true\n state.sync = true\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'))\n else if (writev) stream._writev(chunk, state.onwrite)\n else stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n}\nfunction onwriteError(stream, state, er, cb) {\n --state.pendingcb\n cb(er)\n // Ensure callbacks are invoked even when autoDestroy is\n // not enabled. Passing `er` here doesn't make sense since\n // it's related to one specific write, not to the buffered\n // writes.\n errorBuffer(state)\n // This can emit error, but error must always follow cb.\n errorOrDestroy(stream, er)\n}\nfunction onwrite(stream, er) {\n const state = stream._writableState\n const sync = state.sync\n const cb = state.writecb\n if (typeof cb !== 'function') {\n errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK())\n return\n }\n state.writing = false\n state.writecb = null\n state.length -= state.writelen\n state.writelen = 0\n if (er) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n er.stack // eslint-disable-line no-unused-expressions\n\n if (!state.errored) {\n state.errored = er\n }\n\n // In case of duplex streams we need to notify the readable side of the\n // error.\n if (stream._readableState && !stream._readableState.errored) {\n stream._readableState.errored = er\n }\n if (sync) {\n process.nextTick(onwriteError, stream, state, er, cb)\n } else {\n onwriteError(stream, state, er, cb)\n }\n } else {\n if (state.buffered.length > state.bufferedIndex) {\n clearBuffer(stream, state)\n }\n if (sync) {\n // It is a common case that the callback passed to .write() is always\n // the same. In that case, we do not schedule a new nextTick(), but\n // rather just increase a counter, to improve performance and avoid\n // memory allocations.\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {\n state.afterWriteTickInfo.count++\n } else {\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }\n process.nextTick(afterWriteTick, state.afterWriteTickInfo)\n }\n } else {\n afterWrite(stream, state, 1, cb)\n }\n }\n}\nfunction afterWriteTick({ stream, state, count, cb }) {\n state.afterWriteTickInfo = null\n return afterWrite(stream, state, count, cb)\n}\nfunction afterWrite(stream, state, count, cb) {\n const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain\n if (needDrain) {\n state.needDrain = false\n stream.emit('drain')\n }\n while (count-- > 0) {\n state.pendingcb--\n cb()\n }\n if (state.destroyed) {\n errorBuffer(state)\n }\n finishMaybe(stream, state)\n}\n\n// If there's something in the buffer waiting, then invoke callbacks.\nfunction errorBuffer(state) {\n if (state.writing) {\n return\n }\n for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {\n var _state$errored\n const { chunk, callback } = state.buffered[n]\n const len = state.objectMode ? 1 : chunk.length\n state.length -= len\n callback(\n (_state$errored = state.errored) !== null && _state$errored !== undefined\n ? _state$errored\n : new ERR_STREAM_DESTROYED('write')\n )\n }\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n var _state$errored2\n onfinishCallbacks[i](\n (_state$errored2 = state.errored) !== null && _state$errored2 !== undefined\n ? _state$errored2\n : new ERR_STREAM_DESTROYED('end')\n )\n }\n resetBuffer(state)\n}\n\n// If there's something in the buffer waiting, then process it.\nfunction clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {\n return\n }\n const { buffered, bufferedIndex, objectMode } = state\n const bufferedLength = buffered.length - bufferedIndex\n if (!bufferedLength) {\n return\n }\n let i = bufferedIndex\n state.bufferProcessing = true\n if (bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1\n const callback = state.allNoop\n ? nop\n : (err) => {\n for (let n = i; n < buffered.length; ++n) {\n buffered[n].callback(err)\n }\n }\n // Make a copy of `buffered` if it's going to be used by `callback` above,\n // since `doWrite` will mutate the array.\n const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i)\n chunks.allBuffers = state.allBuffers\n doWrite(stream, state, true, state.length, chunks, '', callback)\n resetBuffer(state)\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i]\n buffered[i++] = null\n const len = objectMode ? 1 : chunk.length\n doWrite(stream, state, false, len, chunk, encoding, callback)\n } while (i < buffered.length && !state.writing)\n if (i === buffered.length) {\n resetBuffer(state)\n } else if (i > 256) {\n buffered.splice(0, i)\n state.bufferedIndex = 0\n } else {\n state.bufferedIndex = i\n }\n }\n state.bufferProcessing = false\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n if (this._writev) {\n this._writev(\n [\n {\n chunk,\n encoding\n }\n ],\n cb\n )\n } else {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_write()')\n }\n}\nWritable.prototype._writev = null\nWritable.prototype.end = function (chunk, encoding, cb) {\n const state = this._writableState\n if (typeof chunk === 'function') {\n cb = chunk\n chunk = null\n encoding = null\n } else if (typeof encoding === 'function') {\n cb = encoding\n encoding = null\n }\n let err\n if (chunk !== null && chunk !== undefined) {\n const ret = _write(this, chunk, encoding)\n if (ret instanceof Error) {\n err = ret\n }\n }\n\n // .end() fully uncorks.\n if (state.corked) {\n state.corked = 1\n this.uncork()\n }\n if (err) {\n // Do nothing...\n } else if (!state.errored && !state.ending) {\n // This is forgiving in terms of unnecessary calls to end() and can hide\n // logic errors. However, usually such errors are harmless and causing a\n // hard error can be disproportionately destructive. It is not always\n // trivial for the user to determine whether end() needs to be called\n // or not.\n\n state.ending = true\n finishMaybe(this, state, true)\n state.ended = true\n } else if (state.finished) {\n err = new ERR_STREAM_ALREADY_FINISHED('end')\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('end')\n }\n if (typeof cb === 'function') {\n if (err || state.finished) {\n process.nextTick(cb, err)\n } else {\n state[kOnFinished].push(cb)\n }\n }\n return this\n}\nfunction needFinish(state) {\n return (\n state.ending &&\n !state.destroyed &&\n state.constructed &&\n state.length === 0 &&\n !state.errored &&\n state.buffered.length === 0 &&\n !state.finished &&\n !state.writing &&\n !state.errorEmitted &&\n !state.closeEmitted\n )\n}\nfunction callFinal(stream, state) {\n let called = false\n function onFinish(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n state.pendingcb--\n if (err) {\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i](err)\n }\n errorOrDestroy(stream, err, state.sync)\n } else if (needFinish(state)) {\n state.prefinished = true\n stream.emit('prefinish')\n // Backwards compat. Don't check state.sync here.\n // Some streams assume 'finish' will be emitted\n // asynchronously relative to _final callback.\n state.pendingcb++\n process.nextTick(finish, stream, state)\n }\n }\n state.sync = true\n state.pendingcb++\n try {\n stream._final(onFinish)\n } catch (err) {\n onFinish(err)\n }\n state.sync = false\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.finalCalled = true\n callFinal(stream, state)\n } else {\n state.prefinished = true\n stream.emit('prefinish')\n }\n }\n}\nfunction finishMaybe(stream, state, sync) {\n if (needFinish(state)) {\n prefinish(stream, state)\n if (state.pendingcb === 0) {\n if (sync) {\n state.pendingcb++\n process.nextTick(\n (stream, state) => {\n if (needFinish(state)) {\n finish(stream, state)\n } else {\n state.pendingcb--\n }\n },\n stream,\n state\n )\n } else if (needFinish(state)) {\n state.pendingcb++\n finish(stream, state)\n }\n }\n }\n}\nfunction finish(stream, state) {\n state.pendingcb--\n state.finished = true\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i]()\n }\n stream.emit('finish')\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well.\n const rState = stream._readableState\n const autoDestroy =\n !rState ||\n (rState.autoDestroy &&\n // We don't expect the readable to ever 'end'\n // if readable is explicitly set to false.\n (rState.endEmitted || rState.readable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n}\nObjectDefineProperties(Writable.prototype, {\n closed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.destroyed : false\n },\n set(value) {\n // Backward compatibility, the user is explicitly managing destroyed.\n if (this._writableState) {\n this._writableState.destroyed = value\n }\n }\n },\n writable: {\n __proto__: null,\n get() {\n const w = this._writableState\n // w.writable === false means that this is part of a Duplex stream\n // where the writable side was disabled upon construction.\n // Compat. The user might manually disable writable side through\n // deprecated setter.\n return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended\n },\n set(val) {\n // Backwards compatible.\n if (this._writableState) {\n this._writableState.writable = !!val\n }\n }\n },\n writableFinished: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.finished : false\n }\n },\n writableObjectMode: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.objectMode : false\n }\n },\n writableBuffer: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.getBuffer()\n }\n },\n writableEnded: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.ending : false\n }\n },\n writableNeedDrain: {\n __proto__: null,\n get() {\n const wState = this._writableState\n if (!wState) return false\n return !wState.destroyed && !wState.ending && wState.needDrain\n }\n },\n writableHighWaterMark: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.highWaterMark\n }\n },\n writableCorked: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.corked : 0\n }\n },\n writableLength: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.length\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._writableState ? this._writableState.errored : null\n }\n },\n writableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._writableState.writable !== false &&\n (this._writableState.destroyed || this._writableState.errored) &&\n !this._writableState.finished\n )\n }\n }\n})\nconst destroy = destroyImpl.destroy\nWritable.prototype.destroy = function (err, cb) {\n const state = this._writableState\n\n // Invoke pending callbacks.\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {\n process.nextTick(errorBuffer, state)\n }\n destroy.call(this, err, cb)\n return this\n}\nWritable.prototype._undestroy = destroyImpl.undestroy\nWritable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nWritable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nWritable.fromWeb = function (writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options)\n}\nWritable.toWeb = function (streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)\n}\n","/* eslint jsdoc/require-jsdoc: \"error\" */\n\n'use strict'\n\nconst {\n ArrayIsArray,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberIsNaN,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n ObjectPrototypeHasOwnProperty,\n RegExpPrototypeExec,\n String,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n} = require('../ours/primordials')\nconst {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n} = require('../ours/errors')\nconst { normalizeEncoding } = require('../ours/util')\nconst { isAsyncFunction, isArrayBufferView } = require('../ours/util').types\nconst signals = {}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isInt32(value) {\n return value === (value | 0)\n}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isUint32(value) {\n return value === value >>> 0\n}\nconst octalReg = /^[0-7]+$/\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string'\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land, but any value higher than 0o777 will result in platform-specific\n * behaviors.\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified, will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value, name, def) {\n if (typeof value === 'undefined') {\n value = def\n }\n if (typeof value === 'string') {\n if (RegExpPrototypeExec(octalReg, value) === null) {\n throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc)\n }\n value = NumberParseInt(value, 8)\n }\n validateUint32(value, name)\n return value\n}\n\n/**\n * @callback validateInteger\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInteger} */\nconst validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n})\n\n/**\n * @callback validateInt32\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInt32} */\nconst validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateUint32\n * @param {*} value\n * @param {string} name\n * @param {number|boolean} [positive=false]\n * @returns {asserts value is number}\n */\n\n/** @type {validateUint32} */\nconst validateUint32 = hideStackFrames((value, name, positive = false) => {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n const min = positive ? 1 : 0\n // 2 ** 32 === 4294967296\n const max = 4294967295\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateString\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string}\n */\n\n/** @type {validateString} */\nfunction validateString(value, name) {\n if (typeof value !== 'string') throw new ERR_INVALID_ARG_TYPE(name, 'string', value)\n}\n\n/**\n * @callback validateNumber\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateNumber} */\nfunction validateNumber(value, name, min = undefined, max) {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (\n (min != null && value < min) ||\n (max != null && value > max) ||\n ((min != null || max != null) && NumberIsNaN(value))\n ) {\n throw new ERR_OUT_OF_RANGE(\n name,\n `${min != null ? `>= ${min}` : ''}${min != null && max != null ? ' && ' : ''}${max != null ? `<= ${max}` : ''}`,\n value\n )\n }\n}\n\n/**\n * @callback validateOneOf\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} oneOf\n */\n\n/** @type {validateOneOf} */\nconst validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf, (v) => (typeof v === 'string' ? `'${v}'` : String(v))),\n ', '\n )\n const reason = 'must be one of: ' + allowed\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateBoolean\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean}\n */\n\n/** @type {validateBoolean} */\nfunction validateBoolean(value, name) {\n if (typeof value !== 'boolean') throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value)\n}\n\n/**\n * @param {any} options\n * @param {string} key\n * @param {boolean} defaultValue\n * @returns {boolean}\n */\nfunction getOwnPropertyValueOrDefault(options, key, defaultValue) {\n return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]\n}\n\n/**\n * @callback validateObject\n * @param {*} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean,\n * allowFunction?: boolean,\n * nullable?: boolean\n * }} [options]\n */\n\n/** @type {validateObject} */\nconst validateObject = hideStackFrames((value, name, options = null) => {\n const allowArray = getOwnPropertyValueOrDefault(options, 'allowArray', false)\n const allowFunction = getOwnPropertyValueOrDefault(options, 'allowFunction', false)\n const nullable = getOwnPropertyValueOrDefault(options, 'nullable', false)\n if (\n (!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (!allowFunction || typeof value !== 'function'))\n ) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Object', value)\n }\n})\n\n/**\n * @callback validateDictionary - We are using the Web IDL Standard definition\n * of \"dictionary\" here, which means any value\n * whose Type is either Undefined, Null, or\n * Object (which includes functions).\n * @param {*} value\n * @param {string} name\n * @see https://webidl.spec.whatwg.org/#es-dictionary\n * @see https://tc39.es/ecma262/#table-typeof-operator-results\n */\n\n/** @type {validateDictionary} */\nconst validateDictionary = hideStackFrames((value, name) => {\n if (value != null && typeof value !== 'object' && typeof value !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(name, 'a dictionary', value)\n }\n})\n\n/**\n * @callback validateArray\n * @param {*} value\n * @param {string} name\n * @param {number} [minLength]\n * @returns {asserts value is any[]}\n */\n\n/** @type {validateArray} */\nconst validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Array', value)\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateStringArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string[]}\n */\n\n/** @type {validateStringArray} */\nfunction validateStringArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateString(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateBooleanArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean[]}\n */\n\n/** @type {validateBooleanArray} */\nfunction validateBooleanArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateBoolean(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateAbortSignalArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is AbortSignal[]}\n */\n\n/** @type {validateAbortSignalArray} */\nfunction validateAbortSignalArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n const signal = value[i]\n const indexedName = `${name}[${i}]`\n if (signal == null) {\n throw new ERR_INVALID_ARG_TYPE(indexedName, 'AbortSignal', signal)\n }\n validateAbortSignal(signal, indexedName)\n }\n}\n\n/**\n * @param {*} signal\n * @param {string} [name='signal']\n * @returns {asserts signal is keyof signals}\n */\nfunction validateSignalName(signal, name = 'signal') {\n validateString(signal, name)\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal + ' (signals must use all capital letters)')\n }\n throw new ERR_UNKNOWN_SIGNAL(signal)\n }\n}\n\n/**\n * @callback validateBuffer\n * @param {*} buffer\n * @param {string} [name='buffer']\n * @returns {asserts buffer is ArrayBufferView}\n */\n\n/** @type {validateBuffer} */\nconst validateBuffer = hideStackFrames((buffer, name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name, ['Buffer', 'TypedArray', 'DataView'], buffer)\n }\n})\n\n/**\n * @param {string} data\n * @param {string} encoding\n */\nfunction validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding)\n const length = data.length\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding', encoding, `is invalid for data of length ${length}`)\n }\n}\n\n/**\n * Check that the port number is not NaN when coerced to a number,\n * is an integer and that it falls within the legal range of port numbers.\n * @param {*} port\n * @param {string} [name='Port']\n * @param {boolean} [allowZero=true]\n * @returns {number}\n */\nfunction validatePort(port, name = 'Port', allowZero = true) {\n if (\n (typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== +port >>> 0 ||\n port > 0xffff ||\n (port === 0 && !allowZero)\n ) {\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero)\n }\n return port | 0\n}\n\n/**\n * @callback validateAbortSignal\n * @param {*} signal\n * @param {string} name\n */\n\n/** @type {validateAbortSignal} */\nconst validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n})\n\n/**\n * @callback validateFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validateFunction} */\nconst validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validatePlainFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validatePlainFunction} */\nconst validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function' || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validateUndefined\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is undefined}\n */\n\n/** @type {validateUndefined} */\nconst validateUndefined = hideStackFrames((value, name) => {\n if (value !== undefined) throw new ERR_INVALID_ARG_TYPE(name, 'undefined', value)\n})\n\n/**\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} union\n */\nfunction validateUnion(value, name, union) {\n if (!ArrayPrototypeIncludes(union, value)) {\n throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value)\n }\n}\n\n/*\n The rules for the Link header field are described here:\n https://www.rfc-editor.org/rfc/rfc8288.html#section-3\n\n This regex validates any string surrounded by angle brackets\n (not necessarily a valid URI reference) followed by zero or more\n link-params separated by semicolons.\n*/\nconst linkValueRegExp = /^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/\n\n/**\n * @param {any} value\n * @param {string} name\n */\nfunction validateLinkHeaderFormat(value, name) {\n if (typeof value === 'undefined' || !RegExpPrototypeExec(linkValueRegExp, value)) {\n throw new ERR_INVALID_ARG_VALUE(\n name,\n value,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n }\n}\n\n/**\n * @param {any} hints\n * @return {string}\n */\nfunction validateLinkHeaderValue(hints) {\n if (typeof hints === 'string') {\n validateLinkHeaderFormat(hints, 'hints')\n return hints\n } else if (ArrayIsArray(hints)) {\n const hintsLength = hints.length\n let result = ''\n if (hintsLength === 0) {\n return result\n }\n for (let i = 0; i < hintsLength; i++) {\n const link = hints[i]\n validateLinkHeaderFormat(link, 'hints')\n result += link\n if (i !== hintsLength - 1) {\n result += ', '\n }\n }\n return result\n }\n throw new ERR_INVALID_ARG_VALUE(\n 'hints',\n hints,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n}\nmodule.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateStringArray,\n validateBooleanArray,\n validateAbortSignalArray,\n validateBoolean,\n validateBuffer,\n validateDictionary,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateUnion,\n validateAbortSignal,\n validateLinkHeaderValue\n}\n","'use strict'\n\nconst CustomStream = require('../stream')\nconst promises = require('../stream/promises')\nconst originalDestroy = CustomStream.Readable.destroy\nmodule.exports = CustomStream.Readable\n\n// Explicit export naming is needed for ESM\nmodule.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer\nmodule.exports._isUint8Array = CustomStream._isUint8Array\nmodule.exports.isDisturbed = CustomStream.isDisturbed\nmodule.exports.isErrored = CustomStream.isErrored\nmodule.exports.isReadable = CustomStream.isReadable\nmodule.exports.Readable = CustomStream.Readable\nmodule.exports.Writable = CustomStream.Writable\nmodule.exports.Duplex = CustomStream.Duplex\nmodule.exports.Transform = CustomStream.Transform\nmodule.exports.PassThrough = CustomStream.PassThrough\nmodule.exports.addAbortSignal = CustomStream.addAbortSignal\nmodule.exports.finished = CustomStream.finished\nmodule.exports.destroy = CustomStream.destroy\nmodule.exports.destroy = originalDestroy\nmodule.exports.pipeline = CustomStream.pipeline\nmodule.exports.compose = CustomStream.compose\nObject.defineProperty(CustomStream, 'promises', {\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nmodule.exports.Stream = CustomStream.Stream\n\n// Allow default importing\nmodule.exports.default = module.exports\n","'use strict'\n\nconst { format, inspect, AggregateError: CustomAggregateError } = require('./util')\n\n/*\n This file is a reduced and adapted version of the main lib/internal/errors.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/errors.js\n\n Don't try to replace with the original file and keep it up to date (starting from E(...) definitions)\n with the upstream file.\n*/\n\nconst AggregateError = globalThis.AggregateError || CustomAggregateError\nconst kIsNodeError = Symbol('kIsNodeError')\nconst kTypes = [\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/\nconst nodeInternalPrefix = '__node_internal_'\nconst codes = {}\nfunction assert(value, message) {\n if (!value) {\n throw new codes.ERR_INTERNAL_ASSERTION(message)\n }\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\nfunction getMessage(key, msg, args) {\n if (typeof msg === 'function') {\n assert(\n msg.length <= args.length,\n // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`\n )\n return msg(...args)\n }\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`\n )\n if (args.length === 0) {\n return msg\n }\n return format(msg, ...args)\n}\nfunction E(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args))\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: true,\n enumerable: false,\n configurable: true\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`\n },\n writable: true,\n enumerable: false,\n configurable: true\n }\n })\n NodeError.prototype.code = code\n NodeError.prototype[kIsNodeError] = true\n codes[code] = NodeError\n}\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name\n Object.defineProperty(fn, 'name', {\n value: hidden\n })\n return fn\n}\nfunction aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (Array.isArray(outerError.errors)) {\n // If `outerError` is already an `AggregateError`.\n outerError.errors.push(innerError)\n return outerError\n }\n const err = new AggregateError([outerError, innerError], outerError.message)\n err.code = outerError.code\n return err\n }\n return innerError || outerError\n}\nclass AbortError extends Error {\n constructor(message = 'The operation was aborted', options = undefined) {\n if (options !== undefined && typeof options !== 'object') {\n throw new codes.ERR_INVALID_ARG_TYPE('options', 'Object', options)\n }\n super(message, options)\n this.code = 'ABORT_ERR'\n this.name = 'AbortError'\n }\n}\nE('ERR_ASSERTION', '%s', Error)\nE(\n 'ERR_INVALID_ARG_TYPE',\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\")\n if (!Array.isArray(expected)) {\n expected = [expected]\n }\n let msg = 'The '\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n msg += `${name} `\n } else {\n msg += `\"${name}\" ${name.includes('.') ? 'property' : 'argument'} `\n }\n msg += 'must be '\n const types = []\n const instances = []\n const other = []\n for (const value of expected) {\n assert(typeof value === 'string', 'All expected entries have to be of type string')\n if (kTypes.includes(value)) {\n types.push(value.toLowerCase())\n } else if (classRegExp.test(value)) {\n instances.push(value)\n } else {\n assert(value !== 'object', 'The value \"object\" should be written as \"Object\"')\n other.push(value)\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object')\n if (pos !== -1) {\n types.splice(types, pos, 1)\n instances.push('Object')\n }\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`\n break\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`\n break\n default: {\n const last = types.pop()\n msg += `one of type ${types.join(', ')}, or ${last}`\n }\n }\n if (instances.length > 0 || other.length > 0) {\n msg += ' or '\n }\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`\n break\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`\n break\n default: {\n const last = instances.pop()\n msg += `an instance of ${instances.join(', ')}, or ${last}`\n }\n }\n if (other.length > 0) {\n msg += ' or '\n }\n }\n switch (other.length) {\n case 0:\n break\n case 1:\n if (other[0].toLowerCase() !== other[0]) {\n msg += 'an '\n }\n msg += `${other[0]}`\n break\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`\n break\n default: {\n const last = other.pop()\n msg += `one of ${other.join(', ')}, or ${last}`\n }\n }\n if (actual == null) {\n msg += `. Received ${actual}`\n } else if (typeof actual === 'function' && actual.name) {\n msg += `. Received function ${actual.name}`\n } else if (typeof actual === 'object') {\n var _actual$constructor\n if (\n (_actual$constructor = actual.constructor) !== null &&\n _actual$constructor !== undefined &&\n _actual$constructor.name\n ) {\n msg += `. Received an instance of ${actual.constructor.name}`\n } else {\n const inspected = inspect(actual, {\n depth: -1\n })\n msg += `. Received ${inspected}`\n }\n } else {\n let inspected = inspect(actual, {\n colors: false\n })\n if (inspected.length > 25) {\n inspected = `${inspected.slice(0, 25)}...`\n }\n msg += `. Received type ${typeof actual} (${inspected})`\n }\n return msg\n },\n TypeError\n)\nE(\n 'ERR_INVALID_ARG_VALUE',\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value)\n if (inspected.length > 128) {\n inspected = inspected.slice(0, 128) + '...'\n }\n const type = name.includes('.') ? 'property' : 'argument'\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n)\nE(\n 'ERR_INVALID_RETURN_VALUE',\n (input, name, value) => {\n var _value$constructor\n const type =\n value !== null &&\n value !== undefined &&\n (_value$constructor = value.constructor) !== null &&\n _value$constructor !== undefined &&\n _value$constructor.name\n ? `instance of ${value.constructor.name}`\n : `type ${typeof value}`\n return `Expected ${input} to be returned from the \"${name}\"` + ` function but got ${type}.`\n },\n TypeError\n)\nE(\n 'ERR_MISSING_ARGS',\n (...args) => {\n assert(args.length > 0, 'At least one arg needs to be specified')\n let msg\n const len = args.length\n args = (Array.isArray(args) ? args : [args]).map((a) => `\"${a}\"`).join(' or ')\n switch (len) {\n case 1:\n msg += `The ${args[0]} argument`\n break\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`\n break\n default:\n {\n const last = args.pop()\n msg += `The ${args.join(', ')}, and ${last} arguments`\n }\n break\n }\n return `${msg} must be specified`\n },\n TypeError\n)\nE(\n 'ERR_OUT_OF_RANGE',\n (str, range, input) => {\n assert(range, 'Missing \"range\" argument')\n let received\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > 2n ** 32n || input < -(2n ** 32n)) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n } else {\n received = inspect(input)\n }\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`\n },\n RangeError\n)\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error)\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error)\nE('ERR_STREAM_ALREADY_FINISHED', 'Cannot call %s after a stream was finished', Error)\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error)\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error)\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError)\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error)\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error)\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event', Error)\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error)\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError)\nmodule.exports = {\n AbortError,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n}\n","'use strict'\n\n/*\n This file is a reduced and adapted version of the main lib/internal/per_context/primordials.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/per_context/primordials.js\n\n Don't try to replace with the original file and keep it up to date with the upstream file.\n*/\nmodule.exports = {\n ArrayIsArray(self) {\n return Array.isArray(self)\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el)\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el)\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep)\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn)\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el)\n },\n ArrayPrototypePush(self, el) {\n return self.push(el)\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.call(thisArgs, ...args)\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].call(self, instance)\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props)\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop)\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name)\n },\n ObjectKeys(obj) {\n return Object.keys(obj)\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto)\n },\n Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn)\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn)\n },\n PromiseReject(err) {\n return Promise.reject(err)\n },\n PromiseResolve(val) {\n return Promise.resolve(val)\n },\n ReflectApply: Reflect.apply,\n RegExpPrototypeTest(self, value) {\n return self.test(value)\n },\n SafeSet: Set,\n String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase()\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase()\n },\n StringPrototypeTrim(self) {\n return self.trim()\n },\n Symbol,\n SymbolFor: Symbol.for,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n SymbolDispose: Symbol.dispose || Symbol('Symbol.dispose'),\n SymbolAsyncDispose: Symbol.asyncDispose || Symbol('Symbol.asyncDispose'),\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len)\n },\n Boolean: Boolean,\n Uint8Array\n}\n","'use strict'\n\nconst bufferModule = require('buffer')\nconst { kResistStopPropagation, SymbolDispose } = require('./primordials')\nconst AbortSignal = globalThis.AbortSignal || require('abort-controller').AbortSignal\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor\nconst Blob = globalThis.Blob || bufferModule.Blob\n/* eslint-disable indent */\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n // eslint-disable-next-line indent\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\n/* eslint-enable indent */\n\nconst validateAbortSignal = (signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nconst validateFunction = (value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n}\n\n// This is a simplified version of AggregateError\nclass AggregateError extends Error {\n constructor(errors) {\n if (!Array.isArray(errors)) {\n throw new TypeError(`Expected input to be an Array, got ${typeof errors}`)\n }\n let message = ''\n for (let i = 0; i < errors.length; i++) {\n message += ` ${errors[i].stack}\\n`\n }\n super(message)\n this.name = 'AggregateError'\n this.errors = errors\n }\n}\nmodule.exports = {\n AggregateError,\n kEmptyObject: Object.freeze({}),\n once(callback) {\n let called = false\n return function (...args) {\n if (called) {\n return\n }\n called = true\n callback.apply(this, args)\n }\n },\n createDeferredPromise: function () {\n let resolve\n let reject\n\n // eslint-disable-next-line promise/param-names\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return {\n promise,\n resolve,\n reject\n }\n },\n promisify(fn) {\n return new Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err) {\n return reject(err)\n }\n return resolve(...args)\n })\n })\n },\n debuglog() {\n return function () {}\n },\n format(format, ...args) {\n // Simplified version of https://nodejs.org/api/util.html#utilformatformat-args\n return format.replace(/%([sdifj])/g, function (...[_unused, type]) {\n const replacement = args.shift()\n if (type === 'f') {\n return replacement.toFixed(6)\n } else if (type === 'j') {\n return JSON.stringify(replacement)\n } else if (type === 's' && typeof replacement === 'object') {\n const ctor = replacement.constructor !== Object ? replacement.constructor.name : ''\n return `${ctor} {}`.trim()\n } else {\n return replacement.toString()\n }\n })\n },\n inspect(value) {\n // Vastly simplified version of https://nodejs.org/api/util.html#utilinspectobject-options\n switch (typeof value) {\n case 'string':\n if (value.includes(\"'\")) {\n if (!value.includes('\"')) {\n return `\"${value}\"`\n } else if (!value.includes('`') && !value.includes('${')) {\n return `\\`${value}\\``\n }\n }\n return `'${value}'`\n case 'number':\n if (isNaN(value)) {\n return 'NaN'\n } else if (Object.is(value, -0)) {\n return String(value)\n }\n return value\n case 'bigint':\n return `${String(value)}n`\n case 'boolean':\n case 'undefined':\n return String(value)\n case 'object':\n return '{}'\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction\n },\n isArrayBufferView(arr) {\n return ArrayBuffer.isView(arr)\n }\n },\n isBlob,\n deprecate(fn, message) {\n return fn\n },\n addAbortListener:\n require('events').addAbortListener ||\n function addAbortListener(signal, listener) {\n if (signal === undefined) {\n throw new ERR_INVALID_ARG_TYPE('signal', 'AbortSignal', signal)\n }\n validateAbortSignal(signal, 'signal')\n validateFunction(listener, 'listener')\n let removeEventListener\n if (signal.aborted) {\n queueMicrotask(() => listener())\n } else {\n signal.addEventListener('abort', listener, {\n __proto__: null,\n once: true,\n [kResistStopPropagation]: true\n })\n removeEventListener = () => {\n signal.removeEventListener('abort', listener)\n }\n }\n return {\n __proto__: null,\n [SymbolDispose]() {\n var _removeEventListener\n ;(_removeEventListener = removeEventListener) === null || _removeEventListener === undefined\n ? undefined\n : _removeEventListener()\n }\n }\n },\n AbortSignalAny:\n AbortSignal.any ||\n function AbortSignalAny(signals) {\n // Fast path if there is only one signal.\n if (signals.length === 1) {\n return signals[0]\n }\n const ac = new AbortController()\n const abort = () => ac.abort()\n signals.forEach((signal) => {\n validateAbortSignal(signal, 'signals')\n signal.addEventListener('abort', abort, {\n once: true\n })\n })\n ac.signal.addEventListener(\n 'abort',\n () => {\n signals.forEach((signal) => signal.removeEventListener('abort', abort))\n },\n {\n once: true\n }\n )\n return ac.signal\n }\n}\nmodule.exports.promisify.custom = Symbol.for('nodejs.util.promisify.custom')\n","/* replacement start */\n\nconst { Buffer } = require('buffer')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst { ObjectDefineProperty, ObjectKeys, ReflectApply } = require('./ours/primordials')\nconst {\n promisify: { custom: customPromisify }\n} = require('./ours/util')\nconst { streamReturningOperators, promiseReturningOperators } = require('./internal/streams/operators')\nconst {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n} = require('./ours/errors')\nconst compose = require('./internal/streams/compose')\nconst { setDefaultHighWaterMark, getDefaultHighWaterMark } = require('./internal/streams/state')\nconst { pipeline } = require('./internal/streams/pipeline')\nconst { destroyer } = require('./internal/streams/destroy')\nconst eos = require('./internal/streams/end-of-stream')\nconst internalBuffer = {}\nconst promises = require('./stream/promises')\nconst utils = require('./internal/streams/utils')\nconst Stream = (module.exports = require('./internal/streams/legacy').Stream)\nStream.isDestroyed = utils.isDestroyed\nStream.isDisturbed = utils.isDisturbed\nStream.isErrored = utils.isErrored\nStream.isReadable = utils.isReadable\nStream.isWritable = utils.isWritable\nStream.Readable = require('./internal/streams/readable')\nfor (const key of ObjectKeys(streamReturningOperators)) {\n const op = streamReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return Stream.Readable.from(ReflectApply(op, this, args))\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nfor (const key of ObjectKeys(promiseReturningOperators)) {\n const op = promiseReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return ReflectApply(op, this, args)\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nStream.Writable = require('./internal/streams/writable')\nStream.Duplex = require('./internal/streams/duplex')\nStream.Transform = require('./internal/streams/transform')\nStream.PassThrough = require('./internal/streams/passthrough')\nStream.pipeline = pipeline\nconst { addAbortSignal } = require('./internal/streams/add-abort-signal')\nStream.addAbortSignal = addAbortSignal\nStream.finished = eos\nStream.destroy = destroyer\nStream.compose = compose\nStream.setDefaultHighWaterMark = setDefaultHighWaterMark\nStream.getDefaultHighWaterMark = getDefaultHighWaterMark\nObjectDefineProperty(Stream, 'promises', {\n __proto__: null,\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nObjectDefineProperty(pipeline, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.pipeline\n }\n})\nObjectDefineProperty(eos, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.finished\n }\n})\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream\nStream._isUint8Array = function isUint8Array(value) {\n return value instanceof Uint8Array\n}\nStream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)\n}\n","'use strict'\n\nconst { ArrayPrototypePop, Promise } = require('../ours/primordials')\nconst { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils')\nconst { pipelineImpl: pl } = require('../internal/streams/pipeline')\nconst { finished } = require('../internal/streams/end-of-stream')\nrequire('../../lib/stream.js')\nfunction pipeline(...streams) {\n return new Promise((resolve, reject) => {\n let signal\n let end\n const lastArg = streams[streams.length - 1]\n if (\n lastArg &&\n typeof lastArg === 'object' &&\n !isNodeStream(lastArg) &&\n !isIterable(lastArg) &&\n !isWebStream(lastArg)\n ) {\n const options = ArrayPrototypePop(streams)\n signal = options.signal\n end = options.end\n }\n pl(\n streams,\n (err, value) => {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n },\n {\n signal,\n end\n }\n )\n })\n}\nmodule.exports = {\n finished,\n pipeline\n}\n","class ObjectEncoder {\n constructor (stream) {\n this.stream = stream\n this.array = []\n }\n\n push (jsonld) {\n this.array.push(jsonld)\n }\n\n end () {\n this.stream.push(this.array)\n this.stream.push(null)\n }\n}\n\nexport default ObjectEncoder\n","class StringEncoder {\n constructor (stream) {\n this.stream = stream\n this.first = true\n\n this.stream.push('[')\n }\n\n push (jsonld) {\n if (this.first) {\n this.first = false\n } else {\n this.stream.push(',')\n }\n\n this.stream.push(JSON.stringify(jsonld))\n }\n\n end () {\n this.stream.push(']')\n this.stream.push(null)\n }\n}\n\nexport default StringEncoder\n","import { Readable } from 'readable-stream'\nimport ObjectEncoder from './ObjectEncoder.js'\nimport StringEncoder from './StringEncoder.js'\n\nclass SerializerStream extends Readable {\n constructor (input, { encoding = 'object' } = {}) {\n super({\n objectMode: true,\n read: () => {}\n })\n\n if (encoding === 'object') {\n this.encoder = new ObjectEncoder(this)\n }\n\n if (encoding === 'string') {\n this.encoder = new StringEncoder(this)\n }\n\n if (!this.encoder) {\n throw new Error(`unknown encoding: ${encoding}`)\n }\n\n input.on('data', quad => {\n const jsonld = {}\n let triple = jsonld\n\n if (quad.graph.termType !== 'DefaultGraph') {\n jsonld['@id'] = quad.graph.value\n jsonld['@graph'] = {}\n triple = jsonld['@graph']\n }\n\n triple['@id'] = SerializerStream.subjectValue(quad.subject)\n\n if (quad.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {\n triple['@type'] = SerializerStream.subjectValue(quad.object)\n } else {\n triple[quad.predicate.value] = SerializerStream.objectValue(quad.object)\n }\n\n this.encoder.push(jsonld)\n })\n\n input.on('end', () => this.encoder.end())\n\n input.on('error', err => this.emit('error', err))\n }\n\n static subjectValue (subject) {\n return subject.termType === 'BlankNode' ? '_:' + subject.value : subject.value\n }\n\n static objectValue (object) {\n if (object.termType === 'NamedNode') {\n return { '@id': object.value }\n }\n\n if (object.termType === 'BlankNode') {\n return { '@id': '_:' + object.value }\n }\n\n if (object.language) {\n return { '@language': object.language, '@value': object.value }\n } else if (object.datatype && object.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string') {\n return { '@type': object.datatype.value, '@value': object.value }\n } else {\n return object.value\n }\n }\n}\n\nexport default SerializerStream\n","import Sink from '@rdfjs/sink'\nimport SerializerStream from './lib/SerializerStream.js'\n\nclass Serializer extends Sink {\n constructor (options) {\n super(SerializerStream, options)\n }\n}\n\nexport default Serializer\n","import JsonLdSerializer from '@rdfjs/serializer-jsonld';\nclass CustomJsonLdSerializer extends JsonLdSerializer {\n constructor({ ...args } = {}) {\n super({ encoding: 'string', ...args });\n }\n}\nexport default CustomJsonLdSerializer;\n"],"names":["SymbolDispose","AbortError","codes","isNodeStream","isWebStream","kControllerErrorFunction","eos","ERR_INVALID_ARG_TYPE","addAbortListener","validateAbortSignal","signal","name","module","exports","addAbortSignal","stream","addAbortSignalNoValidate","onAbort","destroy","undefined","cause","reason","aborted","disposable","StringPrototypeSlice","SymbolIterator","TypedArrayPrototypeSet","Uint8Array","Buffer","inspect","constructor","this","head","tail","length","push","v","entry","data","next","unshift","shift","ret","clear","join","s","p","concat","n","alloc","allocUnsafe","i","consume","hasStrings","slice","_getString","_getBuffer","first","c","str","retLen","buf","buffer","byteOffset","Symbol","for","_","options","depth","customInspect","pipeline","Duplex","destroyer","isReadable","isWritable","isTransformStream","isWritableStream","isReadableStream","ERR_INVALID_ARG_VALUE","ERR_MISSING_ARGS","streams","from","orgStreams","idx","ondrain","onfinish","onreadable","onclose","d","onfinished","err","cb","readable","writable","writableObjectMode","readableObjectMode","_write","chunk","encoding","callback","write","_final","end","on","writer","getWriter","async","ready","catch","close","toRead","_read","read","reader","getReader","value","done","_destroy","process","aggregateTwoErrors","ERR_MULTIPLE_CALLBACK","kIsDestroyed","isDestroyed","isFinished","isServerRequest","kDestroy","kConstruct","checkError","w","r","stack","errored","_readableState","_writableState","destroyed","constructed","once","er","self","called","onDestroy","closed","nextTick","emitErrorCloseNT","emitCloseNT","emitErrorNT","closeEmitted","emitClose","emit","errorEmitted","undestroy","reading","ended","endEmitted","finalCalled","prefinished","ending","finished","errorOrDestroy","sync","autoDestroy","construct","_construct","listenerCount","constructNT","onConstruct","emitConstructNT","isRequest","setHeader","abort","emitCloseLegacy","emitErrorCloseLegacy","socket","req","ObjectDefineProperties","ObjectGetOwnPropertyDescriptor","ObjectKeys","ObjectSetPrototypeOf","Readable","Writable","prototype","keys","method","call","allowHalfOpen","webStreamsAdapters","duplexify","lazyWebStreams","__proto__","writableHighWaterMark","writableBuffer","writableLength","writableFinished","writableCorked","writableEnded","writableNeedDrain","get","set","fromWeb","pair","newStreamDuplexFromReadableWritablePair","toWeb","duplex","newReadableWritablePairFromDuplex","body","bufferModule","isIterable","isReadableNodeStream","isWritableNodeStream","isDuplexNodeStream","ERR_INVALID_RETURN_VALUE","createDeferredPromise","Blob","globalThis","isBlob","b","AbortController","FunctionPrototypeCall","Duplexify","super","fromAsyncGen","fn","promise","resolve","ac","_promise","_resolve","final","_duplexify","wrap","objectMode","then","val","arrayBuffer","ERR_STREAM_PREMATURE_CLOSE","kEmptyObject","validateFunction","validateObject","validateBoolean","Promise","PromisePrototypeThen","isClosed","isReadableFinished","isReadableErrored","isWritableFinished","isWritableErrored","willEmitClose","_willEmitClose","kIsClosedPromise","nop","_options$readable","_options$writable","arguments","eosWeb","wState","rState","onlegacyfinish","readableFinished","onend","onerror","onclosed","onrequest","error","cleanup","removeListener","endCallback","originalCallback","args","apply","isAborted","resolverFn","opts","_opts","autoCleanup","reject","SymbolAsyncIterator","ERR_STREAM_NULL_VALUES","iterable","iterator","isAsync","highWaterMark","hadError","hasThrow","throw","return","res","e","ArrayIsArray","EventEmitter","EE","Stream","prependListener","emitter","event","_events","pipe","dest","source","ondata","pause","resume","_isStdio","didOnEnd","ERR_OUT_OF_RANGE","validateInteger","kWeakHandler","kResistStopPropagation","staticCompose","deprecate","ArrayPrototypePush","Boolean","MathFloor","Number","NumberIsNaN","PromiseReject","PromiseResolve","kEmpty","kEof","compose","composedStream","map","concurrency","filter","queue","signalOpt","cnt","onCatch","afterItemProcessed","maybeResume","pump","asIndexedPairs","index","_options$signal","some","unused","every","find","result","forEach","forEachFn","filterFn","ReduceAwareErrMissingArgs","message","reduce","reducer","initialValue","_options$signal2","hasInitialValue","addEventListener","gotAnyItemFromStream","_options$signal3","toArray","_options$signal4","flatMap","values","toIntegerOrInfinity","number","drop","_options$signal5","_options$signal6","take","_options$signal7","_options$signal8","streamReturningOperators","promiseReturningOperators","PassThrough","Transform","_transform","destroyImpl","ERR_STREAM_DESTROYED","writing","popCallback","pop","makeAsyncIterable","fromReadable","pumpToNode","finish","onresolve","wait","off","pumpToWeb","pipelineImpl","outerSignal","lastStreamCleanup","finishImpl","destroys","finishCount","_disposable","code","isLastStream","onError","_ret","_ret2","pt","src","dst","endFn","ArrayPrototypeIndexOf","NumberIsInteger","NumberParseInt","SafeSet","SymbolAsyncDispose","ReadableState","debug","BufferList","getHighWaterMark","getDefaultHighWaterMark","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kPaused","StringDecoder","kObjectMode","kEnded","kEndEmitted","kReading","kConstructed","kSync","kNeedReadable","kEmittedReadable","kReadableListening","kResumeScheduled","kErrorEmitted","kEmitClose","kAutoDestroy","kDestroyed","kClosed","kCloseEmitted","kMultiAwaitDrain","kReadingMore","kDataEmitted","makeBitMapDescriptor","bit","enumerable","state","isDuplex","pipes","flowing","defaultEncoding","awaitDrainWriters","decoder","needReadable","maybeReadMore","readableAddChunk","addToFront","toString","_isUint8Array","_uint8ArrayToBuffer","onEofChunk","addChunk","dataEmitted","emitReadable","emittedReadable","readableListening","resumeScheduled","multiAwaitDrain","readingMore","_undestroy","captureRejectionSymbol","readableEnded","isPaused","setEncoding","enc","content","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","flow","maybeReadMore_","len","pipeOnDrain","size","delete","updateReadableListening","nReadingNextTick","resume_","streamToAsyncIterator","iter","createAsyncIterator","destroyOnReturn","fromList","endReadable","endReadableNT","endWritableNT","NaN","nOrig","doRead","pipeOpts","doEnd","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","needDrain","includes","add","dests","splice","ev","addListener","removeAllListeners","paused","streamKeys","j","bind","readableDidRead","readableAborted","readableHighWaterMark","readableBuffer","readableFlowing","readableLength","readableEncoding","pipesCount","_fromList","readableStream","newStreamReadableFromReadableStream","streamReadable","newReadableStreamFromStreamReadable","_ref","_src$readableObjectMo","defaultHighWaterMarkBytes","defaultHighWaterMarkObjectMode","highWaterMarkFrom","duplexKey","setDefaultHighWaterMark","hwm","kCallback","transform","flush","_flush","prefinish","SymbolFor","kIsErrored","kIsReadable","kIsWritable","kIsDisturbed","obj","strict","_obj$_readableState","_obj$_writableState","pipeThrough","cancel","isWritableEnded","isReadableEnded","_stream$_writableStat","_stream$_writableStat2","writableErrored","_stream$_readableStat","_stream$_readableStat2","readableErrored","_closed","isOutgoingMessage","_defaultKeepAlive","_removedConnection","_removedContLen","isServerResponse","_sent100","_stream$req","_consuming","_dumped","upgradeOrConnect","isDisturbed","_stream$kIsDisturbed","isErrored","_ref2","_ref3","_ref4","_ref5","_stream$kIsErrored","_stream$_readableStat3","_stream$_writableStat3","_stream$_readableStat4","_stream$_writableStat4","ArrayPrototypeSlice","Error","FunctionPrototypeSymbolHasInstance","ObjectDefineProperty","StringPrototypeToLowerCase","SymbolHasInstance","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_ALREADY_FINISHED","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","kOnFinished","noDecode","decodeStrings","corked","bufferProcessing","onwrite","writecb","writelen","afterWriteTickInfo","resetBuffer","pendingcb","buffered","bufferedIndex","allBuffers","allNoop","writev","_writev","clearBuffer","finishMaybe","isEncoding","writeOrBuffer","doWrite","onwriteError","errorBuffer","count","afterWriteTick","afterWrite","_state$errored","onfinishCallbacks","_state$errored2","bufferedLength","chunks","needFinish","callFinal","onFinish","getBuffer","object","cork","uncork","setDefaultEncoding","writableAborted","writableStream","newStreamWritableFromWritableStream","streamWritable","newWritableStreamFromStreamWritable","ArrayPrototypeIncludes","ArrayPrototypeJoin","ArrayPrototypeMap","NumberMAX_SAFE_INTEGER","NumberMIN_SAFE_INTEGER","ObjectPrototypeHasOwnProperty","RegExpPrototypeExec","String","StringPrototypeToUpperCase","StringPrototypeTrim","hideStackFrames","ERR_SOCKET_BAD_PORT","ERR_UNKNOWN_SIGNAL","normalizeEncoding","isAsyncFunction","isArrayBufferView","signals","isInt32","isUint32","octalReg","modeDesc","parseFileMode","def","validateUint32","min","max","validateInt32","positive","validateString","validateNumber","validateOneOf","oneOf","allowed","getOwnPropertyValueOrDefault","key","defaultValue","allowArray","allowFunction","nullable","validateDictionary","validateArray","minLength","validateStringArray","validateBooleanArray","validateAbortSignalArray","indexedName","validateSignalName","validateBuffer","validateEncoding","normalizedEncoding","validatePort","port","allowZero","validatePlainFunction","validateUndefined","validateUnion","union","linkValueRegExp","validateLinkHeaderFormat","validateLinkHeaderValue","hints","hintsLength","link","CustomStream","promises","originalDestroy","Object","defineProperty","configurable","format","AggregateError","CustomAggregateError","kIsNodeError","kTypes","classRegExp","nodeInternalPrefix","assert","ERR_INTERNAL_ASSERTION","addNumericalSeparator","start","getMessage","msg","expectedLength","match","E","Base","NodeError","defineProperties","hidden","innerError","outerError","Array","isArray","errors","expected","actual","endsWith","types","instances","other","toLowerCase","test","pos","indexOf","last","_actual$constructor","inspected","colors","TypeError","type","input","_value$constructor","a","range","received","isInteger","Math","abs","RangeError","el","sep","ArrayPrototypePop","thisArgs","instance","Function","hasInstance","floor","isNaN","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseInt","props","prop","getOwnPropertyDescriptor","target","proto","setPrototypeOf","PromisePrototypeCatch","thenFn","catchFn","ReflectApply","Reflect","RegExpPrototypeTest","Set","toUpperCase","trim","asyncIterator","dispose","asyncDispose","AbortSignal","AsyncFunction","getPrototypeOf","freeze","rej","promisify","debuglog","replace","_unused","replacement","toFixed","JSON","stringify","ctor","is","arr","ArrayBuffer","isView","listener","removeEventListener","queueMicrotask","_removeEventListener","AbortSignalAny","any","custom","customPromisify","ERR_ILLEGAL_CONSTRUCTOR","utils","op","byteLength","pl","lastArg","ObjectEncoder","array","jsonld","StringEncoder","SerializerStream","encoder","quad","triple","graph","termType","subjectValue","subject","predicate","objectValue","static","language","datatype","Serializer","CustomJsonLdSerializer"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/250.f09c4840.js b/js/250.f09c4840.js
deleted file mode 100644
index 89416cd..0000000
--- a/js/250.f09c4840.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[250],{41134:function(e,t,r){"use strict";const{AbortError:n,codes:o}=r(18461),{isNodeStream:i,isWebStream:a,kControllerErrorFunction:l}=r(58516),s=r(5499),{ERR_INVALID_ARG_TYPE:d}=o,u=(e,t)=>{if("object"!==typeof e||!("aborted"in e))throw new d(t,"AbortSignal",e)};e.exports.addAbortSignal=function(t,r){if(u(t,"signal"),!i(r)&&!a(r))throw new d("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!==typeof e||!("aborted"in e))return t;const r=i(t)?()=>{t.destroy(new n(void 0,{cause:e.reason}))}:()=>{t[l](new n(void 0,{cause:e.reason}))};return e.aborted?r():(e.addEventListener("abort",r),s(t,(()=>e.removeEventListener("abort",r)))),t}},65072:function(e,t,r){"use strict";const{StringPrototypeSlice:n,SymbolIterator:o,TypedArrayPrototypeSet:i,Uint8Array:a}=r(60341),{Buffer:l}=r(48764),{inspect:s}=r(57255);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;while(null!==(t=t.next))r+=e+t.data;return r}concat(e){if(0===this.length)return l.alloc(0);const t=l.allocUnsafe(e>>>0);let r=this.head,n=0;while(r)i(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(ei.length)){e===i.length?(t+=i,++o,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(i,0,e),this.head=r,r.data=n(i,e));break}t+=i,e-=i.length,++o}while(null!==(r=r.next));return this.length-=o,t}_getBuffer(e){const t=l.allocUnsafe(e),r=e;let n=this.head,o=0;do{const l=n.data;if(!(e>l.length)){e===l.length?(i(t,l,r-e),++o,n.next?this.head=n.next:this.head=this.tail=null):(i(t,new a(l.buffer,l.byteOffset,e),r-e),this.head=n,n.data=l.slice(e));break}i(t,l,r-e),e-=l.length,++o}while(null!==(n=n.next));return this.length-=o,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return s(this,{...t,depth:0,customInspect:!1})}}},7422:function(e,t,r){"use strict";const{pipeline:n}=r(91519),o=r(27415),{destroyer:i}=r(20339),{isNodeStream:a,isReadable:l,isWritable:s,isWebStream:d,isTransformStream:u,isWritableStream:c,isReadableStream:f}=r(58516),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:b,ERR_MISSING_ARGS:p}}=r(18461),y=r(5499);e.exports=function(...e){if(0===e.length)throw new p("streams");if(1===e.length)return o.from(e[0]);const t=[...e];if("function"===typeof e[0]&&(e[0]=o.from(e[0])),"function"===typeof e[e.length-1]){const t=e.length-1;e[t]=o.from(e[t])}for(let n=0;n0&&!(s(e[n])||c(e[n])||u(e[n])))throw new b(`streams[${n}]`,t[n],"must be writable")}let r,_,w,g,m;function S(e){const t=g;g=null,t?t(e):e?m.destroy(e):A||R||m.destroy()}const v=e[0],E=n(e,S),R=!!(s(v)||c(v)||u(v)),A=!!(l(E)||f(E)||u(E));if(m=new o({writableObjectMode:!(null===v||void 0===v||!v.writableObjectMode),readableObjectMode:!(null===E||void 0===E||!E.writableObjectMode),writable:R,readable:A}),R){if(a(v))m._write=function(e,t,n){v.write(e,t)?n():r=n},m._final=function(e){v.end(),_=e},v.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(d(v)){const e=u(v)?v.writable:v,t=e.getWriter();m._write=async function(e,r,n){try{await t.ready,t.write(e).catch((()=>{})),n()}catch(o){n(o)}},m._final=async function(e){try{await t.ready,t.close().catch((()=>{})),_=e}catch(r){e(r)}}}const e=u(E)?E.readable:E;y(e,(()=>{if(_){const e=_;_=null,e()}}))}if(A)if(a(E))E.on("readable",(function(){if(w){const e=w;w=null,e()}})),E.on("end",(function(){m.push(null)})),m._read=function(){while(1){const e=E.read();if(null===e)return void(w=m._read);if(!m.push(e))return}};else if(d(E)){const e=u(E)?E.readable:E,t=e.getReader();m._read=async function(){while(1)try{const{value:e,done:r}=await t.read();if(!m.push(e))return;if(r)return void m.push(null)}catch{return}}}return m._destroy=function(e,t){e||null===g||(e=new h),w=null,r=null,_=null,null===g?t(e):(g=t,a(E)&&i(E,e))},m}},20339:function(e,t,r){"use strict";const n=r(34155),{aggregateTwoErrors:o,codes:{ERR_MULTIPLE_CALLBACK:i},AbortError:a}=r(18461),{Symbol:l}=r(60341),{kDestroyed:s,isDestroyed:d,isFinished:u,isServerRequest:c}=r(58516),f=l("kDestroy"),h=l("kConstruct");function b(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function p(e,t){const r=this._readableState,n=this._writableState,i=n||r;return null!==n&&void 0!==n&&n.destroyed||null!==r&&void 0!==r&&r.destroyed?("function"===typeof t&&t(),this):(b(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),i.constructed?y(this,e,t):this.once(f,(function(r){y(this,o(r,e),t)})),this)}function y(e,t,r){let o=!1;function i(t){if(o)return;o=!0;const i=e._readableState,a=e._writableState;b(t,a,i),a&&(a.closed=!0),i&&(i.closed=!0),"function"===typeof r&&r(t),t?n.nextTick(_,e,t):n.nextTick(w,e)}try{e._destroy(t||null,i)}catch(t){i(t)}}function _(e,t){g(e,t),w(e)}function w(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!==r&&void 0!==r&&r.emitClose||null!==t&&void 0!==t&&t.emitClose)&&e.emit("close")}function g(e,t){const r=e._readableState,n=e._writableState;null!==n&&void 0!==n&&n.errorEmitted||null!==r&&void 0!==r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function m(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)}function S(e,t,r){const o=e._readableState,i=e._writableState;if(null!==i&&void 0!==i&&i.destroyed||null!==o&&void 0!==o&&o.destroyed)return this;null!==o&&void 0!==o&&o.autoDestroy||null!==i&&void 0!==i&&i.autoDestroy?e.destroy(t):t&&(t.stack,i&&!i.errored&&(i.errored=t),o&&!o.errored&&(o.errored=t),r?n.nextTick(g,e,t):g(e,t))}function v(e,t){if("function"!==typeof e._construct)return;const r=e._readableState,o=e._writableState;r&&(r.constructed=!1),o&&(o.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(E,e)}function E(e){let t=!1;function r(r){if(t)return void S(e,null!==r&&void 0!==r?r:new i);t=!0;const o=e._readableState,a=e._writableState,l=a||o;o&&(o.constructed=!0),a&&(a.constructed=!0),l.destroyed?e.emit(f,r):r?S(e,r,!0):n.nextTick(R,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(o){n.nextTick(r,o)}}function R(e){e.emit(h)}function A(e){return(null===e||void 0===e?void 0:e.setHeader)&&"function"===typeof e.abort}function T(e){e.emit("close")}function k(e,t){e.emit("error",t),n.nextTick(T,e)}function I(e,t){e&&!d(e)&&(t||u(e)||(t=new a),c(e)?(e.socket=null,e.destroy(t)):A(e)?e.abort():A(e.req)?e.req.abort():"function"===typeof e.destroy?e.destroy(t):"function"===typeof e.close?e.close():t?n.nextTick(k,e,t):n.nextTick(T,e),e.destroyed||(e[s]=!0))}e.exports={construct:v,destroyer:I,destroy:p,undestroy:m,errorOrDestroy:S}},27415:function(e,t,r){"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:o,ObjectKeys:i,ObjectSetPrototypeOf:a}=r(60341);e.exports=d;const l=r(377),s=r(11339);a(d.prototype,l.prototype),a(d,l);{const e=i(s.prototype);for(let t=0;t{c=!1,e&&y(t,e),b(e)})),d._write=function(e,t,o){r.write(e,t)?o():n=o},d._final=function(e){r.end(),o=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(o){const e=o;o=null,e()}}))),u&&(f(t,(e=>{u=!1,e&&y(t,e),b(e)})),t.on("readable",(function(){if(l){const e=l;l=null,e()}})),t.on("end",(function(){d.push(null)})),d._read=function(){while(1){const e=t.read();if(null===e)return void(l=d._read);if(!d.push(e))return}}),d._destroy=function(e,i){e||null===s||(e=new h),l=null,n=null,o=null,null===s?i(e):(s=i,y(r,e),y(t,e))},d}e.exports=function e(t,r){if(c(t))return t;if(d(t))return k({readable:t});if(u(t))return k({writable:t});if(s(t))return k({writable:!1,readable:!1});if("function"===typeof t){const{value:e,write:o,final:i,destroy:a}=T(t);if(l(e))return m(A,e,{objectMode:!0,write:o,final:i,destroy:a});const s=null===e||void 0===e?void 0:e.then;if("function"===typeof s){let t;const r=R(s,e,(e=>{if(null!=e)throw new p("nully","body",e)}),(e=>{y(t,e)}));return t=new A({objectMode:!0,readable:!1,write:o,final(e){i((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new p("Iterable, AsyncIterable or AsyncFunction",r,e)}if(v(t))return e(t.arrayBuffer());if(l(t))return m(A,t,{objectMode:!0,writable:!1});if("object"===typeof(null===t||void 0===t?void 0:t.writable)||"object"===typeof(null===t||void 0===t?void 0:t.readable)){const r=null!==t&&void 0!==t&&t.readable?d(null===t||void 0===t?void 0:t.readable)?null===t||void 0===t?void 0:t.readable:e(t.readable):void 0,n=null!==t&&void 0!==t&&t.writable?u(null===t||void 0===t?void 0:t.writable)?null===t||void 0===t?void 0:t.writable:e(t.writable):void 0;return k({readable:r,writable:n})}const o=null===t||void 0===t?void 0:t.then;if("function"===typeof o){let e;return R(o,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{y(e,t)})),e=new A({objectMode:!0,writable:!1,read(){}})}throw new b(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},5499:function(e,t,r){const n=r(34155),{AbortError:o,codes:i}=r(18461),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:l}=i,{kEmptyObject:s,once:d}=r(57255),{validateAbortSignal:u,validateFunction:c,validateObject:f,validateBoolean:h}=r(12309),{Promise:b,PromisePrototypeThen:p}=r(60341),{isClosed:y,isReadable:_,isReadableNodeStream:w,isReadableStream:g,isReadableFinished:m,isReadableErrored:S,isWritable:v,isWritableNodeStream:E,isWritableStream:R,isWritableFinished:A,isWritableErrored:T,isNodeStream:k,willEmitClose:I,kIsClosedPromise:N}=r(58516);function M(e){return e.setHeader&&"function"===typeof e.abort}const x=()=>{};function j(e,t,r){var i,h;if(2===arguments.length?(r=t,t=s):null==t?t=s:f(t,"options"),c(r,"callback"),u(t.signal,"options.signal"),r=d(r),g(e)||R(e))return O(e,t,r);if(!k(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const b=null!==(i=t.readable)&&void 0!==i?i:w(e),p=null!==(h=t.writable)&&void 0!==h?h:E(e),N=e._writableState,j=e._readableState,D=()=>{e.writable||W()};let L=I(e)&&w(e)===b&&E(e)===p,P=A(e,!1);const W=()=>{P=!0,e.destroyed&&(L=!1),(!L||e.readable&&!b)&&(b&&!$||r.call(e))};let $=m(e,!1);const C=()=>{$=!0,e.destroyed&&(L=!1),(!L||e.writable&&!p)&&(p&&!P||r.call(e))},F=t=>{r.call(e,t)};let U=y(e);const B=()=>{U=!0;const t=T(e)||S(e);return t&&"boolean"!==typeof t?r.call(e,t):b&&!$&&w(e,!0)&&!m(e,!1)?r.call(e,new l):!p||P||A(e,!1)?void r.call(e):r.call(e,new l)},V=()=>{U=!0;const t=T(e)||S(e);if(t&&"boolean"!==typeof t)return r.call(e,t);r.call(e)},G=()=>{e.req.on("finish",W)};M(e)?(e.on("complete",W),L||e.on("abort",B),e.req?G():e.on("request",G)):p&&!N&&(e.on("end",D),e.on("close",D)),L||"boolean"!==typeof e.aborted||e.on("aborted",B),e.on("end",C),e.on("finish",W),!1!==t.error&&e.on("error",F),e.on("close",B),U?n.nextTick(B):null!==N&&void 0!==N&&N.errorEmitted||null!==j&&void 0!==j&&j.errorEmitted?L||n.nextTick(V):(b||L&&!_(e)||!P&&!1!==v(e))&&(p||L&&!v(e)||!$&&!1!==_(e))?j&&e.req&&e.aborted&&n.nextTick(V):n.nextTick(V);const H=()=>{r=x,e.removeListener("aborted",B),e.removeListener("complete",W),e.removeListener("abort",B),e.removeListener("request",G),e.req&&e.req.removeListener("finish",W),e.removeListener("end",D),e.removeListener("close",D),e.removeListener("finish",W),e.removeListener("end",C),e.removeListener("error",F),e.removeListener("close",B)};if(t.signal&&!U){const i=()=>{const n=r;H(),n.call(e,new o(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(i);else{const n=r;r=d(((...r)=>{t.signal.removeEventListener("abort",i),n.apply(e,r)})),t.signal.addEventListener("abort",i)}}return H}function O(e,t,r){let i=!1,a=x;if(t.signal)if(a=()=>{i=!0,r.call(e,new o(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(a);else{const n=r;r=d(((...r)=>{t.signal.removeEventListener("abort",a),n.apply(e,r)})),t.signal.addEventListener("abort",a)}const l=(...t)=>{i||n.nextTick((()=>r.apply(e,t)))};return p(e[N].promise,l,l),x}function D(e,t){var r;let n=!1;return null===t&&(t=s),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new b(((r,o)=>{const i=j(e,t,(e=>{n&&i(),e?o(e):r()}))}))}e.exports=j,e.exports.finished=D},61949:function(e,t,r){"use strict";const n=r(34155),{PromisePrototypeThen:o,SymbolAsyncIterator:i,SymbolIterator:a}=r(60341),{Buffer:l}=r(48764),{ERR_INVALID_ARG_TYPE:s,ERR_STREAM_NULL_VALUES:d}=r(18461).codes;function u(e,t,r){let u,c;if("string"===typeof t||t instanceof l)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[i])c=!0,u=t[i]();else{if(!t||!t[a])throw new s("iterable",["Iterable"],t);c=!1,u=t[a]()}const f=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;async function b(e){const t=void 0!==e&&null!==e,r="function"===typeof u.throw;if(t&&r){const{value:t,done:r}=await u.throw(e);if(await t,r)return}if("function"===typeof u.return){const{value:e}=await u.return();await e}}async function p(){for(;;){try{const{value:e,done:t}=c?await u.next():u.next();if(t)f.push(null);else{const t=e&&"function"===typeof e.then?await e:e;if(null===t)throw h=!1,new d;if(f.push(t))continue;h=!1}}catch(e){f.destroy(e)}break}}return f._read=function(){h||(h=!0,p())},f._destroy=function(e,t){o(b(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},f}e.exports=u},33491:function(e,t,r){"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:o}=r(60341),{EventEmitter:i}=r(17187);function a(e){i.call(this,e)}function l(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}o(a.prototype,i.prototype),o(a,i),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",s),r.on("close",d));let a=!1;function s(){a||(a=!0,e.end())}function d(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){c(),0===i.listenerCount(this,"error")&&this.emit("error",e)}function c(){r.removeListener("data",n),e.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",d),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return l(r,"error",u),l(e,"error",u),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:l}},60918:function(e,t,r){"use strict";const n=globalThis.AbortController||r(28599).AbortController,{codes:{ERR_INVALID_ARG_VALUE:o,ERR_INVALID_ARG_TYPE:i,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:l},AbortError:s}=r(18461),{validateAbortSignal:d,validateInteger:u,validateObject:c}=r(12309),f=r(60341).Symbol("kWeak"),{finished:h}=r(5499),b=r(7422),{addAbortSignalNoValidate:p}=r(41134),{isWritable:y,isNodeStream:_}=r(58516),{ArrayPrototypePush:w,MathFloor:g,Number:m,NumberIsNaN:S,Promise:v,PromiseReject:E,PromisePrototypeThen:R,Symbol:A}=r(60341),T=A("kEmpty"),k=A("kEof");function I(e,t){if(null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),_(e)&&!y(e))throw new o("stream",e,"must be writable");const r=b(this,e);return null!==t&&void 0!==t&&t.signal&&p(t.signal,r),r}function N(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal");let r=1;return null!=(null===t||void 0===t?void 0:t.concurrency)&&(r=g(t.concurrency)),u(r,"concurrency",1),async function*(){var o,i;const a=new n,l=this,d=[],u=a.signal,c={signal:u},f=()=>a.abort();let h,b;null!==t&&void 0!==t&&null!==(o=t.signal)&&void 0!==o&&o.aborted&&f(),null===t||void 0===t||null===(i=t.signal)||void 0===i||i.addEventListener("abort",f);let p=!1;function y(){p=!0}async function _(){try{for await(let t of l){var n;if(p)return;if(u.aborted)throw new s;try{t=e(t,c)}catch(i){t=E(i)}t!==T&&("function"===typeof(null===(n=t)||void 0===n?void 0:n.catch)&&t.catch(y),d.push(t),h&&(h(),h=null),!p&&d.length&&d.length>=r&&await new v((e=>{b=e})))}d.push(k)}catch(i){const e=E(i);R(e,void 0,y),d.push(e)}finally{var o;p=!0,h&&(h(),h=null),null===t||void 0===t||null===(o=t.signal)||void 0===o||o.removeEventListener("abort",f)}}_();try{while(1){while(d.length>0){const e=await d[0];if(e===k)return;if(u.aborted)throw new s;e!==T&&(yield e),d.shift(),b&&(b(),b=null)}await new v((e=>{h=e}))}}finally{a.abort(),p=!0,b&&(b(),b=null)}}.call(this)}function M(e=void 0){return null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s({cause:e.signal.reason});yield[t++,n]}}.call(this)}async function x(e,t=void 0){for await(const r of L.call(this,e,t))return!0;return!1}async function j(e,t=void 0){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);return!await x.call(this,(async(...t)=>!await e(...t)),t)}async function O(e,t){for await(const r of L.call(this,e,t))return r}async function D(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r),T}for await(const n of N.call(this,r,t));}function L(e,t){if("function"!==typeof e)throw new i("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r)?t:T}return N.call(this,r,t)}class P extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function W(e,t,r){var o;if("function"!==typeof e)throw new i("reducer",["Function","AsyncFunction"],e);null!=r&&c(r,"options"),null!=(null===r||void 0===r?void 0:r.signal)&&d(r.signal,"options.signal");let a=arguments.length>1;if(null!==r&&void 0!==r&&null!==(o=r.signal)&&void 0!==o&&o.aborted){const e=new s(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await h(this.destroy(e)),e}const l=new n,u=l.signal;if(null!==r&&void 0!==r&&r.signal){const e={once:!0,[f]:this};r.signal.addEventListener("abort",(()=>l.abort()),e)}let b=!1;try{for await(const n of this){var p;if(b=!0,null!==r&&void 0!==r&&null!==(p=r.signal)&&void 0!==p&&p.aborted)throw new s;a?t=await e(t,n,{signal:u}):(t=n,a=!0)}if(!b&&!a)throw new P}finally{l.abort()}return t}async function $(e){null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new s(void 0,{cause:e.signal.reason});w(t,n)}return t}function C(e,t){const r=N.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)}function F(e){if(e=m(e),S(e))return 0;if(e<0)throw new l("number",">= 0",e);return e}function U(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=F(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;e--<=0&&(yield o)}}.call(this)}function B(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=F(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new s;for await(const o of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new s;if(!(e-- >0))return;yield o}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:M,drop:U,filter:L,flatMap:C,map:N,take:B,compose:I},e.exports.promiseReturningOperators={every:j,forEach:D,reduce:W,toArray:$,some:x,find:O}},57295:function(e,t,r){"use strict";const{ObjectSetPrototypeOf:n}=r(60341);e.exports=i;const o=r(21122);function i(e){if(!(this instanceof i))return new i(e);o.call(this,e)}n(i.prototype,o.prototype),n(i,o),i.prototype._transform=function(e,t,r){r(null,e)}},91519:function(e,t,r){const n=r(34155),{ArrayIsArray:o,Promise:i,SymbolAsyncIterator:a}=r(60341),l=r(5499),{once:s}=r(57255),d=r(20339),u=r(27415),{aggregateTwoErrors:c,codes:{ERR_INVALID_ARG_TYPE:f,ERR_INVALID_RETURN_VALUE:h,ERR_MISSING_ARGS:b,ERR_STREAM_DESTROYED:p,ERR_STREAM_PREMATURE_CLOSE:y},AbortError:_}=r(18461),{validateFunction:w,validateAbortSignal:g}=r(12309),{isIterable:m,isReadable:S,isReadableNodeStream:v,isNodeStream:E,isTransformStream:R,isWebStream:A,isReadableStream:T,isReadableEnded:k}=r(58516),I=globalThis.AbortController||r(28599).AbortController;let N,M;function x(e,t,r){let n=!1;e.on("close",(()=>{n=!0}));const o=l(e,{readable:t,writable:r},(e=>{n=!e}));return{destroy:t=>{n||(n=!0,d.destroyer(e,t||new p("pipe")))},cleanup:o}}function j(e){return w(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function O(e){if(m(e))return e;if(v(e))return D(e);throw new f("val",["Readable","Iterable","AsyncIterable"],e)}async function*D(e){M||(M=r(377)),yield*M.prototype[a].call(e)}async function L(e,t,r,{end:n}){let o,a=null;const s=e=>{if(e&&(o=e),a){const e=a;a=null,e()}},d=()=>new i(((e,t)=>{o?t(o):a=()=>{o?t(o):e()}}));t.on("drain",s);const u=l(t,{readable:!1},s);try{t.writableNeedDrain&&await d();for await(const r of e)t.write(r)||await d();n&&t.end(),await d(),r()}catch(f){r(o!==f?c(o,f):f)}finally{u(),t.off("drain",s)}}async function P(e,t,r,{end:n}){R(t)&&(t=t.writable);const o=t.getWriter();try{for await(const t of e)await o.ready,o.write(t).catch((()=>{}));await o.ready,n&&await o.close(),r()}catch(i){try{await o.abort(i),r(i)}catch(i){r(i)}}}function W(...e){return $(e,s(j(e)))}function $(e,t,i){if(1===e.length&&o(e[0])&&(e=e[0]),e.length<2)throw new b("streams");const a=new I,l=a.signal,s=null===i||void 0===i?void 0:i.signal,d=[];function c(){D(new _)}let p,y;g(s,"options.signal"),null===s||void 0===s||s.addEventListener("abort",c);const w=[];let k,M=0;function j(e){D(e,0===--M)}function D(e,r){if(!e||p&&"ERR_STREAM_PREMATURE_CLOSE"!==p.code||(p=e),p||r){while(w.length)w.shift()(p);null===s||void 0===s||s.removeEventListener("abort",c),a.abort(),r&&(p||d.forEach((e=>e())),n.nextTick(t,p,y))}}for(let U=0;U0,H=V||!1!==(null===i||void 0===i?void 0:i.end),q=U===e.length-1;if(E(B)){if(H){const{destroy:Y,cleanup:K}=x(B,V,G);w.push(Y),S(B)&&q&&d.push(K)}function W(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&j(e)}B.on("error",W),S(B)&&q&&d.push((()=>{B.removeListener("error",W)}))}if(0===U)if("function"===typeof B){if(k=B({signal:l}),!m(k))throw new h("Iterable, AsyncIterable or Stream","source",k)}else k=m(B)||v(B)||R(B)?B:u.from(B);else if("function"===typeof B){var $;if(R(k))k=O(null===($=k)||void 0===$?void 0:$.readable);else k=O(k);if(k=B(k,{signal:l}),V){if(!m(k,!0))throw new h("AsyncIterable",`transform[${U-1}]`,k)}else{var F;N||(N=r(57295));const z=new N({objectMode:!0}),J=null===(F=k)||void 0===F?void 0:F.then;if("function"===typeof J)M++,J.call(k,(e=>{y=e,null!=e&&z.write(e),H&&z.end(),n.nextTick(j)}),(e=>{z.destroy(e),n.nextTick(j,e)}));else if(m(k,!0))M++,L(k,z,j,{end:H});else{if(!T(k)&&!R(k))throw new h("AsyncIterable or Promise","destination",k);{const Q=k.readable||k;M++,L(Q,z,j,{end:H})}}k=z;const{destroy:X,cleanup:Z}=x(k,!1,!0);w.push(X),q&&d.push(Z)}}else if(E(B)){if(v(k)){M+=2;const ee=C(k,B,j,{end:H});S(B)&&q&&d.push(ee)}else if(R(k)||T(k)){const te=k.readable||k;M++,L(te,B,j,{end:H})}else{if(!m(k))throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],k);M++,L(k,B,j,{end:H})}k=B}else if(A(B)){if(v(k))M++,P(O(k),B,j,{end:H});else if(T(k)||m(k))M++,P(k,B,j,{end:H});else{if(!R(k))throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],k);M++,P(k.readable,B,j,{end:H})}k=B}else k=u.from(B)}return(null!==l&&void 0!==l&&l.aborted||null!==s&&void 0!==s&&s.aborted)&&n.nextTick(c),k}function C(e,t,r,{end:o}){let i=!1;if(t.on("close",(()=>{i||r(new y)})),e.pipe(t,{end:!1}),o){function a(){i=!0,t.end()}k(e)?n.nextTick(a):e.once("end",a)}else r();return l(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),l(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:$,pipeline:W}},377:function(e,t,r){const n=r(34155),{ArrayPrototypeIndexOf:o,NumberIsInteger:i,NumberIsNaN:a,NumberParseInt:l,ObjectDefineProperties:s,ObjectKeys:d,ObjectSetPrototypeOf:u,Promise:c,SafeSet:f,SymbolAsyncIterator:h,Symbol:b}=r(60341);e.exports=C,C.ReadableState=$;const{EventEmitter:p}=r(17187),{Stream:y,prependListener:_}=r(33491),{Buffer:w}=r(48764),{addAbortSignal:g}=r(41134),m=r(5499);let S=r(57255).debuglog("stream",(e=>{S=e}));const v=r(65072),E=r(20339),{getHighWaterMark:R,getDefaultHighWaterMark:A}=r(94864),{aggregateTwoErrors:T,codes:{ERR_INVALID_ARG_TYPE:k,ERR_METHOD_NOT_IMPLEMENTED:I,ERR_OUT_OF_RANGE:N,ERR_STREAM_PUSH_AFTER_EOF:M,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:x}}=r(18461),{validateObject:j}=r(12309),O=b("kPaused"),{StringDecoder:D}=r(32553),L=r(61949);u(C.prototype,y.prototype),u(C,y);const P=()=>{},{errorOrDestroy:W}=E;function $(e,t,n){"boolean"!==typeof n&&(n=t instanceof r(27415)),this.objectMode=!(!e||!e.objectMode),n&&(this.objectMode=this.objectMode||!(!e||!e.readableObjectMode)),this.highWaterMark=e?R(this,e,"readableHighWaterMark",n):A(!1),this.buffer=new v,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[O]=null,this.errorEmitted=!1,this.emitClose=!e||!1!==e.emitClose,this.autoDestroy=!e||!1!==e.autoDestroy,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new D(e.encoding),this.encoding=e.encoding)}function C(e){if(!(this instanceof C))return new C(e);const t=this instanceof r(27415);this._readableState=new $(e,this,t),e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&g(e.signal,this)),y.call(this,e),E.construct(this,(()=>{this._readableState.needReadable&&K(this,this._readableState)}))}function F(e,t,r,n){S("readableAddChunk",t);const o=e._readableState;let i;if(o.objectMode||("string"===typeof t?(r=r||o.defaultEncoding,o.encoding!==r&&(n&&o.encoding?t=w.from(t,r).toString(o.encoding):(t=w.from(t,r),r=""))):t instanceof w?r="":y._isUint8Array(t)?(t=y._uint8ArrayToBuffer(t),r=""):null!=t&&(i=new k("chunk",["string","Buffer","Uint8Array"],t))),i)W(e,i);else if(null===t)o.reading=!1,H(e,o);else if(o.objectMode||t&&t.length>0)if(n)if(o.endEmitted)W(e,new x);else{if(o.destroyed||o.errored)return!1;U(e,o,t,!0)}else if(o.ended)W(e,new M);else{if(o.destroyed||o.errored)return!1;o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||0!==t.length?U(e,o,t,!1):K(e,o)):U(e,o,t,!1)}else n||(o.reading=!1,K(e,o));return!o.ended&&(o.length0?(t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&q(e)),K(e,t)}C.prototype.destroy=E.destroy,C.prototype._undestroy=E.undestroy,C.prototype._destroy=function(e,t){t(e)},C.prototype[p.captureRejectionSymbol]=function(e){this.destroy(e)},C.prototype.push=function(e,t){return F(this,e,t,!1)},C.prototype.unshift=function(e,t){return F(this,e,t,!0)},C.prototype.isPaused=function(){const e=this._readableState;return!0===e[O]||!1===e.flowing},C.prototype.setEncoding=function(e){const t=new D(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const o of r)n+=t.write(o);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this};const B=1073741824;function V(e){if(e>B)throw new N("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function G(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function H(e,t){if(S("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?q(e):(t.needReadable=!1,t.emittedReadable=!0,Y(e))}}function q(e){const t=e._readableState;S("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(S("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(Y,e))}function Y(e){const t=e._readableState;S("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,te(e)}function K(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(z,e,t))}function z(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[O]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function Z(e){S("readable nexttick read 0"),e.read(0)}function Q(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(ee,e,t))}function ee(e,t){S("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),te(e),t.flowing&&!t.reading&&e.read(0)}function te(e){const t=e._readableState;S("flow",t.flowing);while(t.flowing&&null!==e.read());}function re(e,t){"function"!==typeof e.read&&(e=C.wrap(e,{objectMode:!0}));const r=ne(e,t);return r.stream=e,r}async function*ne(e,t){let r,n=P;function o(t){this===e?(n(),n=P):n=t}e.on("readable",o);const i=m(e,{writable:!1},(e=>{r=e?T(r,e):null,n(),n=P}));try{while(1){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new c(o)}}}catch(a){throw r=T(r,a),r}finally{!r&&!1===(null===t||void 0===t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",o),i()):E.destroyer(e,null)}}function oe(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function ie(e){const t=e._readableState;S("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(ae,t,e))}function ae(e,t){if(S("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(le,t);else if(e.autoDestroy){const e=t._writableState,r=!e||e.autoDestroy&&(e.finished||!1===e.writable);r&&t.destroy()}}function le(e){const t=e.writable&&!e.writableEnded&&!e.destroyed;t&&e.end()}let se;function de(){return void 0===se&&(se={}),se}C.prototype.read=function(e){S("read",e),void 0===e?e=NaN:i(e)||(e=l(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=V(e)),0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return S("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?ie(this):q(this),null;if(e=G(e,t),0===e&&t.ended)return 0===t.length&&ie(this),null;let n,o=t.needReadable;if(S("need readable",o),(0===t.length||t.length-e0?oe(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&ie(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},C.prototype._read=function(e){throw new I("_read()")},C.prototype.pipe=function(e,t){const r=this,o=this._readableState;1===o.pipes.length&&(o.multiAwaitDrain||(o.multiAwaitDrain=!0,o.awaitDrainWriters=new f(o.awaitDrainWriters?[o.awaitDrainWriters]:[]))),o.pipes.push(e),S("pipe count=%d opts=%j",o.pipes.length,t);const i=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr,a=i?s:g;function l(e,t){S("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,c())}function s(){S("onend"),e.end()}let d;o.endEmitted?n.nextTick(a):r.once("end",a),e.on("unpipe",l);let u=!1;function c(){S("cleanup"),e.removeListener("close",y),e.removeListener("finish",w),d&&e.removeListener("drain",d),e.removeListener("error",p),e.removeListener("unpipe",l),r.removeListener("end",s),r.removeListener("end",g),r.removeListener("data",b),u=!0,d&&o.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&d()}function h(){u||(1===o.pipes.length&&o.pipes[0]===e?(S("false write response, pause",0),o.awaitDrainWriters=e,o.multiAwaitDrain=!1):o.pipes.length>1&&o.pipes.includes(e)&&(S("false write response, pause",o.awaitDrainWriters.size),o.awaitDrainWriters.add(e)),r.pause()),d||(d=J(r,e),e.on("drain",d))}function b(t){S("ondata");const r=e.write(t);S("dest.write",r),!1===r&&h()}function p(t){if(S("onerror",t),g(),e.removeListener("error",p),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?W(e,t):e.emit("error",t)}}function y(){e.removeListener("finish",w),g()}function w(){S("onfinish"),e.removeListener("close",y),g()}function g(){S("unpipe"),r.unpipe(e)}return r.on("data",b),_(e,"error",p),e.once("close",y),e.once("finish",w),e.emit("pipe",r),!0===e.writableNeedDrain?o.flowing&&h():o.flowing||(S("pipe resume"),r.resume()),e},C.prototype.unpipe=function(e){const t=this._readableState,r={hasUnpiped:!1};if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==o.flowing&&this.resume()):"readable"===e&&(o.endEmitted||o.readableListening||(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,S("on readable",o.length,o.reading),o.length?q(this):o.reading||n.nextTick(Z,this))),r},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(e,t){const r=y.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(X,this),r},C.prototype.off=C.prototype.removeListener,C.prototype.removeAllListeners=function(e){const t=y.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(X,this),t},C.prototype.resume=function(){const e=this._readableState;return e.flowing||(S("resume"),e.flowing=!e.readableListening,Q(this,e)),e[O]=!1,this},C.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[O]=!0,this},C.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{W(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=d(e);for(let n=1;n{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function c(){this._final!==u&&u.call(this)}d.prototype._final=u,d.prototype._transform=function(e,t,r){throw new i("_transform()")},d.prototype._write=function(e,t,r){const n=this._readableState,o=this._writableState,i=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),o.ended||i===n.length||n.length{const e=this._writableState;e.writing||V(this,e),Y(this,e)}))}function L(e,t,r,o){const i=e._writableState;if("function"===typeof r)o=r,r=i.defaultEncoding;else{if(r){if("buffer"!==r&&!p.isEncoding(r))throw new I(r)}else r=i.defaultEncoding;"function"!==typeof o&&(o=M)}if(null===t)throw new T;if(!i.objectMode)if("string"===typeof t)!1!==i.decodeStrings&&(t=p.from(t,r),r="buffer");else if(t instanceof p)r="buffer";else{if(!b._isUint8Array(t))throw new m("chunk",["string","Buffer","Uint8Array"],t);t=b._uint8ArrayToBuffer(t),r="buffer"}let a;return i.ending?a=new k:i.destroyed&&(a=new R("write")),a?(n.nextTick(o,a),N(e,a,!0),a):(i.pendingcb++,P(e,i,t,r,o))}function P(e,t,r,n,o){const i=t.objectMode?1:r.length;t.length+=i;const a=t.lengthr.bufferedIndex&&V(e,r),o?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===i?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:i,stream:e,state:r},n.nextTick(F,r.afterWriteTickInfo)):U(e,r,1,i))):N(e,new v)}function F({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,U(e,t,r,n)}function U(e,t,r,n){const o=!t.ending&&!e.destroyed&&0===t.length&&t.needDrain;o&&(t.needDrain=!1,e.emit("drain"));while(r-- >0)t.pendingcb--,n();t.destroyed&&B(t),Y(e,t)}function B(e){if(e.writing)return;for(let o=e.bufferedIndex;o1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?M:e=>{for(let t=l;t256?(r.splice(0,l),t.bufferedIndex=0):t.bufferedIndex=l}t.bufferProcessing=!1}function G(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function H(e,t){let r=!1;function o(o){if(r)N(e,null!==o&&void 0!==o?o:v());else if(r=!0,t.pendingcb--,o){const r=t[x].splice(0);for(let e=0;e{G(t)?K(e,t):t.pendingcb--}),e,t)):G(t)&&(t.pendingcb++,K(e,t))))}function K(e,t){t.pendingcb--,t.finished=!0;const r=t[x].splice(0);for(let n=0;n>>0}const N=/^[0-7]+$/,M="must be a 32-bit unsigned integer or an octal string";function x(e,t,r){if("undefined"===typeof e&&(e=r),"string"===typeof e){if(null===h(N,e))throw new m(t,e,M);e=c(e,8)}return D(e,t),e}const j=_(((e,t,r=u,n=d)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),O=_(((e,t,r=-2147483648,n=2147483647)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);if(en)throw new S(t,`>= ${r} && <= ${n}`,e)})),D=_(((e,t,r=!1)=>{if("number"!==typeof e)throw new g(t,"number",e);if(!l(e))throw new S(t,"an integer",e);const n=r?1:0,o=4294967295;if(eo)throw new S(t,`>= ${n} && <= ${o}`,e)}));function L(e,t){if("string"!==typeof e)throw new g(t,"string",e)}function P(e,t,r=void 0,n){if("number"!==typeof e)throw new g(t,"number",e);if(null!=r&&en||(null!=r||null!=n)&&s(e))throw new S(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)}const W=_(((e,t,r)=>{if(!o(r,e)){const n=i(a(r,(e=>"string"===typeof e?`'${e}'`:b(e))),", "),o="must be one of: "+n;throw new m(t,e,o)}}));function $(e,t){if("boolean"!==typeof e)throw new g(t,"boolean",e)}function C(e,t,r){return null!=e&&f(e,t)?e[t]:r}const F=_(((e,t,r=null)=>{const o=C(r,"allowArray",!1),i=C(r,"allowFunction",!1),a=C(r,"nullable",!1);if(!a&&null===e||!o&&n(e)||"object"!==typeof e&&(!i||"function"!==typeof e))throw new g(t,"Object",e)})),U=_(((e,t)=>{if(null!=e&&"object"!==typeof e&&"function"!==typeof e)throw new g(t,"a dictionary",e)})),B=_(((e,t,r=0)=>{if(!n(e))throw new g(t,"Array",e);if(e.length{if(!A(e))throw new g(t,["Buffer","TypedArray","DataView"],e)}));function Y(e,t){const r=E(t),n=e.length;if("hex"===r&&n%2!==0)throw new m("encoding",t,`is invalid for data of length ${n}`)}function K(e,t="Port",r=!0){if("number"!==typeof e&&"string"!==typeof e||"string"===typeof e&&0===y(e).length||+e!==+e>>>0||e>65535||0===e&&!r)throw new w(t,e,r);return 0|e}const z=_(((e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new g(t,"AbortSignal",e)})),J=_(((e,t)=>{if("function"!==typeof e)throw new g(t,"Function",e)})),X=_(((e,t)=>{if("function"!==typeof e||R(e))throw new g(t,"Function",e)})),Z=_(((e,t)=>{if(void 0!==e)throw new g(t,"undefined",e)}));function Q(e,t,r){if(!o(r,e))throw new g(t,`('${i(r,"|")}')`,e)}const ee=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function te(e,t){if("undefined"===typeof e||!h(ee,e))throw new m(t,e,'must be an array or string of format "; rel=preload; as=style"')}function re(e){if("string"===typeof e)return te(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}e.exports={isInt32:k,isUint32:I,parseFileMode:x,validateArray:B,validateStringArray:V,validateBooleanArray:G,validateBoolean:$,validateBuffer:q,validateDictionary:U,validateEncoding:Y,validateFunction:J,validateInt32:O,validateInteger:j,validateNumber:P,validateObject:F,validateOneOf:W,validatePlainFunction:X,validatePort:K,validateSignalName:H,validateString:L,validateUint32:D,validateUndefined:Z,validateUnion:Q,validateAbortSignal:z,validateLinkHeaderValue:re}},98124:function(e,t,r){"use strict";const n=r(18152),o=r(74787),i=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=i,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return o}}),e.exports.Stream=n.Stream,e.exports["default"]=e.exports},18461:function(e,t,r){"use strict";const{format:n,inspect:o,AggregateError:i}=r(57255),a=globalThis.AggregateError||i,l=Symbol("kIsNodeError"),s=["string","function","number","object","Function","Object","boolean","bigint","symbol"],d=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function f(e,t){if(!e)throw new c.ERR_INTERNAL_ASSERTION(t)}function h(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function b(e,t,r){if("function"===typeof t)return f(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const o=(t.match(/%[dfijoOs]/g)||[]).length;return f(o===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${o}).`),0===r.length?t:n(t,...r)}function p(e,t,r){r||(r=Error);class n extends r{constructor(...r){super(b(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=e,n.prototype[l]=!0,c[e]=n}function y(e){const t=u+e.name;return Object.defineProperty(e,"name",{value:t}),e}function _(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t}class w extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!==typeof t)throw new c.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",((e,t,r)=>{f("string"===typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const i=[],a=[],l=[];for(const o of t)f("string"===typeof o,"All expected entries have to be of type string"),s.includes(o)?i.push(o.toLowerCase()):d.test(o)?a.push(o):(f("object"!==o,'The value "object" should be written as "Object"'),l.push(o));if(a.length>0){const e=i.indexOf("object");-1!==e&&(i.splice(i,e,1),a.push("Object"))}if(i.length>0){switch(i.length){case 1:n+=`of type ${i[0]}`;break;case 2:n+=`one of type ${i[0]} or ${i[1]}`;break;default:{const e=i.pop();n+=`one of type ${i.join(", ")}, or ${e}`}}(a.length>0||l.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}l.length>0&&(n+=" or ")}switch(l.length){case 0:break;case 1:l[0].toLowerCase()!==l[0]&&(n+="an "),n+=`${l[0]}`;break;case 2:n+=`one of ${l[0]} or ${l[1]}`;break;default:{const e=l.pop();n+=`one of ${l.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"===typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"===typeof r){var u;if(null!==(u=r.constructor)&&void 0!==u&&u.name)n+=`. Received an instance of ${r.constructor.name}`;else{const e=o(r,{depth:-1});n+=`. Received ${e}`}}else{let e=o(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),p("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=o(t);n.length>128&&(n=n.slice(0,128)+"...");const i=e.includes(".")?"property":"argument";return`The ${i} '${e}' ${r}. Received ${n}`}),TypeError),p("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;const o=null!==r&&void 0!==r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r;return`Expected ${e} to be returned from the "${t}" function but got ${o}.`}),TypeError),p("ERR_MISSING_ARGS",((...e)=>{let t;f(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`}),TypeError),p("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return f(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=h(String(r)):"bigint"===typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=h(n)),n+="n"):n=o(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:w,aggregateTwoErrors:y(_),hideStackFrames:y,codes:c}},60341:function(e){"use strict";e.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,r){return e.slice(t,r)},Error:Error,FunctionPrototypeCall(e,t,...r){return e.call(t,...r)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number:Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,r){return Object.defineProperty(e,t,r)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise:Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,r){return e.then(t,r)},PromiseReject(e){return Promise.reject(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String:String,StringPrototypeSlice(e,t,r){return e.slice(t,r)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol:Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(e,t,r){return e.set(t,r)},Uint8Array:Uint8Array}},57255:function(e,t,r){"use strict";const n=r(48764),o=Object.getPrototypeOf((async function(){})).constructor,i=globalThis.Blob||n.Blob,a="undefined"!==typeof i?function(e){return e instanceof i}:function(e){return!1};class l extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n}));return{promise:r,resolve:e,reject:t}},promisify(e){return new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))}))},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();if("f"===r)return n.toFixed(6);if("j"===r)return JSON.stringify(n);if("s"===r&&"object"===typeof n){const e=n.constructor!==Object?n.constructor.name:"";return`${e} {}`.trim()}return n.toString()}))},inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof o},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:a},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},18152:function(e,t,r){const{Buffer:n}=r(48764),{ObjectDefineProperty:o,ObjectKeys:i,ReflectApply:a}=r(60341),{promisify:{custom:l}}=r(57255),{streamReturningOperators:s,promiseReturningOperators:d}=r(60918),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=r(18461),c=r(7422),{pipeline:f}=r(91519),{destroyer:h}=r(20339),b=r(5499),p=r(74787),y=r(58516),_=e.exports=r(33491).Stream;_.isDisturbed=y.isDisturbed,_.isErrored=y.isErrored,_.isReadable=y.isReadable,_.Readable=r(377);for(const m of i(s)){const S=s[m];function w(...e){if(new.target)throw u();return _.Readable.from(a(S,this,e))}o(w,"name",{__proto__:null,value:S.name}),o(w,"length",{__proto__:null,value:S.length}),o(_.Readable.prototype,m,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}for(const v of i(d)){const E=d[v];function w(...e){if(new.target)throw u();return a(E,this,e)}o(w,"name",{__proto__:null,value:E.name}),o(w,"length",{__proto__:null,value:E.length}),o(_.Readable.prototype,v,{__proto__:null,value:w,enumerable:!1,configurable:!0,writable:!0})}_.Writable=r(11339),_.Duplex=r(27415),_.Transform=r(21122),_.PassThrough=r(57295),_.pipeline=f;const{addAbortSignal:g}=r(41134);_.addAbortSignal=g,_.finished=b,_.destroy=h,_.compose=c,o(_,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return p}}),o(f,l,{__proto__:null,enumerable:!0,get(){return p.pipeline}}),o(b,l,{__proto__:null,enumerable:!0,get(){return p.finished}}),_.Stream=_,_._isUint8Array=function(e){return e instanceof Uint8Array},_._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},74787:function(e,t,r){"use strict";const{ArrayPrototypePop:n,Promise:o}=r(60341),{isIterable:i,isNodeStream:a,isWebStream:l}=r(58516),{pipelineImpl:s}=r(91519),{finished:d}=r(5499);function u(...e){return new o(((t,r)=>{let o,d;const u=e[e.length-1];if(u&&"object"===typeof u&&!a(u)&&!i(u)&&!l(u)){const t=n(e);o=t.signal,d=t.end}s(e,((e,n)=>{e?r(e):t(n)}),{signal:o,end:d})}))}r(42830),e.exports={finished:d,pipeline:u}},90540:function(e,t){"use strict";class r{constructor(e,t){this.Impl=e,this.options=t}import(e,t){const r=new this.Impl(e,{...this.options,...t});return e.on("end",(()=>{r.readable||r.emit("end")})),e.on("error",(e=>{r.emit("error",e)})),r}}t.Z=r},40250:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return b}});var n=r(90540),o=r(98124);class i{constructor(e){this.stream=e,this.array=[]}push(e){this.array.push(e)}end(){this.stream.push(this.array),this.stream.push(null)}}var a=i;class l{constructor(e){this.stream=e,this.first=!0,this.stream.push("[")}push(e){this.first?this.first=!1:this.stream.push(","),this.stream.push(JSON.stringify(e))}end(){this.stream.push("]"),this.stream.push(null)}}var s=l;class d extends o.Readable{constructor(e,{encoding:t="object"}={}){if(super({objectMode:!0,read:()=>{}}),"object"===t&&(this.encoder=new a(this)),"string"===t&&(this.encoder=new s(this)),!this.encoder)throw new Error(`unknown encoding: ${t}`);e.on("data",(e=>{const t={};let r=t;"DefaultGraph"!==e.graph.termType&&(t["@id"]=e.graph.value,t["@graph"]={},r=t["@graph"]),r["@id"]=d.subjectValue(e.subject),"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"===e.predicate.value?r["@type"]=d.subjectValue(e.object):r[e.predicate.value]=d.objectValue(e.object),this.encoder.push(t)})),e.on("end",(()=>this.encoder.end())),e.on("error",(e=>this.emit("error",e)))}static subjectValue(e){return"BlankNode"===e.termType?"_:"+e.value:e.value}static objectValue(e){return"NamedNode"===e.termType?{"@id":e.value}:"BlankNode"===e.termType?{"@id":"_:"+e.value}:e.language?{"@language":e.language,"@value":e.value}:e.datatype&&"http://www.w3.org/2001/XMLSchema#string"!==e.datatype.value?{"@type":e.datatype.value,"@value":e.value}:e.value}}var u=d;class c extends n.Z{constructor(e){super(u,e)}}var f=c;class h extends f{constructor({...e}={}){super({encoding:"string",...e})}}var b=h}}]);
-//# sourceMappingURL=250.f09c4840.js.map
\ No newline at end of file
diff --git a/js/250.f09c4840.js.map b/js/250.f09c4840.js.map
deleted file mode 100644
index 88146b1..0000000
--- a/js/250.f09c4840.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/250.f09c4840.js","mappings":"wHAEA,MAAM,WAAEA,EAAU,MAAEC,GAAU,EAAQ,QAChC,aAAEC,EAAY,YAAEC,EAAW,yBAAEC,GAA6B,EAAQ,OAClEC,EAAM,EAAQ,OACd,qBAAEC,GAAyBL,EAK3BM,EAAsB,CAACC,EAAQC,KACnC,GAAsB,kBAAXD,KAAyB,YAAaA,GAC/C,MAAM,IAAIF,EAAqBG,EAAM,cAAeD,EACtD,EAEFE,EAAOC,QAAQC,eAAiB,SAAwBJ,EAAQK,GAE9D,GADAN,EAAoBC,EAAQ,WACvBN,EAAaW,KAAYV,EAAYU,GACxC,MAAM,IAAIP,EAAqB,SAAU,CAAC,iBAAkB,iBAAkB,UAAWO,GAE3F,OAAOH,EAAOC,QAAQG,yBAAyBN,EAAQK,EACzD,EACAH,EAAOC,QAAQG,yBAA2B,SAAUN,EAAQK,GAC1D,GAAsB,kBAAXL,KAAyB,YAAaA,GAC/C,OAAOK,EAET,MAAME,EAAUb,EAAaW,GACzB,KACEA,EAAOG,QACL,IAAIhB,OAAWiB,EAAW,CACxBC,MAAOV,EAAOW,SAElB,EAEF,KACEN,EAAOT,GACL,IAAIJ,OAAWiB,EAAW,CACxBC,MAAOV,EAAOW,SAElB,EAQN,OANIX,EAAOY,QACTL,KAEAP,EAAOa,iBAAiB,QAASN,GACjCV,EAAIQ,GAAQ,IAAML,EAAOc,oBAAoB,QAASP,MAEjDF,CACT,C,qCC9CA,MAAM,qBAAEU,EAAoB,eAAEC,EAAc,uBAAEC,EAAsB,WAAEC,GAAe,EAAQ,QACvF,OAAEC,GAAW,EAAQ,QACrB,QAAEC,GAAY,EAAQ,OAC5BlB,EAAOC,QAAU,MACfkB,cACEC,KAAKC,KAAO,KACZD,KAAKE,KAAO,KACZF,KAAKG,OAAS,CAChB,CACAC,KAAKC,GACH,MAAMC,EAAQ,CACZC,KAAMF,EACNG,KAAM,MAEJR,KAAKG,OAAS,EAAGH,KAAKE,KAAKM,KAAOF,EACjCN,KAAKC,KAAOK,EACjBN,KAAKE,KAAOI,IACVN,KAAKG,MACT,CACAM,QAAQJ,GACN,MAAMC,EAAQ,CACZC,KAAMF,EACNG,KAAMR,KAAKC,MAEO,IAAhBD,KAAKG,SAAcH,KAAKE,KAAOI,GACnCN,KAAKC,KAAOK,IACVN,KAAKG,MACT,CACAO,QACE,GAAoB,IAAhBV,KAAKG,OAAc,OACvB,MAAMQ,EAAMX,KAAKC,KAAKM,KAItB,OAHoB,IAAhBP,KAAKG,OAAcH,KAAKC,KAAOD,KAAKE,KAAO,KAC1CF,KAAKC,KAAOD,KAAKC,KAAKO,OACzBR,KAAKG,OACAQ,CACT,CACAC,QACEZ,KAAKC,KAAOD,KAAKE,KAAO,KACxBF,KAAKG,OAAS,CAChB,CACAU,KAAKC,GACH,GAAoB,IAAhBd,KAAKG,OAAc,MAAO,GAC9B,IAAIY,EAAIf,KAAKC,KACTU,EAAM,GAAKI,EAAER,KACjB,MAAwB,QAAhBQ,EAAIA,EAAEP,MAAgBG,GAAOG,EAAIC,EAAER,KAC3C,OAAOI,CACT,CACAK,OAAOC,GACL,GAAoB,IAAhBjB,KAAKG,OAAc,OAAON,EAAOqB,MAAM,GAC3C,MAAMP,EAAMd,EAAOsB,YAAYF,IAAM,GACrC,IAAIF,EAAIf,KAAKC,KACTmB,EAAI,EACR,MAAOL,EACLpB,EAAuBgB,EAAKI,EAAER,KAAMa,GACpCA,GAAKL,EAAER,KAAKJ,OACZY,EAAIA,EAAEP,KAER,OAAOG,CACT,CAGAU,QAAQJ,EAAGK,GACT,MAAMf,EAAOP,KAAKC,KAAKM,KACvB,GAAIU,EAAIV,EAAKJ,OAAQ,CAEnB,MAAMoB,EAAQhB,EAAKgB,MAAM,EAAGN,GAE5B,OADAjB,KAAKC,KAAKM,KAAOA,EAAKgB,MAAMN,GACrBM,CACT,CACA,OAAIN,IAAMV,EAAKJ,OAENH,KAAKU,QAGPY,EAAatB,KAAKwB,WAAWP,GAAKjB,KAAKyB,WAAWR,EAC3D,CACAS,QACE,OAAO1B,KAAKC,KAAKM,IACnB,CACA,EAAEb,KACA,IAAK,IAAIqB,EAAIf,KAAKC,KAAMc,EAAGA,EAAIA,EAAEP,WACzBO,EAAER,IAEZ,CAGAiB,WAAWP,GACT,IAAIN,EAAM,GACNI,EAAIf,KAAKC,KACT0B,EAAI,EACR,EAAG,CACD,MAAMC,EAAMb,EAAER,KACd,KAAIU,EAAIW,EAAIzB,QAGL,CACDc,IAAMW,EAAIzB,QACZQ,GAAOiB,IACLD,EACEZ,EAAEP,KAAMR,KAAKC,KAAOc,EAAEP,KACrBR,KAAKC,KAAOD,KAAKE,KAAO,OAE7BS,GAAOlB,EAAqBmC,EAAK,EAAGX,GACpCjB,KAAKC,KAAOc,EACZA,EAAER,KAAOd,EAAqBmC,EAAKX,IAErC,KACF,CAdEN,GAAOiB,EACPX,GAAKW,EAAIzB,SAcTwB,CACJ,OAA0B,QAAhBZ,EAAIA,EAAEP,OAEhB,OADAR,KAAKG,QAAUwB,EACRhB,CACT,CAGAc,WAAWR,GACT,MAAMN,EAAMd,EAAOsB,YAAYF,GACzBY,EAASZ,EACf,IAAIF,EAAIf,KAAKC,KACT0B,EAAI,EACR,EAAG,CACD,MAAMG,EAAMf,EAAER,KACd,KAAIU,EAAIa,EAAI3B,QAGL,CACDc,IAAMa,EAAI3B,QACZR,EAAuBgB,EAAKmB,EAAKD,EAASZ,KACxCU,EACEZ,EAAEP,KAAMR,KAAKC,KAAOc,EAAEP,KACrBR,KAAKC,KAAOD,KAAKE,KAAO,OAE7BP,EAAuBgB,EAAK,IAAIf,EAAWkC,EAAIC,OAAQD,EAAIE,WAAYf,GAAIY,EAASZ,GACpFjB,KAAKC,KAAOc,EACZA,EAAER,KAAOuB,EAAIP,MAAMN,IAErB,KACF,CAdEtB,EAAuBgB,EAAKmB,EAAKD,EAASZ,GAC1CA,GAAKa,EAAI3B,SAcTwB,CACJ,OAA0B,QAAhBZ,EAAIA,EAAEP,OAEhB,OADAR,KAAKG,QAAUwB,EACRhB,CACT,CAGA,CAACsB,OAAOC,IAAI,+BAA+BC,EAAGC,GAC5C,OAAOtC,EAAQE,KAAM,IAChBoC,EAEHC,MAAO,EAEPC,eAAe,GAEnB,E,oCCzJF,MAAM,SAAEC,GAAa,EAAQ,OACvBC,EAAS,EAAQ,QACjB,UAAEC,GAAc,EAAQ,QACxB,aACJrE,EAAY,WACZsE,EAAU,WACVC,EAAU,YACVtE,EAAW,kBACXuE,EAAiB,iBACjBC,EAAgB,iBAChBC,GACE,EAAQ,QACN,WACJ5E,EACAC,OAAO,sBAAE4E,EAAqB,iBAAEC,IAC9B,EAAQ,OACNzE,EAAM,EAAQ,MACpBK,EAAOC,QAAU,YAAoBoE,GACnC,GAAuB,IAAnBA,EAAQ9C,OACV,MAAM,IAAI6C,EAAiB,WAE7B,GAAuB,IAAnBC,EAAQ9C,OACV,OAAOqC,EAAOU,KAAKD,EAAQ,IAE7B,MAAME,EAAa,IAAIF,GAIvB,GAH0B,oBAAfA,EAAQ,KACjBA,EAAQ,GAAKT,EAAOU,KAAKD,EAAQ,KAEQ,oBAAhCA,EAAQA,EAAQ9C,OAAS,GAAmB,CACrD,MAAMiD,EAAMH,EAAQ9C,OAAS,EAC7B8C,EAAQG,GAAOZ,EAAOU,KAAKD,EAAQG,GACrC,CACA,IAAK,IAAInC,EAAI,EAAGA,EAAIgC,EAAQ9C,SAAUc,EACpC,GAAK7C,EAAa6E,EAAQhC,KAAQ5C,EAAY4E,EAAQhC,IAAtD,CAIA,GACEA,EAAIgC,EAAQ9C,OAAS,KACnBuC,EAAWO,EAAQhC,KAAO6B,EAAiBG,EAAQhC,KAAO2B,EAAkBK,EAAQhC,KAEtF,MAAM,IAAI8B,EAAsB,WAAW9B,KAAMkC,EAAWlC,GAAI,oBAElE,GAAIA,EAAI,KAAO0B,EAAWM,EAAQhC,KAAO4B,EAAiBI,EAAQhC,KAAO2B,EAAkBK,EAAQhC,KACjG,MAAM,IAAI8B,EAAsB,WAAW9B,KAAMkC,EAAWlC,GAAI,mBARlE,CAWF,IAAIoC,EACAC,EACAC,EACAC,EACAC,EACJ,SAASC,EAAWC,GAClB,MAAMC,EAAKJ,EACXA,EAAU,KACNI,EACFA,EAAGD,GACMA,EACTF,EAAEvE,QAAQyE,GACAE,GAAaC,GACvBL,EAAEvE,SAEN,CACA,MAAMe,EAAOgD,EAAQ,GACf/C,EAAOqC,EAASU,EAASS,GACzBI,KAAcnB,EAAW1C,IAAS4C,EAAiB5C,IAAS2C,EAAkB3C,IAC9E4D,KAAcnB,EAAWxC,IAAS4C,EAAiB5C,IAAS0C,EAAkB1C,IAYpF,GAPAuD,EAAI,IAAIjB,EAAO,CAEbuB,qBAAgC,OAAT9D,QAA0Bd,IAATc,IAAsBA,EAAK8D,oBACnEC,qBAAgC,OAAT9D,QAA0Bf,IAATe,IAAsBA,EAAK6D,oBACnED,WACAD,aAEEC,EAAU,CACZ,GAAI1F,EAAa6B,GACfwD,EAAEQ,OAAS,SAAUC,EAAOC,EAAUC,GAChCnE,EAAKoE,MAAMH,EAAOC,GACpBC,IAEAf,EAAUe,CAEd,EACAX,EAAEa,OAAS,SAAUF,GACnBnE,EAAKsE,MACLjB,EAAWc,CACb,EACAnE,EAAKuE,GAAG,SAAS,WACf,GAAInB,EAAS,CACX,MAAMO,EAAKP,EACXA,EAAU,KACVO,GACF,CACF,SACK,GAAIvF,EAAY4B,GAAO,CAC5B,MAAM6D,EAAWlB,EAAkB3C,GAAQA,EAAK6D,SAAW7D,EACrDwE,EAASX,EAASY,YACxBjB,EAAEQ,OAASU,eAAgBT,EAAOC,EAAUC,GAC1C,UACQK,EAAOG,MACbH,EAAOJ,MAAMH,GAAOW,OAAM,SAC1BT,GACF,CAAE,MAAOT,GACPS,EAAST,EACX,CACF,EACAF,EAAEa,OAASK,eAAgBP,GACzB,UACQK,EAAOG,MACbH,EAAOK,QAAQD,OAAM,SACrBvB,EAAWc,CACb,CAAE,MAAOT,GACPS,EAAST,EACX,CACF,CACF,CACA,MAAMoB,EAASnC,EAAkB1C,GAAQA,EAAK2D,SAAW3D,EACzD3B,EAAIwG,GAAQ,KACV,GAAIzB,EAAU,CACZ,MAAMM,EAAKN,EACXA,EAAW,KACXM,GACF,IAEJ,CACA,GAAIC,EACF,GAAIzF,EAAa8B,GACfA,EAAKsE,GAAG,YAAY,WAClB,GAAIjB,EAAY,CACd,MAAMK,EAAKL,EACXA,EAAa,KACbK,GACF,CACF,IACA1D,EAAKsE,GAAG,OAAO,WACbf,EAAErD,KAAK,KACT,IACAqD,EAAEuB,MAAQ,WACR,MAAO,EAAM,CACX,MAAMlD,EAAM5B,EAAK+E,OACjB,GAAY,OAARnD,EAEF,YADAyB,EAAaE,EAAEuB,OAGjB,IAAKvB,EAAErD,KAAK0B,GACV,MAEJ,CACF,OACK,GAAIzD,EAAY6B,GAAO,CAC5B,MAAM2D,EAAWjB,EAAkB1C,GAAQA,EAAK2D,SAAW3D,EACrDgF,EAASrB,EAASsB,YACxB1B,EAAEuB,MAAQL,iBACR,MAAO,EACL,IACE,MAAM,MAAES,EAAK,KAAEC,SAAeH,EAAOD,OACrC,IAAKxB,EAAErD,KAAKgF,GACV,OAEF,GAAIC,EAEF,YADA5B,EAAErD,KAAK,KAGX,CAAE,MACA,MACF,CAEJ,CACF,CAkBF,OAhBAqD,EAAE6B,SAAW,SAAU3B,EAAKS,GACrBT,GAAmB,OAAZH,IACVG,EAAM,IAAIzF,GAEZqF,EAAa,KACbF,EAAU,KACVC,EAAW,KACK,OAAZE,EACFY,EAAST,IAETH,EAAUY,EACNhG,EAAa8B,IACfuC,EAAUvC,EAAMyD,GAGtB,EACOF,CACT,C,qCC7LA,MAAM8B,EAAU,EAAQ,QAIlB,mBACJC,EACArH,OAAO,sBAAEsH,GAAuB,WAChCvH,GACE,EAAQ,QACN,OAAE+D,GAAW,EAAQ,QACrB,WAAEyD,EAAU,YAAEC,EAAW,WAAEC,EAAU,gBAAEC,GAAoB,EAAQ,OACnEC,EAAW7D,EAAO,YAClB8D,EAAa9D,EAAO,cAC1B,SAAS+D,EAAWrC,EAAKsC,EAAGC,GACtBvC,IAEFA,EAAIwC,MAEAF,IAAMA,EAAEG,UACVH,EAAEG,QAAUzC,GAEVuC,IAAMA,EAAEE,UACVF,EAAEE,QAAUzC,GAGlB,CAIA,SAASzE,EAAQyE,EAAKC,GACpB,MAAMsC,EAAIlG,KAAKqG,eACTJ,EAAIjG,KAAKsG,eAETxF,EAAImF,GAAKC,EACf,OAAW,OAAND,QAAoB9G,IAAN8G,GAAmBA,EAAEM,WAAqB,OAANL,QAAoB/G,IAAN+G,GAAmBA,EAAEK,WACtE,oBAAP3C,GACTA,IAEK5D,OAKTgG,EAAWrC,EAAKsC,EAAGC,GACfD,IACFA,EAAEM,WAAY,GAEZL,IACFA,EAAEK,WAAY,GAIXzF,EAAE0F,YAKLlB,EAAStF,KAAM2D,EAAKC,GAJpB5D,KAAKyG,KAAKX,GAAU,SAAUY,GAC5BpB,EAAStF,KAAMwF,EAAmBkB,EAAI/C,GAAMC,EAC9C,IAIK5D,KACT,CACA,SAASsF,EAASqB,EAAMhD,EAAKC,GAC3B,IAAIgD,GAAS,EACb,SAASC,EAAUlD,GACjB,GAAIiD,EACF,OAEFA,GAAS,EACT,MAAMV,EAAIS,EAAKN,eACTJ,EAAIU,EAAKL,eACfN,EAAWrC,EAAKsC,EAAGC,GACfD,IACFA,EAAEa,QAAS,GAETZ,IACFA,EAAEY,QAAS,GAEK,oBAAPlD,GACTA,EAAGD,GAEDA,EACF4B,EAAQwB,SAASC,EAAkBL,EAAMhD,GAEzC4B,EAAQwB,SAASE,EAAaN,EAElC,CACA,IACEA,EAAKrB,SAAS3B,GAAO,KAAMkD,EAC7B,CAAE,MAAOlD,GACPkD,EAAUlD,EACZ,CACF,CACA,SAASqD,EAAiBL,EAAMhD,GAC9BuD,EAAYP,EAAMhD,GAClBsD,EAAYN,EACd,CACA,SAASM,EAAYN,GACnB,MAAMT,EAAIS,EAAKN,eACTJ,EAAIU,EAAKL,eACXL,IACFA,EAAEkB,cAAe,GAEfjB,IACFA,EAAEiB,cAAe,IAER,OAANlB,QAAoB9G,IAAN8G,GAAmBA,EAAEmB,WAAqB,OAANlB,QAAoB/G,IAAN+G,GAAmBA,EAAEkB,YACxFT,EAAKU,KAAK,QAEd,CACA,SAASH,EAAYP,EAAMhD,GACzB,MAAMuC,EAAIS,EAAKN,eACTJ,EAAIU,EAAKL,eACJ,OAANL,QAAoB9G,IAAN8G,GAAmBA,EAAEqB,cAAwB,OAANpB,QAAoB/G,IAAN+G,GAAmBA,EAAEoB,eAGzFrB,IACFA,EAAEqB,cAAe,GAEfpB,IACFA,EAAEoB,cAAe,GAEnBX,EAAKU,KAAK,QAAS1D,GACrB,CACA,SAAS4D,IACP,MAAMrB,EAAIlG,KAAKqG,eACTJ,EAAIjG,KAAKsG,eACXJ,IACFA,EAAEM,aAAc,EAChBN,EAAEY,QAAS,EACXZ,EAAEiB,cAAe,EACjBjB,EAAEK,WAAY,EACdL,EAAEE,QAAU,KACZF,EAAEoB,cAAe,EACjBpB,EAAEsB,SAAU,EACZtB,EAAEuB,OAAuB,IAAfvB,EAAErC,SACZqC,EAAEwB,YAA4B,IAAfxB,EAAErC,UAEfoC,IACFA,EAAEO,aAAc,EAChBP,EAAEM,WAAY,EACdN,EAAEa,QAAS,EACXb,EAAEkB,cAAe,EACjBlB,EAAEG,QAAU,KACZH,EAAEqB,cAAe,EACjBrB,EAAE0B,aAAc,EAChB1B,EAAE2B,aAAc,EAChB3B,EAAEwB,OAAuB,IAAfxB,EAAEnC,SACZmC,EAAE4B,QAAwB,IAAf5B,EAAEnC,SACbmC,EAAE6B,UAA0B,IAAf7B,EAAEnC,SAEnB,CACA,SAASiE,EAAehJ,EAAQ4E,EAAKqE,GAOnC,MAAM9B,EAAInH,EAAOsH,eACXJ,EAAIlH,EAAOuH,eACjB,GAAW,OAANL,QAAoB9G,IAAN8G,GAAmBA,EAAEM,WAAqB,OAANL,QAAoB/G,IAAN+G,GAAmBA,EAAEK,UACxF,OAAOvG,KAEE,OAANkG,QAAoB/G,IAAN+G,GAAmBA,EAAE+B,aAAuB,OAANhC,QAAoB9G,IAAN8G,GAAmBA,EAAEgC,YAC1FlJ,EAAOG,QAAQyE,GACRA,IAEPA,EAAIwC,MAEAF,IAAMA,EAAEG,UACVH,EAAEG,QAAUzC,GAEVuC,IAAMA,EAAEE,UACVF,EAAEE,QAAUzC,GAEVqE,EACFzC,EAAQwB,SAASG,EAAanI,EAAQ4E,GAEtCuD,EAAYnI,EAAQ4E,GAG1B,CACA,SAASuE,EAAUnJ,EAAQ6E,GACzB,GAAiC,oBAAtB7E,EAAOoJ,WAChB,OAEF,MAAMjC,EAAInH,EAAOsH,eACXJ,EAAIlH,EAAOuH,eACbJ,IACFA,EAAEM,aAAc,GAEdP,IACFA,EAAEO,aAAc,GAElBzH,EAAO0H,KAAKV,EAAYnC,GACpB7E,EAAOqJ,cAAcrC,GAAc,GAIvCR,EAAQwB,SAASsB,EAAatJ,EAChC,CACA,SAASsJ,EAAYtJ,GACnB,IAAI6H,GAAS,EACb,SAAS0B,EAAY3E,GACnB,GAAIiD,EAEF,YADAmB,EAAehJ,EAAgB,OAAR4E,QAAwBxE,IAARwE,EAAoBA,EAAM,IAAI8B,GAGvEmB,GAAS,EACT,MAAMV,EAAInH,EAAOsH,eACXJ,EAAIlH,EAAOuH,eACXxF,EAAImF,GAAKC,EACXA,IACFA,EAAEM,aAAc,GAEdP,IACFA,EAAEO,aAAc,GAEd1F,EAAEyF,UACJxH,EAAOsI,KAAKvB,EAAUnC,GACbA,EACToE,EAAehJ,EAAQ4E,GAAK,GAE5B4B,EAAQwB,SAASwB,EAAiBxJ,EAEtC,CACA,IACEA,EAAOoJ,YAAYxE,IACjB4B,EAAQwB,SAASuB,EAAa3E,EAAG,GAErC,CAAE,MAAOA,GACP4B,EAAQwB,SAASuB,EAAa3E,EAChC,CACF,CACA,SAAS4E,EAAgBxJ,GACvBA,EAAOsI,KAAKtB,EACd,CACA,SAASyC,EAAUzJ,GACjB,OAAmB,OAAXA,QAA8BI,IAAXJ,OAAuBI,EAAYJ,EAAO0J,YAAsC,oBAAjB1J,EAAO2J,KACnG,CACA,SAASC,EAAgB5J,GACvBA,EAAOsI,KAAK,QACd,CACA,SAASuB,EAAqB7J,EAAQ4E,GACpC5E,EAAOsI,KAAK,QAAS1D,GACrB4B,EAAQwB,SAAS4B,EAAiB5J,EACpC,CAGA,SAAS0D,EAAU1D,EAAQ4E,GACpB5E,IAAU4G,EAAY5G,KAGtB4E,GAAQiC,EAAW7G,KACtB4E,EAAM,IAAIzF,GAIR2H,EAAgB9G,IAClBA,EAAO8J,OAAS,KAChB9J,EAAOG,QAAQyE,IACN6E,EAAUzJ,GACnBA,EAAO2J,QACEF,EAAUzJ,EAAO+J,KAC1B/J,EAAO+J,IAAIJ,QACwB,oBAAnB3J,EAAOG,QACvBH,EAAOG,QAAQyE,GACkB,oBAAjB5E,EAAO+F,MAEvB/F,EAAO+F,QACEnB,EACT4B,EAAQwB,SAAS6B,EAAsB7J,EAAQ4E,GAE/C4B,EAAQwB,SAAS4B,EAAiB5J,GAE/BA,EAAOwH,YACVxH,EAAO2G,IAAc,GAEzB,CACA9G,EAAOC,QAAU,CACfqJ,YACAzF,YACAvD,UACAqI,YACAQ,iB,qCCpQF,MAAM,uBACJgB,EAAsB,+BACtBC,EAA8B,WAC9BC,EAAU,qBACVC,GACE,EAAQ,OACZtK,EAAOC,QAAU2D,EACjB,MAAM2G,EAAW,EAAQ,KACnBC,EAAW,EAAQ,OACzBF,EAAqB1G,EAAO6G,UAAWF,EAASE,WAChDH,EAAqB1G,EAAQ2G,GAC7B,CACE,MAAMG,EAAOL,EAAWG,EAASC,WAEjC,IAAK,IAAIjI,EAAI,EAAGA,EAAIkI,EAAKnJ,OAAQiB,IAAK,CACpC,MAAMmI,EAASD,EAAKlI,GACfoB,EAAO6G,UAAUE,KAAS/G,EAAO6G,UAAUE,GAAUH,EAASC,UAAUE,GAC/E,CACF,CACA,SAAS/G,EAAOJ,GACd,KAAMpC,gBAAgBwC,GAAS,OAAO,IAAIA,EAAOJ,GACjD+G,EAASK,KAAKxJ,KAAMoC,GACpBgH,EAASI,KAAKxJ,KAAMoC,GAChBA,GACFpC,KAAKyJ,eAA0C,IAA1BrH,EAAQqH,eACJ,IAArBrH,EAAQyB,WACV7D,KAAKqG,eAAexC,UAAW,EAC/B7D,KAAKqG,eAAeoB,OAAQ,EAC5BzH,KAAKqG,eAAeqB,YAAa,IAEV,IAArBtF,EAAQ0B,WACV9D,KAAKsG,eAAexC,UAAW,EAC/B9D,KAAKsG,eAAeuB,QAAS,EAC7B7H,KAAKsG,eAAemB,OAAQ,EAC5BzH,KAAKsG,eAAewB,UAAW,IAGjC9H,KAAKyJ,eAAgB,CAEzB,CAwDA,IAAIC,EAaAC,EAVJ,SAASC,IAEP,YAD2BzK,IAAvBuK,IAAkCA,EAAqB,CAAC,GACrDA,CACT,CA7DAX,EAAuBvG,EAAO6G,UAAW,CACvCvF,SAAU,CACR+F,UAAW,QACRb,EAA+BI,EAASC,UAAW,aAExDS,sBAAuB,CACrBD,UAAW,QACRb,EAA+BI,EAASC,UAAW,0BAExDtF,mBAAoB,CAClB8F,UAAW,QACRb,EAA+BI,EAASC,UAAW,uBAExDU,eAAgB,CACdF,UAAW,QACRb,EAA+BI,EAASC,UAAW,mBAExDW,eAAgB,CACdH,UAAW,QACRb,EAA+BI,EAASC,UAAW,mBAExDY,iBAAkB,CAChBJ,UAAW,QACRb,EAA+BI,EAASC,UAAW,qBAExDa,eAAgB,CACdL,UAAW,QACRb,EAA+BI,EAASC,UAAW,mBAExDc,cAAe,CACbN,UAAW,QACRb,EAA+BI,EAASC,UAAW,kBAExDe,kBAAmB,CACjBP,UAAW,QACRb,EAA+BI,EAASC,UAAW,sBAExD9C,UAAW,CACTsD,UAAW,KACXQ,MACE,YAA4BlL,IAAxBa,KAAKqG,qBAAwDlH,IAAxBa,KAAKsG,iBAGvCtG,KAAKqG,eAAeE,WAAavG,KAAKsG,eAAeC,UAC9D,EACA+D,IAAIlF,GAGEpF,KAAKqG,gBAAkBrG,KAAKsG,iBAC9BtG,KAAKqG,eAAeE,UAAYnB,EAChCpF,KAAKsG,eAAeC,UAAYnB,EAEpC,KAUJ5C,EAAO+H,QAAU,SAAUC,EAAMpI,GAC/B,OAAOwH,IAAiBa,wCAAwCD,EAAMpI,EACxE,EACAI,EAAOkI,MAAQ,SAAUC,GACvB,OAAOf,IAAiBgB,kCAAkCD,EAC5D,EAEAnI,EAAOU,KAAO,SAAU2H,GAItB,OAHKlB,IACHA,EAAY,EAAQ,OAEfA,EAAUkB,EAAM,OACzB,C,uBC5IA,MAAMtF,EAAU,EAAQ,OAKlBuF,EAAe,EAAQ,QACvB,WACJpI,EAAU,WACVC,EAAU,WACVoI,EAAU,aACV3M,EAAY,qBACZ4M,EAAoB,qBACpBC,EAAoB,mBACpBC,GACE,EAAQ,OACN3M,EAAM,EAAQ,OACd,WACJL,EACAC,OAAO,qBAAEK,EAAoB,yBAAE2M,IAC7B,EAAQ,QACN,UAAE1I,GAAc,EAAQ,OACxBD,EAAS,EAAQ,OACjB2G,EAAW,EAAQ,MACnB,sBAAEiC,GAA0B,EAAQ,OACpClI,EAAO,EAAQ,OACfmI,EAAOC,WAAWD,MAAQP,EAAaO,KACvCE,EACY,qBAATF,EACH,SAAgBG,GACd,OAAOA,aAAaH,CACtB,EACA,SAAgBG,GACd,OAAO,CACT,EACAC,EAAkBH,WAAWG,iBAAmB,0BAChD,sBAAEC,GAA0B,EAAQ,OAG1C,MAAMC,UAAkBnJ,EACtBzC,YAAYqC,GACVwJ,MAAMxJ,IAI6E,KAAlE,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQyB,YACnE7D,KAAKqG,eAAexC,UAAW,EAC/B7D,KAAKqG,eAAeoB,OAAQ,EAC5BzH,KAAKqG,eAAeqB,YAAa,IAEgD,KAAlE,OAAZtF,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ0B,YACnE9D,KAAKsG,eAAexC,UAAW,EAC/B9D,KAAKsG,eAAeuB,QAAS,EAC7B7H,KAAKsG,eAAemB,OAAQ,EAC5BzH,KAAKsG,eAAewB,UAAW,EAEnC,EAiKF,SAAS+D,EAAaC,GACpB,IAAI,QAAEC,EAAO,QAAEC,GAAYZ,IAC3B,MAAMa,EAAK,IAAIR,EACT/M,EAASuN,EAAGvN,OACZ0G,EAAQ0G,EACZ,kBACE,MAAO,EAAM,CACX,MAAMI,EAAWH,EACjBA,EAAU,KACV,MAAM,MAAE7H,EAAK,KAAEmB,EAAI,GAAEzB,SAAasI,EAElC,GADA3G,EAAQwB,SAASnD,GACbyB,EAAM,OACV,GAAI3G,EAAOY,QACT,MAAM,IAAIpB,OAAWiB,EAAW,CAC9BC,MAAOV,EAAOW,WAEd0M,UAASC,WAAYZ,WACnBlH,CACR,CACD,CAdD,GAeA,CACExF,WAGJ,MAAO,CACL0G,QACAf,MAAMH,EAAOC,EAAUP,GACrB,MAAMuI,EAAWH,EACjBA,EAAU,KACVG,EAAS,CACPjI,QACAmB,MAAM,EACNzB,MAEJ,EACAwI,MAAMxI,GACJ,MAAMuI,EAAWH,EACjBA,EAAU,KACVG,EAAS,CACP9G,MAAM,EACNzB,MAEJ,EACA1E,QAAQyE,EAAKC,GACXqI,EAAGvD,QACH9E,EAAGD,EACL,EAEJ,CACA,SAAS0I,EAAW7B,GAClB,MAAMtE,EAAIsE,EAAK3G,UAA0C,oBAAvB2G,EAAK3G,SAASoB,KAAsBkE,EAASmD,KAAK9B,EAAK3G,UAAY2G,EAAK3G,SACpGoC,EAAIuE,EAAK1G,SACf,IAEIT,EACAC,EACAC,EACAC,EACAC,EANAI,IAAanB,EAAWwD,GACxBpC,IAAanB,EAAWsD,GAM5B,SAASvC,EAAWC,GAClB,MAAMC,EAAKJ,EACXA,EAAU,KACNI,EACFA,EAAGD,GACMA,GACTF,EAAEvE,QAAQyE,EAEd,CA4FA,OAvFAF,EAAI,IAAIkI,EAAU,CAEhB3H,qBAA6B,OAANkC,QAAoB/G,IAAN+G,IAAmBA,EAAElC,oBAC1DD,qBAA6B,OAANkC,QAAoB9G,IAAN8G,IAAmBA,EAAElC,oBAC1DF,WACAC,aAEEA,IACFvF,EAAI0H,GAAItC,IACNG,GAAW,EACPH,GACFlB,EAAUyD,EAAGvC,GAEfD,EAAWC,EAAG,IAEhBF,EAAEQ,OAAS,SAAUC,EAAOC,EAAUC,GAChC6B,EAAE5B,MAAMH,EAAOC,GACjBC,IAEAf,EAAUe,CAEd,EACAX,EAAEa,OAAS,SAAUF,GACnB6B,EAAE1B,MACFjB,EAAWc,CACb,EACA6B,EAAEzB,GAAG,SAAS,WACZ,GAAInB,EAAS,CACX,MAAMO,EAAKP,EACXA,EAAU,KACVO,GACF,CACF,IACAqC,EAAEzB,GAAG,UAAU,WACb,GAAIlB,EAAU,CACZ,MAAMM,EAAKN,EACXA,EAAW,KACXM,GACF,CACF,KAEEC,IACFtF,EAAI2H,GAAIvC,IACNE,GAAW,EACPF,GACFlB,EAAUyD,EAAGvC,GAEfD,EAAWC,EAAG,IAEhBuC,EAAE1B,GAAG,YAAY,WACf,GAAIjB,EAAY,CACd,MAAMK,EAAKL,EACXA,EAAa,KACbK,GACF,CACF,IACAsC,EAAE1B,GAAG,OAAO,WACVf,EAAErD,KAAK,KACT,IACAqD,EAAEuB,MAAQ,WACR,MAAO,EAAM,CACX,MAAMlD,EAAMoE,EAAEjB,OACd,GAAY,OAARnD,EAEF,YADAyB,EAAaE,EAAEuB,OAGjB,IAAKvB,EAAErD,KAAK0B,GACV,MAEJ,CACF,GAEF2B,EAAE6B,SAAW,SAAU3B,EAAKS,GACrBT,GAAmB,OAAZH,IACVG,EAAM,IAAIzF,GAEZqF,EAAa,KACbF,EAAU,KACVC,EAAW,KACK,OAAZE,EACFY,EAAST,IAETH,EAAUY,EACV3B,EAAUwD,EAAGtC,GACblB,EAAUyD,EAAGvC,GAEjB,EACOF,CACT,CA/TA7E,EAAOC,QAAU,SAAS8K,EAAUkB,EAAMlM,GACxC,GAAIuM,EAAmBL,GACrB,OAAOA,EAET,GAAIG,EAAqBH,GACvB,OAAOwB,EAAW,CAChBxI,SAAUgH,IAGd,GAAII,EAAqBJ,GACvB,OAAOwB,EAAW,CAChBvI,SAAU+G,IAGd,GAAIzM,EAAayM,GACf,OAAOwB,EAAW,CAChBvI,UAAU,EACVD,UAAU,IAcd,GAAoB,oBAATgH,EAAqB,CAC9B,MAAM,MAAEzF,EAAK,MAAEf,EAAK,MAAE+H,EAAK,QAAElN,GAAY2M,EAAahB,GACtD,GAAIE,EAAW3F,GACb,OAAOlC,EAAKyI,EAAWvG,EAAO,CAE5BmH,YAAY,EACZlI,QACA+H,QACAlN,YAGJ,MAAMsN,EAAiB,OAAVpH,QAA4BjG,IAAViG,OAAsBjG,EAAYiG,EAAMoH,KACvE,GAAoB,oBAATA,EAAqB,CAC9B,IAAI/I,EACJ,MAAMsI,EAAUL,EACdc,EACApH,GACCqH,IACC,GAAW,MAAPA,EACF,MAAM,IAAItB,EAAyB,QAAS,OAAQsB,EACtD,IAED9I,IACClB,EAAUgB,EAAGE,EAAG,IAGpB,OAAQF,EAAI,IAAIkI,EAAU,CAExBY,YAAY,EACZ1I,UAAU,EACVQ,QACA+H,MAAMxI,GACJwI,GAAMzH,UACJ,UACQoH,EACNxG,EAAQwB,SAASnD,EAAI,KACvB,CAAE,MAAOD,GACP4B,EAAQwB,SAASnD,EAAID,EACvB,IAEJ,EACAzE,WAEJ,CACA,MAAM,IAAIiM,EAAyB,2CAA4CxM,EAAMyG,EACvF,CACA,GAAImG,EAAOV,GACT,OAAOlB,EAAUkB,EAAK6B,eAExB,GAAI3B,EAAWF,GACb,OAAO3H,EAAKyI,EAAWd,EAAM,CAE3B0B,YAAY,EACZzI,UAAU,IAYd,GAC+E,kBAA5D,OAAT+G,QAA0B1L,IAAT0L,OAAqB1L,EAAY0L,EAAK/G,WACc,kBAA5D,OAAT+G,QAA0B1L,IAAT0L,OAAqB1L,EAAY0L,EAAKhH,UAC/D,CACA,MAAMA,EACK,OAATgH,QAA0B1L,IAAT0L,GAAsBA,EAAKhH,SACxCmH,EAA8B,OAATH,QAA0B1L,IAAT0L,OAAqB1L,EAAY0L,EAAKhH,UACjE,OAATgH,QAA0B1L,IAAT0L,OACf1L,EACA0L,EAAKhH,SACP8F,EAAUkB,EAAKhH,eACjB1E,EACA2E,EACK,OAAT+G,QAA0B1L,IAAT0L,GAAsBA,EAAK/G,SACxCmH,EAA8B,OAATJ,QAA0B1L,IAAT0L,OAAqB1L,EAAY0L,EAAK/G,UACjE,OAAT+G,QAA0B1L,IAAT0L,OACf1L,EACA0L,EAAK/G,SACP6F,EAAUkB,EAAK/G,eACjB3E,EACN,OAAOkN,EAAW,CAChBxI,WACAC,YAEJ,CACA,MAAM0I,EAAgB,OAAT3B,QAA0B1L,IAAT0L,OAAqB1L,EAAY0L,EAAK2B,KACpE,GAAoB,oBAATA,EAAqB,CAC9B,IAAI/I,EAcJ,OAbAiI,EACEc,EACA3B,GACC4B,IACY,MAAPA,GACFhJ,EAAErD,KAAKqM,GAEThJ,EAAErD,KAAK,KAAI,IAEZuD,IACClB,EAAUgB,EAAGE,EAAG,IAGZF,EAAI,IAAIkI,EAAU,CACxBY,YAAY,EACZzI,UAAU,EACVmB,OAAQ,GAEZ,CACA,MAAM,IAAIzG,EACRG,EACA,CACE,OACA,iBACA,iBACA,SACA,WACA,gBACA,WACA,8BACA,WAEFkM,EAEJ,C,uBCvNA,MAAMtF,EAAU,EAAQ,QAOlB,WAAErH,EAAU,MAAEC,GAAU,EAAQ,QAChC,qBAAEK,EAAoB,2BAAEmO,GAA+BxO,GACvD,aAAEyO,EAAY,KAAEnG,GAAS,EAAQ,QACjC,oBAAEhI,EAAmB,iBAAEoO,EAAgB,eAAEC,EAAc,gBAAEC,GAAoB,EAAQ,QACrF,QAAEC,EAAO,qBAAEC,GAAyB,EAAQ,QAC5C,SACJC,EAAQ,WACRxK,EAAU,qBACVsI,EAAoB,iBACpBlI,EAAgB,mBAChBqK,EAAkB,kBAClBC,EAAiB,WACjBzK,EAAU,qBACVsI,EAAoB,iBACpBpI,EAAgB,mBAChBwK,EAAkB,kBAClBC,EAAiB,aACjBlP,EACAmP,cAAeC,EAAc,iBAC7BC,GACE,EAAQ,OACZ,SAASjF,EAAUzJ,GACjB,OAAOA,EAAO0J,WAAqC,oBAAjB1J,EAAO2J,KAC3C,CACA,MAAMgF,EAAM,OACZ,SAASnP,EAAIQ,EAAQqD,EAASgC,GAC5B,IAAIuJ,EAAmBC,EAYvB,GAXyB,IAArBC,UAAU1N,QACZiE,EAAWhC,EACXA,EAAUwK,GACU,MAAXxK,EACTA,EAAUwK,EAEVE,EAAe1K,EAAS,WAE1ByK,EAAiBzI,EAAU,YAC3B3F,EAAoB2D,EAAQ1D,OAAQ,kBACpC0F,EAAWqC,EAAKrC,GACZtB,EAAiB/D,IAAW8D,EAAiB9D,GAC/C,OAAO+O,EAAO/O,EAAQqD,EAASgC,GAEjC,IAAKhG,EAAaW,GAChB,MAAM,IAAIP,EAAqB,SAAU,CAAC,iBAAkB,iBAAkB,UAAWO,GAE3F,MAAM8E,EACuC,QAA1C8J,EAAoBvL,EAAQyB,gBAA4C1E,IAAtBwO,EAC/CA,EACA3C,EAAqBjM,GACrB+E,EACuC,QAA1C8J,EAAoBxL,EAAQ0B,gBAA4C3E,IAAtByO,EAC/CA,EACA3C,EAAqBlM,GACrBgP,EAAShP,EAAOuH,eAChB0H,EAASjP,EAAOsH,eAChB4H,EAAiB,KAChBlP,EAAO+E,UACVR,GACF,EAMF,IAAIiK,EACFC,EAAezO,IAAWiM,EAAqBjM,KAAY8E,GAAYoH,EAAqBlM,KAAY+E,EACtGmG,EAAmBoD,EAAmBtO,GAAQ,GAClD,MAAMuE,EAAW,KACf2G,GAAmB,EAIflL,EAAOwH,YACTgH,GAAgB,KAEdA,GAAmBxO,EAAO8E,WAAYA,KAGrCA,IAAYqK,GACf9J,EAASoF,KAAKzK,GAChB,EAEF,IAAImP,EAAmBf,EAAmBpO,GAAQ,GAClD,MAAMoP,EAAQ,KACZD,GAAmB,EAIfnP,EAAOwH,YACTgH,GAAgB,KAEdA,GAAmBxO,EAAO+E,WAAYA,KAGrCA,IAAYmG,GACf7F,EAASoF,KAAKzK,GAChB,EAEIqP,EAAWzK,IACfS,EAASoF,KAAKzK,EAAQ4E,EAAG,EAE3B,IAAImD,EAASoG,EAASnO,GACtB,MAAMyE,EAAU,KACdsD,GAAS,EACT,MAAMV,EAAUkH,EAAkBvO,IAAWqO,EAAkBrO,GAC/D,OAAIqH,GAA8B,mBAAZA,EACbhC,EAASoF,KAAKzK,EAAQqH,GAE3BvC,IAAaqK,GAAoBlD,EAAqBjM,GAAQ,KAC3DoO,EAAmBpO,GAAQ,GAAeqF,EAASoF,KAAKzK,EAAQ,IAAI4N,IAEvE7I,GAAamG,GACVoD,EAAmBtO,GAAQ,QAElCqF,EAASoF,KAAKzK,GAFmCqF,EAASoF,KAAKzK,EAAQ,IAAI4N,EAEvD,EAEhB0B,EAAW,KACfvH,GAAS,EACT,MAAMV,EAAUkH,EAAkBvO,IAAWqO,EAAkBrO,GAC/D,GAAIqH,GAA8B,mBAAZA,EACpB,OAAOhC,EAASoF,KAAKzK,EAAQqH,GAE/BhC,EAASoF,KAAKzK,EAAM,EAEhBuP,EAAY,KAChBvP,EAAO+J,IAAItE,GAAG,SAAUlB,EAAQ,EAE9BkF,EAAUzJ,IACZA,EAAOyF,GAAG,WAAYlB,GACjBiK,GACHxO,EAAOyF,GAAG,QAAShB,GAEjBzE,EAAO+J,IACTwF,IAEAvP,EAAOyF,GAAG,UAAW8J,IAEdxK,IAAaiK,IAEtBhP,EAAOyF,GAAG,MAAOyJ,GACjBlP,EAAOyF,GAAG,QAASyJ,IAIhBV,GAA2C,mBAAnBxO,EAAOO,SAClCP,EAAOyF,GAAG,UAAWhB,GAEvBzE,EAAOyF,GAAG,MAAO2J,GACjBpP,EAAOyF,GAAG,SAAUlB,IACE,IAAlBlB,EAAQmM,OACVxP,EAAOyF,GAAG,QAAS4J,GAErBrP,EAAOyF,GAAG,QAAShB,GACfsD,EACFvB,EAAQwB,SAASvD,GAEL,OAAXuK,QAA8B5O,IAAX4O,GAAwBA,EAAOzG,cACvC,OAAX0G,QAA8B7O,IAAX6O,GAAwBA,EAAO1G,aAE9CiG,GACHhI,EAAQwB,SAASsH,IAGlBxK,GACC0J,IAAiB7K,EAAW3D,KAC7BkL,IAA2C,IAAvBtH,EAAW5D,MAI/B+E,GACCyJ,IAAiB5K,EAAW5D,KAC7BmP,IAA2C,IAAvBxL,EAAW3D,IAGvBiP,GAAUjP,EAAO+J,KAAO/J,EAAOO,SACxCiG,EAAQwB,SAASsH,GARjB9I,EAAQwB,SAASsH,GAUnB,MAAMG,EAAU,KACdpK,EAAWsJ,EACX3O,EAAO0P,eAAe,UAAWjL,GACjCzE,EAAO0P,eAAe,WAAYnL,GAClCvE,EAAO0P,eAAe,QAASjL,GAC/BzE,EAAO0P,eAAe,UAAWH,GAC7BvP,EAAO+J,KAAK/J,EAAO+J,IAAI2F,eAAe,SAAUnL,GACpDvE,EAAO0P,eAAe,MAAOR,GAC7BlP,EAAO0P,eAAe,QAASR,GAC/BlP,EAAO0P,eAAe,SAAUnL,GAChCvE,EAAO0P,eAAe,MAAON,GAC7BpP,EAAO0P,eAAe,QAASL,GAC/BrP,EAAO0P,eAAe,QAASjL,EAAO,EAExC,GAAIpB,EAAQ1D,SAAWoI,EAAQ,CAC7B,MAAM4B,EAAQ,KAEZ,MAAMgG,EAActK,EACpBoK,IACAE,EAAYlF,KACVzK,EACA,IAAIb,OAAWiB,EAAW,CACxBC,MAAOgD,EAAQ1D,OAAOW,SAE1B,EAEF,GAAI+C,EAAQ1D,OAAOY,QACjBiG,EAAQwB,SAAS2B,OACZ,CACL,MAAMiG,EAAmBvK,EACzBA,EAAWqC,GAAK,IAAImI,KAClBxM,EAAQ1D,OAAOc,oBAAoB,QAASkJ,GAC5CiG,EAAiBE,MAAM9P,EAAQ6P,EAAI,IAErCxM,EAAQ1D,OAAOa,iBAAiB,QAASmJ,EAC3C,CACF,CACA,OAAO8F,CACT,CACA,SAASV,EAAO/O,EAAQqD,EAASgC,GAC/B,IAAI0K,GAAY,EACZpG,EAAQgF,EACZ,GAAItL,EAAQ1D,OAUV,GATAgK,EAAQ,KACNoG,GAAY,EACZ1K,EAASoF,KACPzK,EACA,IAAIb,OAAWiB,EAAW,CACxBC,MAAOgD,EAAQ1D,OAAOW,SAE1B,EAEE+C,EAAQ1D,OAAOY,QACjBiG,EAAQwB,SAAS2B,OACZ,CACL,MAAMiG,EAAmBvK,EACzBA,EAAWqC,GAAK,IAAImI,KAClBxM,EAAQ1D,OAAOc,oBAAoB,QAASkJ,GAC5CiG,EAAiBE,MAAM9P,EAAQ6P,EAAI,IAErCxM,EAAQ1D,OAAOa,iBAAiB,QAASmJ,EAC3C,CAEF,MAAMqG,EAAa,IAAIH,KAChBE,GACHvJ,EAAQwB,UAAS,IAAM3C,EAASyK,MAAM9P,EAAQ6P,IAChD,EAGF,OADA3B,EAAqBlO,EAAO0O,GAAkB1B,QAASgD,EAAYA,GAC5DrB,CACT,CACA,SAAS5F,EAAS/I,EAAQiQ,GACxB,IAAIC,EACJ,IAAIC,GAAc,EAQlB,OAPa,OAATF,IACFA,EAAOpC,GAEc,QAAlBqC,EAAQD,SAA4B7P,IAAV8P,GAAuBA,EAAMT,UAC1DzB,EAAgBiC,EAAKR,QAAS,WAC9BU,EAAcF,EAAKR,SAEd,IAAIxB,GAAQ,CAAChB,EAASmD,KAC3B,MAAMX,EAAUjQ,EAAIQ,EAAQiQ,GAAOrL,IAC7BuL,GACFV,IAEE7K,EACFwL,EAAOxL,GAEPqI,GACF,GACD,GAEL,CACApN,EAAOC,QAAUN,EACjBK,EAAOC,QAAQiJ,SAAWA,C,qCCpR1B,MAAMvC,EAAU,EAAQ,QAIlB,qBAAE0H,EAAoB,oBAAEmC,EAAmB,eAAE1P,GAAmB,EAAQ,QACxE,OAAEG,GAAW,EAAQ,QACrB,qBAAErB,EAAoB,uBAAE6Q,GAA2B,eACzD,SAASnM,EAAKiG,EAAUmG,EAAUN,GAChC,IAAIO,EAWAC,EAVJ,GAAwB,kBAAbF,GAAyBA,aAAoBzP,EACtD,OAAO,IAAIsJ,EAAS,CAClBoD,YAAY,KACTyC,EACH/J,OACEjF,KAAKI,KAAKkP,GACVtP,KAAKI,KAAK,KACZ,IAIJ,GAAIkP,GAAYA,EAASF,GACvBI,GAAU,EACVD,EAAWD,EAASF,SACf,KAAIE,IAAYA,EAAS5P,GAI9B,MAAM,IAAIlB,EAAqB,WAAY,CAAC,YAAa8Q,GAHzDE,GAAU,EACVD,EAAWD,EAAS5P,IAGtB,CACA,MAAMmE,EAAW,IAAIsF,EAAS,CAC5BoD,YAAY,EACZkD,cAAe,KAEZT,IAKL,IAAIxH,GAAU,EAed7C,eAAeG,EAAMyJ,GACnB,MAAMmB,OAAqBvQ,IAAVoP,GAAiC,OAAVA,EAClCoB,EAAqC,oBAAnBJ,EAASK,MACjC,GAAIF,GAAYC,EAAU,CACxB,MAAM,MAAEvK,EAAK,KAAEC,SAAekK,EAASK,MAAMrB,GAE7C,SADMnJ,EACFC,EACF,MAEJ,CACA,GAA+B,oBAApBkK,EAASM,OAAuB,CACzC,MAAM,MAAEzK,SAAgBmK,EAASM,eAC3BzK,CACR,CACF,CACAT,eAAenE,IACb,OAAS,CACP,IACE,MAAM,MAAE4E,EAAK,KAAEC,GAASmK,QAAgBD,EAAS/O,OAAS+O,EAAS/O,OACnE,GAAI6E,EACFxB,EAASzD,KAAK,UACT,CACL,MAAM0P,EAAM1K,GAA+B,oBAAfA,EAAMoH,WAA4BpH,EAAQA,EACtE,GAAY,OAAR0K,EAEF,MADAtI,GAAU,EACJ,IAAI6H,EACL,GAAIxL,EAASzD,KAAK0P,GACvB,SAEAtI,GAAU,CAEd,CACF,CAAE,MAAO7D,GACPE,EAAS3E,QAAQyE,EACnB,CACA,KACF,CACF,CACA,OApDAE,EAASmB,MAAQ,WACVwC,IACHA,GAAU,EACVhH,IAEJ,EACAqD,EAASyB,SAAW,SAAUiJ,EAAO3K,GACnCqJ,EACEnI,EAAMyJ,IACN,IAAMhJ,EAAQwB,SAASnD,EAAI2K,KAE1BwB,GAAMxK,EAAQwB,SAASnD,EAAImM,GAAKxB,IAErC,EAuCO1K,CACT,CACAjF,EAAOC,QAAUqE,C,qCC/FjB,MAAM,aAAE8M,EAAY,qBAAE9G,GAAyB,EAAQ,QAC/C+G,aAAcC,GAAO,EAAQ,OACrC,SAASC,EAAOnB,GACdkB,EAAG1G,KAAKxJ,KAAMgP,EAChB,CAkEA,SAASoB,EAAgBC,EAASC,EAAOxE,GAGvC,GAAuC,oBAA5BuE,EAAQD,gBAAgC,OAAOC,EAAQD,gBAAgBE,EAAOxE,GAMpFuE,EAAQE,SAAYF,EAAQE,QAAQD,GAChCN,EAAaK,EAAQE,QAAQD,IAASD,EAAQE,QAAQD,GAAO7P,QAAQqL,GACzEuE,EAAQE,QAAQD,GAAS,CAACxE,EAAIuE,EAAQE,QAAQD,IAFFD,EAAQ7L,GAAG8L,EAAOxE,EAGrE,CA7EA5C,EAAqBiH,EAAO9G,UAAW6G,EAAG7G,WAC1CH,EAAqBiH,EAAQD,GAC7BC,EAAO9G,UAAUmH,KAAO,SAAUC,EAAMrO,GACtC,MAAMsO,EAAS1Q,KACf,SAAS2Q,EAAOzM,GACVuM,EAAK3M,WAAkC,IAAtB2M,EAAKpM,MAAMH,IAAoBwM,EAAOE,OACzDF,EAAOE,OAEX,CAEA,SAASvN,IACHqN,EAAO7M,UAAY6M,EAAOG,QAC5BH,EAAOG,QAEX,CALAH,EAAOlM,GAAG,OAAQmM,GAMlBF,EAAKjM,GAAG,QAASnB,GAIZoN,EAAKK,UAAc1O,IAA2B,IAAhBA,EAAQmC,MACzCmM,EAAOlM,GAAG,MAAO2J,GACjBuC,EAAOlM,GAAG,QAAShB,IAErB,IAAIuN,GAAW,EACf,SAAS5C,IACH4C,IACJA,GAAW,EACXN,EAAKlM,MACP,CACA,SAASf,IACHuN,IACJA,GAAW,EACiB,oBAAjBN,EAAKvR,SAAwBuR,EAAKvR,UAC/C,CAGA,SAASkP,EAAQ1H,GACf8H,IACwC,IAApC0B,EAAG9H,cAAcpI,KAAM,UACzBA,KAAKqH,KAAK,QAASX,EAEvB,CAKA,SAAS8H,IACPkC,EAAOjC,eAAe,OAAQkC,GAC9BF,EAAKhC,eAAe,QAASpL,GAC7BqN,EAAOjC,eAAe,MAAON,GAC7BuC,EAAOjC,eAAe,QAASjL,GAC/BkN,EAAOjC,eAAe,QAASL,GAC/BqC,EAAKhC,eAAe,QAASL,GAC7BsC,EAAOjC,eAAe,MAAOD,GAC7BkC,EAAOjC,eAAe,QAASD,GAC/BiC,EAAKhC,eAAe,QAASD,EAC/B,CAOA,OArBA4B,EAAgBM,EAAQ,QAAStC,GACjCgC,EAAgBK,EAAM,QAASrC,GAc/BsC,EAAOlM,GAAG,MAAOgK,GACjBkC,EAAOlM,GAAG,QAASgK,GACnBiC,EAAKjM,GAAG,QAASgK,GACjBiC,EAAKpJ,KAAK,OAAQqJ,GAGXD,CACT,EAcA7R,EAAOC,QAAU,CACfsR,SACAC,kB,qCCrFF,MAAM3E,EAAkBH,WAAWG,iBAAmB,0BAEpDtN,OAAO,sBAAE4E,EAAqB,qBAAEvE,EAAoB,iBAAEwE,EAAgB,iBAAEgO,GAAkB,WAC1F9S,GACE,EAAQ,QACN,oBAAEO,EAAmB,gBAAEwS,EAAe,eAAEnE,GAAmB,EAAQ,OACnEoE,EAAe,gBAAyC,UACxD,SAAEpJ,GAAa,EAAQ,MACvBqJ,EAAgB,EAAQ,OACxB,yBAAEnS,GAA6B,EAAQ,QACvC,WAAE2D,EAAU,aAAEvE,GAAiB,EAAQ,QACvC,mBACJgT,EAAkB,UAClBC,EAAS,OACTC,EAAM,YACNC,EAAW,QACXvE,EAAO,cACPwE,EAAa,qBACbvE,EAAoB,OACpBhL,GACE,EAAQ,OACNwP,EAASxP,EAAO,UAChByP,EAAOzP,EAAO,QACpB,SAAS0P,EAAQ5S,EAAQqD,GAOvB,GANe,MAAXA,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAElCN,EAAaW,KAAY4D,EAAW5D,GACtC,MAAM,IAAIgE,EAAsB,SAAUhE,EAAQ,oBAEpD,MAAM6S,EAAiBT,EAAcnR,KAAMjB,GAK3C,OAJgB,OAAZqD,QAAgCjD,IAAZiD,GAAyBA,EAAQ1D,QAEvDM,EAAyBoD,EAAQ1D,OAAQkT,GAEpCA,CACT,CACA,SAASC,EAAI/F,EAAI1J,GACf,GAAkB,oBAAP0J,EACT,MAAM,IAAItN,EAAqB,KAAM,CAAC,WAAY,iBAAkBsN,GAEvD,MAAX1J,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAEtC,IAAIoT,EAAc,EAKlB,OAJqF,OAApE,OAAZ1P,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ0P,eACnEA,EAAcT,EAAUjP,EAAQ0P,cAElCb,EAAgBa,EAAa,cAAe,GACrCnN,kBACL,IAAIoN,EAAiBC,EACrB,MAAM/F,EAAK,IAAIR,EACT1M,EAASiB,KACTiS,EAAQ,GACRvT,EAASuN,EAAGvN,OACZwT,EAAY,CAChBxT,UAEIgK,EAAQ,IAAMuD,EAAGvD,QAevB,IAAIlI,EACAqQ,EAdU,OAAZzO,QACYjD,IAAZiD,GACuC,QAAtC2P,EAAkB3P,EAAQ1D,cACPS,IAApB4S,GACAA,EAAgBzS,SAEhBoJ,IAEU,OAAZtG,QAAgCjD,IAAZiD,GAEwB,QAAvC4P,EAAmB5P,EAAQ1D,cAAyCS,IAArB6S,GAEhDA,EAAiBzS,iBAAiB,QAASmJ,GAG/C,IAAIrD,GAAO,EACX,SAAS8M,IACP9M,GAAO,CACT,CACAV,eAAeyN,IACb,IACE,UAAW,IAAI3F,KAAO1N,EAAQ,CAC5B,IAAIsT,EACJ,GAAIhN,EACF,OAEF,GAAI3G,EAAOY,QACT,MAAM,IAAIpB,EAEZ,IACEuO,EAAMX,EAAGW,EAAKyF,EAChB,CAAE,MAAOvO,GACP8I,EAAM+E,EAAc7N,EACtB,CACI8I,IAAQgF,IAG0E,oBAAzD,QAAhBY,EAAO5F,SAA0BtN,IAATkT,OAAqBlT,EAAYkT,EAAKxN,QACzE4H,EAAI5H,MAAMsN,GAEZF,EAAM7R,KAAKqM,GACPjM,IACFA,IACAA,EAAO,OAEJ6E,GAAQ4M,EAAM9R,QAAU8R,EAAM9R,QAAU2R,SACrC,IAAI9E,GAAShB,IACjB6E,EAAS7E,KAGf,CACAiG,EAAM7R,KAAKsR,EACb,CAAE,MAAO/N,GACP,MAAM8I,EAAM+E,EAAc7N,GAC1BsJ,EAAqBR,OAAKtN,EAAWgT,GACrCF,EAAM7R,KAAKqM,EACb,CAAE,QACA,IAAI6F,EACJjN,GAAO,EACH7E,IACFA,IACAA,EAAO,MAEG,OAAZ4B,QAAgCjD,IAAZiD,GAEwB,QAAvCkQ,EAAmBlQ,EAAQ1D,cAAyCS,IAArBmT,GAEhDA,EAAiB9S,oBAAoB,QAASkJ,EACpD,CACF,CACA0J,IACA,IACE,MAAO,EAAM,CACX,MAAOH,EAAM9R,OAAS,EAAG,CACvB,MAAMsM,QAAYwF,EAAM,GACxB,GAAIxF,IAAQiF,EACV,OAEF,GAAIhT,EAAOY,QACT,MAAM,IAAIpB,EAERuO,IAAQgF,UACJhF,GAERwF,EAAMvR,QACFmQ,IACFA,IACAA,EAAS,KAEb,OACM,IAAI7D,GAAShB,IACjBxL,EAAOwL,IAEX,CACF,CAAE,QACAC,EAAGvD,QACHrD,GAAO,EACHwL,IACFA,IACAA,EAAS,KAEb,CACF,EAAErH,KAAKxJ,KACT,CACA,SAASuS,EAAenQ,OAAUjD,GAOhC,OANe,MAAXiD,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAE/BiG,kBACL,IAAI6N,EAAQ,EACZ,UAAW,MAAM/F,KAAOzM,KAAM,CAC5B,IAAIyS,EACJ,GACc,OAAZrQ,QACYjD,IAAZiD,GACwC,QAAvCqQ,EAAmBrQ,EAAQ1D,cACPS,IAArBsT,GACAA,EAAiBnT,QAEjB,MAAM,IAAIpB,EAAW,CACnBkB,MAAOgD,EAAQ1D,OAAOW,cAGpB,CAACmT,IAAS/F,EAClB,CACF,EAAEjD,KAAKxJ,KACT,CACA2E,eAAe+N,EAAK5G,EAAI1J,OAAUjD,GAChC,UAAW,MAAMwT,KAAUC,EAAOpJ,KAAKxJ,KAAM8L,EAAI1J,GAC/C,OAAO,EAET,OAAO,CACT,CACAuC,eAAekO,EAAM/G,EAAI1J,OAAUjD,GACjC,GAAkB,oBAAP2M,EACT,MAAM,IAAItN,EAAqB,KAAM,CAAC,WAAY,iBAAkBsN,GAGtE,aAAe4G,EAAKlJ,KAClBxJ,MACA2E,SAAUiK,WACO9C,KAAM8C,IAEvBxM,EAEJ,CACAuC,eAAemO,EAAKhH,EAAI1J,GACtB,UAAW,MAAM2Q,KAAUH,EAAOpJ,KAAKxJ,KAAM8L,EAAI1J,GAC/C,OAAO2Q,CAGX,CACApO,eAAeqO,EAAQlH,EAAI1J,GACzB,GAAkB,oBAAP0J,EACT,MAAM,IAAItN,EAAqB,KAAM,CAAC,WAAY,iBAAkBsN,GAEtEnH,eAAesO,EAAU7N,EAAOhD,GAE9B,aADM0J,EAAG1G,EAAOhD,GACTqP,CACT,CAEA,UAAW,MAAMkB,KAAUd,EAAIrI,KAAKxJ,KAAMiT,EAAW7Q,IACvD,CACA,SAASwQ,EAAO9G,EAAI1J,GAClB,GAAkB,oBAAP0J,EACT,MAAM,IAAItN,EAAqB,KAAM,CAAC,WAAY,iBAAkBsN,GAEtEnH,eAAeuO,EAAS9N,EAAOhD,GAC7B,aAAU0J,EAAG1G,EAAOhD,GACXgD,EAEFqM,CACT,CACA,OAAOI,EAAIrI,KAAKxJ,KAAMkT,EAAU9Q,EAClC,CAIA,MAAM+Q,UAAkCnQ,EACtCjD,cACE6L,MAAM,UACN5L,KAAKoT,QAAU,qDACjB,EAEFzO,eAAe0O,EAAOC,EAASC,EAAcnR,GAC3C,IAAIoR,EACJ,GAAuB,oBAAZF,EACT,MAAM,IAAI9U,EAAqB,UAAW,CAAC,WAAY,iBAAkB8U,GAE5D,MAAXlR,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAEtC,IAAI+U,EAAkB5F,UAAU1N,OAAS,EACzC,GACc,OAAZiC,QACYjD,IAAZiD,GACwC,QAAvCoR,EAAmBpR,EAAQ1D,cACPS,IAArBqU,GACAA,EAAiBlU,QACjB,CACA,MAAMqE,EAAM,IAAIzF,OAAWiB,EAAW,CACpCC,MAAOgD,EAAQ1D,OAAOW,SAIxB,MAFAW,KAAKyG,KAAK,SAAS,eACbqB,EAAS9H,KAAKd,QAAQyE,IACtBA,CACR,CACA,MAAMsI,EAAK,IAAIR,EACT/M,EAASuN,EAAGvN,OAClB,GAAgB,OAAZ0D,QAAgCjD,IAAZiD,GAAyBA,EAAQ1D,OAAQ,CAC/D,MAAMsQ,EAAO,CACXvI,MAAM,EACN,CAACyK,GAAelR,MAElBoC,EAAQ1D,OAAOa,iBAAiB,SAAS,IAAM0M,EAAGvD,SAASsG,EAC7D,CACA,IAAI0E,GAAuB,EAC3B,IACE,UAAW,MAAMtO,KAASpF,KAAM,CAC9B,IAAI2T,EAEJ,GADAD,GAAuB,EAET,OAAZtR,QACYjD,IAAZiD,GACwC,QAAvCuR,EAAmBvR,EAAQ1D,cACPS,IAArBwU,GACAA,EAAiBrU,QAEjB,MAAM,IAAIpB,EAEPuV,EAIHF,QAAqBD,EAAQC,EAAcnO,EAAO,CAChD1G,YAJF6U,EAAenO,EACfqO,GAAkB,EAMtB,CACA,IAAKC,IAAyBD,EAC5B,MAAM,IAAIN,CAEd,CAAE,QACAlH,EAAGvD,OACL,CACA,OAAO6K,CACT,CACA5O,eAAeiP,EAAQxR,GACN,MAAXA,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAEtC,MAAMqU,EAAS,GACf,UAAW,MAAMtG,KAAOzM,KAAM,CAC5B,IAAI6T,EACJ,GACc,OAAZzR,QACYjD,IAAZiD,GACwC,QAAvCyR,EAAmBzR,EAAQ1D,cACPS,IAArB0U,GACAA,EAAiBvU,QAEjB,MAAM,IAAIpB,OAAWiB,EAAW,CAC9BC,MAAOgD,EAAQ1D,OAAOW,SAG1B+R,EAAmB2B,EAAQtG,EAC7B,CACA,OAAOsG,CACT,CACA,SAASe,EAAQhI,EAAI1J,GACnB,MAAM2R,EAASlC,EAAIrI,KAAKxJ,KAAM8L,EAAI1J,GAClC,OAAOuC,kBACL,UAAW,MAAM8H,KAAOsH,QACftH,CAEX,EAAEjD,KAAKxJ,KACT,CACA,SAASgU,EAAoBC,GAI3B,GADAA,EAAS3C,EAAO2C,GACZ1C,EAAY0C,GACd,OAAO,EAET,GAAIA,EAAS,EACX,MAAM,IAAIjD,EAAiB,SAAU,OAAQiD,GAE/C,OAAOA,CACT,CACA,SAASC,EAAKD,EAAQ7R,OAAUjD,GAQ9B,OAPe,MAAXiD,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAEtCuV,EAASD,EAAoBC,GACtBtP,kBACL,IAAIwP,EACJ,GACc,OAAZ/R,QACYjD,IAAZiD,GACwC,QAAvC+R,EAAmB/R,EAAQ1D,cACPS,IAArBgV,GACAA,EAAiB7U,QAEjB,MAAM,IAAIpB,EAEZ,UAAW,MAAMuO,KAAOzM,KAAM,CAC5B,IAAIoU,EACJ,GACc,OAAZhS,QACYjD,IAAZiD,GACwC,QAAvCgS,EAAmBhS,EAAQ1D,cACPS,IAArBiV,GACAA,EAAiB9U,QAEjB,MAAM,IAAIpB,EAER+V,KAAY,UACRxH,EAEV,CACF,EAAEjD,KAAKxJ,KACT,CACA,SAASqU,EAAKJ,EAAQ7R,OAAUjD,GAQ9B,OAPe,MAAXiD,GACF0K,EAAe1K,EAAS,WAEsD,OAA/D,OAAZA,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQ1D,SACnED,EAAoB2D,EAAQ1D,OAAQ,kBAEtCuV,EAASD,EAAoBC,GACtBtP,kBACL,IAAI2P,EACJ,GACc,OAAZlS,QACYjD,IAAZiD,GACyC,QAAxCkS,EAAoBlS,EAAQ1D,cACPS,IAAtBmV,GACAA,EAAkBhV,QAElB,MAAM,IAAIpB,EAEZ,UAAW,MAAMuO,KAAOzM,KAAM,CAC5B,IAAIuU,EACJ,GACc,OAAZnS,QACYjD,IAAZiD,GACyC,QAAxCmS,EAAoBnS,EAAQ1D,cACPS,IAAtBoV,GACAA,EAAkBjV,QAElB,MAAM,IAAIpB,EAEZ,KAAI+V,KAAW,GAGb,aAFMxH,CAIV,CACF,EAAEjD,KAAKxJ,KACT,CACApB,EAAOC,QAAQ2V,yBAA2B,CACxCjC,iBACA2B,OACAtB,SACAkB,UACAjC,MACAwC,OACA1C,WAEF/S,EAAOC,QAAQ4V,0BAA4B,CACzC5B,QACAG,UACAK,SACAO,UACAlB,OACAI,O,qCC5aF,MAAM,qBAAE5J,GAAyB,EAAQ,OACzCtK,EAAOC,QAAU6V,EACjB,MAAMC,EAAY,EAAQ,OAG1B,SAASD,EAAYtS,GACnB,KAAMpC,gBAAgB0U,GAAc,OAAO,IAAIA,EAAYtS,GAC3DuS,EAAUnL,KAAKxJ,KAAMoC,EACvB,CALA8G,EAAqBwL,EAAYrL,UAAWsL,EAAUtL,WACtDH,EAAqBwL,EAAaC,GAKlCD,EAAYrL,UAAUuL,WAAa,SAAU1Q,EAAOC,EAAUP,GAC5DA,EAAG,KAAMM,EACX,C,wBCpCA,MAAMqB,EAAU,EAAQ,QAOlB,aAAEyK,EAAY,QAAEhD,EAAO,oBAAEoC,GAAwB,EAAQ,OACzD7Q,EAAM,EAAQ,OACd,KAAEkI,GAAS,EAAQ,OACnBoO,EAAc,EAAQ,OACtBrS,EAAS,EAAQ,QACjB,mBACJgD,EACArH,OAAO,qBACLK,EAAoB,yBACpB2M,EAAwB,iBACxBnI,EAAgB,qBAChB8R,EAAoB,2BACpBnI,GACD,WACDzO,GACE,EAAQ,QACN,iBAAE2O,EAAgB,oBAAEpO,GAAwB,EAAQ,QACpD,WACJsM,EAAU,WACVrI,EAAU,qBACVsI,EAAoB,aACpB5M,EAAY,kBACZwE,EAAiB,YACjBvE,EAAW,iBACXyE,EAAgB,gBAChBiS,GACE,EAAQ,OACNtJ,EAAkBH,WAAWG,iBAAmB,yBACtD,IAAIiJ,EACAvL,EACJ,SAAS1G,EAAU1D,EAAQyI,EAASwN,GAClC,IAAIlN,GAAW,EACf/I,EAAOyF,GAAG,SAAS,KACjBsD,GAAW,KAEb,MAAM0G,EAAUjQ,EACdQ,EACA,CACE8E,SAAU2D,EACV1D,SAAUkR,IAEXrR,IACCmE,GAAYnE,KAGhB,MAAO,CACLzE,QAAUyE,IACJmE,IACJA,GAAW,EACX+M,EAAYpS,UAAU1D,EAAQ4E,GAAO,IAAImR,EAAqB,SAAO,EAEvEtG,UAEJ,CACA,SAASyG,EAAYhS,GAKnB,OADA4J,EAAiB5J,EAAQA,EAAQ9C,OAAS,GAAI,8BACvC8C,EAAQiS,KACjB,CACA,SAASC,EAAkB1I,GACzB,GAAI1B,EAAW0B,GACb,OAAOA,EACF,GAAIzB,EAAqByB,GAE9B,OAAO2I,EAAa3I,GAEtB,MAAM,IAAIjO,EAAqB,MAAO,CAAC,WAAY,WAAY,iBAAkBiO,EACnF,CACA9H,eAAgByQ,EAAa3I,GACtBtD,IACHA,EAAW,EAAQ,YAEdA,EAASE,UAAU+F,GAAqB5F,KAAKiD,EACtD,CACA9H,eAAe0Q,EAAW/F,EAAUxL,EAAUwR,GAAQ,IAAE/Q,IACtD,IAAIgK,EACAgH,EAAY,KAChB,MAAM1E,EAAUlN,IAId,GAHIA,IACF4K,EAAQ5K,GAEN4R,EAAW,CACb,MAAMnR,EAAWmR,EACjBA,EAAY,KACZnR,GACF,GAEIoR,EAAO,IACX,IAAIxI,GAAQ,CAAChB,EAASmD,KAChBZ,EACFY,EAAOZ,GAEPgH,EAAY,KACNhH,EACFY,EAAOZ,GAEPvC,GACF,CAEJ,IAEJlI,EAASU,GAAG,QAASqM,GACrB,MAAMrC,EAAUjQ,EACduF,EACA,CACED,UAAU,GAEZgN,GAEF,IACM/M,EAASsG,yBACLoL,IAER,UAAW,MAAMtR,KAASoL,EACnBxL,EAASO,MAAMH,UACZsR,IAGNjR,GACFT,EAASS,YAELiR,IACNF,GACF,CAAE,MAAO3R,GACP2R,EAAO/G,IAAU5K,EAAM6B,EAAmB+I,EAAO5K,GAAOA,EAC1D,CAAE,QACA6K,IACA1K,EAAS2R,IAAI,QAAS5E,EACxB,CACF,CACAlM,eAAe+Q,EAAU7R,EAAUC,EAAUwR,GAAQ,IAAE/Q,IACjD3B,EAAkBkB,KACpBA,EAAWA,EAASA,UAGtB,MAAMW,EAASX,EAASY,YACxB,IACE,UAAW,MAAMR,KAASL,QAClBY,EAAOG,MACbH,EAAOJ,MAAMH,GAAOW,OAAM,eAEtBJ,EAAOG,MACTL,SACIE,EAAOK,QAEfwQ,GACF,CAAE,MAAO3R,GACP,UACQc,EAAOiE,MAAM/E,GACnB2R,EAAO3R,EACT,CAAE,MAAOA,GACP2R,EAAO3R,EACT,CACF,CACF,CACA,SAASpB,KAAYU,GACnB,OAAO0S,EAAa1S,EAASwD,EAAKwO,EAAYhS,IAChD,CACA,SAAS0S,EAAa1S,EAASmB,EAAU4K,GAIvC,GAHuB,IAAnB/L,EAAQ9C,QAAgB6P,EAAa/M,EAAQ,MAC/CA,EAAUA,EAAQ,IAEhBA,EAAQ9C,OAAS,EACnB,MAAM,IAAI6C,EAAiB,WAE7B,MAAMiJ,EAAK,IAAIR,EACT/M,EAASuN,EAAGvN,OACZkX,EAAuB,OAAT5G,QAA0B7P,IAAT6P,OAAqB7P,EAAY6P,EAAKtQ,OAIrEmX,EAAoB,GAE1B,SAASnN,IACPoN,EAAW,IAAI5X,EACjB,CAEA,IAAIqQ,EACAnJ,EANJ3G,EAAoBmX,EAAa,kBAIjB,OAAhBA,QAAwCzW,IAAhByW,GAAwCA,EAAYrW,iBAAiB,QAASmJ,GAGtG,MAAMqN,EAAW,GACjB,IAuBIpV,EAvBAqV,EAAc,EAClB,SAASV,EAAO3R,GACdmS,EAAWnS,EAAuB,MAAhBqS,EACpB,CACA,SAASF,EAAWnS,EAAKyI,GAIvB,IAHIzI,GAAS4K,GAAwB,+BAAfA,EAAM0H,OAC1B1H,EAAQ5K,GAEL4K,GAAUnC,EAAf,CAGA,MAAO2J,EAAS5V,OACd4V,EAASrV,OAATqV,CAAiBxH,GAEH,OAAhBqH,QAAwCzW,IAAhByW,GAAwCA,EAAYpW,oBAAoB,QAASkJ,GACzGuD,EAAGvD,QACC0D,IACGmC,GACHsH,EAAkB7C,SAASlH,GAAOA,MAEpCvG,EAAQwB,SAAS3C,EAAUmK,EAAOnJ,GAVpC,CAYF,CAEA,IAAK,IAAIhE,EAAI,EAAGA,EAAI6B,EAAQ9C,OAAQiB,IAAK,CACvC,MAAMrC,EAASkE,EAAQ7B,GACjBoG,EAAUpG,EAAI6B,EAAQ9C,OAAS,EAC/B6U,EAAU5T,EAAI,EACdmD,EAAMiD,IAA4E,KAAvD,OAATwH,QAA0B7P,IAAT6P,OAAqB7P,EAAY6P,EAAKzK,KACzE2R,EAAe9U,IAAM6B,EAAQ9C,OAAS,EAC5C,GAAI/B,EAAaW,GAAS,CACxB,GAAIwF,EAAK,CACP,MAAM,QAAErF,EAAO,QAAEsP,GAAY/L,EAAU1D,EAAQyI,EAASwN,GACxDe,EAAS3V,KAAKlB,GACVwD,EAAW3D,IAAWmX,GACxBL,EAAkBzV,KAAKoO,EAE3B,CAGA,SAAS2H,EAAQxS,GACXA,GAAoB,eAAbA,EAAIhF,MAAsC,+BAAbgF,EAAIsS,MAC1CX,EAAO3R,EAEX,CACA5E,EAAOyF,GAAG,QAAS2R,GACfzT,EAAW3D,IAAWmX,GACxBL,EAAkBzV,MAAK,KACrBrB,EAAO0P,eAAe,QAAS0H,EAAO,GAG5C,CACA,GAAU,IAAN/U,EACF,GAAsB,oBAAXrC,GAIT,GAHA4B,EAAM5B,EAAO,CACXL,YAEGqM,EAAWpK,GACd,MAAM,IAAIwK,EAAyB,oCAAqC,SAAUxK,QAGpFA,EADSoK,EAAWhM,IAAWiM,EAAqBjM,IAAW6D,EAAkB7D,GAC3EA,EAEAyD,EAAOU,KAAKnE,QAEf,GAAsB,oBAAXA,EAAuB,CAErC,IAAIqX,EADN,GAAIxT,EAAkBjC,GAEpBA,EAAMwU,EAAmC,QAAhBiB,EAAOzV,SAA0BxB,IAATiX,OAAqBjX,EAAYiX,EAAKvS,eAEvFlD,EAAMwU,EAAkBxU,GAK1B,GAHAA,EAAM5B,EAAO4B,EAAK,CAChBjC,WAEE8I,GACF,IAAKuD,EAAWpK,GAAK,GACnB,MAAM,IAAIwK,EAAyB,gBAAiB,aAAa/J,EAAI,KAAMT,OAExE,CACL,IAAI0V,EACC3B,IACHA,EAAc,EAAQ,QAQxB,MAAM4B,EAAK,IAAI5B,EAAY,CACzBnI,YAAY,IAKRC,EAAyB,QAAjB6J,EAAQ1V,SAA2BxB,IAAVkX,OAAsBlX,EAAYkX,EAAM7J,KAC/E,GAAoB,oBAATA,EACTwJ,IACAxJ,EAAKhD,KACH7I,GACC8L,IACCrH,EAAQqH,EACG,MAAPA,GACF6J,EAAGjS,MAAMoI,GAEPlI,GACF+R,EAAG/R,MAELgB,EAAQwB,SAASuO,EAAM,IAExB3R,IACC2S,EAAGpX,QAAQyE,GACX4B,EAAQwB,SAASuO,EAAQ3R,EAAG,SAG3B,GAAIoH,EAAWpK,GAAK,GACzBqV,IACAX,EAAW1U,EAAK2V,EAAIhB,EAAQ,CAC1B/Q,YAEG,KAAIzB,EAAiBnC,KAAQiC,EAAkBjC,GAOpD,MAAM,IAAIwK,EAAyB,2BAA4B,cAAexK,GAPpB,CAC1D,MAAMoE,EAASpE,EAAIkD,UAAYlD,EAC/BqV,IACAX,EAAWtQ,EAAQuR,EAAIhB,EAAQ,CAC7B/Q,OAEJ,CAEA,CACA5D,EAAM2V,EACN,MAAM,QAAEpX,EAAO,QAAEsP,GAAY/L,EAAU9B,GAAK,GAAO,GACnDoV,EAAS3V,KAAKlB,GACVgX,GACFL,EAAkBzV,KAAKoO,EAE3B,CACF,MAAO,GAAIpQ,EAAaW,GAAS,CAC/B,GAAIiM,EAAqBrK,GAAM,CAC7BqV,GAAe,EACf,MAAMxH,GAAUgC,EAAK7P,EAAK5B,EAAQuW,EAAQ,CACxC/Q,QAEE7B,EAAW3D,IAAWmX,GACxBL,EAAkBzV,KAAKoO,GAE3B,MAAO,GAAI5L,EAAkBjC,IAAQmC,EAAiBnC,GAAM,CAC1D,MAAMoE,GAASpE,EAAIkD,UAAYlD,EAC/BqV,IACAX,EAAWtQ,GAAQhG,EAAQuW,EAAQ,CACjC/Q,OAEJ,KAAO,KAAIwG,EAAWpK,GAMpB,MAAM,IAAInC,EACR,MACA,CAAC,WAAY,WAAY,gBAAiB,iBAAkB,mBAC5DmC,GARFqV,IACAX,EAAW1U,EAAK5B,EAAQuW,EAAQ,CAC9B/Q,OAQJ,CACA5D,EAAM5B,CACR,MAAO,GAAIV,EAAYU,GAAS,CAC9B,GAAIiM,EAAqBrK,GACvBqV,IACAN,EAAUP,EAAkBxU,GAAM5B,EAAQuW,EAAQ,CAChD/Q,aAEG,GAAIzB,EAAiBnC,IAAQoK,EAAWpK,GAC7CqV,IACAN,EAAU/U,EAAK5B,EAAQuW,EAAQ,CAC7B/Q,YAEG,KAAI3B,EAAkBjC,GAM3B,MAAM,IAAInC,EACR,MACA,CAAC,WAAY,WAAY,gBAAiB,iBAAkB,mBAC5DmC,GARFqV,IACAN,EAAU/U,EAAIkD,SAAU9E,EAAQuW,EAAQ,CACtC/Q,OAQJ,CACA5D,EAAM5B,CACR,MACE4B,EAAM6B,EAAOU,KAAKnE,EAEtB,CAOA,OALc,OAAXL,QAA8BS,IAAXT,GAAwBA,EAAOY,SAClC,OAAhBsW,QAAwCzW,IAAhByW,GAA6BA,EAAYtW,UAElEiG,EAAQwB,SAAS2B,GAEZ/H,CACT,CACA,SAAS6P,EAAK+F,EAAKC,EAAKlB,GAAQ,IAAE/Q,IAChC,IAAIkD,GAAQ,EAWZ,GAVA+O,EAAIhS,GAAG,SAAS,KACTiD,GAEH6N,EAAO,IAAI3I,EACb,IAEF4J,EAAI/F,KAAKgG,EAAK,CACZjS,KAAK,IAGHA,EAAK,CAKP,SAASkS,IACPhP,GAAQ,EACR+O,EAAIjS,KACN,CACIwQ,EAAgBwB,GAElBhR,EAAQwB,SAAS0P,GAEjBF,EAAI9P,KAAK,MAAOgQ,EAEpB,MACEnB,IAgCF,OA9BA/W,EACEgY,EACA,CACE1S,UAAU,EACVC,UAAU,IAEXH,IACC,MAAMqK,EAASuI,EAAIlQ,eAEjB1C,GACa,+BAAbA,EAAIsS,MACJjI,GACAA,EAAOvG,QACNuG,EAAO5H,UACP4H,EAAO1G,aAURiP,EAAI9P,KAAK,MAAO6O,GAAQ7O,KAAK,QAAS6O,GAEtCA,EAAO3R,EACT,IAGGpF,EACLiY,EACA,CACE3S,UAAU,EACVC,UAAU,GAEZwR,EAEJ,CACA1W,EAAOC,QAAU,CACf8W,eACApT,W,sBC7cF,MAAMgD,EAAU,EAAQ,QAyBlB,sBACJmR,EAAqB,gBACrBC,EAAe,YACfpF,EAAW,eACXqF,EAAc,uBACd7N,EAAsB,WACtBE,EAAU,qBACVC,EAAoB,QACpB8D,EAAO,QACP6J,EAAO,oBACPzH,EAAmB,OACnBnN,GACE,EAAQ,OACZrD,EAAOC,QAAUsK,EACjBA,EAAS2N,cAAgBA,EACzB,MAAQ7G,aAAcC,GAAO,EAAQ,QAC/B,OAAEC,EAAM,gBAAEC,GAAoB,EAAQ,QACtC,OAAEvQ,GAAW,EAAQ,QACrB,eAAEf,GAAmB,EAAQ,OAC7BP,EAAM,EAAQ,MACpB,IAAIwY,EAAQ,kBAAoC,UAAWjL,IACzDiL,EAAQjL,KAEV,MAAMkL,EAAa,EAAQ,OACrBnC,EAAc,EAAQ,QACtB,iBAAEoC,EAAgB,wBAAEC,GAA4B,EAAQ,QACxD,mBACJ1R,EACArH,OAAO,qBACLK,EAAoB,2BACpB2Y,EAA0B,iBAC1BnG,EAAgB,0BAChBoG,EAAyB,mCACzBC,IAEA,EAAQ,QACN,eAAEvK,GAAmB,EAAQ,OAC7BwK,EAAUrV,EAAO,YACjB,cAAEsV,GAAkB,EAAQ,OAC5BrU,EAAO,EAAQ,OACrBgG,EAAqBC,EAASE,UAAW8G,EAAO9G,WAChDH,EAAqBC,EAAUgH,GAC/B,MAAMzC,EAAM,QACN,eAAE3F,GAAmB8M,EAC3B,SAASiC,EAAc1U,EAASrD,EAAQyY,GAMd,mBAAbA,IAAwBA,EAAWzY,aAAkB,EAAQ,QAIxEiB,KAAKuM,cAAgBnK,IAAWA,EAAQmK,YACpCiL,IAAUxX,KAAKuM,WAAavM,KAAKuM,eAAiBnK,IAAWA,EAAQ4B,qBAIzEhE,KAAKyP,cAAgBrN,EACjB6U,EAAiBjX,KAAMoC,EAAS,wBAAyBoV,GACzDN,GAAwB,GAK5BlX,KAAK+B,OAAS,IAAIiV,EAClBhX,KAAKG,OAAS,EACdH,KAAKyX,MAAQ,GACbzX,KAAK0X,QAAU,KACf1X,KAAKyH,OAAQ,EACbzH,KAAK0H,YAAa,EAClB1H,KAAKwH,SAAU,EAMfxH,KAAKwG,aAAc,EAMnBxG,KAAKgI,MAAO,EAIZhI,KAAK2X,cAAe,EACpB3X,KAAK4X,iBAAkB,EACvB5X,KAAK6X,mBAAoB,EACzB7X,KAAK8X,iBAAkB,EACvB9X,KAAKsX,GAAW,KAGhBtX,KAAKsH,cAAe,EAGpBtH,KAAKoH,WAAahF,IAAiC,IAAtBA,EAAQgF,UAGrCpH,KAAKiI,aAAe7F,IAAmC,IAAxBA,EAAQ6F,YAGvCjI,KAAKuG,WAAY,EAMjBvG,KAAKoG,QAAU,KAGfpG,KAAK8G,QAAS,EAId9G,KAAKmH,cAAe,EAKpBnH,KAAK+X,gBAAmB3V,GAAWA,EAAQ2V,iBAAoB,OAI/D/X,KAAKgY,kBAAoB,KACzBhY,KAAKiY,iBAAkB,EAGvBjY,KAAKkY,aAAc,EACnBlY,KAAKmY,aAAc,EACnBnY,KAAKoY,QAAU,KACfpY,KAAKmE,SAAW,KACZ/B,GAAWA,EAAQ+B,WACrBnE,KAAKoY,QAAU,IAAIb,EAAcnV,EAAQ+B,UACzCnE,KAAKmE,SAAW/B,EAAQ+B,SAE5B,CACA,SAASgF,EAAS/G,GAChB,KAAMpC,gBAAgBmJ,GAAW,OAAO,IAAIA,EAAS/G,GAIrD,MAAMoV,EAAWxX,gBAAgB,EAAQ,OACzCA,KAAKqG,eAAiB,IAAIyQ,EAAc1U,EAASpC,KAAMwX,GACnDpV,IAC0B,oBAAjBA,EAAQ6C,OAAqBjF,KAAKgF,MAAQ5C,EAAQ6C,MAC9B,oBAApB7C,EAAQlD,UAAwBc,KAAKsF,SAAWlD,EAAQlD,SAClC,oBAAtBkD,EAAQ8F,YAA0BlI,KAAKmI,WAAa/F,EAAQ8F,WACnE9F,EAAQ1D,SAAW8Y,GAAU1Y,EAAesD,EAAQ1D,OAAQsB,OAElEmQ,EAAO3G,KAAKxJ,KAAMoC,GAClByS,EAAY3M,UAAUlI,MAAM,KACtBA,KAAKqG,eAAesR,cACtBU,EAAcrY,KAAMA,KAAKqG,eAC3B,GAEJ,CAsBA,SAASiS,EAAiBvZ,EAAQmF,EAAOC,EAAUoU,GACjDxB,EAAM,mBAAoB7S,GAC1B,MAAMsU,EAAQzZ,EAAOsH,eACrB,IAAI1C,EAuBJ,GAtBK6U,EAAMjM,aACY,kBAAVrI,GACTC,EAAWA,GAAYqU,EAAMT,gBACzBS,EAAMrU,WAAaA,IACjBoU,GAAcC,EAAMrU,SAGtBD,EAAQrE,EAAOqD,KAAKgB,EAAOC,GAAUsU,SAASD,EAAMrU,WAEpDD,EAAQrE,EAAOqD,KAAKgB,EAAOC,GAC3BA,EAAW,MAGND,aAAiBrE,EAC1BsE,EAAW,GACFgM,EAAOuI,cAAcxU,IAC9BA,EAAQiM,EAAOwI,oBAAoBzU,GACnCC,EAAW,IACO,MAATD,IACTP,EAAM,IAAInF,EAAqB,QAAS,CAAC,SAAU,SAAU,cAAe0F,KAG5EP,EACFoE,EAAehJ,EAAQ4E,QAClB,GAAc,OAAVO,EACTsU,EAAMhR,SAAU,EAChBoR,EAAW7Z,EAAQyZ,QACd,GAAIA,EAAMjM,YAAerI,GAASA,EAAM/D,OAAS,EACtD,GAAIoY,EACF,GAAIC,EAAM9Q,WAAYK,EAAehJ,EAAQ,IAAIsY,OAC5C,IAAImB,EAAMjS,WAAaiS,EAAMpS,QAAS,OAAO,EAC7CyS,EAAS9Z,EAAQyZ,EAAOtU,GAAO,EAAI,MACnC,GAAIsU,EAAM/Q,MACfM,EAAehJ,EAAQ,IAAIqY,OACtB,IAAIoB,EAAMjS,WAAaiS,EAAMpS,QAClC,OAAO,EAEPoS,EAAMhR,SAAU,EACZgR,EAAMJ,UAAYjU,GACpBD,EAAQsU,EAAMJ,QAAQ/T,MAAMH,GACxBsU,EAAMjM,YAA+B,IAAjBrI,EAAM/D,OAAc0Y,EAAS9Z,EAAQyZ,EAAOtU,GAAO,GACtEmU,EAActZ,EAAQyZ,IAE3BK,EAAS9Z,EAAQyZ,EAAOtU,GAAO,EAEnC,MACUqU,IACVC,EAAMhR,SAAU,EAChB6Q,EAActZ,EAAQyZ,IAMxB,OAAQA,EAAM/Q,QAAU+Q,EAAMrY,OAASqY,EAAM/I,eAAkC,IAAjB+I,EAAMrY,OACtE,CACA,SAAS0Y,EAAS9Z,EAAQyZ,EAAOtU,EAAOqU,GAClCC,EAAMd,SAA4B,IAAjBc,EAAMrY,SAAiBqY,EAAMxQ,MAAQjJ,EAAOqJ,cAAc,QAAU,GAGnFoQ,EAAMP,gBACRO,EAAMR,kBAAkBpX,QAExB4X,EAAMR,kBAAoB,KAE5BQ,EAAML,aAAc,EACpBpZ,EAAOsI,KAAK,OAAQnD,KAGpBsU,EAAMrY,QAAUqY,EAAMjM,WAAa,EAAIrI,EAAM/D,OACzCoY,EAAYC,EAAMzW,OAAOtB,QAAQyD,GAChCsU,EAAMzW,OAAO3B,KAAK8D,GACnBsU,EAAMb,cAAcmB,EAAa/Z,IAEvCsZ,EAActZ,EAAQyZ,EACxB,CApGArP,EAASE,UAAUnK,QAAU2V,EAAY3V,QACzCiK,EAASE,UAAU0P,WAAalE,EAAYtN,UAC5C4B,EAASE,UAAU/D,SAAW,SAAU3B,EAAKC,GAC3CA,EAAGD,EACL,EACAwF,EAASE,UAAU6G,EAAG8I,wBAA0B,SAAUrV,GACxD3D,KAAKd,QAAQyE,EACf,EAMAwF,EAASE,UAAUjJ,KAAO,SAAU8D,EAAOC,GACzC,OAAOmU,EAAiBtY,KAAMkE,EAAOC,GAAU,EACjD,EAGAgF,EAASE,UAAU5I,QAAU,SAAUyD,EAAOC,GAC5C,OAAOmU,EAAiBtY,KAAMkE,EAAOC,GAAU,EACjD,EAiFAgF,EAASE,UAAU4P,SAAW,WAC5B,MAAMT,EAAQxY,KAAKqG,eACnB,OAA0B,IAAnBmS,EAAMlB,KAAuC,IAAlBkB,EAAMd,OAC1C,EAGAvO,EAASE,UAAU6P,YAAc,SAAUC,GACzC,MAAMf,EAAU,IAAIb,EAAc4B,GAClCnZ,KAAKqG,eAAe+R,QAAUA,EAE9BpY,KAAKqG,eAAelC,SAAWnE,KAAKqG,eAAe+R,QAAQjU,SAC3D,MAAMpC,EAAS/B,KAAKqG,eAAetE,OAEnC,IAAIqX,EAAU,GACd,IAAK,MAAM7Y,KAAQwB,EACjBqX,GAAWhB,EAAQ/T,MAAM9D,GAK3B,OAHAwB,EAAOnB,QACS,KAAZwY,GAAgBrX,EAAO3B,KAAKgZ,GAChCpZ,KAAKqG,eAAelG,OAASiZ,EAAQjZ,OAC9BH,IACT,EAGA,MAAMqZ,EAAU,WAChB,SAASC,EAAwBrY,GAC/B,GAAIA,EAAIoY,EACN,MAAM,IAAIrI,EAAiB,OAAQ,UAAW/P,GAYhD,OAREA,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,IAEKA,CACT,CAIA,SAASsY,EAActY,EAAGuX,GACxB,OAAIvX,GAAK,GAAuB,IAAjBuX,EAAMrY,QAAgBqY,EAAM/Q,MAAe,EACtD+Q,EAAMjM,WAAmB,EACzBgF,EAAYtQ,GAEVuX,EAAMd,SAAWc,EAAMrY,OAAeqY,EAAMzW,OAAOL,QAAQvB,OACxDqY,EAAMrY,OAEXc,GAAKuX,EAAMrY,OAAec,EACvBuX,EAAM/Q,MAAQ+Q,EAAMrY,OAAS,CACtC,CA4HA,SAASyY,EAAW7Z,EAAQyZ,GAE1B,GADAzB,EAAM,eACFyB,EAAM/Q,MAAV,CACA,GAAI+Q,EAAMJ,QAAS,CACjB,MAAMlU,EAAQsU,EAAMJ,QAAQ7T,MACxBL,GAASA,EAAM/D,SACjBqY,EAAMzW,OAAO3B,KAAK8D,GAClBsU,EAAMrY,QAAUqY,EAAMjM,WAAa,EAAIrI,EAAM/D,OAEjD,CACAqY,EAAM/Q,OAAQ,EACV+Q,EAAMxQ,KAIR8Q,EAAa/Z,IAGbyZ,EAAMb,cAAe,EACrBa,EAAMZ,iBAAkB,EAGxB4B,EAAcza,GApBC,CAsBnB,CAKA,SAAS+Z,EAAa/Z,GACpB,MAAMyZ,EAAQzZ,EAAOsH,eACrB0Q,EAAM,eAAgByB,EAAMb,aAAca,EAAMZ,iBAChDY,EAAMb,cAAe,EAChBa,EAAMZ,kBACTb,EAAM,eAAgByB,EAAMd,SAC5Bc,EAAMZ,iBAAkB,EACxBrS,EAAQwB,SAASyS,EAAeza,GAEpC,CACA,SAASya,EAAcza,GACrB,MAAMyZ,EAAQzZ,EAAOsH,eACrB0Q,EAAM,gBAAiByB,EAAMjS,UAAWiS,EAAMrY,OAAQqY,EAAM/Q,OACvD+Q,EAAMjS,WAAciS,EAAMpS,UAAYoS,EAAMrY,SAAUqY,EAAM/Q,QAC/D1I,EAAOsI,KAAK,YACZmR,EAAMZ,iBAAkB,GAS1BY,EAAMb,cAAgBa,EAAMd,UAAYc,EAAM/Q,OAAS+Q,EAAMrY,QAAUqY,EAAM/I,cAC7EgK,GAAK1a,EACP,CAQA,SAASsZ,EAActZ,EAAQyZ,IACxBA,EAAMN,aAAeM,EAAMhS,cAC9BgS,EAAMN,aAAc,EACpB3S,EAAQwB,SAAS2S,EAAgB3a,EAAQyZ,GAE7C,CACA,SAASkB,EAAe3a,EAAQyZ,GAwB9B,OACGA,EAAMhR,UACNgR,EAAM/Q,QACN+Q,EAAMrY,OAASqY,EAAM/I,eAAkB+I,EAAMd,SAA4B,IAAjBc,EAAMrY,QAC/D,CACA,MAAMwZ,EAAMnB,EAAMrY,OAGlB,GAFA4W,EAAM,wBACNhY,EAAOkG,KAAK,GACR0U,IAAQnB,EAAMrY,OAEhB,KACJ,CACAqY,EAAMN,aAAc,CACtB,CAqJA,SAAS0B,EAAYrD,EAAK9F,GACxB,OAAO,WACL,MAAM+H,EAAQjC,EAAIlQ,eAKdmS,EAAMR,oBAAsBvH,GAC9BsG,EAAM,cAAe,GACrByB,EAAMR,kBAAoB,MACjBQ,EAAMP,kBACflB,EAAM,cAAeyB,EAAMR,kBAAkB6B,MAC7CrB,EAAMR,kBAAkB8B,OAAOrJ,IAE3B+H,EAAMR,mBAAsD,IAAjCQ,EAAMR,kBAAkB6B,OAAetD,EAAInO,cAAc,SACxFmO,EAAI1F,QAER,CACF,CAqFA,SAASkJ,EAAwBpT,GAC/B,MAAM6R,EAAQ7R,EAAKN,eACnBmS,EAAMX,kBAAoBlR,EAAKyB,cAAc,YAAc,EACvDoQ,EAAMV,kBAAsC,IAAnBU,EAAMlB,GAGjCkB,EAAMd,SAAU,EAGP/Q,EAAKyB,cAAc,QAAU,EACtCzB,EAAKkK,SACK2H,EAAMX,oBAChBW,EAAMd,QAAU,KAEpB,CACA,SAASsC,EAAiBrT,GACxBoQ,EAAM,4BACNpQ,EAAK1B,KAAK,EACZ,CAiBA,SAAS4L,EAAO9R,EAAQyZ,GACjBA,EAAMV,kBACTU,EAAMV,iBAAkB,EACxBvS,EAAQwB,SAASkT,GAASlb,EAAQyZ,GAEtC,CACA,SAASyB,GAAQlb,EAAQyZ,GACvBzB,EAAM,SAAUyB,EAAMhR,SACjBgR,EAAMhR,SACTzI,EAAOkG,KAAK,GAEduT,EAAMV,iBAAkB,EACxB/Y,EAAOsI,KAAK,UACZoS,GAAK1a,GACDyZ,EAAMd,UAAYc,EAAMhR,SAASzI,EAAOkG,KAAK,EACnD,CAWA,SAASwU,GAAK1a,GACZ,MAAMyZ,EAAQzZ,EAAOsH,eACrB0Q,EAAM,OAAQyB,EAAMd,SACpB,MAAOc,EAAMd,SAA6B,OAAlB3Y,EAAOkG,QACjC,CAwDA,SAASiV,GAAsBnb,EAAQqD,GACV,oBAAhBrD,EAAOkG,OAChBlG,EAASoK,EAASmD,KAAKvN,EAAQ,CAC7BwN,YAAY,KAGhB,MAAM4N,EAAOC,GAAoBrb,EAAQqD,GAEzC,OADA+X,EAAKpb,OAASA,EACPob,CACT,CACAxV,eAAgByV,GAAoBrb,EAAQqD,GAC1C,IAUImM,EAVAnK,EAAWsJ,EACf,SAASlN,EAAKwL,GACRhM,OAASjB,GACXqF,IACAA,EAAWsJ,GAEXtJ,EAAW4H,CAEf,CACAjN,EAAOyF,GAAG,WAAYhE,GAEtB,MAAMgO,EAAUjQ,EACdQ,EACA,CACE+E,UAAU,IAEXH,IACC4K,EAAQ5K,EAAM6B,EAAmB+I,EAAO5K,GAAO,KAC/CS,IACAA,EAAWsJ,KAGf,IACE,MAAO,EAAM,CACX,MAAMxJ,EAAQnF,EAAOwH,UAAY,KAAOxH,EAAOkG,OAC/C,GAAc,OAAVf,QACIA,MACD,IAAIqK,EACT,MAAMA,EACD,GAAc,OAAVA,EACT,aAEM,IAAIvB,EAAQxM,EACpB,CACF,CACF,CAAE,MAAOmD,GAEP,MADA4K,EAAQ/I,EAAmB+I,EAAO5K,GAC5B4K,CACR,CAAE,SAEGA,IAA+F,KAAzE,OAAZnM,QAAgCjD,IAAZiD,OAAwBjD,EAAYiD,EAAQiY,uBAChElb,IAAVoP,IAAuBxP,EAAOsH,eAAe4B,aAI9ClJ,EAAO0W,IAAI,WAAYjV,GACvBgO,KAHAqG,EAAYpS,UAAU1D,EAAQ,KAKlC,CACF,CA0JA,SAASub,GAASrZ,EAAGuX,GAEnB,GAAqB,IAAjBA,EAAMrY,OAAc,OAAO,KAC/B,IAAIQ,EAYJ,OAXI6X,EAAMjM,WAAY5L,EAAM6X,EAAMzW,OAAOrB,SAC/BO,GAAKA,GAAKuX,EAAMrY,QAELQ,EAAf6X,EAAMJ,QAAeI,EAAMzW,OAAOlB,KAAK,IACV,IAAxB2X,EAAMzW,OAAO5B,OAAoBqY,EAAMzW,OAAOL,QAC5C8W,EAAMzW,OAAOf,OAAOwX,EAAMrY,QACrCqY,EAAMzW,OAAOnB,SAGbD,EAAM6X,EAAMzW,OAAOV,QAAQJ,EAAGuX,EAAMJ,SAE/BzX,CACT,CACA,SAAS4Z,GAAYxb,GACnB,MAAMyZ,EAAQzZ,EAAOsH,eACrB0Q,EAAM,cAAeyB,EAAM9Q,YACtB8Q,EAAM9Q,aACT8Q,EAAM/Q,OAAQ,EACdlC,EAAQwB,SAASyT,GAAehC,EAAOzZ,GAE3C,CACA,SAASyb,GAAchC,EAAOzZ,GAI5B,GAHAgY,EAAM,gBAAiByB,EAAM9Q,WAAY8Q,EAAMrY,SAG1CqY,EAAMpS,UAAYoS,EAAMrR,eAAiBqR,EAAM9Q,YAA+B,IAAjB8Q,EAAMrY,OAGtE,GAFAqY,EAAM9Q,YAAa,EACnB3I,EAAOsI,KAAK,OACRtI,EAAO+E,WAAqC,IAAzB/E,EAAO0K,cAC5BlE,EAAQwB,SAAS0T,GAAe1b,QAC3B,GAAIyZ,EAAMvQ,YAAa,CAG5B,MAAM8F,EAAShP,EAAOuH,eAChB2B,GACH8F,GACAA,EAAO9F,cAGL8F,EAAOjG,WAAgC,IAApBiG,EAAOjK,UAC3BmE,GACFlJ,EAAOG,SAEX,CAEJ,CACA,SAASub,GAAc1b,GACrB,MAAM+E,EAAW/E,EAAO+E,WAAa/E,EAAOoL,gBAAkBpL,EAAOwH,UACjEzC,GACF/E,EAAOwF,KAEX,CAIA,IAAImF,GAGJ,SAASE,KAEP,YAD2BzK,IAAvBuK,KAAkCA,GAAqB,CAAC,GACrDA,EACT,CA/2BAP,EAASE,UAAUpE,KAAO,SAAUhE,GAClC8V,EAAM,OAAQ9V,QAGJ9B,IAAN8B,EACFA,EAAIyZ,IACM/D,EAAgB1V,KAC1BA,EAAI2V,EAAe3V,EAAG,KAExB,MAAMuX,EAAQxY,KAAKqG,eACbsU,EAAQ1Z,EASd,GANIA,EAAIuX,EAAM/I,gBAAe+I,EAAM/I,cAAgB6J,EAAwBrY,IACjE,IAANA,IAASuX,EAAMZ,iBAAkB,GAM7B,IAAN3W,GACAuX,EAAMb,gBACoB,IAAxBa,EAAM/I,cAAsB+I,EAAMrY,QAAUqY,EAAM/I,cAAgB+I,EAAMrY,OAAS,IAAMqY,EAAM/Q,OAK/F,OAHAsP,EAAM,qBAAsByB,EAAMrY,OAAQqY,EAAM/Q,OAC3B,IAAjB+Q,EAAMrY,QAAgBqY,EAAM/Q,MAAO8S,GAAYva,MAC9C8Y,EAAa9Y,MACX,KAKT,GAHAiB,EAAIsY,EAActY,EAAGuX,GAGX,IAANvX,GAAWuX,EAAM/Q,MAEnB,OADqB,IAAjB+Q,EAAMrY,QAAcoa,GAAYva,MAC7B,KA0BT,IAiCIW,EAjCAia,EAASpC,EAAMb,aAYnB,GAXAZ,EAAM,gBAAiB6D,IAGF,IAAjBpC,EAAMrY,QAAgBqY,EAAMrY,OAASc,EAAIuX,EAAM/I,iBACjDmL,GAAS,EACT7D,EAAM,6BAA8B6D,IAMlCpC,EAAM/Q,OAAS+Q,EAAMhR,SAAWgR,EAAMjS,WAAaiS,EAAMpS,UAAYoS,EAAMhS,YAC7EoU,GAAS,EACT7D,EAAM,iCAAkC6D,QACnC,GAAIA,EAAQ,CACjB7D,EAAM,WACNyB,EAAMhR,SAAU,EAChBgR,EAAMxQ,MAAO,EAEQ,IAAjBwQ,EAAMrY,SAAcqY,EAAMb,cAAe,GAG7C,IACE3X,KAAKgF,MAAMwT,EAAM/I,cACnB,CAAE,MAAO9L,GACPoE,EAAe/H,KAAM2D,EACvB,CACA6U,EAAMxQ,MAAO,EAGRwQ,EAAMhR,UAASvG,EAAIsY,EAAcoB,EAAOnC,GAC/C,CA2BA,OAzBW7X,EAAPM,EAAI,EAASqZ,GAASrZ,EAAGuX,GAClB,KACC,OAAR7X,GACF6X,EAAMb,aAAea,EAAMrY,QAAUqY,EAAM/I,cAC3CxO,EAAI,IAEJuX,EAAMrY,QAAUc,EACZuX,EAAMP,gBACRO,EAAMR,kBAAkBpX,QAExB4X,EAAMR,kBAAoB,MAGT,IAAjBQ,EAAMrY,SAGHqY,EAAM/Q,QAAO+Q,EAAMb,cAAe,GAGnCgD,IAAU1Z,GAAKuX,EAAM/Q,OAAO8S,GAAYva,OAElC,OAARW,GAAiB6X,EAAMlR,cAAiBkR,EAAMrR,eAChDqR,EAAML,aAAc,EACpBnY,KAAKqH,KAAK,OAAQ1G,IAEbA,CACT,EAiHAwI,EAASE,UAAUrE,MAAQ,SAAU/D,GACnC,MAAM,IAAIkW,EAA2B,UACvC,EACAhO,EAASE,UAAUmH,KAAO,SAAUC,EAAMoK,GACxC,MAAMtE,EAAMvW,KACNwY,EAAQxY,KAAKqG,eACQ,IAAvBmS,EAAMf,MAAMtX,SACTqY,EAAMP,kBACTO,EAAMP,iBAAkB,EACxBO,EAAMR,kBAAoB,IAAInB,EAAQ2B,EAAMR,kBAAoB,CAACQ,EAAMR,mBAAqB,MAGhGQ,EAAMf,MAAMrX,KAAKqQ,GACjBsG,EAAM,wBAAyByB,EAAMf,MAAMtX,OAAQ0a,GACnD,MAAMC,IAAUD,IAA6B,IAAjBA,EAAStW,MAAkBkM,IAASlL,EAAQwV,QAAUtK,IAASlL,EAAQyV,OAC7FvE,EAAQqE,EAAQ3M,EAAQ8M,EAI9B,SAASC,EAASrX,EAAUsX,GAC1BpE,EAAM,YACFlT,IAAa0S,GACX4E,IAAwC,IAA1BA,EAAWC,aAC3BD,EAAWC,YAAa,EACxB5M,IAGN,CACA,SAASL,IACP4I,EAAM,SACNtG,EAAKlM,KACP,CACA,IAAIlB,EAhBAmV,EAAM9Q,WAAYnC,EAAQwB,SAAS0P,GAClCF,EAAI9P,KAAK,MAAOgQ,GACrBhG,EAAKjM,GAAG,SAAU0W,GAelB,IAAIG,GAAY,EAChB,SAAS7M,IACPuI,EAAM,WAENtG,EAAKhC,eAAe,QAASjL,GAC7BiN,EAAKhC,eAAe,SAAUnL,GAC1BD,GACFoN,EAAKhC,eAAe,QAASpL,GAE/BoN,EAAKhC,eAAe,QAASL,GAC7BqC,EAAKhC,eAAe,SAAUyM,GAC9B3E,EAAI9H,eAAe,MAAON,GAC1BoI,EAAI9H,eAAe,MAAOwM,GAC1B1E,EAAI9H,eAAe,OAAQkC,GAC3B0K,GAAY,EAORhY,GAAWmV,EAAMR,qBAAuBvH,EAAKnK,gBAAkBmK,EAAKnK,eAAegV,YAAYjY,GACrG,CACA,SAASuN,IAKFyK,IACwB,IAAvB7C,EAAMf,MAAMtX,QAAgBqY,EAAMf,MAAM,KAAOhH,GACjDsG,EAAM,8BAA+B,GACrCyB,EAAMR,kBAAoBvH,EAC1B+H,EAAMP,iBAAkB,GACfO,EAAMf,MAAMtX,OAAS,GAAKqY,EAAMf,MAAM8D,SAAS9K,KACxDsG,EAAM,8BAA+ByB,EAAMR,kBAAkB6B,MAC7DrB,EAAMR,kBAAkBwD,IAAI/K,IAE9B8F,EAAI3F,SAEDvN,IAKHA,EAAUuW,EAAYrD,EAAK9F,GAC3BA,EAAKjM,GAAG,QAASnB,GAErB,CAEA,SAASsN,EAAOzM,GACd6S,EAAM,UACN,MAAMpW,EAAM8P,EAAKpM,MAAMH,GACvB6S,EAAM,aAAcpW,IACR,IAARA,GACFiQ,GAEJ,CAIA,SAASxC,EAAQ1H,GAIf,GAHAqQ,EAAM,UAAWrQ,GACjBuU,IACAxK,EAAKhC,eAAe,QAASL,GACO,IAAhCqC,EAAKrI,cAAc,SAAgB,CACrC,MAAMtH,EAAI2P,EAAKnK,gBAAkBmK,EAAKpK,eAClCvF,IAAMA,EAAEwG,aAEVS,EAAe0I,EAAM/J,GAErB+J,EAAKpJ,KAAK,QAASX,EAEvB,CACF,CAMA,SAASlD,IACPiN,EAAKhC,eAAe,SAAUnL,GAC9B2X,GACF,CAEA,SAAS3X,IACPyT,EAAM,YACNtG,EAAKhC,eAAe,QAASjL,GAC7ByX,GACF,CAEA,SAASA,IACPlE,EAAM,UACNR,EAAI0E,OAAOxK,EACb,CAeA,OA5DA8F,EAAI/R,GAAG,OAAQmM,GA4BfP,EAAgBK,EAAM,QAASrC,GAO/BqC,EAAKhK,KAAK,QAASjD,GAMnBiN,EAAKhK,KAAK,SAAUnD,GAOpBmN,EAAKpJ,KAAK,OAAQkP,IAIa,IAA3B9F,EAAKrG,kBACHoO,EAAMd,SACR9G,IAEQ4H,EAAMd,UAChBX,EAAM,eACNR,EAAI1F,UAECJ,CACT,EAoBAtH,EAASE,UAAU4R,OAAS,SAAUxK,GACpC,MAAM+H,EAAQxY,KAAKqG,eACb8U,EAAa,CACjBC,YAAY,GAId,GAA2B,IAAvB5C,EAAMf,MAAMtX,OAAc,OAAOH,KACrC,IAAKyQ,EAAM,CAET,MAAMgL,EAAQjD,EAAMf,MACpBe,EAAMf,MAAQ,GACdzX,KAAK4Q,QACL,IAAK,IAAIxP,EAAI,EAAGA,EAAIqa,EAAMtb,OAAQiB,IAChCqa,EAAMra,GAAGiG,KAAK,SAAUrH,KAAM,CAC5Bob,YAAY,IAEhB,OAAOpb,IACT,CAGA,MAAMwS,EAAQkE,EAAsB8B,EAAMf,MAAOhH,GACjD,OAAe,IAAX+B,IACJgG,EAAMf,MAAMiE,OAAOlJ,EAAO,GACC,IAAvBgG,EAAMf,MAAMtX,QAAcH,KAAK4Q,QACnCH,EAAKpJ,KAAK,SAAUrH,KAAMmb,IAHDnb,IAK3B,EAIAmJ,EAASE,UAAU7E,GAAK,SAAUmX,EAAI7P,GACpC,MAAMgE,EAAMK,EAAO9G,UAAU7E,GAAGgF,KAAKxJ,KAAM2b,EAAI7P,GACzC0M,EAAQxY,KAAKqG,eAqBnB,MApBW,SAAPsV,GAGFnD,EAAMX,kBAAoB7X,KAAKoI,cAAc,YAAc,GAGrC,IAAlBoQ,EAAMd,SAAmB1X,KAAK6Q,UAClB,aAAP8K,IACJnD,EAAM9Q,YAAe8Q,EAAMX,oBAC9BW,EAAMX,kBAAoBW,EAAMb,cAAe,EAC/Ca,EAAMd,SAAU,EAChBc,EAAMZ,iBAAkB,EACxBb,EAAM,cAAeyB,EAAMrY,OAAQqY,EAAMhR,SACrCgR,EAAMrY,OACR2Y,EAAa9Y,MACHwY,EAAMhR,SAChBjC,EAAQwB,SAASiT,EAAkBha,QAIlC8P,CACT,EACA3G,EAASE,UAAUuS,YAAczS,EAASE,UAAU7E,GACpD2E,EAASE,UAAUoF,eAAiB,SAAUkN,EAAI7P,GAChD,MAAMgE,EAAMK,EAAO9G,UAAUoF,eAAejF,KAAKxJ,KAAM2b,EAAI7P,GAU3D,MATW,aAAP6P,GAOFpW,EAAQwB,SAASgT,EAAyB/Z,MAErC8P,CACT,EACA3G,EAASE,UAAUoM,IAAMtM,EAASE,UAAUoF,eAC5CtF,EAASE,UAAUwS,mBAAqB,SAAUF,GAChD,MAAM7L,EAAMK,EAAO9G,UAAUwS,mBAAmBhN,MAAM7O,KAAM6N,WAU5D,MATW,aAAP8N,QAA4Bxc,IAAPwc,GAOvBpW,EAAQwB,SAASgT,EAAyB/Z,MAErC8P,CACT,EAuBA3G,EAASE,UAAUwH,OAAS,WAC1B,MAAM2H,EAAQxY,KAAKqG,eAUnB,OATKmS,EAAMd,UACTX,EAAM,UAINyB,EAAMd,SAAWc,EAAMX,kBACvBhH,EAAO7Q,KAAMwY,IAEfA,EAAMlB,IAAW,EACVtX,IACT,EAiBAmJ,EAASE,UAAUuH,MAAQ,WAQzB,OAPAmG,EAAM,wBAAyB/W,KAAKqG,eAAeqR,UACf,IAAhC1X,KAAKqG,eAAeqR,UACtBX,EAAM,SACN/W,KAAKqG,eAAeqR,SAAU,EAC9B1X,KAAKqH,KAAK,UAEZrH,KAAKqG,eAAeiR,IAAW,EACxBtX,IACT,EAUAmJ,EAASE,UAAUiD,KAAO,SAAUvN,GAClC,IAAI+c,GAAS,EAMb/c,EAAOyF,GAAG,QAASN,KACZlE,KAAKI,KAAK8D,IAAUnF,EAAO6R,QAC9BkL,GAAS,EACT/c,EAAO6R,QACT,IAEF7R,EAAOyF,GAAG,OAAO,KACfxE,KAAKI,KAAK,KAAI,IAEhBrB,EAAOyF,GAAG,SAAUb,IAClBoE,EAAe/H,KAAM2D,EAAG,IAE1B5E,EAAOyF,GAAG,SAAS,KACjBxE,KAAKd,SAAQ,IAEfH,EAAOyF,GAAG,WAAW,KACnBxE,KAAKd,SAAQ,IAEfc,KAAKgF,MAAQ,KACP8W,GAAU/c,EAAO8R,SACnBiL,GAAS,EACT/c,EAAO8R,SACT,EAIF,MAAMkL,EAAa9S,EAAWlK,GAC9B,IAAK,IAAIid,EAAI,EAAGA,EAAID,EAAW5b,OAAQ6b,IAAK,CAC1C,MAAM5a,EAAI2a,EAAWC,QACL7c,IAAZa,KAAKoB,IAAyC,oBAAdrC,EAAOqC,KACzCpB,KAAKoB,GAAKrC,EAAOqC,GAAG6a,KAAKld,GAE7B,CACA,OAAOiB,IACT,EACAmJ,EAASE,UAAU+F,GAAuB,WACxC,OAAO8K,GAAsBla,KAC/B,EACAmJ,EAASE,UAAUkG,SAAW,SAAUnN,GAItC,YAHgBjD,IAAZiD,GACF0K,EAAe1K,EAAS,WAEnB8X,GAAsBla,KAAMoC,EACrC,EAkEA2G,EAAuBI,EAASE,UAAW,CACzCxF,SAAU,CACRgG,UAAW,KACXQ,MACE,MAAMnE,EAAIlG,KAAKqG,eAKf,QAASH,IAAoB,IAAfA,EAAErC,WAAuBqC,EAAEK,YAAcL,EAAEoB,eAAiBpB,EAAEwB,UAC9E,EACA4C,IAAImC,GAEEzM,KAAKqG,iBACPrG,KAAKqG,eAAexC,WAAa4I,EAErC,GAEFyP,gBAAiB,CACfrS,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,OAAOrK,KAAKqG,eAAe8R,WAC7B,GAEFiE,gBAAiB,CACfvS,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,SACmC,IAAjCrK,KAAKqG,eAAexC,WACnB7D,KAAKqG,eAAeE,YAAavG,KAAKqG,eAAeD,SACrDpG,KAAKqG,eAAeqB,WAEzB,GAEF2U,sBAAuB,CACrBxS,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,OAAOrK,KAAKqG,eAAeoJ,aAC7B,GAEF6M,eAAgB,CACdzS,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,OAAOrK,KAAKqG,gBAAkBrG,KAAKqG,eAAetE,MACpD,GAEFwa,gBAAiB,CACf1S,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,OAAOrK,KAAKqG,eAAeqR,OAC7B,EACApN,IAAK,SAAUkO,GACTxY,KAAKqG,iBACPrG,KAAKqG,eAAeqR,QAAUc,EAElC,GAEFgE,eAAgB,CACd3S,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOrK,KAAKqG,eAAelG,MAC7B,GAEF6D,mBAAoB,CAClB6F,UAAW,KACXsS,YAAY,EACZ9R,MACE,QAAOrK,KAAKqG,gBAAiBrG,KAAKqG,eAAekG,UACnD,GAEFkQ,iBAAkB,CAChB5S,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOrK,KAAKqG,eAAiBrG,KAAKqG,eAAelC,SAAW,IAC9D,GAEFiC,QAAS,CACPyD,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOrK,KAAKqG,eAAiBrG,KAAKqG,eAAeD,QAAU,IAC7D,GAEFU,OAAQ,CACN+C,UAAW,KACXQ,MACE,QAAOrK,KAAKqG,gBAAiBrG,KAAKqG,eAAeS,MACnD,GAEFP,UAAW,CACTsD,UAAW,KACXsS,YAAY,EACZ9R,MACE,QAAOrK,KAAKqG,gBAAiBrG,KAAKqG,eAAeE,SACnD,EACA+D,IAAIlF,GAGGpF,KAAKqG,iBAMVrG,KAAKqG,eAAeE,UAAYnB,EAClC,GAEFsX,cAAe,CACb7S,UAAW,KACXsS,YAAY,EACZ9R,MACE,QAAOrK,KAAKqG,gBAAiBrG,KAAKqG,eAAeqB,UACnD,KAGJqB,EAAuB+N,EAAczN,UAAW,CAE9CsT,WAAY,CACV9S,UAAW,KACXQ,MACE,OAAOrK,KAAKyX,MAAMtX,MACpB,GAGF2b,OAAQ,CACNjS,UAAW,KACXQ,MACE,OAAyB,IAAlBrK,KAAKsX,EACd,EACAhN,IAAIlF,GACFpF,KAAKsX,KAAalS,CACpB,KAKJ+D,EAASyT,UAAYtC,GA8DrBnR,EAASjG,KAAO,SAAUoM,EAAUN,GAClC,OAAO9L,EAAKiG,EAAUmG,EAAUN,EAClC,EAQA7F,EAASoB,QAAU,SAAUsS,EAAgBza,GAC3C,OAAOwH,KAAiBkT,oCAAoCD,EAAgBza,EAC9E,EACA+G,EAASuB,MAAQ,SAAUqS,EAAgB3a,GACzC,OAAOwH,KAAiBoT,oCAAoCD,EAAgB3a,EAC9E,EACA+G,EAASmD,KAAO,SAAUiK,EAAKnU,GAC7B,IAAI6a,EAAMC,EACV,OAAO,IAAI/T,EAAS,CAClBoD,WAI4B,QAHzB0Q,EACsD,QAApDC,EAAwB3G,EAAIvS,0BAA0D7E,IAA1B+d,EACzDA,EACA3G,EAAIhK,kBAAiCpN,IAAT8d,GAC9BA,KAEH7a,EACHlD,QAAQyE,EAAKS,GACXyQ,EAAYpS,UAAU8T,EAAK5S,GAC3BS,EAAST,EACX,IACC2I,KAAKiK,EACV,C,qCC5tCA,MAAM,UAAElF,EAAS,gBAAEsF,GAAoB,EAAQ,QACzC,sBAAE5T,GAA0B,eAClC,SAASoa,EAAkB/a,EAASoV,EAAU4F,GAC5C,OAAgC,MAAzBhb,EAAQqN,cAAwBrN,EAAQqN,cAAgB+H,EAAWpV,EAAQgb,GAAa,IACjG,CACA,SAASlG,EAAwB3K,GAC/B,OAAOA,EAAa,GAAK,KAC3B,CACA,SAAS0K,EAAiBuB,EAAOpW,EAASgb,EAAW5F,GACnD,MAAM6F,EAAMF,EAAkB/a,EAASoV,EAAU4F,GACjD,GAAW,MAAPC,EAAa,CACf,IAAK1G,EAAgB0G,IAAQA,EAAM,EAAG,CACpC,MAAM1e,EAAO6Y,EAAW,WAAW4F,IAAc,wBACjD,MAAM,IAAIra,EAAsBpE,EAAM0e,EACxC,CACA,OAAOhM,EAAUgM,EACnB,CAGA,OAAOnG,EAAwBsB,EAAMjM,WACvC,CACA3N,EAAOC,QAAU,CACfoY,mBACAC,0B,qCCwCF,MAAM,qBAAEhO,EAAoB,OAAEjH,GAAW,EAAQ,OACjDrD,EAAOC,QAAU8V,EACjB,MAAM,2BAAEwC,GAA+B,eACjC3U,EAAS,EAAQ,QACjB,iBAAEyU,GAAqB,EAAQ,OACrC/N,EAAqByL,EAAUtL,UAAW7G,EAAO6G,WACjDH,EAAqByL,EAAWnS,GAChC,MAAM8a,EAAYrb,EAAO,aACzB,SAAS0S,EAAUvS,GACjB,KAAMpC,gBAAgB2U,GAAY,OAAO,IAAIA,EAAUvS,GAKvD,MAAMia,EAAwBja,EAAU6U,EAAiBjX,KAAMoC,EAAS,yBAAyB,GAAQ,KAC3E,IAA1Bia,IAIFja,EAAU,IACLA,EACHqN,cAAe,KACf4M,wBAKAvS,sBAAuB1H,EAAQ0H,uBAAyB,IAG5DtH,EAAOgH,KAAKxJ,KAAMoC,GAKlBpC,KAAKqG,eAAe2B,MAAO,EAC3BhI,KAAKsd,GAAa,KACdlb,IAC+B,oBAAtBA,EAAQmb,YAA0Bvd,KAAK4U,WAAaxS,EAAQmb,WAC1C,oBAAlBnb,EAAQob,QAAsBxd,KAAKyd,OAASrb,EAAQob,QAOjExd,KAAKwE,GAAG,YAAakZ,EACvB,CACA,SAAStR,EAAMxI,GACc,oBAAhB5D,KAAKyd,QAA0Bzd,KAAKuG,WAmB7CvG,KAAKI,KAAK,MACNwD,GACFA,KApBF5D,KAAKyd,QAAO,CAAC/W,EAAInG,KACXmG,EACE9C,EACFA,EAAG8C,GAEH1G,KAAKd,QAAQwH,IAIL,MAARnG,GACFP,KAAKI,KAAKG,GAEZP,KAAKI,KAAK,MACNwD,GACFA,IACF,GAQN,CACA,SAAS8Z,IACH1d,KAAKsE,SAAW8H,GAClBA,EAAM5C,KAAKxJ,KAEf,CACA2U,EAAUtL,UAAU/E,OAAS8H,EAC7BuI,EAAUtL,UAAUuL,WAAa,SAAU1Q,EAAOC,EAAUC,GAC1D,MAAM,IAAI+S,EAA2B,eACvC,EACAxC,EAAUtL,UAAUpF,OAAS,SAAUC,EAAOC,EAAUC,GACtD,MAAM4J,EAAShO,KAAKqG,eACd0H,EAAS/N,KAAKsG,eACdnG,EAAS6N,EAAO7N,OACtBH,KAAK4U,WAAW1Q,EAAOC,GAAU,CAACR,EAAK8I,KACjC9I,EACFS,EAAST,IAGA,MAAP8I,GACFzM,KAAKI,KAAKqM,GAGVsB,EAAOtG,OAEPtH,IAAW6N,EAAO7N,QAElB6N,EAAO7N,OAAS6N,EAAOyB,cAEvBrL,IAEApE,KAAKsd,GAAalZ,EACpB,GAEJ,EACAuQ,EAAUtL,UAAUrE,MAAQ,WAC1B,GAAIhF,KAAKsd,GAAY,CACnB,MAAMlZ,EAAWpE,KAAKsd,GACtBtd,KAAKsd,GAAa,KAClBlZ,GACF,CACF,C,qCCjLA,MAAM,OAAEnC,EAAM,oBAAEmN,EAAmB,eAAE1P,EAAc,UAAEie,GAAc,EAAQ,OACrEjY,EAAazD,EAAO,cACpB2b,EAAa3b,EAAO,cACpB4b,EAAc5b,EAAO,eACrB6b,EAAe7b,EAAO,gBACtBwL,EAAmBkQ,EAAU,oCAC7Brf,EAA2Bqf,EAAU,4CAC3C,SAAS3S,EAAqB+S,EAAKC,GAAS,GAC1C,IAAIC,EACJ,SAEIF,GACoB,oBAAbA,EAAIvN,MACO,oBAAXuN,EAAIvZ,IACTwZ,IAAgC,oBAAdD,EAAInN,OAA8C,oBAAfmN,EAAIlN,SACzDkN,EAAIzX,iBAGkC,KAFU,QAA9C2X,EAAsBF,EAAI1X,sBAAoDlH,IAAxB8e,OACpD9e,EACA8e,EAAoBpa,WAExBka,EAAIzX,iBAAkByX,EAAI1X,eAGlC,CAEA,SAAS4E,EAAqB8S,GAC5B,IAAIG,EACJ,SAEIH,GACqB,oBAAdA,EAAI1Z,OACO,oBAAX0Z,EAAIvZ,IACTuZ,EAAI1X,iBAGkC,KAFU,QAA9C6X,EAAsBH,EAAIzX,sBAAoDnH,IAAxB+e,OACpD/e,EACA+e,EAAoBpa,UAGhC,CAEA,SAASoH,EAAmB6S,GAC1B,SACEA,GACoB,oBAAbA,EAAIvN,OACXuN,EAAI1X,gBACc,oBAAX0X,EAAIvZ,IACU,oBAAduZ,EAAI1Z,MAEf,CACA,SAASjG,EAAa2f,GACpB,OACEA,IACCA,EAAI1X,gBACH0X,EAAIzX,gBACkB,oBAAdyX,EAAI1Z,OAA0C,oBAAX0Z,EAAIvZ,IAC1B,oBAAbuZ,EAAIvN,MAAyC,oBAAXuN,EAAIvZ,GAEpD,CACA,SAAS1B,EAAiBib,GACxB,SACEA,GACC3f,EAAa2f,IACa,oBAApBA,EAAII,aACc,oBAAlBJ,EAAI5Y,WACW,oBAAf4Y,EAAIK,OAEf,CACA,SAASvb,EAAiBkb,GACxB,SAAUA,GAAQ3f,EAAa2f,IAAiC,oBAAlBA,EAAIrZ,WAAiD,oBAAdqZ,EAAIrV,MAC3F,CACA,SAAS9F,EAAkBmb,GACzB,SAAUA,GAAQ3f,EAAa2f,IAAgC,kBAAjBA,EAAIla,UAAiD,kBAAjBka,EAAIja,SACxF,CACA,SAASzF,EAAY0f,GACnB,OAAOjb,EAAiBib,IAAQlb,EAAiBkb,IAAQnb,EAAkBmb,EAC7E,CACA,SAAShT,EAAWgT,EAAKvO,GACvB,OAAW,MAAPuO,KACY,IAAZvO,EAA6D,oBAA7BuO,EAAI3O,IACxB,IAAZI,EAAyD,oBAAxBuO,EAAIre,GACE,oBAA7Bqe,EAAI3O,IAAsE,oBAAxB2O,EAAIre,GACtE,CACA,SAASiG,EAAY5G,GACnB,IAAKX,EAAaW,GAAS,OAAO,KAClC,MAAMgP,EAAShP,EAAOuH,eAChB0H,EAASjP,EAAOsH,eAChBmS,EAAQzK,GAAUC,EACxB,SAAUjP,EAAOwH,WAAaxH,EAAO2G,IAA0B,OAAV8S,QAA4BrZ,IAAVqZ,GAAuBA,EAAMjS,UACtG,CAGA,SAAS8X,EAAgBtf,GACvB,IAAKkM,EAAqBlM,GAAS,OAAO,KAC1C,IAA6B,IAAzBA,EAAOoL,cAAwB,OAAO,EAC1C,MAAM4D,EAAShP,EAAOuH,eACtB,OAAe,OAAXyH,QAA8B5O,IAAX4O,IAAwBA,EAAO3H,WAC8B,mBAA7D,OAAX2H,QAA8B5O,IAAX4O,OAAuB5O,EAAY4O,EAAOtG,OAA6B,KAC/FsG,EAAOtG,MAChB,CAGA,SAAS4F,EAAmBtO,EAAQif,GAClC,IAAK/S,EAAqBlM,GAAS,OAAO,KAC1C,IAAgC,IAA5BA,EAAOkL,iBAA2B,OAAO,EAC7C,MAAM8D,EAAShP,EAAOuH,eACtB,OAAe,OAAXyH,QAA8B5O,IAAX4O,IAAwBA,EAAO3H,WACiC,mBAAhE,OAAX2H,QAA8B5O,IAAX4O,OAAuB5O,EAAY4O,EAAOjG,UAAgC,QAC/FiG,EAAOjG,WAAwB,IAAXkW,IAAqC,IAAjBjQ,EAAOtG,OAAoC,IAAlBsG,EAAO5N,QACpF,CAGA,SAAS4U,EAAgBhW,GACvB,IAAKiM,EAAqBjM,GAAS,OAAO,KAC1C,IAA6B,IAAzBA,EAAO2d,cAAwB,OAAO,EAC1C,MAAM1O,EAASjP,EAAOsH,eACtB,SAAK2H,GAAUA,EAAO5H,WAC8D,mBAA7D,OAAX4H,QAA8B7O,IAAX6O,OAAuB7O,EAAY6O,EAAOvG,OAA6B,KAC/FuG,EAAOvG,MAChB,CAGA,SAAS0F,EAAmBpO,EAAQif,GAClC,IAAKhT,EAAqBjM,GAAS,OAAO,KAC1C,MAAMiP,EAASjP,EAAOsH,eACtB,OAAe,OAAX2H,QAA8B7O,IAAX6O,IAAwBA,EAAO5H,WACmC,mBAAlE,OAAX4H,QAA8B7O,IAAX6O,OAAuB7O,EAAY6O,EAAOtG,YAAkC,QACjGsG,EAAOtG,aAA0B,IAAXsW,IAAqC,IAAjBhQ,EAAOvG,OAAoC,IAAlBuG,EAAO7N,QACtF,CACA,SAASuC,EAAW3D,GAClB,OAAIA,GAAiC,MAAvBA,EAAO8e,GAA6B9e,EAAO8e,GAC8B,mBAAhE,OAAX9e,QAA8BI,IAAXJ,OAAuBI,EAAYJ,EAAO8E,UAAgC,MACrG8B,EAAY5G,KACTiM,EAAqBjM,IAAWA,EAAO8E,WAAasJ,EAAmBpO,GAChF,CACA,SAAS4D,EAAW5D,GAClB,MAAuF,mBAAhE,OAAXA,QAA8BI,IAAXJ,OAAuBI,EAAYJ,EAAO+E,UAAgC,MACrG6B,EAAY5G,KACTkM,EAAqBlM,IAAWA,EAAO+E,WAAaua,EAAgBtf,GAC7E,CACA,SAAS6G,EAAW7G,EAAQiQ,GAC1B,OAAK5Q,EAAaW,KAGd4G,EAAY5G,MAG0D,KAA5D,OAATiQ,QAA0B7P,IAAT6P,OAAqB7P,EAAY6P,EAAKnL,YAAuBnB,EAAW3D,OAGpB,KAA5D,OAATiQ,QAA0B7P,IAAT6P,OAAqB7P,EAAY6P,EAAKlL,YAAuBnB,EAAW5D,IARrF,IAYX,CACA,SAASuO,EAAkBvO,GACzB,IAAIuf,EAAuBC,EAC3B,OAAKngB,EAAaW,GAGdA,EAAOyf,gBACFzf,EAAOyf,gBAK0B,QAHlCF,EAC+C,QAApDC,EAAyBxf,EAAOuH,sBAAuDnH,IAA3Bof,OACzDpf,EACAof,EAAuBnY,eAA+CjH,IAA1Bmf,EAC9CA,EACA,KAVK,IAWX,CACA,SAASlR,EAAkBrO,GACzB,IAAI0f,EAAuBC,EAC3B,OAAKtgB,EAAaW,GAGdA,EAAO4f,gBACF5f,EAAO4f,gBAK0B,QAHlCF,EAC+C,QAApDC,EAAyB3f,EAAOsH,sBAAuDlH,IAA3Buf,OACzDvf,EACAuf,EAAuBtY,eAA+CjH,IAA1Bsf,EAC9CA,EACA,KAVK,IAWX,CACA,SAASvR,EAASnO,GAChB,IAAKX,EAAaW,GAChB,OAAO,KAET,GAA6B,mBAAlBA,EAAO+H,OAChB,OAAO/H,EAAO+H,OAEhB,MAAMiH,EAAShP,EAAOuH,eAChB0H,EAASjP,EAAOsH,eACtB,MACmF,mBAA9D,OAAX0H,QAA8B5O,IAAX4O,OAAuB5O,EAAY4O,EAAOjH,SACY,mBAA9D,OAAXkH,QAA8B7O,IAAX6O,OAAuB7O,EAAY6O,EAAOlH,SAGvD,OAAXiH,QAA8B5O,IAAX4O,OAAuB5O,EAAY4O,EAAOjH,UAClD,OAAXkH,QAA8B7O,IAAX6O,OAAuB7O,EAAY6O,EAAOlH,QAGpC,mBAAnB/H,EAAO6f,SAAyBC,EAAkB9f,GACpDA,EAAO6f,QAET,IACT,CACA,SAASC,EAAkB9f,GACzB,MAC4B,mBAAnBA,EAAO6f,SACsB,mBAA7B7f,EAAO+f,mBACuB,mBAA9B/f,EAAOggB,oBACoB,mBAA3BhgB,EAAOigB,eAElB,CACA,SAASC,EAAiBlgB,GACxB,MAAkC,mBAApBA,EAAOmgB,UAA0BL,EAAkB9f,EACnE,CACA,SAAS8G,EAAgB9G,GACvB,IAAIogB,EACJ,MAC+B,mBAAtBpgB,EAAOqgB,YACY,mBAAnBrgB,EAAOsgB,cAEZlgB,KAD8B,QAA9BggB,EAAcpgB,EAAO+J,WAAiC3J,IAAhBggB,OAA4BhgB,EAAYggB,EAAYG,iBAGhG,CACA,SAAS/R,EAAcxO,GACrB,IAAKX,EAAaW,GAAS,OAAO,KAClC,MAAMgP,EAAShP,EAAOuH,eAChB0H,EAASjP,EAAOsH,eAChBmS,EAAQzK,GAAUC,EACxB,OACIwK,GAASyG,EAAiBlgB,OAAeyZ,GAASA,EAAMvQ,aAAeuQ,EAAMpR,YAA8B,IAAjBoR,EAAM1R,OAEtG,CACA,SAASyY,EAAYxgB,GACnB,IAAIygB,EACJ,SACEzgB,KACmD,QAAjDygB,EAAuBzgB,EAAO+e,UAAoD3e,IAAzBqgB,EACvDA,EACAzgB,EAAOmd,iBAAmBnd,EAAOqd,iBAEzC,CACA,SAASqD,EAAU1gB,GACjB,IAAIke,EACFyC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACF,SACEnhB,KAsB0C,QArBxCke,EAiB+C,QAhB9CyC,EAYgD,QAX9CC,EAOmC,QANjCC,EAImC,QAHjCC,EAC+C,QAA7CC,EAAqB/gB,EAAO6e,UAAgDze,IAAvB2gB,EAClDA,EACA/gB,EAAO4f,uBAAuCxf,IAAV0gB,EACtCA,EACA9gB,EAAOyf,uBAAuCrf,IAAVygB,EACtCA,EACqD,QAApDG,EAAyBhhB,EAAOsH,sBAAuDlH,IAA3B4gB,OAC7D5gB,EACA4gB,EAAuBzY,oBAAoCnI,IAAVwgB,EACnDA,EACqD,QAApDK,EAAyBjhB,EAAOuH,sBAAuDnH,IAA3B6gB,OAC7D7gB,EACA6gB,EAAuB1Y,oBAAoCnI,IAAVugB,EACnDA,EACqD,QAApDO,EAAyBlhB,EAAOsH,sBAAuDlH,IAA3B8gB,OAC7D9gB,EACA8gB,EAAuB7Z,eAA8BjH,IAAT8d,EAC9CA,EACqD,QAApDiD,EAAyBnhB,EAAOuH,sBAAuDnH,IAA3B+gB,OAC7D/gB,EACA+gB,EAAuB9Z,SAE/B,CACAxH,EAAOC,QAAU,CACf6G,aACA6Z,cACAzB,eACA2B,YACA7B,aACAlb,aACAmb,cACApQ,mBACAnP,2BACA4O,WACAvH,cACAuF,qBACAtF,aACAmF,aACAC,uBACAlI,mBACAiS,kBACA5H,qBACAC,oBACAhP,eACAC,cACAsE,aACAsI,uBACApI,mBACAwb,kBACAhR,qBACAC,oBACAzH,kBACAoZ,mBACA1R,gBACA3K,oB,wBC7TF,MAAM2C,EAAU,EAAQ,QA6BlB,oBACJ4a,EAAmB,MACnBC,EAAK,mCACLC,EAAkC,qBAClCC,EAAoB,uBACpBvX,EAAsB,qBACtBG,EAAoB,2BACpBqX,EAA0B,OAC1Bte,EAAM,kBACNue,GACE,EAAQ,OACZ5hB,EAAOC,QAAUuK,EACjBA,EAASqX,cAAgBA,EACzB,MAAQxQ,aAAcC,GAAO,EAAQ,OAC/BC,EAAS,iBACT,OAAEtQ,GAAW,EAAQ,OACrBgV,EAAc,EAAQ,QACtB,eAAE/V,GAAmB,EAAQ,QAC7B,iBAAEmY,EAAgB,wBAAEC,GAA4B,EAAQ,QACxD,qBACJ1Y,EAAoB,2BACpB2Y,EAA0B,sBAC1B1R,EAAqB,uBACrBib,EAAsB,qBACtB5L,EAAoB,4BACpB6L,EAA2B,uBAC3BtR,EAAsB,2BACtBuR,EAA0B,qBAC1BC,GACE,gBACE,eAAE9Y,GAAmB8M,EAG3B,SAASnH,IAAO,CAFhBxE,EAAqBE,EAASC,UAAW8G,EAAO9G,WAChDH,EAAqBE,EAAU+G,GAE/B,MAAM2Q,EAAc7e,EAAO,eAC3B,SAASwe,EAAcre,EAASrD,EAAQyY,GAMd,mBAAbA,IAAwBA,EAAWzY,aAAkB,EAAQ,QAIxEiB,KAAKuM,cAAgBnK,IAAWA,EAAQmK,YACpCiL,IAAUxX,KAAKuM,WAAavM,KAAKuM,eAAiBnK,IAAWA,EAAQ2B,qBAKzE/D,KAAKyP,cAAgBrN,EACjB6U,EAAiBjX,KAAMoC,EAAS,wBAAyBoV,GACzDN,GAAwB,GAG5BlX,KAAK2H,aAAc,EAGnB3H,KAAKsb,WAAY,EAEjBtb,KAAK6H,QAAS,EAEd7H,KAAKyH,OAAQ,EAEbzH,KAAK8H,UAAW,EAGhB9H,KAAKuG,WAAY,EAKjB,MAAMwa,KAAc3e,IAAqC,IAA1BA,EAAQ4e,eACvChhB,KAAKghB,eAAiBD,EAKtB/gB,KAAK+X,gBAAmB3V,GAAWA,EAAQ2V,iBAAoB,OAK/D/X,KAAKG,OAAS,EAGdH,KAAKgV,SAAU,EAGfhV,KAAKihB,OAAS,EAMdjhB,KAAKgI,MAAO,EAKZhI,KAAKkhB,kBAAmB,EAGxBlhB,KAAKmhB,QAAUA,EAAQlF,UAAK9c,EAAWJ,GAGvCiB,KAAKohB,QAAU,KAGfphB,KAAKqhB,SAAW,EAIhBrhB,KAAKshB,mBAAqB,KAC1BC,EAAYvhB,MAIZA,KAAKwhB,UAAY,EAMjBxhB,KAAKwG,aAAc,EAInBxG,KAAK4H,aAAc,EAGnB5H,KAAKsH,cAAe,EAGpBtH,KAAKoH,WAAahF,IAAiC,IAAtBA,EAAQgF,UAGrCpH,KAAKiI,aAAe7F,IAAmC,IAAxBA,EAAQ6F,YAKvCjI,KAAKoG,QAAU,KAGfpG,KAAK8G,QAAS,EAId9G,KAAKmH,cAAe,EACpBnH,KAAK8gB,GAAe,EACtB,CACA,SAASS,EAAY/I,GACnBA,EAAMiJ,SAAW,GACjBjJ,EAAMkJ,cAAgB,EACtBlJ,EAAMmJ,YAAa,EACnBnJ,EAAMoJ,SAAU,CAClB,CAUA,SAASxY,EAAShH,GAWhB,MAAMoV,EAAWxX,gBAAgB,EAAQ,OACzC,IAAKwX,IAAa6I,EAAmCjX,EAAUpJ,MAAO,OAAO,IAAIoJ,EAAShH,GAC1FpC,KAAKsG,eAAiB,IAAIma,EAAcre,EAASpC,KAAMwX,GACnDpV,IAC2B,oBAAlBA,EAAQiC,QAAsBrE,KAAKiE,OAAS7B,EAAQiC,OACjC,oBAAnBjC,EAAQyf,SAAuB7hB,KAAK8hB,QAAU1f,EAAQyf,QAClC,oBAApBzf,EAAQlD,UAAwBc,KAAKsF,SAAWlD,EAAQlD,SACtC,oBAAlBkD,EAAQgK,QAAsBpM,KAAKsE,OAASlC,EAAQgK,OAC9B,oBAAtBhK,EAAQ8F,YAA0BlI,KAAKmI,WAAa/F,EAAQ8F,WACnE9F,EAAQ1D,QAAQI,EAAesD,EAAQ1D,OAAQsB,OAErDmQ,EAAO3G,KAAKxJ,KAAMoC,GAClByS,EAAY3M,UAAUlI,MAAM,KAC1B,MAAMwY,EAAQxY,KAAKsG,eACdkS,EAAMxD,SACT+M,EAAY/hB,KAAMwY,GAEpBwJ,EAAYhiB,KAAMwY,EAAK,GAE3B,CAcA,SAASvU,EAAOlF,EAAQmF,EAAOC,EAAUP,GACvC,MAAM4U,EAAQzZ,EAAOuH,eACrB,GAAwB,oBAAbnC,EACTP,EAAKO,EACLA,EAAWqU,EAAMT,oBACZ,CACL,GAAK5T,GACA,GAAiB,WAAbA,IAA0BtE,EAAOoiB,WAAW9d,GAAW,MAAM,IAAI0c,EAAqB1c,QADhFA,EAAWqU,EAAMT,gBAEd,oBAAPnU,IAAmBA,EAAK8J,EACrC,CACA,GAAc,OAAVxJ,EACF,MAAM,IAAImL,EACL,IAAKmJ,EAAMjM,WAChB,GAAqB,kBAAVrI,GACmB,IAAxBsU,EAAMwI,gBACR9c,EAAQrE,EAAOqD,KAAKgB,EAAOC,GAC3BA,EAAW,eAER,GAAID,aAAiBrE,EAC1BsE,EAAW,aACN,KAAIgM,EAAOuI,cAAcxU,GAI9B,MAAM,IAAI1F,EAAqB,QAAS,CAAC,SAAU,SAAU,cAAe0F,GAH5EA,EAAQiM,EAAOwI,oBAAoBzU,GACnCC,EAAW,QAGb,CAEF,IAAIR,EAMJ,OALI6U,EAAM3Q,OACRlE,EAAM,IAAIid,EACDpI,EAAMjS,YACf5C,EAAM,IAAImR,EAAqB,UAE7BnR,GACF4B,EAAQwB,SAASnD,EAAID,GACrBoE,EAAehJ,EAAQ4E,GAAK,GACrBA,IAET6U,EAAMgJ,YACCU,EAAcnjB,EAAQyZ,EAAOtU,EAAOC,EAAUP,GACvD,CAyBA,SAASse,EAAcnjB,EAAQyZ,EAAOtU,EAAOC,EAAUC,GACrD,MAAMuV,EAAMnB,EAAMjM,WAAa,EAAIrI,EAAM/D,OACzCqY,EAAMrY,QAAUwZ,EAGhB,MAAMhZ,EAAM6X,EAAMrY,OAASqY,EAAM/I,cA0BjC,OAxBK9O,IAAK6X,EAAM8C,WAAY,GACxB9C,EAAMxD,SAAWwD,EAAMyI,QAAUzI,EAAMpS,UAAYoS,EAAMhS,aAC3DgS,EAAMiJ,SAASrhB,KAAK,CAClB8D,QACAC,WACAC,aAEEoU,EAAMmJ,YAA2B,WAAbxd,IACtBqU,EAAMmJ,YAAa,GAEjBnJ,EAAMoJ,SAAWxd,IAAasJ,IAChC8K,EAAMoJ,SAAU,KAGlBpJ,EAAM6I,SAAW1H,EACjBnB,EAAM4I,QAAUhd,EAChBoU,EAAMxD,SAAU,EAChBwD,EAAMxQ,MAAO,EACbjJ,EAAOkF,OAAOC,EAAOC,EAAUqU,EAAM2I,SACrC3I,EAAMxQ,MAAO,GAKRrH,IAAQ6X,EAAMpS,UAAYoS,EAAMjS,SACzC,CACA,SAAS4b,EAAQpjB,EAAQyZ,EAAOqJ,EAAQlI,EAAKzV,EAAOC,EAAUP,GAC5D4U,EAAM6I,SAAW1H,EACjBnB,EAAM4I,QAAUxd,EAChB4U,EAAMxD,SAAU,EAChBwD,EAAMxQ,MAAO,EACTwQ,EAAMjS,UAAWiS,EAAM2I,QAAQ,IAAIrM,EAAqB,UACnD+M,EAAQ9iB,EAAO+iB,QAAQ5d,EAAOsU,EAAM2I,SACxCpiB,EAAOkF,OAAOC,EAAOC,EAAUqU,EAAM2I,SAC1C3I,EAAMxQ,MAAO,CACf,CACA,SAASoa,EAAarjB,EAAQyZ,EAAO9R,EAAI9C,KACrC4U,EAAMgJ,UACR5d,EAAG8C,GAKH2b,EAAY7J,GAEZzQ,EAAehJ,EAAQ2H,EACzB,CACA,SAASya,EAAQpiB,EAAQ2H,GACvB,MAAM8R,EAAQzZ,EAAOuH,eACf0B,EAAOwQ,EAAMxQ,KACbpE,EAAK4U,EAAM4I,QACC,oBAAPxd,GAIX4U,EAAMxD,SAAU,EAChBwD,EAAM4I,QAAU,KAChB5I,EAAMrY,QAAUqY,EAAM6I,SACtB7I,EAAM6I,SAAW,EACb3a,GAEFA,EAAGP,MAEEqS,EAAMpS,UACToS,EAAMpS,QAAUM,GAKd3H,EAAOsH,iBAAmBtH,EAAOsH,eAAeD,UAClDrH,EAAOsH,eAAeD,QAAUM,GAE9BsB,EACFzC,EAAQwB,SAASqb,EAAcrjB,EAAQyZ,EAAO9R,EAAI9C,GAElDwe,EAAarjB,EAAQyZ,EAAO9R,EAAI9C,KAG9B4U,EAAMiJ,SAASthB,OAASqY,EAAMkJ,eAChCK,EAAYhjB,EAAQyZ,GAElBxQ,EAK+B,OAA7BwQ,EAAM8I,oBAA+B9I,EAAM8I,mBAAmB1d,KAAOA,EACvE4U,EAAM8I,mBAAmBgB,SAEzB9J,EAAM8I,mBAAqB,CACzBgB,MAAO,EACP1e,KACA7E,SACAyZ,SAEFjT,EAAQwB,SAASwb,EAAgB/J,EAAM8I,qBAGzCkB,EAAWzjB,EAAQyZ,EAAO,EAAG5U,KA9C/BmE,EAAehJ,EAAQ,IAAI0G,EAiD/B,CACA,SAAS8c,GAAe,OAAExjB,EAAM,MAAEyZ,EAAK,MAAE8J,EAAK,GAAE1e,IAE9C,OADA4U,EAAM8I,mBAAqB,KACpBkB,EAAWzjB,EAAQyZ,EAAO8J,EAAO1e,EAC1C,CACA,SAAS4e,EAAWzjB,EAAQyZ,EAAO8J,EAAO1e,GACxC,MAAM0X,GAAa9C,EAAM3Q,SAAW9I,EAAOwH,WAA8B,IAAjBiS,EAAMrY,QAAgBqY,EAAM8C,UAChFA,IACF9C,EAAM8C,WAAY,EAClBvc,EAAOsI,KAAK,UAEd,MAAOib,KAAU,EACf9J,EAAMgJ,YACN5d,IAEE4U,EAAMjS,WACR8b,EAAY7J,GAEdwJ,EAAYjjB,EAAQyZ,EACtB,CAGA,SAAS6J,EAAY7J,GACnB,GAAIA,EAAMxD,QACR,OAEF,IAAK,IAAI/T,EAAIuX,EAAMkJ,cAAezgB,EAAIuX,EAAMiJ,SAASthB,SAAUc,EAAG,CAChE,IAAIwhB,EACJ,MAAM,MAAEve,EAAK,SAAEE,GAAaoU,EAAMiJ,SAASxgB,GACrC0Y,EAAMnB,EAAMjM,WAAa,EAAIrI,EAAM/D,OACzCqY,EAAMrY,QAAUwZ,EAChBvV,EACuC,QAApCqe,EAAiBjK,EAAMpS,eAAwCjH,IAAnBsjB,EACzCA,EACA,IAAI3N,EAAqB,SAEjC,CACA,MAAM4N,EAAoBlK,EAAMsI,GAAapF,OAAO,GACpD,IAAK,IAAIta,EAAI,EAAGA,EAAIshB,EAAkBviB,OAAQiB,IAAK,CACjD,IAAIuhB,EACJD,EAAkBthB,GACsB,QAArCuhB,EAAkBnK,EAAMpS,eAAyCjH,IAApBwjB,EAC1CA,EACA,IAAI7N,EAAqB,OAEjC,CACAyM,EAAY/I,EACd,CAGA,SAASuJ,EAAYhjB,EAAQyZ,GAC3B,GAAIA,EAAMyI,QAAUzI,EAAM0I,kBAAoB1I,EAAMjS,YAAciS,EAAMhS,YACtE,OAEF,MAAM,SAAEib,EAAQ,cAAEC,EAAa,WAAEnV,GAAeiM,EAC1CoK,EAAiBnB,EAASthB,OAASuhB,EACzC,IAAKkB,EACH,OAEF,IAAIxhB,EAAIsgB,EAER,GADAlJ,EAAM0I,kBAAmB,EACrB0B,EAAiB,GAAK7jB,EAAO+iB,QAAS,CACxCtJ,EAAMgJ,WAAaoB,EAAiB,EACpC,MAAMxe,EAAWoU,EAAMoJ,QACnBlU,EACC/J,IACC,IAAK,IAAI1C,EAAIG,EAAGH,EAAIwgB,EAASthB,SAAUc,EACrCwgB,EAASxgB,GAAGmD,SAAST,EACvB,EAIAkf,EAASrK,EAAMoJ,SAAiB,IAANxgB,EAAUqgB,EAAWtB,EAAoBsB,EAAUrgB,GACnFyhB,EAAOlB,WAAanJ,EAAMmJ,WAC1BQ,EAAQpjB,EAAQyZ,GAAO,EAAMA,EAAMrY,OAAQ0iB,EAAQ,GAAIze,GACvDmd,EAAY/I,EACd,KAAO,CACL,EAAG,CACD,MAAM,MAAEtU,EAAK,SAAEC,EAAQ,SAAEC,GAAaqd,EAASrgB,GAC/CqgB,EAASrgB,KAAO,KAChB,MAAMuY,EAAMpN,EAAa,EAAIrI,EAAM/D,OACnCgiB,EAAQpjB,EAAQyZ,GAAO,EAAOmB,EAAKzV,EAAOC,EAAUC,EACtD,OAAShD,EAAIqgB,EAASthB,SAAWqY,EAAMxD,SACnC5T,IAAMqgB,EAASthB,OACjBohB,EAAY/I,GACHpX,EAAI,KACbqgB,EAAS/F,OAAO,EAAGta,GACnBoX,EAAMkJ,cAAgB,GAEtBlJ,EAAMkJ,cAAgBtgB,CAE1B,CACAoX,EAAM0I,kBAAmB,CAC3B,CAkEA,SAAS4B,EAAWtK,GAClB,OACEA,EAAM3Q,SACL2Q,EAAMjS,WACPiS,EAAMhS,aACW,IAAjBgS,EAAMrY,SACLqY,EAAMpS,SACmB,IAA1BoS,EAAMiJ,SAASthB,SACdqY,EAAM1Q,WACN0Q,EAAMxD,UACNwD,EAAMlR,eACNkR,EAAMrR,YAEX,CACA,SAAS4b,EAAUhkB,EAAQyZ,GACzB,IAAI5R,GAAS,EACb,SAASoc,EAASrf,GAChB,GAAIiD,EACFmB,EAAehJ,EAAgB,OAAR4E,QAAwBxE,IAARwE,EAAoBA,EAAM8B,UAKnE,GAFAmB,GAAS,EACT4R,EAAMgJ,YACF7d,EAAK,CACP,MAAM+e,EAAoBlK,EAAMsI,GAAapF,OAAO,GACpD,IAAK,IAAIta,EAAI,EAAGA,EAAIshB,EAAkBviB,OAAQiB,IAC5CshB,EAAkBthB,GAAGuC,GAEvBoE,EAAehJ,EAAQ4E,EAAK6U,EAAMxQ,KACpC,MAAW8a,EAAWtK,KACpBA,EAAM5Q,aAAc,EACpB7I,EAAOsI,KAAK,aAIZmR,EAAMgJ,YACNjc,EAAQwB,SAASuO,EAAQvW,EAAQyZ,GAErC,CACAA,EAAMxQ,MAAO,EACbwQ,EAAMgJ,YACN,IACEziB,EAAOuF,OAAO0e,EAChB,CAAE,MAAOrf,GACPqf,EAASrf,EACX,CACA6U,EAAMxQ,MAAO,CACf,CACA,SAAS0V,EAAU3e,EAAQyZ,GACpBA,EAAM5Q,aAAgB4Q,EAAM7Q,cACF,oBAAlB5I,EAAOuF,QAA0BkU,EAAMjS,WAIhDiS,EAAM5Q,aAAc,EACpB7I,EAAOsI,KAAK,eAJZmR,EAAM7Q,aAAc,EACpBob,EAAUhkB,EAAQyZ,IAMxB,CACA,SAASwJ,EAAYjjB,EAAQyZ,EAAOxQ,GAC9B8a,EAAWtK,KACbkF,EAAU3e,EAAQyZ,GACM,IAApBA,EAAMgJ,YACJxZ,GACFwQ,EAAMgJ,YACNjc,EAAQwB,UACN,CAAChI,EAAQyZ,KACHsK,EAAWtK,GACblD,EAAOvW,EAAQyZ,GAEfA,EAAMgJ,WACR,GAEFziB,EACAyZ,IAEOsK,EAAWtK,KACpBA,EAAMgJ,YACNlM,EAAOvW,EAAQyZ,KAIvB,CACA,SAASlD,EAAOvW,EAAQyZ,GACtBA,EAAMgJ,YACNhJ,EAAM1Q,UAAW,EACjB,MAAM4a,EAAoBlK,EAAMsI,GAAapF,OAAO,GACpD,IAAK,IAAIta,EAAI,EAAGA,EAAIshB,EAAkBviB,OAAQiB,IAC5CshB,EAAkBthB,KAGpB,GADArC,EAAOsI,KAAK,UACRmR,EAAMvQ,YAAa,CAGrB,MAAM+F,EAASjP,EAAOsH,eAChB4B,GACH+F,GACAA,EAAO/F,cAGL+F,EAAOtG,aAAkC,IAApBsG,EAAOnK,UAC7BoE,GACFlJ,EAAOG,SAEX,CACF,CA1eAuhB,EAAcpX,UAAU4Z,UAAY,WAClC,OAAO9C,EAAoBngB,KAAKyhB,SAAUzhB,KAAK0hB,cACjD,EACApB,EAAqBG,EAAcpX,UAAW,uBAAwB,CACpEQ,UAAW,KACXQ,MACE,OAAOrK,KAAKyhB,SAASthB,OAASH,KAAK0hB,aACrC,IAiCFpB,EAAqBlX,EAAUoX,EAAmB,CAChD3W,UAAW,KACXzE,MAAO,SAAU8d,GACf,QAAI7C,EAAmCrgB,KAAMkjB,IACzCljB,OAASoJ,IACN8Z,GAAUA,EAAO5c,0BAA0Bma,EACpD,IAIFrX,EAASC,UAAUmH,KAAO,WACxBzI,EAAe/H,KAAM,IAAI0gB,EAC3B,EA0CAtX,EAASC,UAAUhF,MAAQ,SAAUH,EAAOC,EAAUP,GACpD,OAA6C,IAAtCK,EAAOjE,KAAMkE,EAAOC,EAAUP,EACvC,EACAwF,EAASC,UAAU8Z,KAAO,WACxBnjB,KAAKsG,eAAe2a,QACtB,EACA7X,EAASC,UAAU+Z,OAAS,WAC1B,MAAM5K,EAAQxY,KAAKsG,eACfkS,EAAMyI,SACRzI,EAAMyI,SACDzI,EAAMxD,SAAS+M,EAAY/hB,KAAMwY,GAE1C,EACApP,EAASC,UAAUga,mBAAqB,SAA4Blf,GAGlE,GADwB,kBAAbA,IAAuBA,EAAWoc,EAA2Bpc,KACnEtE,EAAOoiB,WAAW9d,GAAW,MAAM,IAAI0c,EAAqB1c,GAEjE,OADAnE,KAAKsG,eAAeyR,gBAAkB5T,EAC/BnE,IACT,EA+MAoJ,EAASC,UAAUpF,OAAS,SAAUC,EAAOC,EAAUP,GACrD,IAAI5D,KAAK8hB,QAWP,MAAM,IAAI3K,EAA2B,YAVrCnX,KAAK8hB,QACH,CACE,CACE5d,QACAC,aAGJP,EAKN,EACAwF,EAASC,UAAUyY,QAAU,KAC7B1Y,EAASC,UAAU9E,IAAM,SAAUL,EAAOC,EAAUP,GAClD,MAAM4U,EAAQxY,KAAKsG,eASnB,IAAI3C,EACJ,GATqB,oBAAVO,GACTN,EAAKM,EACLA,EAAQ,KACRC,EAAW,MACkB,oBAAbA,IAChBP,EAAKO,EACLA,EAAW,MAGC,OAAVD,QAA4B/E,IAAV+E,EAAqB,CACzC,MAAMvD,EAAMsD,EAAOjE,KAAMkE,EAAOC,GAC5BxD,aAAeyf,IACjBzc,EAAMhD,EAEV,CA+BA,OA5BI6X,EAAMyI,SACRzI,EAAMyI,OAAS,EACfjhB,KAAKojB,UAEHzf,IAEQ6U,EAAMpS,SAAYoS,EAAM3Q,OAUzB2Q,EAAM1Q,SACfnE,EAAM,IAAIgd,EAA4B,OAC7BnI,EAAMjS,YACf5C,EAAM,IAAImR,EAAqB,SAN/B0D,EAAM3Q,QAAS,EACfma,EAAYhiB,KAAMwY,GAAO,GACzBA,EAAM/Q,OAAQ,IAME,oBAAP7D,IACLD,GAAO6U,EAAM1Q,SACfvC,EAAQwB,SAASnD,EAAID,GAErB6U,EAAMsI,GAAa1gB,KAAKwD,IAGrB5D,IACT,EA2GA+I,EAAuBK,EAASC,UAAW,CACzCvC,OAAQ,CACN+C,UAAW,KACXQ,MACE,QAAOrK,KAAKsG,gBAAiBtG,KAAKsG,eAAeQ,MACnD,GAEFP,UAAW,CACTsD,UAAW,KACXQ,MACE,QAAOrK,KAAKsG,gBAAiBtG,KAAKsG,eAAeC,SACnD,EACA+D,IAAIlF,GAEEpF,KAAKsG,iBACPtG,KAAKsG,eAAeC,UAAYnB,EAEpC,GAEFtB,SAAU,CACR+F,UAAW,KACXQ,MACE,MAAMpE,EAAIjG,KAAKsG,eAKf,QAASL,IAAoB,IAAfA,EAAEnC,WAAuBmC,EAAEM,YAAcN,EAAEG,UAAYH,EAAE4B,SAAW5B,EAAEwB,KACtF,EACA6C,IAAImC,GAEEzM,KAAKsG,iBACPtG,KAAKsG,eAAexC,WAAa2I,EAErC,GAEFxC,iBAAkB,CAChBJ,UAAW,KACXQ,MACE,QAAOrK,KAAKsG,gBAAiBtG,KAAKsG,eAAewB,QACnD,GAEF/D,mBAAoB,CAClB8F,UAAW,KACXQ,MACE,QAAOrK,KAAKsG,gBAAiBtG,KAAKsG,eAAeiG,UACnD,GAEFxC,eAAgB,CACdF,UAAW,KACXQ,MACE,OAAOrK,KAAKsG,gBAAkBtG,KAAKsG,eAAe2c,WACpD,GAEF9Y,cAAe,CACbN,UAAW,KACXQ,MACE,QAAOrK,KAAKsG,gBAAiBtG,KAAKsG,eAAeuB,MACnD,GAEFuC,kBAAmB,CACjBP,UAAW,KACXQ,MACE,MAAM0D,EAAS/N,KAAKsG,eACpB,QAAKyH,KACGA,EAAOxH,YAAcwH,EAAOlG,QAAUkG,EAAOuN,UACvD,GAEFxR,sBAAuB,CACrBD,UAAW,KACXQ,MACE,OAAOrK,KAAKsG,gBAAkBtG,KAAKsG,eAAemJ,aACpD,GAEFvF,eAAgB,CACdL,UAAW,KACXQ,MACE,OAAOrK,KAAKsG,eAAiBtG,KAAKsG,eAAe2a,OAAS,CAC5D,GAEFjX,eAAgB,CACdH,UAAW,KACXQ,MACE,OAAOrK,KAAKsG,gBAAkBtG,KAAKsG,eAAenG,MACpD,GAEFiG,QAAS,CACPyD,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOrK,KAAKsG,eAAiBtG,KAAKsG,eAAeF,QAAU,IAC7D,GAEFkd,gBAAiB,CACfzZ,UAAW,KACXsS,YAAY,EACZ9R,IAAK,WACH,SACmC,IAAjCrK,KAAKsG,eAAexC,WACnB9D,KAAKsG,eAAeC,YAAavG,KAAKsG,eAAeF,SACrDpG,KAAKsG,eAAewB,SAEzB,KAGJ,MAAM5I,EAAU2V,EAAY3V,QAkB5B,IAAIwK,EAGJ,SAASE,IAEP,YAD2BzK,IAAvBuK,IAAkCA,EAAqB,CAAC,GACrDA,CACT,CAvBAN,EAASC,UAAUnK,QAAU,SAAUyE,EAAKC,GAC1C,MAAM4U,EAAQxY,KAAKsG,eAOnB,OAJKkS,EAAMjS,YAAciS,EAAMkJ,cAAgBlJ,EAAMiJ,SAASthB,QAAUqY,EAAMsI,GAAa3gB,SACzFoF,EAAQwB,SAASsb,EAAa7J,GAEhCtZ,EAAQsK,KAAKxJ,KAAM2D,EAAKC,GACjB5D,IACT,EACAoJ,EAASC,UAAU0P,WAAalE,EAAYtN,UAC5C6B,EAASC,UAAU/D,SAAW,SAAU3B,EAAKC,GAC3CA,EAAGD,EACL,EACAyF,EAASC,UAAU6G,EAAG8I,wBAA0B,SAAUrV,GACxD3D,KAAKd,QAAQyE,EACf,EAQAyF,EAASmB,QAAU,SAAUgZ,EAAgBnhB,GAC3C,OAAOwH,IAAiB4Z,oCAAoCD,EAAgBnhB,EAC9E,EACAgH,EAASsB,MAAQ,SAAU+Y,GACzB,OAAO7Z,IAAiB8Z,oCAAoCD,EAC9D,C,qCC5yBA,MAAM,aACJzT,EAAY,uBACZ2T,EAAsB,mBACtBC,EAAkB,kBAClBC,EAAiB,gBACjBlN,EAAe,YACfpF,EAAW,uBACXuS,EAAsB,uBACtBC,EAAsB,eACtBnN,EAAc,8BACdoN,EAA6B,oBAC7BC,EAAmB,OACnBC,EAAM,2BACNC,EAA0B,oBAC1BC,GACE,EAAQ,QACN,gBACJC,EACAlmB,OAAO,oBAAEmmB,EAAmB,qBAAE9lB,EAAoB,sBAAEuE,EAAqB,iBAAEiO,EAAgB,mBAAEuT,IAC3F,EAAQ,QACN,kBAAEC,GAAsB,EAAQ,QAChC,gBAAEC,EAAe,kBAAEC,GAAsB,eACzCC,EAAU,CAAC,EAMjB,SAASC,EAAQxf,GACf,OAAOA,KAAmB,EAARA,EACpB,CAMA,SAASyf,EAASzf,GAChB,OAAOA,IAAUA,IAAU,CAC7B,CACA,MAAM0f,EAAW,WACXC,EAAW,uDAcjB,SAASC,EAAc5f,EAAOzG,EAAMsmB,GAIlC,GAHqB,qBAAV7f,IACTA,EAAQ6f,GAEW,kBAAV7f,EAAoB,CAC7B,GAA6C,OAAzC6e,EAAoBa,EAAU1f,GAChC,MAAM,IAAIrC,EAAsBpE,EAAMyG,EAAO2f,GAE/C3f,EAAQwR,EAAexR,EAAO,EAChC,CAEA,OADA8f,EAAe9f,EAAOzG,GACfyG,CACT,CAYA,MAAM6L,EAAkBoT,GAAgB,CAACjf,EAAOzG,EAAMwmB,EAAMpB,EAAwBqB,EAAMtB,KACxF,GAAqB,kBAAV1e,EAAoB,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,GAC9E,IAAKuR,EAAgBvR,GAAQ,MAAM,IAAI4L,EAAiBrS,EAAM,aAAcyG,GAC5E,GAAIA,EAAQ+f,GAAO/f,EAAQggB,EAAK,MAAM,IAAIpU,EAAiBrS,EAAM,MAAMwmB,WAAaC,IAAOhgB,EAAK,IAa5FigB,EAAgBhB,GAAgB,CAACjf,EAAOzG,EAAMwmB,GAAM,WAAaC,EAAM,cAE3E,GAAqB,kBAAVhgB,EACT,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,GAEjD,IAAKuR,EAAgBvR,GACnB,MAAM,IAAI4L,EAAiBrS,EAAM,aAAcyG,GAEjD,GAAIA,EAAQ+f,GAAO/f,EAAQggB,EACzB,MAAM,IAAIpU,EAAiBrS,EAAM,MAAMwmB,WAAaC,IAAOhgB,EAC7D,IAYI8f,EAAiBb,GAAgB,CAACjf,EAAOzG,EAAM2mB,GAAW,KAC9D,GAAqB,kBAAVlgB,EACT,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,GAEjD,IAAKuR,EAAgBvR,GACnB,MAAM,IAAI4L,EAAiBrS,EAAM,aAAcyG,GAEjD,MAAM+f,EAAMG,EAAW,EAAI,EAErBF,EAAM,WACZ,GAAIhgB,EAAQ+f,GAAO/f,EAAQggB,EACzB,MAAM,IAAIpU,EAAiBrS,EAAM,MAAMwmB,WAAaC,IAAOhgB,EAC7D,IAWF,SAASmgB,EAAengB,EAAOzG,GAC7B,GAAqB,kBAAVyG,EAAoB,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,EAChF,CAYA,SAASogB,EAAepgB,EAAOzG,EAAMwmB,OAAMhmB,EAAWimB,GACpD,GAAqB,kBAAVhgB,EAAoB,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,GAC9E,GACU,MAAP+f,GAAe/f,EAAQ+f,GAChB,MAAPC,GAAehgB,EAAQggB,IACf,MAAPD,GAAsB,MAAPC,IAAgB7T,EAAYnM,GAE7C,MAAM,IAAI4L,EACRrS,EACA,GAAU,MAAPwmB,EAAc,MAAMA,IAAQ,KAAY,MAAPA,GAAsB,MAAPC,EAAc,OAAS,KAAY,MAAPA,EAAc,MAAMA,IAAQ,KAC3GhgB,EAGN,CAWA,MAAMqgB,EAAgBpB,GAAgB,CAACjf,EAAOzG,EAAM+mB,KAClD,IAAK/B,EAAuB+B,EAAOtgB,GAAQ,CACzC,MAAMugB,EAAU/B,EACdC,EAAkB6B,GAAQrlB,GAAoB,kBAANA,EAAiB,IAAIA,KAAO6jB,EAAO7jB,KAC3E,MAEIhB,EAAS,mBAAqBsmB,EACpC,MAAM,IAAI5iB,EAAsBpE,EAAMyG,EAAO/F,EAC/C,KAWF,SAAS0N,EAAgB3H,EAAOzG,GAC9B,GAAqB,mBAAVyG,EAAqB,MAAM,IAAI5G,EAAqBG,EAAM,UAAWyG,EAClF,CAQA,SAASwgB,EAA6BxjB,EAASyjB,EAAKC,GAClD,OAAkB,MAAX1jB,GAAoB4hB,EAA8B5hB,EAASyjB,GAAsBzjB,EAAQyjB,GAAvBC,CAC3E,CAcA,MAAMhZ,EAAiBuX,GAAgB,CAACjf,EAAOzG,EAAMyD,EAAU,QAC7D,MAAM2jB,EAAaH,EAA6BxjB,EAAS,cAAc,GACjE4jB,EAAgBJ,EAA6BxjB,EAAS,iBAAiB,GACvE6jB,EAAWL,EAA6BxjB,EAAS,YAAY,GACnE,IACI6jB,GAAsB,OAAV7gB,IACZ2gB,GAAc/V,EAAa5K,IACX,kBAAVA,KAAwB4gB,GAAkC,oBAAV5gB,GAExD,MAAM,IAAI5G,EAAqBG,EAAM,SAAUyG,EACjD,IAeI8gB,EAAqB7B,GAAgB,CAACjf,EAAOzG,KACjD,GAAa,MAATyG,GAAkC,kBAAVA,GAAuC,oBAAVA,EACvD,MAAM,IAAI5G,EAAqBG,EAAM,eAAgByG,EACvD,IAYI+gB,EAAgB9B,GAAgB,CAACjf,EAAOzG,EAAMynB,EAAY,KAC9D,IAAKpW,EAAa5K,GAChB,MAAM,IAAI5G,EAAqBG,EAAM,QAASyG,GAEhD,GAAIA,EAAMjF,OAASimB,EAAW,CAC5B,MAAM/mB,EAAS,uBAAuB+mB,IACtC,MAAM,IAAIrjB,EAAsBpE,EAAMyG,EAAO/F,EAC/C,KAWF,SAASgnB,EAAoBjhB,EAAOzG,GAClCwnB,EAAc/gB,EAAOzG,GACrB,IAAK,IAAIyC,EAAI,EAAGA,EAAIgE,EAAMjF,OAAQiB,IAChCmkB,EAAengB,EAAMhE,GAAI,GAAGzC,KAAQyC,KAExC,CAUA,SAASklB,EAAqBlhB,EAAOzG,GACnCwnB,EAAc/gB,EAAOzG,GACrB,IAAK,IAAIyC,EAAI,EAAGA,EAAIgE,EAAMjF,OAAQiB,IAChC2L,EAAgB3H,EAAMhE,GAAI,GAAGzC,KAAQyC,KAEzC,CAOA,SAASmlB,EAAmB7nB,EAAQC,EAAO,UAEzC,GADA4mB,EAAe7mB,EAAQC,QACCQ,IAApBwlB,EAAQjmB,GAAuB,CACjC,QAAoDS,IAAhDwlB,EAAQR,EAA2BzlB,IACrC,MAAM,IAAI6lB,EAAmB7lB,EAAS,2CAExC,MAAM,IAAI6lB,EAAmB7lB,EAC/B,CACF,CAUA,MAAM8nB,EAAiBnC,GAAgB,CAACtiB,EAAQpD,EAAO,YACrD,IAAK+lB,EAAkB3iB,GACrB,MAAM,IAAIvD,EAAqBG,EAAM,CAAC,SAAU,aAAc,YAAaoD,EAC7E,IAOF,SAAS0kB,EAAiBlmB,EAAM4D,GAC9B,MAAMuiB,EAAqBlC,EAAkBrgB,GACvChE,EAASI,EAAKJ,OACpB,GAA2B,QAAvBumB,GAAgCvmB,EAAS,IAAM,EACjD,MAAM,IAAI4C,EAAsB,WAAYoB,EAAU,iCAAiChE,IAE3F,CAUA,SAASwmB,EAAaC,EAAMjoB,EAAO,OAAQkoB,GAAY,GACrD,GACmB,kBAATD,GAAqC,kBAATA,GACnB,kBAATA,GAA0D,IAArCxC,EAAoBwC,GAAMzmB,SACtDymB,KAAUA,IAAS,GACpBA,EAAO,OACG,IAATA,IAAeC,EAEhB,MAAM,IAAIvC,EAAoB3lB,EAAMioB,EAAMC,GAE5C,OAAc,EAAPD,CACT,CASA,MAAMnoB,EAAsB4lB,GAAgB,CAAC3lB,EAAQC,KACnD,QAAeQ,IAAXT,IAAoC,OAAXA,GAAqC,kBAAXA,KAAyB,YAAaA,IAC3F,MAAM,IAAIF,EAAqBG,EAAM,cAAeD,EACtD,IAWImO,EAAmBwX,GAAgB,CAACjf,EAAOzG,KAC/C,GAAqB,oBAAVyG,EAAsB,MAAM,IAAI5G,EAAqBG,EAAM,WAAYyG,EAAK,IAWnF0hB,EAAwBzC,GAAgB,CAACjf,EAAOzG,KACpD,GAAqB,oBAAVyG,GAAwBqf,EAAgBrf,GAAQ,MAAM,IAAI5G,EAAqBG,EAAM,WAAYyG,EAAK,IAW7G2hB,EAAoB1C,GAAgB,CAACjf,EAAOzG,KAChD,QAAcQ,IAAViG,EAAqB,MAAM,IAAI5G,EAAqBG,EAAM,YAAayG,EAAK,IASlF,SAAS4hB,EAAc5hB,EAAOzG,EAAMsoB,GAClC,IAAKtD,EAAuBsD,EAAO7hB,GACjC,MAAM,IAAI5G,EAAqBG,EAAM,KAAKilB,EAAmBqD,EAAO,SAAU7hB,EAElF,CAUA,MAAM8hB,GAAkB,wDAMxB,SAASC,GAAyB/hB,EAAOzG,GACvC,GAAqB,qBAAVyG,IAA0B6e,EAAoBiD,GAAiB9hB,GACxE,MAAM,IAAIrC,EACRpE,EACAyG,EACA,8EAGN,CAMA,SAASgiB,GAAwBC,GAC/B,GAAqB,kBAAVA,EAET,OADAF,GAAyBE,EAAO,SACzBA,EACF,GAAIrX,EAAaqX,GAAQ,CAC9B,MAAMC,EAAcD,EAAMlnB,OAC1B,IAAI4S,EAAS,GACb,GAAoB,IAAhBuU,EACF,OAAOvU,EAET,IAAK,IAAI3R,EAAI,EAAGA,EAAIkmB,EAAalmB,IAAK,CACpC,MAAMmmB,EAAOF,EAAMjmB,GACnB+lB,GAAyBI,EAAM,SAC/BxU,GAAUwU,EACNnmB,IAAMkmB,EAAc,IACtBvU,GAAU,KAEd,CACA,OAAOA,CACT,CACA,MAAM,IAAIhQ,EACR,QACAskB,EACA,8EAEJ,CACAzoB,EAAOC,QAAU,CACf+lB,UACAC,WACAG,gBACAmB,gBACAE,sBACAC,uBACAvZ,kBACAyZ,iBACAN,qBACAO,mBACA5Z,mBACAwY,gBACApU,kBACAuU,iBACA1Y,iBACA2Y,gBACAqB,wBACAH,eACAJ,qBACAhB,iBACAL,iBACA6B,oBACAC,gBACAvoB,sBACA2oB,2B,qCC1fF,MAAMI,EAAe,EAAQ,OACvBC,EAAW,EAAQ,OACnBC,EAAkBF,EAAare,SAASjK,QAC9CN,EAAOC,QAAU2oB,EAAare,SAG9BvK,EAAOC,QAAQ8Z,oBAAsB6O,EAAa7O,oBAClD/Z,EAAOC,QAAQ6Z,cAAgB8O,EAAa9O,cAC5C9Z,EAAOC,QAAQ0gB,YAAciI,EAAajI,YAC1C3gB,EAAOC,QAAQ4gB,UAAY+H,EAAa/H,UACxC7gB,EAAOC,QAAQ6D,WAAa8kB,EAAa9kB,WACzC9D,EAAOC,QAAQsK,SAAWqe,EAAare,SACvCvK,EAAOC,QAAQuK,SAAWoe,EAAape,SACvCxK,EAAOC,QAAQ2D,OAASglB,EAAahlB,OACrC5D,EAAOC,QAAQ8V,UAAY6S,EAAa7S,UACxC/V,EAAOC,QAAQ6V,YAAc8S,EAAa9S,YAC1C9V,EAAOC,QAAQC,eAAiB0oB,EAAa1oB,eAC7CF,EAAOC,QAAQiJ,SAAW0f,EAAa1f,SACvClJ,EAAOC,QAAQK,QAAUsoB,EAAatoB,QACtCN,EAAOC,QAAQK,QAAUwoB,EACzB9oB,EAAOC,QAAQ0D,SAAWilB,EAAajlB,SACvC3D,EAAOC,QAAQ8S,QAAU6V,EAAa7V,QACtCgW,OAAOC,eAAeJ,EAAc,WAAY,CAC9CK,cAAc,EACd1L,YAAY,EACZ9R,MACE,OAAOod,CACT,IAEF7oB,EAAOC,QAAQsR,OAASqX,EAAarX,OAGrCvR,EAAOC,QAAP,WAAyBD,EAAOC,O,qCChChC,MAAM,OAAEipB,EAAM,QAAEhoB,EAASioB,eAAgBC,GAAyB,EAAQ,OAWpED,EAAiBzc,WAAWyc,gBAAkBC,EAC9CC,EAAehmB,OAAO,gBACtBimB,EAAS,CACb,SACA,WACA,SACA,SAEA,WACA,SACA,UACA,SACA,UAEIC,EAAc,sBACdC,EAAqB,mBACrBjqB,EAAQ,CAAC,EACf,SAASkqB,EAAOjjB,EAAOgO,GACrB,IAAKhO,EACH,MAAM,IAAIjH,EAAMmqB,uBAAuBlV,EAE3C,CAGA,SAASmV,EAAsB9b,GAC7B,IAAIqD,EAAM,GACN1O,EAAIqL,EAAItM,OACZ,MAAMqoB,EAAmB,MAAX/b,EAAI,GAAa,EAAI,EACnC,KAAOrL,GAAKonB,EAAQ,EAAGpnB,GAAK,EAC1B0O,EAAM,IAAIrD,EAAIlL,MAAMH,EAAI,EAAGA,KAAK0O,IAElC,MAAO,GAAGrD,EAAIlL,MAAM,EAAGH,KAAK0O,GAC9B,CACA,SAAS2Y,EAAW5C,EAAK6C,EAAK9Z,GAC5B,GAAmB,oBAAR8Z,EAMT,OALAL,EACEK,EAAIvoB,QAAUyO,EAAKzO,OAEnB,SAAS0lB,qCAAuCjX,EAAKzO,6CAA6CuoB,EAAIvoB,YAEjGuoB,KAAO9Z,GAEhB,MAAM+Z,GAAkBD,EAAIE,MAAM,gBAAkB,IAAIzoB,OAKxD,OAJAkoB,EACEM,IAAmB/Z,EAAKzO,OACxB,SAAS0lB,qCAAuCjX,EAAKzO,6CAA6CwoB,OAEhF,IAAhB/Z,EAAKzO,OACAuoB,EAEFZ,EAAOY,KAAQ9Z,EACxB,CACA,SAASia,EAAE5S,EAAM7C,EAAS0V,GACnBA,IACHA,EAAO1I,OAET,MAAM2I,UAAkBD,EACtB/oB,eAAe6O,GACbhD,MAAM6c,EAAWxS,EAAM7C,EAASxE,GAClC,CACA6J,WACE,MAAO,GAAGzY,KAAKrB,SAASsX,OAAUjW,KAAKoT,SACzC,EAEFuU,OAAOqB,iBAAiBD,EAAU1f,UAAW,CAC3C1K,KAAM,CACJyG,MAAO0jB,EAAKnqB,KACZmF,UAAU,EACVqY,YAAY,EACZ0L,cAAc,GAEhBpP,SAAU,CACRrT,QACE,MAAO,GAAGpF,KAAKrB,SAASsX,OAAUjW,KAAKoT,SACzC,EACAtP,UAAU,EACVqY,YAAY,EACZ0L,cAAc,KAGlBkB,EAAU1f,UAAU4M,KAAOA,EAC3B8S,EAAU1f,UAAU4e,IAAgB,EACpC9pB,EAAM8X,GAAQ8S,CAChB,CACA,SAAS1E,EAAgBvY,GAGvB,MAAMmd,EAASb,EAAqBtc,EAAGnN,KAIvC,OAHAgpB,OAAOC,eAAe9b,EAAI,OAAQ,CAChC1G,MAAO6jB,IAEFnd,CACT,CACA,SAAStG,EAAmB0jB,EAAYC,GACtC,GAAID,GAAcC,GAAcD,IAAeC,EAAY,CACzD,GAAIC,MAAMC,QAAQF,EAAWG,QAG3B,OADAH,EAAWG,OAAOlpB,KAAK8oB,GAChBC,EAET,MAAMxlB,EAAM,IAAIokB,EAAe,CAACoB,EAAYD,GAAaC,EAAW/V,SAEpE,OADAzP,EAAIsS,KAAOkT,EAAWlT,KACftS,CACT,CACA,OAAOulB,GAAcC,CACvB,CACA,MAAMjrB,UAAmBkiB,MACvBrgB,YAAYqT,EAAU,4BAA6BhR,OAAUjD,GAC3D,QAAgBA,IAAZiD,GAA4C,kBAAZA,EAClC,MAAM,IAAIjE,EAAMK,qBAAqB,UAAW,SAAU4D,GAE5DwJ,MAAMwH,EAAShR,GACfpC,KAAKiW,KAAO,YACZjW,KAAKrB,KAAO,YACd,EAEFkqB,EAAE,gBAAiB,KAAMzI,OACzByI,EACE,wBACA,CAAClqB,EAAM4qB,EAAUC,KACfnB,EAAuB,kBAAT1pB,EAAmB,2BAC5ByqB,MAAMC,QAAQE,KACjBA,EAAW,CAACA,IAEd,IAAIb,EAAM,OACN/pB,EAAK8qB,SAAS,aAEhBf,GAAO,GAAG/pB,KAEV+pB,GAAO,IAAI/pB,MAASA,EAAK4c,SAAS,KAAO,WAAa,cAExDmN,GAAO,WACP,MAAMgB,EAAQ,GACRC,EAAY,GACZC,EAAQ,GACd,IAAK,MAAMxkB,KAASmkB,EAClBlB,EAAwB,kBAAVjjB,EAAoB,kDAC9B8iB,EAAO3M,SAASnW,GAClBskB,EAAMtpB,KAAKgF,EAAMykB,eACR1B,EAAY2B,KAAK1kB,GAC1BukB,EAAUvpB,KAAKgF,IAEfijB,EAAiB,WAAVjjB,EAAoB,oDAC3BwkB,EAAMxpB,KAAKgF,IAMf,GAAIukB,EAAUxpB,OAAS,EAAG,CACxB,MAAM4pB,EAAML,EAAMM,QAAQ,WACb,IAATD,IACFL,EAAMhO,OAAOgO,EAAOK,EAAK,GACzBJ,EAAUvpB,KAAK,UAEnB,CACA,GAAIspB,EAAMvpB,OAAS,EAAG,CACpB,OAAQupB,EAAMvpB,QACZ,KAAK,EACHuoB,GAAO,WAAWgB,EAAM,KACxB,MACF,KAAK,EACHhB,GAAO,eAAegB,EAAM,SAASA,EAAM,KAC3C,MACF,QAAS,CACP,MAAMO,EAAOP,EAAMxU,MACnBwT,GAAO,eAAegB,EAAM7oB,KAAK,aAAaopB,GAChD,GAEEN,EAAUxpB,OAAS,GAAKypB,EAAMzpB,OAAS,KACzCuoB,GAAO,OAEX,CACA,GAAIiB,EAAUxpB,OAAS,EAAG,CACxB,OAAQwpB,EAAUxpB,QAChB,KAAK,EACHuoB,GAAO,kBAAkBiB,EAAU,KACnC,MACF,KAAK,EACHjB,GAAO,kBAAkBiB,EAAU,SAASA,EAAU,KACtD,MACF,QAAS,CACP,MAAMM,EAAON,EAAUzU,MACvBwT,GAAO,kBAAkBiB,EAAU9oB,KAAK,aAAaopB,GACvD,EAEEL,EAAMzpB,OAAS,IACjBuoB,GAAO,OAEX,CACA,OAAQkB,EAAMzpB,QACZ,KAAK,EACH,MACF,KAAK,EACCypB,EAAM,GAAGC,gBAAkBD,EAAM,KACnClB,GAAO,OAETA,GAAO,GAAGkB,EAAM,KAChB,MACF,KAAK,EACHlB,GAAO,UAAUkB,EAAM,SAASA,EAAM,KACtC,MACF,QAAS,CACP,MAAMK,EAAOL,EAAM1U,MACnBwT,GAAO,UAAUkB,EAAM/oB,KAAK,aAAaopB,GAC3C,EAEF,GAAc,MAAVT,EACFd,GAAO,cAAcc,SAChB,GAAsB,oBAAXA,GAAyBA,EAAO7qB,KAChD+pB,GAAO,uBAAuBc,EAAO7qB,YAChC,GAAsB,kBAAX6qB,EAAqB,CACrC,IAAIU,EACJ,GACiD,QAA9CA,EAAsBV,EAAOzpB,mBACNZ,IAAxB+qB,GACAA,EAAoBvrB,KAEpB+pB,GAAO,6BAA6Bc,EAAOzpB,YAAYpB,WAClD,CACL,MAAMwrB,EAAYrqB,EAAQ0pB,EAAQ,CAChCnnB,OAAQ,IAEVqmB,GAAO,cAAcyB,GACvB,CACF,KAAO,CACL,IAAIA,EAAYrqB,EAAQ0pB,EAAQ,CAC9BY,QAAQ,IAEND,EAAUhqB,OAAS,KACrBgqB,EAAY,GAAGA,EAAU5oB,MAAM,EAAG,UAEpCmnB,GAAO,0BAA0Bc,MAAWW,IAC9C,CACA,OAAOzB,IAET2B,WAEFxB,EACE,yBACA,CAAClqB,EAAMyG,EAAO/F,EAAS,gBACrB,IAAI8qB,EAAYrqB,EAAQsF,GACpB+kB,EAAUhqB,OAAS,MACrBgqB,EAAYA,EAAU5oB,MAAM,EAAG,KAAO,OAExC,MAAM+oB,EAAO3rB,EAAK4c,SAAS,KAAO,WAAa,WAC/C,MAAO,OAAO+O,MAAS3rB,MAASU,eAAoB8qB,GAAS,GAE/DE,WAEFxB,EACE,4BACA,CAAC0B,EAAO5rB,EAAMyG,KACZ,IAAIolB,EACJ,MAAMF,EACM,OAAVllB,QACUjG,IAAViG,GAC6C,QAA5ColB,EAAqBplB,EAAMrF,mBACLZ,IAAvBqrB,GACAA,EAAmB7rB,KACf,eAAeyG,EAAMrF,YAAYpB,OACjC,eAAeyG,EACrB,MAAO,YAAYmlB,8BAAkC5rB,uBAA+B2rB,IAAI,GAE1FD,WAEFxB,EACE,oBACA,IAAIja,KAEF,IAAI8Z,EADJL,EAAOzZ,EAAKzO,OAAS,EAAG,0CAExB,MAAMwZ,EAAM/K,EAAKzO,OAEjB,OADAyO,GAAQwa,MAAMC,QAAQza,GAAQA,EAAO,CAACA,IAAOiD,KAAK4Y,GAAM,IAAIA,OAAM5pB,KAAK,QAC/D8Y,GACN,KAAK,EACH+O,GAAO,OAAO9Z,EAAK,cACnB,MACF,KAAK,EACH8Z,GAAO,OAAO9Z,EAAK,UAAUA,EAAK,eAClC,MACF,QACE,CACE,MAAMqb,EAAOrb,EAAKsG,MAClBwT,GAAO,OAAO9Z,EAAK/N,KAAK,cAAcopB,aACxC,CACA,MAEJ,MAAO,GAAGvB,qBAAG,GAEf2B,WAEFxB,EACE,oBACA,CAACjnB,EAAK8oB,EAAOH,KAEX,IAAII,EAYJ,OAbAtC,EAAOqC,EAAO,4BAEVpZ,OAAOsZ,UAAUL,IAAUM,KAAKC,IAAIP,GAAS,GAAK,GACpDI,EAAWpC,EAAsBrE,OAAOqG,IACd,kBAAVA,GAChBI,EAAWzG,OAAOqG,IACdA,EAAQ,IAAM,KAAOA,IAAU,IAAM,QACvCI,EAAWpC,EAAsBoC,IAEnCA,GAAY,KAEZA,EAAW7qB,EAAQyqB,GAEd,iBAAiB3oB,kCAAoC8oB,eAAmBC,GAAQ,GAEzFI,YAEFlC,EAAE,wBAAyB,iCAAkCzI,OAC7DyI,EAAE,6BAA8B,mCAAoCzI,OACpEyI,EAAE,8BAA+B,6CAA8CzI,OAC/EyI,EAAE,yBAA0B,4BAA6BzI,OACzDyI,EAAE,uBAAwB,8CAA+CzI,OACzEyI,EAAE,yBAA0B,sCAAuCwB,WACnExB,EAAE,6BAA8B,kBAAmBzI,OACnDyI,EAAE,4BAA6B,0BAA2BzI,OAC1DyI,EAAE,qCAAsC,mCAAoCzI,OAC5EyI,EAAE,6BAA8B,kBAAmBzI,OACnDyI,EAAE,uBAAwB,uBAAwBwB,WAClDzrB,EAAOC,QAAU,CACfX,aACAsH,mBAAoB6e,EAAgB7e,GACpC6e,kBACAlmB,Q,iCC1UFS,EAAOC,QAAU,CACfmR,aAAarJ,GACX,OAAOyiB,MAAMC,QAAQ1iB,EACvB,EACAgd,uBAAuBhd,EAAMqkB,GAC3B,OAAOrkB,EAAK4U,SAASyP,EACvB,EACAtU,sBAAsB/P,EAAMqkB,GAC1B,OAAOrkB,EAAKqjB,QAAQgB,EACtB,EACApH,mBAAmBjd,EAAMskB,GACvB,OAAOtkB,EAAK9F,KAAKoqB,EACnB,EACApH,kBAAkBld,EAAMmF,GACtB,OAAOnF,EAAKkL,IAAI/F,EAClB,EACAof,kBAAkBvkB,EAAMqkB,GACtB,OAAOrkB,EAAKuO,IAAI8V,EAClB,EACA5Z,mBAAmBzK,EAAMqkB,GACvB,OAAOrkB,EAAKvG,KAAK4qB,EACnB,EACA7K,oBAAoBxZ,EAAM6hB,EAAOjkB,GAC/B,OAAOoC,EAAKpF,MAAMinB,EAAOjkB,EAC3B,EACA6b,YACA1U,sBAAsBI,EAAIqf,KAAavc,GACrC,OAAO9C,EAAGtC,KAAK2hB,KAAavc,EAC9B,EACAyR,mCAAmC1Z,EAAMykB,GACvC,OAAOC,SAAShiB,UAAUpH,OAAOqpB,aAAa9hB,KAAK7C,EAAMykB,EAC3D,EACA/Z,UAAWwZ,KAAKU,MAChBja,cACAqF,gBAAiBrF,OAAOsZ,UACxBrZ,YAAaD,OAAOka,MACpB1H,uBAAwBxS,OAAOma,iBAC/B1H,uBAAwBzS,OAAOoa,iBAC/B9U,eAAgBtF,OAAOqa,SACvB5iB,uBAAuBpC,EAAMilB,GAC3B,OAAOjE,OAAOqB,iBAAiBriB,EAAMilB,EACvC,EACAtL,qBAAqB3Z,EAAMhI,EAAMktB,GAC/B,OAAOlE,OAAOC,eAAejhB,EAAMhI,EAAMktB,EAC3C,EACA7iB,+BAA+BrC,EAAMhI,GACnC,OAAOgpB,OAAOmE,yBAAyBnlB,EAAMhI,EAC/C,EACAsK,WAAW8U,GACT,OAAO4J,OAAOre,KAAKyU,EACrB,EACA7U,qBAAqB6iB,EAAQC,GAC3B,OAAOrE,OAAOsE,eAAeF,EAAQC,EACvC,EACAhf,gBACAkf,sBAAsBvlB,EAAMmF,GAC1B,OAAOnF,EAAK9B,MAAMiH,EACpB,EACAmB,qBAAqBtG,EAAMwlB,EAAQC,GACjC,OAAOzlB,EAAK6F,KAAK2f,EAAQC,EAC3B,EACA5a,cAAc7N,GACZ,OAAOqJ,QAAQmC,OAAOxL,EACxB,EACA0oB,aAAcC,QAAQzd,MACtB0d,oBAAoB5lB,EAAMvB,GACxB,OAAOuB,EAAKmjB,KAAK1kB,EACnB,EACAyR,QAAS2V,IACTtI,cACAzkB,qBAAqBkH,EAAM6hB,EAAOjkB,GAChC,OAAOoC,EAAKpF,MAAMinB,EAAOjkB,EAC3B,EACAgc,2BAA2B5Z,GACzB,OAAOA,EAAKkjB,aACd,EACA1F,2BAA2Bxd,GACzB,OAAOA,EAAK8lB,aACd,EACArI,oBAAoBzd,GAClB,OAAOA,EAAK+lB,MACd,EACAzqB,cACA0b,UAAW1b,OAAOC,IAClBkN,oBAAqBnN,OAAO0qB,cAC5BnM,kBAAmBve,OAAOqpB,YAC1B5rB,eAAgBuC,OAAOsN,SACvB5P,uBAAuBgH,EAAM7E,EAAK6X,GAChC,OAAOhT,EAAK2D,IAAIxI,EAAK6X,EACvB,EACA/Z,sB,qCCjGF,MAAMkL,EAAe,EAAQ,OACvB8hB,EAAgBjF,OAAOkF,gBAAeloB,iBAAmB,IAAG5E,YAC5DsL,EAAOC,WAAWD,MAAQP,EAAaO,KAEvCE,EACY,qBAATF,EACH,SAAgBG,GAEd,OAAOA,aAAaH,CACtB,EACA,SAAgBG,GACd,OAAO,CACT,EAIN,MAAMuc,UAAuB3H,MAC3BrgB,YAAYupB,GACV,IAAKF,MAAMC,QAAQC,GACjB,MAAM,IAAIe,UAAU,6CAA6Cf,GAEnE,IAAIlW,EAAU,GACd,IAAK,IAAIhS,EAAI,EAAGA,EAAIkoB,EAAOnpB,OAAQiB,IACjCgS,GAAW,OAAOkW,EAAOloB,GAAG+E,UAE9ByF,MAAMwH,GACNpT,KAAKrB,KAAO,iBACZqB,KAAKspB,OAASA,CAChB,EAEF1qB,EAAOC,QAAU,CACfkpB,iBACAnb,aAAc+a,OAAOmF,OAAO,CAAC,GAC7BrmB,KAAKrC,GACH,IAAIwC,GAAS,EACb,OAAO,YAAagI,GACdhI,IAGJA,GAAS,EACTxC,EAASyK,MAAM7O,KAAM4O,GACvB,CACF,EACAxD,sBAAuB,WACrB,IAAIY,EACAmD,EAGJ,MAAMpD,EAAU,IAAIiB,SAAQ,CAAC8C,EAAKid,KAChC/gB,EAAU8D,EACVX,EAAS4d,KAEX,MAAO,CACLhhB,UACAC,UACAmD,SAEJ,EACA6d,UAAUlhB,GACR,OAAO,IAAIkB,SAAQ,CAAChB,EAASmD,KAC3BrD,GAAG,CAACnI,KAAQiL,IACNjL,EACKwL,EAAOxL,GAETqI,KAAW4C,IACnB,GAEL,EACAqe,WACE,OAAO,WAAa,CACtB,EACAnF,OAAOA,KAAWlZ,GAEhB,OAAOkZ,EAAOoF,QAAQ,eAAe,aAAcC,EAAS7C,IAC1D,MAAM8C,EAAcxe,EAAKlO,QACzB,GAAa,MAAT4pB,EACF,OAAO8C,EAAYC,QAAQ,GACtB,GAAa,MAAT/C,EACT,OAAOgD,KAAKC,UAAUH,GACjB,GAAa,MAAT9C,GAAuC,kBAAhB8C,EAA0B,CAC1D,MAAMI,EAAOJ,EAAYrtB,cAAgB4nB,OAASyF,EAAYrtB,YAAYpB,KAAO,GACjF,MAAO,GAAG6uB,OAAUd,MACtB,CACE,OAAOU,EAAY3U,UAEvB,GACF,EACA3Y,QAAQsF,GAEN,cAAeA,GACb,IAAK,SACH,GAAIA,EAAMmW,SAAS,KAAM,CACvB,IAAKnW,EAAMmW,SAAS,KAClB,MAAO,IAAInW,KACN,IAAKA,EAAMmW,SAAS,OAASnW,EAAMmW,SAAS,MACjD,MAAO,KAAKnW,KAEhB,CACA,MAAO,IAAIA,KACb,IAAK,SACH,OAAIomB,MAAMpmB,GACD,MACEuiB,OAAO8F,GAAGroB,GAAQ,GACpB8e,OAAO9e,GAETA,EACT,IAAK,SACH,MAAO,GAAG8e,OAAO9e,MACnB,IAAK,UACL,IAAK,YACH,OAAO8e,OAAO9e,GAChB,IAAK,SACH,MAAO,KAEb,EACAskB,MAAO,CACLjF,gBAAgB3Y,GACd,OAAOA,aAAc8gB,CACvB,EACAlI,kBAAkBgJ,GAChB,OAAOC,YAAYC,OAAOF,EAC5B,GAEFniB,UAEF3M,EAAOC,QAAQmuB,UAAUa,OAAS5rB,OAAOC,IAAI,+B,wBC7H7C,MAAM,OAAErC,GAAW,EAAQ,QAyBrB,qBAAEygB,EAAoB,WAAErX,EAAU,aAAEojB,GAAiB,EAAQ,QAEjEW,WAAaa,OAAQC,IACnB,EAAQ,QACN,yBAAEtZ,EAAwB,0BAAEC,GAA8B,EAAQ,QAEtEtW,OAAO,wBAAE4vB,IACP,EAAQ,OACNpc,EAAU,EAAQ,OAClB,SAAEpP,GAAa,EAAQ,QACvB,UAAEE,GAAc,EAAQ,OACxBlE,EAAM,EAAQ,MAEdkpB,EAAW,EAAQ,OACnBuG,EAAQ,EAAQ,OAChB7d,EAAUvR,EAAOC,QAAU,EAAjB,cAChBsR,EAAOoP,YAAcyO,EAAMzO,YAC3BpP,EAAOsP,UAAYuO,EAAMvO,UACzBtP,EAAOzN,WAAasrB,EAAMtrB,WAC1ByN,EAAOhH,SAAW,EAAQ,KAC1B,IAAK,MAAM0c,KAAO5c,EAAWuL,GAA2B,CACtD,MAAMyZ,EAAKzZ,EAAyBqR,GACpC,SAAS/Z,KAAM8C,GACb,cACE,MAAMmf,IAER,OAAO5d,EAAOhH,SAASjG,KAAKmpB,EAAa4B,EAAIjuB,KAAM4O,GACrD,CACA0R,EAAqBxU,EAAI,OAAQ,CAC/BjC,UAAW,KACXzE,MAAO6oB,EAAGtvB,OAEZ2hB,EAAqBxU,EAAI,SAAU,CACjCjC,UAAW,KACXzE,MAAO6oB,EAAG9tB,SAEZmgB,EAAqBnQ,EAAOhH,SAASE,UAAWwc,EAAK,CACnDhc,UAAW,KACXzE,MAAO0G,EACPqQ,YAAY,EACZ0L,cAAc,EACd/jB,UAAU,GAEd,CACA,IAAK,MAAM+hB,KAAO5c,EAAWwL,GAA4B,CACvD,MAAMwZ,EAAKxZ,EAA0BoR,GACrC,SAAS/Z,KAAM8C,GACb,cACE,MAAMmf,IAER,OAAO1B,EAAa4B,EAAIjuB,KAAM4O,EAChC,CACA0R,EAAqBxU,EAAI,OAAQ,CAC/BjC,UAAW,KACXzE,MAAO6oB,EAAGtvB,OAEZ2hB,EAAqBxU,EAAI,SAAU,CACjCjC,UAAW,KACXzE,MAAO6oB,EAAG9tB,SAEZmgB,EAAqBnQ,EAAOhH,SAASE,UAAWwc,EAAK,CACnDhc,UAAW,KACXzE,MAAO0G,EACPqQ,YAAY,EACZ0L,cAAc,EACd/jB,UAAU,GAEd,CACAqM,EAAO/G,SAAW,EAAQ,OAC1B+G,EAAO3N,OAAS,EAAQ,OACxB2N,EAAOwE,UAAY,EAAQ,OAC3BxE,EAAOuE,YAAc,EAAQ,OAC7BvE,EAAO5N,SAAWA,EAClB,MAAM,eAAEzD,GAAmB,EAAQ,OACnCqR,EAAOrR,eAAiBA,EACxBqR,EAAOrI,SAAWvJ,EAClB4R,EAAOjR,QAAUuD,EACjB0N,EAAOwB,QAAUA,EACjB2O,EAAqBnQ,EAAQ,WAAY,CACvCtG,UAAW,KACXge,cAAc,EACd1L,YAAY,EACZ9R,MACE,OAAOod,CACT,IAEFnH,EAAqB/d,EAAUurB,EAAiB,CAC9CjkB,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOod,EAASllB,QAClB,IAEF+d,EAAqB/hB,EAAKuvB,EAAiB,CACzCjkB,UAAW,KACXsS,YAAY,EACZ9R,MACE,OAAOod,EAAS3f,QAClB,IAIFqI,EAAOA,OAASA,EAChBA,EAAOuI,cAAgB,SAAsBtT,GAC3C,OAAOA,aAAiBxF,UAC1B,EACAuQ,EAAOwI,oBAAsB,SAA6BzU,GACxD,OAAOrE,EAAOqD,KAAKgB,EAAMnC,OAAQmC,EAAMlC,WAAYkC,EAAMgqB,WAC3D,C,qCCrIA,MAAM,kBAAEhD,EAAiB,QAAEle,GAAY,EAAQ,QACzC,WAAEjC,EAAU,aAAE3M,EAAY,YAAEC,GAAgB,EAAQ,QAClDsX,aAAcwY,GAAO,EAAQ,QAC/B,SAAErmB,GAAa,EAAQ,MAE7B,SAASvF,KAAYU,GACnB,OAAO,IAAI+J,GAAQ,CAAChB,EAASmD,KAC3B,IAAIzQ,EACA6F,EACJ,MAAM6pB,EAAUnrB,EAAQA,EAAQ9C,OAAS,GACzC,GACEiuB,GACmB,kBAAZA,IACNhwB,EAAagwB,KACbrjB,EAAWqjB,KACX/vB,EAAY+vB,GACb,CACA,MAAMhsB,EAAU8oB,EAAkBjoB,GAClCvE,EAAS0D,EAAQ1D,OACjB6F,EAAMnC,EAAQmC,GAChB,CACA4pB,EACElrB,GACA,CAACU,EAAKyB,KACAzB,EACFwL,EAAOxL,GAEPqI,EAAQ5G,EACV,GAEF,CACE1G,SACA6F,OAEJ,GAEJ,CAhCA,EAAQ,OAiCR3F,EAAOC,QAAU,CACfiJ,WACAvF,W,mCCzCF,MAAM8rB,EACJtuB,YAAauuB,EAAMlsB,GACjBpC,KAAKsuB,KAAOA,EACZtuB,KAAKoC,QAAUA,CACjB,CAEAmsB,OAAQhE,EAAOnoB,GACb,MAAMosB,EAAS,IAAIxuB,KAAKsuB,KAAK/D,EAAO,IAAKvqB,KAAKoC,WAAYA,IAY1D,OAVAmoB,EAAM/lB,GAAG,OAAO,KACTgqB,EAAO3qB,UACV2qB,EAAOnnB,KAAK,MACd,IAGFkjB,EAAM/lB,GAAG,SAASb,IAChB6qB,EAAOnnB,KAAK,QAAS1D,EAAG,IAGnB6qB,CACT,EAGF,K,4GCvBA,MAAMC,EACJ1uB,YAAahB,GACXiB,KAAKjB,OAASA,EACdiB,KAAK0uB,MAAQ,EACf,CAEAtuB,KAAMuuB,GACJ3uB,KAAK0uB,MAAMtuB,KAAKuuB,EAClB,CAEApqB,MACEvE,KAAKjB,OAAOqB,KAAKJ,KAAK0uB,OACtB1uB,KAAKjB,OAAOqB,KAAK,KACnB,EAGF,QChBA,MAAMwuB,EACJ7uB,YAAahB,GACXiB,KAAKjB,OAASA,EACdiB,KAAK0B,OAAQ,EAEb1B,KAAKjB,OAAOqB,KAAK,IACnB,CAEAA,KAAMuuB,GACA3uB,KAAK0B,MACP1B,KAAK0B,OAAQ,EAEb1B,KAAKjB,OAAOqB,KAAK,KAGnBJ,KAAKjB,OAAOqB,KAAKktB,KAAKC,UAAUoB,GAClC,CAEApqB,MACEvE,KAAKjB,OAAOqB,KAAK,KACjBJ,KAAKjB,OAAOqB,KAAK,KACnB,EAGF,QCpBA,MAAMyuB,UAAyB,EAAA1lB,SAC7BpJ,YAAawqB,GAAO,SAAEpmB,EAAW,UAAa,CAAC,GAc7C,GAbAyH,MAAM,CACJW,YAAY,EACZtH,KAAM,SAGS,WAAbd,IACFnE,KAAK8uB,QAAU,IAAI,EAAc9uB,OAGlB,WAAbmE,IACFnE,KAAK8uB,QAAU,IAAI,EAAc9uB,QAG9BA,KAAK8uB,QACR,MAAM,IAAI1O,MAAM,qBAAqBjc,KAGvComB,EAAM/lB,GAAG,QAAQuqB,IACf,MAAMJ,EAAS,CAAC,EAChB,IAAIK,EAASL,EAEe,iBAAxBI,EAAKE,MAAMC,WACbP,EAAO,OAASI,EAAKE,MAAM7pB,MAC3BupB,EAAO,UAAY,CAAC,EACpBK,EAASL,EAAO,WAGlBK,EAAO,OAASH,EAAiBM,aAAaJ,EAAKK,SAEtB,oDAAzBL,EAAKM,UAAUjqB,MACjB4pB,EAAO,SAAWH,EAAiBM,aAAaJ,EAAK7L,QAErD8L,EAAOD,EAAKM,UAAUjqB,OAASypB,EAAiBS,YAAYP,EAAK7L,QAGnEljB,KAAK8uB,QAAQ1uB,KAAKuuB,EAAM,IAG1BpE,EAAM/lB,GAAG,OAAO,IAAMxE,KAAK8uB,QAAQvqB,QAEnCgmB,EAAM/lB,GAAG,SAASb,GAAO3D,KAAKqH,KAAK,QAAS1D,IAC9C,CAEA4rB,oBAAqBH,GACnB,MAA4B,cAArBA,EAAQF,SAA2B,KAAOE,EAAQhqB,MAAQgqB,EAAQhqB,KAC3E,CAEAmqB,mBAAoBrM,GAClB,MAAwB,cAApBA,EAAOgM,SACF,CAAE,MAAOhM,EAAO9d,OAGD,cAApB8d,EAAOgM,SACF,CAAE,MAAO,KAAOhM,EAAO9d,OAG5B8d,EAAOsM,SACF,CAAE,YAAatM,EAAOsM,SAAU,SAAUtM,EAAO9d,OAC/C8d,EAAOuM,UAAsC,4CAA1BvM,EAAOuM,SAASrqB,MACrC,CAAE,QAAS8d,EAAOuM,SAASrqB,MAAO,SAAU8d,EAAO9d,OAEnD8d,EAAO9d,KAElB,EAGF,QCrEA,MAAMsqB,UAAmB,IACvB3vB,YAAaqC,GACXwJ,MAAM,EAAkBxJ,EAC1B,EAGF,QCRA,MAAMutB,UAA+B,EACjC5vB,gBAAiB6O,GAAS,CAAC,GACvBhD,MAAM,CAAEzH,SAAU,YAAayK,GACnC,EAEJ,O","sources":["webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/from.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/internal/validators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/browser.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/errors.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/primordials.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/ours/util.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/node_modules/readable-stream/lib/stream/promises.js","webpack://@zazuko/spex/./node_modules/@rdfjs/sink/index.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/ObjectEncoder.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/StringEncoder.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/lib/SerializerStream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/serializer-jsonld/index.js","webpack://@zazuko/spex/./node_modules/@zazuko/formats-lazy/lib/CustomJsonLdSerializer.js"],"sourcesContent":["'use strict'\n\nconst { AbortError, codes } = require('../../ours/errors')\nconst { isNodeStream, isWebStream, kControllerErrorFunction } = require('./utils')\nconst eos = require('./end-of-stream')\nconst { ERR_INVALID_ARG_TYPE } = codes\n\n// This method is inlined here for readable-stream\n// It also does not allow for signal to not exist on the stream\n// https://github.com/nodejs/node/pull/36061#discussion_r533718029\nconst validateAbortSignal = (signal, name) => {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nmodule.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n validateAbortSignal(signal, 'signal')\n if (!isNodeStream(stream) && !isWebStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n return module.exports.addAbortSignalNoValidate(signal, stream)\n}\nmodule.exports.addAbortSignalNoValidate = function (signal, stream) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n return stream\n }\n const onAbort = isNodeStream(stream)\n ? () => {\n stream.destroy(\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n : () => {\n stream[kControllerErrorFunction](\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n if (signal.aborted) {\n onAbort()\n } else {\n signal.addEventListener('abort', onAbort)\n eos(stream, () => signal.removeEventListener('abort', onAbort))\n }\n return stream\n}\n","'use strict'\n\nconst { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { inspect } = require('../../ours/util')\nmodule.exports = class BufferList {\n constructor() {\n this.head = null\n this.tail = null\n this.length = 0\n }\n push(v) {\n const entry = {\n data: v,\n next: null\n }\n if (this.length > 0) this.tail.next = entry\n else this.head = entry\n this.tail = entry\n ++this.length\n }\n unshift(v) {\n const entry = {\n data: v,\n next: this.head\n }\n if (this.length === 0) this.tail = entry\n this.head = entry\n ++this.length\n }\n shift() {\n if (this.length === 0) return\n const ret = this.head.data\n if (this.length === 1) this.head = this.tail = null\n else this.head = this.head.next\n --this.length\n return ret\n }\n clear() {\n this.head = this.tail = null\n this.length = 0\n }\n join(s) {\n if (this.length === 0) return ''\n let p = this.head\n let ret = '' + p.data\n while ((p = p.next) !== null) ret += s + p.data\n return ret\n }\n concat(n) {\n if (this.length === 0) return Buffer.alloc(0)\n const ret = Buffer.allocUnsafe(n >>> 0)\n let p = this.head\n let i = 0\n while (p) {\n TypedArrayPrototypeSet(ret, p.data, i)\n i += p.data.length\n p = p.next\n }\n return ret\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n consume(n, hasStrings) {\n const data = this.head.data\n if (n < data.length) {\n // `slice` is the same for buffers and strings.\n const slice = data.slice(0, n)\n this.head.data = data.slice(n)\n return slice\n }\n if (n === data.length) {\n // First chunk is a perfect match.\n return this.shift()\n }\n // Result spans more than one buffer.\n return hasStrings ? this._getString(n) : this._getBuffer(n)\n }\n first() {\n return this.head.data\n }\n *[SymbolIterator]() {\n for (let p = this.head; p; p = p.next) {\n yield p.data\n }\n }\n\n // Consumes a specified amount of characters from the buffered data.\n _getString(n) {\n let ret = ''\n let p = this.head\n let c = 0\n do {\n const str = p.data\n if (n > str.length) {\n ret += str\n n -= str.length\n } else {\n if (n === str.length) {\n ret += str\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n ret += StringPrototypeSlice(str, 0, n)\n this.head = p\n p.data = StringPrototypeSlice(str, n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n _getBuffer(n) {\n const ret = Buffer.allocUnsafe(n)\n const retLen = n\n let p = this.head\n let c = 0\n do {\n const buf = p.data\n if (n > buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n n -= buf.length\n } else {\n if (n === buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n TypedArrayPrototypeSet(ret, new Uint8Array(buf.buffer, buf.byteOffset, n), retLen - n)\n this.head = p\n p.data = buf.slice(n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n [Symbol.for('nodejs.util.inspect.custom')](_, options) {\n return inspect(this, {\n ...options,\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n })\n }\n}\n","'use strict'\n\nconst { pipeline } = require('./pipeline')\nconst Duplex = require('./duplex')\nconst { destroyer } = require('./destroy')\nconst {\n isNodeStream,\n isReadable,\n isWritable,\n isWebStream,\n isTransformStream,\n isWritableStream,\n isReadableStream\n} = require('./utils')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }\n} = require('../../ours/errors')\nconst eos = require('./end-of-stream')\nmodule.exports = function compose(...streams) {\n if (streams.length === 0) {\n throw new ERR_MISSING_ARGS('streams')\n }\n if (streams.length === 1) {\n return Duplex.from(streams[0])\n }\n const orgStreams = [...streams]\n if (typeof streams[0] === 'function') {\n streams[0] = Duplex.from(streams[0])\n }\n if (typeof streams[streams.length - 1] === 'function') {\n const idx = streams.length - 1\n streams[idx] = Duplex.from(streams[idx])\n }\n for (let n = 0; n < streams.length; ++n) {\n if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {\n // TODO(ronag): Add checks for non streams.\n continue\n }\n if (\n n < streams.length - 1 &&\n !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))\n ) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be readable')\n }\n if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be writable')\n }\n }\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n } else if (!readable && !writable) {\n d.destroy()\n }\n }\n const head = streams[0]\n const tail = pipeline(streams, onfinished)\n const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head))\n const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail))\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplex({\n // TODO (ronag): highWaterMark?\n writableObjectMode: !!(head !== null && head !== undefined && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== undefined && tail.writableObjectMode),\n writable,\n readable\n })\n if (writable) {\n if (isNodeStream(head)) {\n d._write = function (chunk, encoding, callback) {\n if (head.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n head.end()\n onfinish = callback\n }\n head.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n } else if (isWebStream(head)) {\n const writable = isTransformStream(head) ? head.writable : head\n const writer = writable.getWriter()\n d._write = async function (chunk, encoding, callback) {\n try {\n await writer.ready\n writer.write(chunk).catch(() => {})\n callback()\n } catch (err) {\n callback(err)\n }\n }\n d._final = async function (callback) {\n try {\n await writer.ready\n writer.close().catch(() => {})\n onfinish = callback\n } catch (err) {\n callback(err)\n }\n }\n }\n const toRead = isTransformStream(tail) ? tail.readable : tail\n eos(toRead, () => {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n if (isNodeStream(tail)) {\n tail.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n tail.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = tail.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n } else if (isWebStream(tail)) {\n const readable = isTransformStream(tail) ? tail.readable : tail\n const reader = readable.getReader()\n d._read = async function () {\n while (true) {\n try {\n const { value, done } = await reader.read()\n if (!d.push(value)) {\n return\n }\n if (done) {\n d.push(null)\n return\n }\n } catch {\n return\n }\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n if (isNodeStream(tail)) {\n destroyer(tail, err)\n }\n }\n }\n return d\n}\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError\n} = require('../../ours/errors')\nconst { Symbol } = require('../../ours/primordials')\nconst { kDestroyed, isDestroyed, isFinished, isServerRequest } = require('./utils')\nconst kDestroy = Symbol('kDestroy')\nconst kConstruct = Symbol('kConstruct')\nfunction checkError(err, w, r) {\n if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n }\n}\n\n// Backwards compat. cb() is undocumented and unused in core but\n// unfortunately might be used by modules.\nfunction destroy(err, cb) {\n const r = this._readableState\n const w = this._writableState\n // With duplex streams we use the writable side for state.\n const s = w || r\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n if (typeof cb === 'function') {\n cb()\n }\n return this\n }\n\n // We set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n checkError(err, w, r)\n if (w) {\n w.destroyed = true\n }\n if (r) {\n r.destroyed = true\n }\n\n // If still constructing then defer calling _destroy.\n if (!s.constructed) {\n this.once(kDestroy, function (er) {\n _destroy(this, aggregateTwoErrors(er, err), cb)\n })\n } else {\n _destroy(this, err, cb)\n }\n return this\n}\nfunction _destroy(self, err, cb) {\n let called = false\n function onDestroy(err) {\n if (called) {\n return\n }\n called = true\n const r = self._readableState\n const w = self._writableState\n checkError(err, w, r)\n if (w) {\n w.closed = true\n }\n if (r) {\n r.closed = true\n }\n if (typeof cb === 'function') {\n cb(err)\n }\n if (err) {\n process.nextTick(emitErrorCloseNT, self, err)\n } else {\n process.nextTick(emitCloseNT, self)\n }\n }\n try {\n self._destroy(err || null, onDestroy)\n } catch (err) {\n onDestroy(err)\n }\n}\nfunction emitErrorCloseNT(self, err) {\n emitErrorNT(self, err)\n emitCloseNT(self)\n}\nfunction emitCloseNT(self) {\n const r = self._readableState\n const w = self._writableState\n if (w) {\n w.closeEmitted = true\n }\n if (r) {\n r.closeEmitted = true\n }\n if ((w !== null && w !== undefined && w.emitClose) || (r !== null && r !== undefined && r.emitClose)) {\n self.emit('close')\n }\n}\nfunction emitErrorNT(self, err) {\n const r = self._readableState\n const w = self._writableState\n if ((w !== null && w !== undefined && w.errorEmitted) || (r !== null && r !== undefined && r.errorEmitted)) {\n return\n }\n if (w) {\n w.errorEmitted = true\n }\n if (r) {\n r.errorEmitted = true\n }\n self.emit('error', err)\n}\nfunction undestroy() {\n const r = this._readableState\n const w = this._writableState\n if (r) {\n r.constructed = true\n r.closed = false\n r.closeEmitted = false\n r.destroyed = false\n r.errored = null\n r.errorEmitted = false\n r.reading = false\n r.ended = r.readable === false\n r.endEmitted = r.readable === false\n }\n if (w) {\n w.constructed = true\n w.destroyed = false\n w.closed = false\n w.closeEmitted = false\n w.errored = null\n w.errorEmitted = false\n w.finalCalled = false\n w.prefinished = false\n w.ended = w.writable === false\n w.ending = w.writable === false\n w.finished = w.writable === false\n }\n}\nfunction errorOrDestroy(stream, err, sync) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n const r = stream._readableState\n const w = stream._writableState\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n return this\n }\n if ((r !== null && r !== undefined && r.autoDestroy) || (w !== null && w !== undefined && w.autoDestroy))\n stream.destroy(err)\n else if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n if (sync) {\n process.nextTick(emitErrorNT, stream, err)\n } else {\n emitErrorNT(stream, err)\n }\n }\n}\nfunction construct(stream, cb) {\n if (typeof stream._construct !== 'function') {\n return\n }\n const r = stream._readableState\n const w = stream._writableState\n if (r) {\n r.constructed = false\n }\n if (w) {\n w.constructed = false\n }\n stream.once(kConstruct, cb)\n if (stream.listenerCount(kConstruct) > 1) {\n // Duplex\n return\n }\n process.nextTick(constructNT, stream)\n}\nfunction constructNT(stream) {\n let called = false\n function onConstruct(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : new ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n const r = stream._readableState\n const w = stream._writableState\n const s = w || r\n if (r) {\n r.constructed = true\n }\n if (w) {\n w.constructed = true\n }\n if (s.destroyed) {\n stream.emit(kDestroy, err)\n } else if (err) {\n errorOrDestroy(stream, err, true)\n } else {\n process.nextTick(emitConstructNT, stream)\n }\n }\n try {\n stream._construct((err) => {\n process.nextTick(onConstruct, err)\n })\n } catch (err) {\n process.nextTick(onConstruct, err)\n }\n}\nfunction emitConstructNT(stream) {\n stream.emit(kConstruct)\n}\nfunction isRequest(stream) {\n return (stream === null || stream === undefined ? undefined : stream.setHeader) && typeof stream.abort === 'function'\n}\nfunction emitCloseLegacy(stream) {\n stream.emit('close')\n}\nfunction emitErrorCloseLegacy(stream, err) {\n stream.emit('error', err)\n process.nextTick(emitCloseLegacy, stream)\n}\n\n// Normalize destroy for legacy.\nfunction destroyer(stream, err) {\n if (!stream || isDestroyed(stream)) {\n return\n }\n if (!err && !isFinished(stream)) {\n err = new AbortError()\n }\n\n // TODO: Remove isRequest branches.\n if (isServerRequest(stream)) {\n stream.socket = null\n stream.destroy(err)\n } else if (isRequest(stream)) {\n stream.abort()\n } else if (isRequest(stream.req)) {\n stream.req.abort()\n } else if (typeof stream.destroy === 'function') {\n stream.destroy(err)\n } else if (typeof stream.close === 'function') {\n // TODO: Don't lose err?\n stream.close()\n } else if (err) {\n process.nextTick(emitErrorCloseLegacy, stream, err)\n } else {\n process.nextTick(emitCloseLegacy, stream)\n }\n if (!stream.destroyed) {\n stream[kDestroyed] = true\n }\n}\nmodule.exports = {\n construct,\n destroyer,\n destroy,\n undestroy,\n errorOrDestroy\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototype inheritance, this class\n// prototypically inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict'\n\nconst {\n ObjectDefineProperties,\n ObjectGetOwnPropertyDescriptor,\n ObjectKeys,\n ObjectSetPrototypeOf\n} = require('../../ours/primordials')\nmodule.exports = Duplex\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nObjectSetPrototypeOf(Duplex.prototype, Readable.prototype)\nObjectSetPrototypeOf(Duplex, Readable)\n{\n const keys = ObjectKeys(Writable.prototype)\n // Allow the keys array to be GC'ed.\n for (let i = 0; i < keys.length; i++) {\n const method = keys[i]\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options)\n Readable.call(this, options)\n Writable.call(this, options)\n if (options) {\n this.allowHalfOpen = options.allowHalfOpen !== false\n if (options.readable === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if (options.writable === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n } else {\n this.allowHalfOpen = true\n }\n}\nObjectDefineProperties(Duplex.prototype, {\n writable: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable')\n },\n writableHighWaterMark: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark')\n },\n writableObjectMode: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode')\n },\n writableBuffer: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer')\n },\n writableLength: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableLength')\n },\n writableFinished: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableFinished')\n },\n writableCorked: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableCorked')\n },\n writableEnded: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableEnded')\n },\n writableNeedDrain: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableNeedDrain')\n },\n destroyed: {\n __proto__: null,\n get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false\n }\n return this._readableState.destroyed && this._writableState.destroyed\n },\n set(value) {\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n if (this._readableState && this._writableState) {\n this._readableState.destroyed = value\n this._writableState.destroyed = value\n }\n }\n }\n})\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nDuplex.fromWeb = function (pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options)\n}\nDuplex.toWeb = function (duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)\n}\nlet duplexify\nDuplex.from = function (body) {\n if (!duplexify) {\n duplexify = require('./duplexify')\n }\n return duplexify(body, 'body')\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\n;('use strict')\nconst bufferModule = require('buffer')\nconst {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream\n} = require('./utils')\nconst eos = require('./end-of-stream')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE }\n} = require('../../ours/errors')\nconst { destroyer } = require('./destroy')\nconst Duplex = require('./duplex')\nconst Readable = require('./readable')\nconst { createDeferredPromise } = require('../../ours/util')\nconst from = require('./from')\nconst Blob = globalThis.Blob || bufferModule.Blob\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst { FunctionPrototypeCall } = require('../../ours/primordials')\n\n// This is needed for pre node 17.\nclass Duplexify extends Duplex {\n constructor(options) {\n super(options)\n\n // https://github.com/nodejs/node/pull/34385\n\n if ((options === null || options === undefined ? undefined : options.readable) === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if ((options === null || options === undefined ? undefined : options.writable) === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n }\n}\nmodule.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body)) {\n return body\n }\n if (isReadableNodeStream(body)) {\n return _duplexify({\n readable: body\n })\n }\n if (isWritableNodeStream(body)) {\n return _duplexify({\n writable: body\n })\n }\n if (isNodeStream(body)) {\n return _duplexify({\n writable: false,\n readable: false\n })\n }\n\n // TODO: Webstreams\n // if (isReadableStream(body)) {\n // return _duplexify({ readable: Readable.fromWeb(body) });\n // }\n\n // TODO: Webstreams\n // if (isWritableStream(body)) {\n // return _duplexify({ writable: Writable.fromWeb(body) });\n // }\n\n if (typeof body === 'function') {\n const { value, write, final, destroy } = fromAsyncGen(body)\n if (isIterable(value)) {\n return from(Duplexify, value, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n write,\n final,\n destroy\n })\n }\n const then = value === null || value === undefined ? undefined : value.then\n if (typeof then === 'function') {\n let d\n const promise = FunctionPrototypeCall(\n then,\n value,\n (val) => {\n if (val != null) {\n throw new ERR_INVALID_RETURN_VALUE('nully', 'body', val)\n }\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n // TODO (ronag): highWaterMark?\n objectMode: true,\n readable: false,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise\n process.nextTick(cb, null)\n } catch (err) {\n process.nextTick(cb, err)\n }\n })\n },\n destroy\n }))\n }\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or AsyncFunction', name, value)\n }\n if (isBlob(body)) {\n return duplexify(body.arrayBuffer())\n }\n if (isIterable(body)) {\n return from(Duplexify, body, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n writable: false\n })\n }\n\n // TODO: Webstreams.\n // if (\n // isReadableStream(body?.readable) &&\n // isWritableStream(body?.writable)\n // ) {\n // return Duplexify.fromWeb(body);\n // }\n\n if (\n typeof (body === null || body === undefined ? undefined : body.writable) === 'object' ||\n typeof (body === null || body === undefined ? undefined : body.readable) === 'object'\n ) {\n const readable =\n body !== null && body !== undefined && body.readable\n ? isReadableNodeStream(body === null || body === undefined ? undefined : body.readable)\n ? body === null || body === undefined\n ? undefined\n : body.readable\n : duplexify(body.readable)\n : undefined\n const writable =\n body !== null && body !== undefined && body.writable\n ? isWritableNodeStream(body === null || body === undefined ? undefined : body.writable)\n ? body === null || body === undefined\n ? undefined\n : body.writable\n : duplexify(body.writable)\n : undefined\n return _duplexify({\n readable,\n writable\n })\n }\n const then = body === null || body === undefined ? undefined : body.then\n if (typeof then === 'function') {\n let d\n FunctionPrototypeCall(\n then,\n body,\n (val) => {\n if (val != null) {\n d.push(val)\n }\n d.push(null)\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n objectMode: true,\n writable: false,\n read() {}\n }))\n }\n throw new ERR_INVALID_ARG_TYPE(\n name,\n [\n 'Blob',\n 'ReadableStream',\n 'WritableStream',\n 'Stream',\n 'Iterable',\n 'AsyncIterable',\n 'Function',\n '{ readable, writable } pair',\n 'Promise'\n ],\n body\n )\n}\nfunction fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise()\n const ac = new AbortController()\n const signal = ac.signal\n const value = fn(\n (async function* () {\n while (true) {\n const _promise = promise\n promise = null\n const { chunk, done, cb } = await _promise\n process.nextTick(cb)\n if (done) return\n if (signal.aborted)\n throw new AbortError(undefined, {\n cause: signal.reason\n })\n ;({ promise, resolve } = createDeferredPromise())\n yield chunk\n }\n })(),\n {\n signal\n }\n )\n return {\n value,\n write(chunk, encoding, cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n chunk,\n done: false,\n cb\n })\n },\n final(cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n done: true,\n cb\n })\n },\n destroy(err, cb) {\n ac.abort()\n cb(err)\n }\n }\n}\nfunction _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== 'function' ? Readable.wrap(pair.readable) : pair.readable\n const w = pair.writable\n let readable = !!isReadable(r)\n let writable = !!isWritable(w)\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n }\n }\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplexify({\n // TODO (ronag): highWaterMark?\n readableObjectMode: !!(r !== null && r !== undefined && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== undefined && w.writableObjectMode),\n readable,\n writable\n })\n if (writable) {\n eos(w, (err) => {\n writable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n d._write = function (chunk, encoding, callback) {\n if (w.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n w.end()\n onfinish = callback\n }\n w.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n w.on('finish', function () {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n eos(r, (err) => {\n readable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n r.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n r.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = r.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n destroyer(w, err)\n destroyer(r, err)\n }\n }\n return d\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes\nconst { kEmptyObject, once } = require('../../ours/util')\nconst { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require('../validators')\nconst { Promise, PromisePrototypeThen } = require('../../ours/primordials')\nconst {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose,\n kIsClosedPromise\n} = require('./utils')\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function'\n}\nconst nop = () => {}\nfunction eos(stream, options, callback) {\n var _options$readable, _options$writable\n if (arguments.length === 2) {\n callback = options\n options = kEmptyObject\n } else if (options == null) {\n options = kEmptyObject\n } else {\n validateObject(options, 'options')\n }\n validateFunction(callback, 'callback')\n validateAbortSignal(options.signal, 'options.signal')\n callback = once(callback)\n if (isReadableStream(stream) || isWritableStream(stream)) {\n return eosWeb(stream, options, callback)\n }\n if (!isNodeStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n const readable =\n (_options$readable = options.readable) !== null && _options$readable !== undefined\n ? _options$readable\n : isReadableNodeStream(stream)\n const writable =\n (_options$writable = options.writable) !== null && _options$writable !== undefined\n ? _options$writable\n : isWritableNodeStream(stream)\n const wState = stream._writableState\n const rState = stream._readableState\n const onlegacyfinish = () => {\n if (!stream.writable) {\n onfinish()\n }\n }\n\n // TODO (ronag): Improve soft detection to include core modules and\n // common ecosystem modules that do properly emit 'close' but fail\n // this generic check.\n let willEmitClose =\n _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable\n let writableFinished = isWritableFinished(stream, false)\n const onfinish = () => {\n writableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.readable || readable)) {\n return\n }\n if (!readable || readableFinished) {\n callback.call(stream)\n }\n }\n let readableFinished = isReadableFinished(stream, false)\n const onend = () => {\n readableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.writable || writable)) {\n return\n }\n if (!writable || writableFinished) {\n callback.call(stream)\n }\n }\n const onerror = (err) => {\n callback.call(stream, err)\n }\n let closed = isClosed(stream)\n const onclose = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n if (readable && !readableFinished && isReadableNodeStream(stream, true)) {\n if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n callback.call(stream)\n }\n const onclosed = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n callback.call(stream)\n }\n const onrequest = () => {\n stream.req.on('finish', onfinish)\n }\n if (isRequest(stream)) {\n stream.on('complete', onfinish)\n if (!willEmitClose) {\n stream.on('abort', onclose)\n }\n if (stream.req) {\n onrequest()\n } else {\n stream.on('request', onrequest)\n }\n } else if (writable && !wState) {\n // legacy streams\n stream.on('end', onlegacyfinish)\n stream.on('close', onlegacyfinish)\n }\n\n // Not all streams will emit 'close' after 'aborted'.\n if (!willEmitClose && typeof stream.aborted === 'boolean') {\n stream.on('aborted', onclose)\n }\n stream.on('end', onend)\n stream.on('finish', onfinish)\n if (options.error !== false) {\n stream.on('error', onerror)\n }\n stream.on('close', onclose)\n if (closed) {\n process.nextTick(onclose)\n } else if (\n (wState !== null && wState !== undefined && wState.errorEmitted) ||\n (rState !== null && rState !== undefined && rState.errorEmitted)\n ) {\n if (!willEmitClose) {\n process.nextTick(onclosed)\n }\n } else if (\n !readable &&\n (!willEmitClose || isReadable(stream)) &&\n (writableFinished || isWritable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (\n !writable &&\n (!willEmitClose || isWritable(stream)) &&\n (readableFinished || isReadable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (rState && stream.req && stream.aborted) {\n process.nextTick(onclosed)\n }\n const cleanup = () => {\n callback = nop\n stream.removeListener('aborted', onclose)\n stream.removeListener('complete', onfinish)\n stream.removeListener('abort', onclose)\n stream.removeListener('request', onrequest)\n if (stream.req) stream.req.removeListener('finish', onfinish)\n stream.removeListener('end', onlegacyfinish)\n stream.removeListener('close', onlegacyfinish)\n stream.removeListener('finish', onfinish)\n stream.removeListener('end', onend)\n stream.removeListener('error', onerror)\n stream.removeListener('close', onclose)\n }\n if (options.signal && !closed) {\n const abort = () => {\n // Keep it because cleanup removes it.\n const endCallback = callback\n cleanup()\n endCallback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n const originalCallback = callback\n callback = once((...args) => {\n options.signal.removeEventListener('abort', abort)\n originalCallback.apply(stream, args)\n })\n options.signal.addEventListener('abort', abort)\n }\n }\n return cleanup\n}\nfunction eosWeb(stream, options, callback) {\n let isAborted = false\n let abort = nop\n if (options.signal) {\n abort = () => {\n isAborted = true\n callback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n const originalCallback = callback\n callback = once((...args) => {\n options.signal.removeEventListener('abort', abort)\n originalCallback.apply(stream, args)\n })\n options.signal.addEventListener('abort', abort)\n }\n }\n const resolverFn = (...args) => {\n if (!isAborted) {\n process.nextTick(() => callback.apply(stream, args))\n }\n }\n PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn)\n return nop\n}\nfunction finished(stream, opts) {\n var _opts\n let autoCleanup = false\n if (opts === null) {\n opts = kEmptyObject\n }\n if ((_opts = opts) !== null && _opts !== undefined && _opts.cleanup) {\n validateBoolean(opts.cleanup, 'cleanup')\n autoCleanup = opts.cleanup\n }\n return new Promise((resolve, reject) => {\n const cleanup = eos(stream, opts, (err) => {\n if (autoCleanup) {\n cleanup()\n }\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n })\n })\n}\nmodule.exports = eos\nmodule.exports.finished = finished\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_NULL_VALUES } = require('../../ours/errors').codes\nfunction from(Readable, iterable, opts) {\n let iterator\n if (typeof iterable === 'string' || iterable instanceof Buffer) {\n return new Readable({\n objectMode: true,\n ...opts,\n read() {\n this.push(iterable)\n this.push(null)\n }\n })\n }\n let isAsync\n if (iterable && iterable[SymbolAsyncIterator]) {\n isAsync = true\n iterator = iterable[SymbolAsyncIterator]()\n } else if (iterable && iterable[SymbolIterator]) {\n isAsync = false\n iterator = iterable[SymbolIterator]()\n } else {\n throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable)\n }\n const readable = new Readable({\n objectMode: true,\n highWaterMark: 1,\n // TODO(ronag): What options should be allowed?\n ...opts\n })\n\n // Flag to protect against _read\n // being called before last iteration completion.\n let reading = false\n readable._read = function () {\n if (!reading) {\n reading = true\n next()\n }\n }\n readable._destroy = function (error, cb) {\n PromisePrototypeThen(\n close(error),\n () => process.nextTick(cb, error),\n // nextTick is here in case cb throws\n (e) => process.nextTick(cb, e || error)\n )\n }\n async function close(error) {\n const hadError = error !== undefined && error !== null\n const hasThrow = typeof iterator.throw === 'function'\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error)\n await value\n if (done) {\n return\n }\n }\n if (typeof iterator.return === 'function') {\n const { value } = await iterator.return()\n await value\n }\n }\n async function next() {\n for (;;) {\n try {\n const { value, done } = isAsync ? await iterator.next() : iterator.next()\n if (done) {\n readable.push(null)\n } else {\n const res = value && typeof value.then === 'function' ? await value : value\n if (res === null) {\n reading = false\n throw new ERR_STREAM_NULL_VALUES()\n } else if (readable.push(res)) {\n continue\n } else {\n reading = false\n }\n }\n } catch (err) {\n readable.destroy(err)\n }\n break\n }\n }\n return readable\n}\nmodule.exports = from\n","'use strict'\n\nconst { ArrayIsArray, ObjectSetPrototypeOf } = require('../../ours/primordials')\nconst { EventEmitter: EE } = require('events')\nfunction Stream(opts) {\n EE.call(this, opts)\n}\nObjectSetPrototypeOf(Stream.prototype, EE.prototype)\nObjectSetPrototypeOf(Stream, EE)\nStream.prototype.pipe = function (dest, options) {\n const source = this\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === false && source.pause) {\n source.pause()\n }\n }\n source.on('data', ondata)\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume()\n }\n }\n dest.on('drain', ondrain)\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend)\n source.on('close', onclose)\n }\n let didOnEnd = false\n function onend() {\n if (didOnEnd) return\n didOnEnd = true\n dest.end()\n }\n function onclose() {\n if (didOnEnd) return\n didOnEnd = true\n if (typeof dest.destroy === 'function') dest.destroy()\n }\n\n // Don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup()\n if (EE.listenerCount(this, 'error') === 0) {\n this.emit('error', er)\n }\n }\n prependListener(source, 'error', onerror)\n prependListener(dest, 'error', onerror)\n\n // Remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata)\n dest.removeListener('drain', ondrain)\n source.removeListener('end', onend)\n source.removeListener('close', onclose)\n source.removeListener('error', onerror)\n dest.removeListener('error', onerror)\n source.removeListener('end', cleanup)\n source.removeListener('close', cleanup)\n dest.removeListener('close', cleanup)\n }\n source.on('end', cleanup)\n source.on('close', cleanup)\n dest.on('close', cleanup)\n dest.emit('pipe', source)\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest\n}\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn)\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn)\n else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn)\n else emitter._events[event] = [fn, emitter._events[event]]\n}\nmodule.exports = {\n Stream,\n prependListener\n}\n","'use strict'\n\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst {\n codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError\n} = require('../../ours/errors')\nconst { validateAbortSignal, validateInteger, validateObject } = require('../validators')\nconst kWeakHandler = require('../../ours/primordials').Symbol('kWeak')\nconst { finished } = require('./end-of-stream')\nconst staticCompose = require('./compose')\nconst { addAbortSignalNoValidate } = require('./add-abort-signal')\nconst { isWritable, isNodeStream } = require('./utils')\nconst {\n ArrayPrototypePush,\n MathFloor,\n Number,\n NumberIsNaN,\n Promise,\n PromiseReject,\n PromisePrototypeThen,\n Symbol\n} = require('../../ours/primordials')\nconst kEmpty = Symbol('kEmpty')\nconst kEof = Symbol('kEof')\nfunction compose(stream, options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n if (isNodeStream(stream) && !isWritable(stream)) {\n throw new ERR_INVALID_ARG_VALUE('stream', stream, 'must be writable')\n }\n const composedStream = staticCompose(this, stream)\n if (options !== null && options !== undefined && options.signal) {\n // Not validating as we already validated before\n addAbortSignalNoValidate(options.signal, composedStream)\n }\n return composedStream\n}\nfunction map(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let concurrency = 1\n if ((options === null || options === undefined ? undefined : options.concurrency) != null) {\n concurrency = MathFloor(options.concurrency)\n }\n validateInteger(concurrency, 'concurrency', 1)\n return async function* map() {\n var _options$signal, _options$signal2\n const ac = new AbortController()\n const stream = this\n const queue = []\n const signal = ac.signal\n const signalOpt = {\n signal\n }\n const abort = () => ac.abort()\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal = options.signal) !== null &&\n _options$signal !== undefined &&\n _options$signal.aborted\n ) {\n abort()\n }\n options === null || options === undefined\n ? undefined\n : (_options$signal2 = options.signal) === null || _options$signal2 === undefined\n ? undefined\n : _options$signal2.addEventListener('abort', abort)\n let next\n let resume\n let done = false\n function onDone() {\n done = true\n }\n async function pump() {\n try {\n for await (let val of stream) {\n var _val\n if (done) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n try {\n val = fn(val, signalOpt)\n } catch (err) {\n val = PromiseReject(err)\n }\n if (val === kEmpty) {\n continue\n }\n if (typeof ((_val = val) === null || _val === undefined ? undefined : _val.catch) === 'function') {\n val.catch(onDone)\n }\n queue.push(val)\n if (next) {\n next()\n next = null\n }\n if (!done && queue.length && queue.length >= concurrency) {\n await new Promise((resolve) => {\n resume = resolve\n })\n }\n }\n queue.push(kEof)\n } catch (err) {\n const val = PromiseReject(err)\n PromisePrototypeThen(val, undefined, onDone)\n queue.push(val)\n } finally {\n var _options$signal3\n done = true\n if (next) {\n next()\n next = null\n }\n options === null || options === undefined\n ? undefined\n : (_options$signal3 = options.signal) === null || _options$signal3 === undefined\n ? undefined\n : _options$signal3.removeEventListener('abort', abort)\n }\n }\n pump()\n try {\n while (true) {\n while (queue.length > 0) {\n const val = await queue[0]\n if (val === kEof) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n if (val !== kEmpty) {\n yield val\n }\n queue.shift()\n if (resume) {\n resume()\n resume = null\n }\n }\n await new Promise((resolve) => {\n next = resolve\n })\n }\n } finally {\n ac.abort()\n done = true\n if (resume) {\n resume()\n resume = null\n }\n }\n }.call(this)\n}\nfunction asIndexedPairs(options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n return async function* asIndexedPairs() {\n let index = 0\n for await (const val of this) {\n var _options$signal4\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal4 = options.signal) !== null &&\n _options$signal4 !== undefined &&\n _options$signal4.aborted\n ) {\n throw new AbortError({\n cause: options.signal.reason\n })\n }\n yield [index++, val]\n }\n }.call(this)\n}\nasync function some(fn, options = undefined) {\n for await (const unused of filter.call(this, fn, options)) {\n return true\n }\n return false\n}\nasync function every(fn, options = undefined) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n // https://en.wikipedia.org/wiki/De_Morgan%27s_laws\n return !(await some.call(\n this,\n async (...args) => {\n return !(await fn(...args))\n },\n options\n ))\n}\nasync function find(fn, options) {\n for await (const result of filter.call(this, fn, options)) {\n return result\n }\n return undefined\n}\nasync function forEach(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function forEachFn(value, options) {\n await fn(value, options)\n return kEmpty\n }\n // eslint-disable-next-line no-unused-vars\n for await (const unused of map.call(this, forEachFn, options));\n}\nfunction filter(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function filterFn(value, options) {\n if (await fn(value, options)) {\n return value\n }\n return kEmpty\n }\n return map.call(this, filterFn, options)\n}\n\n// Specific to provide better error to reduce since the argument is only\n// missing if the stream has no items in it - but the code is still appropriate\nclass ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS {\n constructor() {\n super('reduce')\n this.message = 'Reduce of an empty stream requires an initial value'\n }\n}\nasync function reduce(reducer, initialValue, options) {\n var _options$signal5\n if (typeof reducer !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('reducer', ['Function', 'AsyncFunction'], reducer)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let hasInitialValue = arguments.length > 1\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal5 = options.signal) !== null &&\n _options$signal5 !== undefined &&\n _options$signal5.aborted\n ) {\n const err = new AbortError(undefined, {\n cause: options.signal.reason\n })\n this.once('error', () => {}) // The error is already propagated\n await finished(this.destroy(err))\n throw err\n }\n const ac = new AbortController()\n const signal = ac.signal\n if (options !== null && options !== undefined && options.signal) {\n const opts = {\n once: true,\n [kWeakHandler]: this\n }\n options.signal.addEventListener('abort', () => ac.abort(), opts)\n }\n let gotAnyItemFromStream = false\n try {\n for await (const value of this) {\n var _options$signal6\n gotAnyItemFromStream = true\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal6 = options.signal) !== null &&\n _options$signal6 !== undefined &&\n _options$signal6.aborted\n ) {\n throw new AbortError()\n }\n if (!hasInitialValue) {\n initialValue = value\n hasInitialValue = true\n } else {\n initialValue = await reducer(initialValue, value, {\n signal\n })\n }\n }\n if (!gotAnyItemFromStream && !hasInitialValue) {\n throw new ReduceAwareErrMissingArgs()\n }\n } finally {\n ac.abort()\n }\n return initialValue\n}\nasync function toArray(options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n const result = []\n for await (const val of this) {\n var _options$signal7\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal7 = options.signal) !== null &&\n _options$signal7 !== undefined &&\n _options$signal7.aborted\n ) {\n throw new AbortError(undefined, {\n cause: options.signal.reason\n })\n }\n ArrayPrototypePush(result, val)\n }\n return result\n}\nfunction flatMap(fn, options) {\n const values = map.call(this, fn, options)\n return async function* flatMap() {\n for await (const val of values) {\n yield* val\n }\n }.call(this)\n}\nfunction toIntegerOrInfinity(number) {\n // We coerce here to align with the spec\n // https://github.com/tc39/proposal-iterator-helpers/issues/169\n number = Number(number)\n if (NumberIsNaN(number)) {\n return 0\n }\n if (number < 0) {\n throw new ERR_OUT_OF_RANGE('number', '>= 0', number)\n }\n return number\n}\nfunction drop(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* drop() {\n var _options$signal8\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal8 = options.signal) !== null &&\n _options$signal8 !== undefined &&\n _options$signal8.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal9\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal9 = options.signal) !== null &&\n _options$signal9 !== undefined &&\n _options$signal9.aborted\n ) {\n throw new AbortError()\n }\n if (number-- <= 0) {\n yield val\n }\n }\n }.call(this)\n}\nfunction take(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* take() {\n var _options$signal10\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal10 = options.signal) !== null &&\n _options$signal10 !== undefined &&\n _options$signal10.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal11\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal11 = options.signal) !== null &&\n _options$signal11 !== undefined &&\n _options$signal11.aborted\n ) {\n throw new AbortError()\n }\n if (number-- > 0) {\n yield val\n } else {\n return\n }\n }\n }.call(this)\n}\nmodule.exports.streamReturningOperators = {\n asIndexedPairs,\n drop,\n filter,\n flatMap,\n map,\n take,\n compose\n}\nmodule.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf } = require('../../ours/primordials')\nmodule.exports = PassThrough\nconst Transform = require('./transform')\nObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype)\nObjectSetPrototypeOf(PassThrough, Transform)\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options)\n Transform.call(this, options)\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk)\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { ArrayIsArray, Promise, SymbolAsyncIterator } = require('../../ours/primordials')\nconst eos = require('./end-of-stream')\nconst { once } = require('../../ours/util')\nconst destroyImpl = require('./destroy')\nconst Duplex = require('./duplex')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_PREMATURE_CLOSE\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateFunction, validateAbortSignal } = require('../validators')\nconst {\n isIterable,\n isReadable,\n isReadableNodeStream,\n isNodeStream,\n isTransformStream,\n isWebStream,\n isReadableStream,\n isReadableEnded\n} = require('./utils')\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nlet PassThrough\nlet Readable\nfunction destroyer(stream, reading, writing) {\n let finished = false\n stream.on('close', () => {\n finished = true\n })\n const cleanup = eos(\n stream,\n {\n readable: reading,\n writable: writing\n },\n (err) => {\n finished = !err\n }\n )\n return {\n destroy: (err) => {\n if (finished) return\n finished = true\n destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED('pipe'))\n },\n cleanup\n }\n}\nfunction popCallback(streams) {\n // Streams should never be an empty array. It should always contain at least\n // a single stream. Therefore optimize for the average case instead of\n // checking for length === 0 as well.\n validateFunction(streams[streams.length - 1], 'streams[stream.length - 1]')\n return streams.pop()\n}\nfunction makeAsyncIterable(val) {\n if (isIterable(val)) {\n return val\n } else if (isReadableNodeStream(val)) {\n // Legacy streams are not Iterable.\n return fromReadable(val)\n }\n throw new ERR_INVALID_ARG_TYPE('val', ['Readable', 'Iterable', 'AsyncIterable'], val)\n}\nasync function* fromReadable(val) {\n if (!Readable) {\n Readable = require('./readable')\n }\n yield* Readable.prototype[SymbolAsyncIterator].call(val)\n}\nasync function pumpToNode(iterable, writable, finish, { end }) {\n let error\n let onresolve = null\n const resume = (err) => {\n if (err) {\n error = err\n }\n if (onresolve) {\n const callback = onresolve\n onresolve = null\n callback()\n }\n }\n const wait = () =>\n new Promise((resolve, reject) => {\n if (error) {\n reject(error)\n } else {\n onresolve = () => {\n if (error) {\n reject(error)\n } else {\n resolve()\n }\n }\n }\n })\n writable.on('drain', resume)\n const cleanup = eos(\n writable,\n {\n readable: false\n },\n resume\n )\n try {\n if (writable.writableNeedDrain) {\n await wait()\n }\n for await (const chunk of iterable) {\n if (!writable.write(chunk)) {\n await wait()\n }\n }\n if (end) {\n writable.end()\n }\n await wait()\n finish()\n } catch (err) {\n finish(error !== err ? aggregateTwoErrors(error, err) : err)\n } finally {\n cleanup()\n writable.off('drain', resume)\n }\n}\nasync function pumpToWeb(readable, writable, finish, { end }) {\n if (isTransformStream(writable)) {\n writable = writable.writable\n }\n // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure\n const writer = writable.getWriter()\n try {\n for await (const chunk of readable) {\n await writer.ready\n writer.write(chunk).catch(() => {})\n }\n await writer.ready\n if (end) {\n await writer.close()\n }\n finish()\n } catch (err) {\n try {\n await writer.abort(err)\n finish(err)\n } catch (err) {\n finish(err)\n }\n }\n}\nfunction pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)))\n}\nfunction pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray(streams[0])) {\n streams = streams[0]\n }\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams')\n }\n const ac = new AbortController()\n const signal = ac.signal\n const outerSignal = opts === null || opts === undefined ? undefined : opts.signal\n\n // Need to cleanup event listeners if last stream is readable\n // https://github.com/nodejs/node/issues/35452\n const lastStreamCleanup = []\n validateAbortSignal(outerSignal, 'options.signal')\n function abort() {\n finishImpl(new AbortError())\n }\n outerSignal === null || outerSignal === undefined ? undefined : outerSignal.addEventListener('abort', abort)\n let error\n let value\n const destroys = []\n let finishCount = 0\n function finish(err) {\n finishImpl(err, --finishCount === 0)\n }\n function finishImpl(err, final) {\n if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE')) {\n error = err\n }\n if (!error && !final) {\n return\n }\n while (destroys.length) {\n destroys.shift()(error)\n }\n outerSignal === null || outerSignal === undefined ? undefined : outerSignal.removeEventListener('abort', abort)\n ac.abort()\n if (final) {\n if (!error) {\n lastStreamCleanup.forEach((fn) => fn())\n }\n process.nextTick(callback, error, value)\n }\n }\n let ret\n for (let i = 0; i < streams.length; i++) {\n const stream = streams[i]\n const reading = i < streams.length - 1\n const writing = i > 0\n const end = reading || (opts === null || opts === undefined ? undefined : opts.end) !== false\n const isLastStream = i === streams.length - 1\n if (isNodeStream(stream)) {\n if (end) {\n const { destroy, cleanup } = destroyer(stream, reading, writing)\n destroys.push(destroy)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n\n // Catch stream errors that occur after pipe/pump has completed.\n function onError(err) {\n if (err && err.name !== 'AbortError' && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n finish(err)\n }\n }\n stream.on('error', onError)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(() => {\n stream.removeListener('error', onError)\n })\n }\n }\n if (i === 0) {\n if (typeof stream === 'function') {\n ret = stream({\n signal\n })\n if (!isIterable(ret)) {\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or Stream', 'source', ret)\n }\n } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n } else if (typeof stream === 'function') {\n if (isTransformStream(ret)) {\n var _ret\n ret = makeAsyncIterable((_ret = ret) === null || _ret === undefined ? undefined : _ret.readable)\n } else {\n ret = makeAsyncIterable(ret)\n }\n ret = stream(ret, {\n signal\n })\n if (reading) {\n if (!isIterable(ret, true)) {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable', `transform[${i - 1}]`, ret)\n }\n } else {\n var _ret2\n if (!PassThrough) {\n PassThrough = require('./passthrough')\n }\n\n // If the last argument to pipeline is not a stream\n // we must create a proxy stream so that pipeline(...)\n // always returns a stream which can be further\n // composed through `.pipe(stream)`.\n\n const pt = new PassThrough({\n objectMode: true\n })\n\n // Handle Promises/A+ spec, `then` could be a getter that throws on\n // second use.\n const then = (_ret2 = ret) === null || _ret2 === undefined ? undefined : _ret2.then\n if (typeof then === 'function') {\n finishCount++\n then.call(\n ret,\n (val) => {\n value = val\n if (val != null) {\n pt.write(val)\n }\n if (end) {\n pt.end()\n }\n process.nextTick(finish)\n },\n (err) => {\n pt.destroy(err)\n process.nextTick(finish, err)\n }\n )\n } else if (isIterable(ret, true)) {\n finishCount++\n pumpToNode(ret, pt, finish, {\n end\n })\n } else if (isReadableStream(ret) || isTransformStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, pt, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable or Promise', 'destination', ret)\n }\n ret = pt\n const { destroy, cleanup } = destroyer(ret, false, true)\n destroys.push(destroy)\n if (isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n } else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2\n const cleanup = pipe(ret, stream, finish, {\n end\n })\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n } else if (isTransformStream(ret) || isReadableStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, stream, finish, {\n end\n })\n } else if (isIterable(ret)) {\n finishCount++\n pumpToNode(ret, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else if (isWebStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount++\n pumpToWeb(makeAsyncIterable(ret), stream, finish, {\n end\n })\n } else if (isReadableStream(ret) || isIterable(ret)) {\n finishCount++\n pumpToWeb(ret, stream, finish, {\n end\n })\n } else if (isTransformStream(ret)) {\n finishCount++\n pumpToWeb(ret.readable, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n }\n if (\n (signal !== null && signal !== undefined && signal.aborted) ||\n (outerSignal !== null && outerSignal !== undefined && outerSignal.aborted)\n ) {\n process.nextTick(abort)\n }\n return ret\n}\nfunction pipe(src, dst, finish, { end }) {\n let ended = false\n dst.on('close', () => {\n if (!ended) {\n // Finish if the destination closes before the source has completed.\n finish(new ERR_STREAM_PREMATURE_CLOSE())\n }\n })\n src.pipe(dst, {\n end: false\n }) // If end is true we already will have a listener to end dst.\n\n if (end) {\n // Compat. Before node v10.12.0 stdio used to throw an error so\n // pipe() did/does not end() stdio destinations.\n // Now they allow it but \"secretly\" don't close the underlying fd.\n\n function endFn() {\n ended = true\n dst.end()\n }\n if (isReadableEnded(src)) {\n // End the destination if the source has already ended.\n process.nextTick(endFn)\n } else {\n src.once('end', endFn)\n }\n } else {\n finish()\n }\n eos(\n src,\n {\n readable: true,\n writable: false\n },\n (err) => {\n const rState = src._readableState\n if (\n err &&\n err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&\n rState &&\n rState.ended &&\n !rState.errored &&\n !rState.errorEmitted\n ) {\n // Some readable streams will emit 'close' before 'end'. However, since\n // this is on the readable side 'end' should still be emitted if the\n // stream has been ended and no error emitted. This should be allowed in\n // favor of backwards compatibility. Since the stream is piped to a\n // destination this should not result in any observable difference.\n // We don't need to check if this is a writable premature close since\n // eos will only fail with premature close on the reading side for\n // duplex streams.\n src.once('end', finish).once('error', finish)\n } else {\n finish(err)\n }\n }\n )\n return eos(\n dst,\n {\n readable: false,\n writable: true\n },\n finish\n )\n}\nmodule.exports = {\n pipelineImpl,\n pipeline\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise,\n SafeSet,\n SymbolAsyncIterator,\n Symbol\n} = require('../../ours/primordials')\nmodule.exports = Readable\nReadable.ReadableState = ReadableState\nconst { EventEmitter: EE } = require('events')\nconst { Stream, prependListener } = require('./legacy')\nconst { Buffer } = require('buffer')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst eos = require('./end-of-stream')\nlet debug = require('../../ours/util').debuglog('stream', (fn) => {\n debug = fn\n})\nconst BufferList = require('./buffer_list')\nconst destroyImpl = require('./destroy')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n }\n} = require('../../ours/errors')\nconst { validateObject } = require('../validators')\nconst kPaused = Symbol('kPaused')\nconst { StringDecoder } = require('string_decoder')\nconst from = require('./from')\nObjectSetPrototypeOf(Readable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Readable, Stream)\nconst nop = () => {}\nconst { errorOrDestroy } = destroyImpl\nfunction ReadableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away.\n this.objectMode = !!(options && options.objectMode)\n if (isDuplex) this.objectMode = this.objectMode || !!(options && options.readableObjectMode)\n\n // The point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift().\n this.buffer = new BufferList()\n this.length = 0\n this.pipes = []\n this.flowing = null\n this.ended = false\n this.endEmitted = false\n this.reading = false\n\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n this.constructed = true\n\n // A flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true\n\n // Whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false\n this.emittedReadable = false\n this.readableListening = false\n this.resumeScheduled = false\n this[kPaused] = null\n\n // True if the error was already emitted and should not be thrown again.\n this.errorEmitted = false\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = !options || options.emitClose !== false\n\n // Should .destroy() be called after 'end' (and potentially 'finish').\n this.autoDestroy = !options || options.autoDestroy !== false\n\n // Has it been destroyed.\n this.destroyed = false\n\n // Indicates whether the stream has errored. When true no further\n // _read calls, 'data' or 'readable' events should occur. This is needed\n // since when autoDestroy is disabled we need a way to tell whether the\n // stream has failed.\n this.errored = null\n\n // Indicates whether the stream has finished destroying.\n this.closed = false\n\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n this.closeEmitted = false\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Ref the piped dest which we need a drain event on it\n // type: null | Writable | Set.\n this.awaitDrainWriters = null\n this.multiAwaitDrain = false\n\n // If true, a maybeReadMore has been scheduled.\n this.readingMore = false\n this.dataEmitted = false\n this.decoder = null\n this.encoding = null\n if (options && options.encoding) {\n this.decoder = new StringDecoder(options.encoding)\n this.encoding = options.encoding\n }\n}\nfunction Readable(options) {\n if (!(this instanceof Readable)) return new Readable(options)\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n this._readableState = new ReadableState(options, this, isDuplex)\n if (options) {\n if (typeof options.read === 'function') this._read = options.read\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal && !isDuplex) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n if (this._readableState.needReadable) {\n maybeReadMore(this, this._readableState)\n }\n })\n}\nReadable.prototype.destroy = destroyImpl.destroy\nReadable.prototype._undestroy = destroyImpl.undestroy\nReadable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nReadable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, false)\n}\n\n// Unshift should *always* be something directly out of read().\nReadable.prototype.unshift = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, true)\n}\nfunction readableAddChunk(stream, chunk, encoding, addToFront) {\n debug('readableAddChunk', chunk)\n const state = stream._readableState\n let err\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding\n if (state.encoding !== encoding) {\n if (addToFront && state.encoding) {\n // When unshifting, if state.encoding is set, we have to save\n // the string in the BufferList with the state encoding.\n chunk = Buffer.from(chunk, encoding).toString(state.encoding)\n } else {\n chunk = Buffer.from(chunk, encoding)\n encoding = ''\n }\n }\n } else if (chunk instanceof Buffer) {\n encoding = ''\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = ''\n } else if (chunk != null) {\n err = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n if (err) {\n errorOrDestroy(stream, err)\n } else if (chunk === null) {\n state.reading = false\n onEofChunk(stream, state)\n } else if (state.objectMode || (chunk && chunk.length > 0)) {\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT())\n else if (state.destroyed || state.errored) return false\n else addChunk(stream, state, chunk, true)\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF())\n } else if (state.destroyed || state.errored) {\n return false\n } else {\n state.reading = false\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk)\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false)\n else maybeReadMore(stream, state)\n } else {\n addChunk(stream, state, chunk, false)\n }\n }\n } else if (!addToFront) {\n state.reading = false\n maybeReadMore(stream, state)\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0)\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount('data') > 0) {\n // Use the guard to avoid creating `Set()` repeatedly\n // when we have multiple pipes.\n if (state.multiAwaitDrain) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n state.dataEmitted = true\n stream.emit('data', chunk)\n } else {\n // Update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length\n if (addToFront) state.buffer.unshift(chunk)\n else state.buffer.push(chunk)\n if (state.needReadable) emitReadable(stream)\n }\n maybeReadMore(stream, state)\n}\nReadable.prototype.isPaused = function () {\n const state = this._readableState\n return state[kPaused] === true || state.flowing === false\n}\n\n// Backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n const decoder = new StringDecoder(enc)\n this._readableState.decoder = decoder\n // If setEncoding(null), decoder.encoding equals utf8.\n this._readableState.encoding = this._readableState.decoder.encoding\n const buffer = this._readableState.buffer\n // Iterate over current buffer to convert already stored Buffers:\n let content = ''\n for (const data of buffer) {\n content += decoder.write(data)\n }\n buffer.clear()\n if (content !== '') buffer.push(content)\n this._readableState.length = content.length\n return this\n}\n\n// Don't raise the hwm > 1GB.\nconst MAX_HWM = 0x40000000\nfunction computeNewHighWaterMark(n) {\n if (n > MAX_HWM) {\n throw new ERR_OUT_OF_RANGE('size', '<= 1GiB', n)\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts.\n n--\n n |= n >>> 1\n n |= n >>> 2\n n |= n >>> 4\n n |= n >>> 8\n n |= n >>> 16\n n++\n }\n return n\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || (state.length === 0 && state.ended)) return 0\n if (state.objectMode) return 1\n if (NumberIsNaN(n)) {\n // Only flow one buffer at a time.\n if (state.flowing && state.length) return state.buffer.first().length\n return state.length\n }\n if (n <= state.length) return n\n return state.ended ? state.length : 0\n}\n\n// You can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n)\n // Same as parseInt(undefined, 10), however V8 7.3 performance regressed\n // in this scenario, so we are doing it manually.\n if (n === undefined) {\n n = NaN\n } else if (!NumberIsInteger(n)) {\n n = NumberParseInt(n, 10)\n }\n const state = this._readableState\n const nOrig = n\n\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n)\n if (n !== 0) state.emittedReadable = false\n\n // If we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (\n n === 0 &&\n state.needReadable &&\n ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)\n ) {\n debug('read: emitReadable', state.length, state.ended)\n if (state.length === 0 && state.ended) endReadable(this)\n else emitReadable(this)\n return null\n }\n n = howMuchToRead(n, state)\n\n // If we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this)\n return null\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n let doRead = state.needReadable\n debug('need readable', doRead)\n\n // If we currently have less than the highWaterMark, then also read some.\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true\n debug('length less than watermark', doRead)\n }\n\n // However, if we've ended, then there's no point, if we're already\n // reading, then it's unnecessary, if we're constructing we have to wait,\n // and if we're destroyed or errored, then it's not allowed,\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {\n doRead = false\n debug('reading, ended or constructing', doRead)\n } else if (doRead) {\n debug('do read')\n state.reading = true\n state.sync = true\n // If the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true\n\n // Call internal read method\n try {\n this._read(state.highWaterMark)\n } catch (err) {\n errorOrDestroy(this, err)\n }\n state.sync = false\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state)\n }\n let ret\n if (n > 0) ret = fromList(n, state)\n else ret = null\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark\n n = 0\n } else {\n state.length -= n\n if (state.multiAwaitDrain) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this)\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted) {\n state.dataEmitted = true\n this.emit('data', ret)\n }\n return ret\n}\nfunction onEofChunk(stream, state) {\n debug('onEofChunk')\n if (state.ended) return\n if (state.decoder) {\n const chunk = state.decoder.end()\n if (chunk && chunk.length) {\n state.buffer.push(chunk)\n state.length += state.objectMode ? 1 : chunk.length\n }\n }\n state.ended = true\n if (state.sync) {\n // If we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call.\n emitReadable(stream)\n } else {\n // Emit 'readable' now to make sure it gets picked up.\n state.needReadable = false\n state.emittedReadable = true\n // We have to emit readable now that we are EOF. Modules\n // in the ecosystem (e.g. dicer) rely on this event being sync.\n emitReadable_(stream)\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n const state = stream._readableState\n debug('emitReadable', state.needReadable, state.emittedReadable)\n state.needReadable = false\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing)\n state.emittedReadable = true\n process.nextTick(emitReadable_, stream)\n }\n}\nfunction emitReadable_(stream) {\n const state = stream._readableState\n debug('emitReadable_', state.destroyed, state.length, state.ended)\n if (!state.destroyed && !state.errored && (state.length || state.ended)) {\n stream.emit('readable')\n state.emittedReadable = false\n }\n\n // The stream needs another readable event if:\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark\n flow(stream)\n}\n\n// At this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore && state.constructed) {\n state.readingMore = true\n process.nextTick(maybeReadMore_, stream, state)\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (\n !state.reading &&\n !state.ended &&\n (state.length < state.highWaterMark || (state.flowing && state.length === 0))\n ) {\n const len = state.length\n debug('maybeReadMore read 0')\n stream.read(0)\n if (len === state.length)\n // Didn't get any data, stop spinning.\n break\n }\n state.readingMore = false\n}\n\n// Abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_read()')\n}\nReadable.prototype.pipe = function (dest, pipeOpts) {\n const src = this\n const state = this._readableState\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain) {\n state.multiAwaitDrain = true\n state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : [])\n }\n }\n state.pipes.push(dest)\n debug('pipe count=%d opts=%j', state.pipes.length, pipeOpts)\n const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr\n const endFn = doEnd ? onend : unpipe\n if (state.endEmitted) process.nextTick(endFn)\n else src.once('end', endFn)\n dest.on('unpipe', onunpipe)\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe')\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true\n cleanup()\n }\n }\n }\n function onend() {\n debug('onend')\n dest.end()\n }\n let ondrain\n let cleanedUp = false\n function cleanup() {\n debug('cleanup')\n // Cleanup event handlers once the pipe is broken.\n dest.removeListener('close', onclose)\n dest.removeListener('finish', onfinish)\n if (ondrain) {\n dest.removeListener('drain', ondrain)\n }\n dest.removeListener('error', onerror)\n dest.removeListener('unpipe', onunpipe)\n src.removeListener('end', onend)\n src.removeListener('end', unpipe)\n src.removeListener('data', ondata)\n cleanedUp = true\n\n // If the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain()\n }\n function pause() {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest) {\n debug('false write response, pause', 0)\n state.awaitDrainWriters = dest\n state.multiAwaitDrain = false\n } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {\n debug('false write response, pause', state.awaitDrainWriters.size)\n state.awaitDrainWriters.add(dest)\n }\n src.pause()\n }\n if (!ondrain) {\n // When the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n ondrain = pipeOnDrain(src, dest)\n dest.on('drain', ondrain)\n }\n }\n src.on('data', ondata)\n function ondata(chunk) {\n debug('ondata')\n const ret = dest.write(chunk)\n debug('dest.write', ret)\n if (ret === false) {\n pause()\n }\n }\n\n // If the dest has an error, then stop piping into it.\n // However, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er)\n unpipe()\n dest.removeListener('error', onerror)\n if (dest.listenerCount('error') === 0) {\n const s = dest._writableState || dest._readableState\n if (s && !s.errorEmitted) {\n // User incorrectly emitted 'error' directly on the stream.\n errorOrDestroy(dest, er)\n } else {\n dest.emit('error', er)\n }\n }\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror)\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish)\n unpipe()\n }\n dest.once('close', onclose)\n function onfinish() {\n debug('onfinish')\n dest.removeListener('close', onclose)\n unpipe()\n }\n dest.once('finish', onfinish)\n function unpipe() {\n debug('unpipe')\n src.unpipe(dest)\n }\n\n // Tell the dest that it's being piped to.\n dest.emit('pipe', src)\n\n // Start the flow if it hasn't been started already.\n\n if (dest.writableNeedDrain === true) {\n if (state.flowing) {\n pause()\n }\n } else if (!state.flowing) {\n debug('pipe resume')\n src.resume()\n }\n return dest\n}\nfunction pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState\n\n // `ondrain` will call directly,\n // `this` maybe not a reference to dest,\n // so we use the real dest here.\n if (state.awaitDrainWriters === dest) {\n debug('pipeOnDrain', 1)\n state.awaitDrainWriters = null\n } else if (state.multiAwaitDrain) {\n debug('pipeOnDrain', state.awaitDrainWriters.size)\n state.awaitDrainWriters.delete(dest)\n }\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount('data')) {\n src.resume()\n }\n }\n}\nReadable.prototype.unpipe = function (dest) {\n const state = this._readableState\n const unpipeInfo = {\n hasUnpiped: false\n }\n\n // If we're not piping anywhere, then do nothing.\n if (state.pipes.length === 0) return this\n if (!dest) {\n // remove all.\n const dests = state.pipes\n state.pipes = []\n this.pause()\n for (let i = 0; i < dests.length; i++)\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n })\n return this\n }\n\n // Try to find the right one.\n const index = ArrayPrototypeIndexOf(state.pipes, dest)\n if (index === -1) return this\n state.pipes.splice(index, 1)\n if (state.pipes.length === 0) this.pause()\n dest.emit('unpipe', this, unpipeInfo)\n return this\n}\n\n// Set up data events if they are asked for\n// Ensure readable listeners eventually get something.\nReadable.prototype.on = function (ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn)\n const state = this._readableState\n if (ev === 'data') {\n // Update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0\n\n // Try start flowing on next tick if stream isn't explicitly paused.\n if (state.flowing !== false) this.resume()\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true\n state.flowing = false\n state.emittedReadable = false\n debug('on readable', state.length, state.reading)\n if (state.length) {\n emitReadable(this)\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this)\n }\n }\n }\n return res\n}\nReadable.prototype.addListener = Readable.prototype.on\nReadable.prototype.removeListener = function (ev, fn) {\n const res = Stream.prototype.removeListener.call(this, ev, fn)\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nReadable.prototype.off = Readable.prototype.removeListener\nReadable.prototype.removeAllListeners = function (ev) {\n const res = Stream.prototype.removeAllListeners.apply(this, arguments)\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nfunction updateReadableListening(self) {\n const state = self._readableState\n state.readableListening = self.listenerCount('readable') > 0\n if (state.resumeScheduled && state[kPaused] === false) {\n // Flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true\n\n // Crude way to check if we should resume.\n } else if (self.listenerCount('data') > 0) {\n self.resume()\n } else if (!state.readableListening) {\n state.flowing = null\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0')\n self.read(0)\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n const state = this._readableState\n if (!state.flowing) {\n debug('resume')\n // We flow only if there is no one listening\n // for readable, but we still have to call\n // resume().\n state.flowing = !state.readableListening\n resume(this, state)\n }\n state[kPaused] = false\n return this\n}\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true\n process.nextTick(resume_, stream, state)\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading)\n if (!state.reading) {\n stream.read(0)\n }\n state.resumeScheduled = false\n stream.emit('resume')\n flow(stream)\n if (state.flowing && !state.reading) stream.read(0)\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing)\n if (this._readableState.flowing !== false) {\n debug('pause')\n this._readableState.flowing = false\n this.emit('pause')\n }\n this._readableState[kPaused] = true\n return this\n}\nfunction flow(stream) {\n const state = stream._readableState\n debug('flow', state.flowing)\n while (state.flowing && stream.read() !== null);\n}\n\n// Wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n let paused = false\n\n // TODO (ronag): Should this.destroy(err) emit\n // 'error' on the wrapped stream? Would require\n // a static factory method, e.g. Readable.wrap(stream).\n\n stream.on('data', (chunk) => {\n if (!this.push(chunk) && stream.pause) {\n paused = true\n stream.pause()\n }\n })\n stream.on('end', () => {\n this.push(null)\n })\n stream.on('error', (err) => {\n errorOrDestroy(this, err)\n })\n stream.on('close', () => {\n this.destroy()\n })\n stream.on('destroy', () => {\n this.destroy()\n })\n this._read = () => {\n if (paused && stream.resume) {\n paused = false\n stream.resume()\n }\n }\n\n // Proxy all the other methods. Important when wrapping filters and duplexes.\n const streamKeys = ObjectKeys(stream)\n for (let j = 1; j < streamKeys.length; j++) {\n const i = streamKeys[j]\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = stream[i].bind(stream)\n }\n }\n return this\n}\nReadable.prototype[SymbolAsyncIterator] = function () {\n return streamToAsyncIterator(this)\n}\nReadable.prototype.iterator = function (options) {\n if (options !== undefined) {\n validateObject(options, 'options')\n }\n return streamToAsyncIterator(this, options)\n}\nfunction streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== 'function') {\n stream = Readable.wrap(stream, {\n objectMode: true\n })\n }\n const iter = createAsyncIterator(stream, options)\n iter.stream = stream\n return iter\n}\nasync function* createAsyncIterator(stream, options) {\n let callback = nop\n function next(resolve) {\n if (this === stream) {\n callback()\n callback = nop\n } else {\n callback = resolve\n }\n }\n stream.on('readable', next)\n let error\n const cleanup = eos(\n stream,\n {\n writable: false\n },\n (err) => {\n error = err ? aggregateTwoErrors(error, err) : null\n callback()\n callback = nop\n }\n )\n try {\n while (true) {\n const chunk = stream.destroyed ? null : stream.read()\n if (chunk !== null) {\n yield chunk\n } else if (error) {\n throw error\n } else if (error === null) {\n return\n } else {\n await new Promise(next)\n }\n }\n } catch (err) {\n error = aggregateTwoErrors(error, err)\n throw error\n } finally {\n if (\n (error || (options === null || options === undefined ? undefined : options.destroyOnReturn) !== false) &&\n (error === undefined || stream._readableState.autoDestroy)\n ) {\n destroyImpl.destroyer(stream, null)\n } else {\n stream.off('readable', next)\n cleanup()\n }\n }\n}\n\n// Making it explicit these properties are not enumerable\n// because otherwise some prototype manipulation in\n// userland will fail.\nObjectDefineProperties(Readable.prototype, {\n readable: {\n __proto__: null,\n get() {\n const r = this._readableState\n // r.readable === false means that this is part of a Duplex stream\n // where the readable side was disabled upon construction.\n // Compat. The user might manually disable readable side through\n // deprecated setter.\n return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted\n },\n set(val) {\n // Backwards compat.\n if (this._readableState) {\n this._readableState.readable = !!val\n }\n }\n },\n readableDidRead: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.dataEmitted\n }\n },\n readableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._readableState.readable !== false &&\n (this._readableState.destroyed || this._readableState.errored) &&\n !this._readableState.endEmitted\n )\n }\n },\n readableHighWaterMark: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark\n }\n },\n readableBuffer: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState && this._readableState.buffer\n }\n },\n readableFlowing: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.flowing\n },\n set: function (state) {\n if (this._readableState) {\n this._readableState.flowing = state\n }\n }\n },\n readableLength: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState.length\n }\n },\n readableObjectMode: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.objectMode : false\n }\n },\n readableEncoding: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.encoding : null\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.errored : null\n }\n },\n closed: {\n __proto__: null,\n get() {\n return this._readableState ? this._readableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.destroyed : false\n },\n set(value) {\n // We ignore the value if the stream\n // has not been initialized yet.\n if (!this._readableState) {\n return\n }\n\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n this._readableState.destroyed = value\n }\n },\n readableEnded: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.endEmitted : false\n }\n }\n})\nObjectDefineProperties(ReadableState.prototype, {\n // Legacy getter for `pipesCount`.\n pipesCount: {\n __proto__: null,\n get() {\n return this.pipes.length\n }\n },\n // Legacy property for `paused`.\n paused: {\n __proto__: null,\n get() {\n return this[kPaused] !== false\n },\n set(value) {\n this[kPaused] = !!value\n }\n }\n})\n\n// Exposed for testing purposes only.\nReadable._fromList = fromList\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered.\n if (state.length === 0) return null\n let ret\n if (state.objectMode) ret = state.buffer.shift()\n else if (!n || n >= state.length) {\n // Read it all, truncate the list.\n if (state.decoder) ret = state.buffer.join('')\n else if (state.buffer.length === 1) ret = state.buffer.first()\n else ret = state.buffer.concat(state.length)\n state.buffer.clear()\n } else {\n // read part of list.\n ret = state.buffer.consume(n, state.decoder)\n }\n return ret\n}\nfunction endReadable(stream) {\n const state = stream._readableState\n debug('endReadable', state.endEmitted)\n if (!state.endEmitted) {\n state.ended = true\n process.nextTick(endReadableNT, state, stream)\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length)\n\n // Check that we didn't get one last unshift.\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n state.endEmitted = true\n stream.emit('end')\n if (stream.writable && stream.allowHalfOpen === false) {\n process.nextTick(endWritableNT, stream)\n } else if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well.\n const wState = stream._writableState\n const autoDestroy =\n !wState ||\n (wState.autoDestroy &&\n // We don't expect the writable to ever 'finish'\n // if writable is explicitly set to false.\n (wState.finished || wState.writable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n }\n}\nfunction endWritableNT(stream) {\n const writable = stream.writable && !stream.writableEnded && !stream.destroyed\n if (writable) {\n stream.end()\n }\n}\nReadable.from = function (iterable, opts) {\n return from(Readable, iterable, opts)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nReadable.fromWeb = function (readableStream, options) {\n return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options)\n}\nReadable.toWeb = function (streamReadable, options) {\n return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options)\n}\nReadable.wrap = function (src, options) {\n var _ref, _src$readableObjectMo\n return new Readable({\n objectMode:\n (_ref =\n (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== undefined\n ? _src$readableObjectMo\n : src.objectMode) !== null && _ref !== undefined\n ? _ref\n : true,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err)\n callback(err)\n }\n }).wrap(src)\n}\n","'use strict'\n\nconst { MathFloor, NumberIsInteger } = require('../../ours/primordials')\nconst { ERR_INVALID_ARG_VALUE } = require('../../ours/errors').codes\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null\n}\nfunction getDefaultHighWaterMark(objectMode) {\n return objectMode ? 16 : 16 * 1024\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey)\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex ? `options.${duplexKey}` : 'options.highWaterMark'\n throw new ERR_INVALID_ARG_VALUE(name, hwm)\n }\n return MathFloor(hwm)\n }\n\n // Default value\n return getDefaultHighWaterMark(state.objectMode)\n}\nmodule.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf, Symbol } = require('../../ours/primordials')\nmodule.exports = Transform\nconst { ERR_METHOD_NOT_IMPLEMENTED } = require('../../ours/errors').codes\nconst Duplex = require('./duplex')\nconst { getHighWaterMark } = require('./state')\nObjectSetPrototypeOf(Transform.prototype, Duplex.prototype)\nObjectSetPrototypeOf(Transform, Duplex)\nconst kCallback = Symbol('kCallback')\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options)\n\n // TODO (ronag): This should preferably always be\n // applied but would be semver-major. Or even better;\n // make Transform a Readable with the Writable interface.\n const readableHighWaterMark = options ? getHighWaterMark(this, options, 'readableHighWaterMark', true) : null\n if (readableHighWaterMark === 0) {\n // A Duplex will buffer both on the writable and readable side while\n // a Transform just wants to buffer hwm number of elements. To avoid\n // buffering twice we disable buffering on the writable side.\n options = {\n ...options,\n highWaterMark: null,\n readableHighWaterMark,\n // TODO (ronag): 0 is not optimal since we have\n // a \"bug\" where we check needDrain before calling _write and not after.\n // Refs: https://github.com/nodejs/node/pull/32887\n // Refs: https://github.com/nodejs/node/pull/35941\n writableHighWaterMark: options.writableHighWaterMark || 0\n }\n }\n Duplex.call(this, options)\n\n // We have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false\n this[kCallback] = null\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform\n if (typeof options.flush === 'function') this._flush = options.flush\n }\n\n // When the writable side finishes, then flush out anything remaining.\n // Backwards compat. Some Transform streams incorrectly implement _final\n // instead of or in addition to _flush. By using 'prefinish' instead of\n // implementing _final we continue supporting this unfortunate use case.\n this.on('prefinish', prefinish)\n}\nfunction final(cb) {\n if (typeof this._flush === 'function' && !this.destroyed) {\n this._flush((er, data) => {\n if (er) {\n if (cb) {\n cb(er)\n } else {\n this.destroy(er)\n }\n return\n }\n if (data != null) {\n this.push(data)\n }\n this.push(null)\n if (cb) {\n cb()\n }\n })\n } else {\n this.push(null)\n if (cb) {\n cb()\n }\n }\n}\nfunction prefinish() {\n if (this._final !== final) {\n final.call(this)\n }\n}\nTransform.prototype._final = final\nTransform.prototype._transform = function (chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_transform()')\n}\nTransform.prototype._write = function (chunk, encoding, callback) {\n const rState = this._readableState\n const wState = this._writableState\n const length = rState.length\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err)\n return\n }\n if (val != null) {\n this.push(val)\n }\n if (\n wState.ended ||\n // Backwards compat.\n length === rState.length ||\n // Backwards compat.\n rState.length < rState.highWaterMark\n ) {\n callback()\n } else {\n this[kCallback] = callback\n }\n })\n}\nTransform.prototype._read = function () {\n if (this[kCallback]) {\n const callback = this[kCallback]\n this[kCallback] = null\n callback()\n }\n}\n","'use strict'\n\nconst { Symbol, SymbolAsyncIterator, SymbolIterator, SymbolFor } = require('../../ours/primordials')\nconst kDestroyed = Symbol('kDestroyed')\nconst kIsErrored = Symbol('kIsErrored')\nconst kIsReadable = Symbol('kIsReadable')\nconst kIsDisturbed = Symbol('kIsDisturbed')\nconst kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise')\nconst kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction')\nfunction isReadableNodeStream(obj, strict = false) {\n var _obj$_readableState\n return !!(\n (\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!strict || (typeof obj.pause === 'function' && typeof obj.resume === 'function')) &&\n (!obj._writableState ||\n ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === undefined\n ? undefined\n : _obj$_readableState.readable) !== false) &&\n // Duplex\n (!obj._writableState || obj._readableState)\n ) // Writable has .pipe.\n )\n}\n\nfunction isWritableNodeStream(obj) {\n var _obj$_writableState\n return !!(\n (\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState ||\n ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === undefined\n ? undefined\n : _obj$_writableState.writable) !== false)\n ) // Duplex\n )\n}\n\nfunction isDuplexNodeStream(obj) {\n return !!(\n obj &&\n typeof obj.pipe === 'function' &&\n obj._readableState &&\n typeof obj.on === 'function' &&\n typeof obj.write === 'function'\n )\n}\nfunction isNodeStream(obj) {\n return (\n obj &&\n (obj._readableState ||\n obj._writableState ||\n (typeof obj.write === 'function' && typeof obj.on === 'function') ||\n (typeof obj.pipe === 'function' && typeof obj.on === 'function'))\n )\n}\nfunction isReadableStream(obj) {\n return !!(\n obj &&\n !isNodeStream(obj) &&\n typeof obj.pipeThrough === 'function' &&\n typeof obj.getReader === 'function' &&\n typeof obj.cancel === 'function'\n )\n}\nfunction isWritableStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === 'function' && typeof obj.abort === 'function')\n}\nfunction isTransformStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.readable === 'object' && typeof obj.writable === 'object')\n}\nfunction isWebStream(obj) {\n return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj)\n}\nfunction isIterable(obj, isAsync) {\n if (obj == null) return false\n if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function'\n if (isAsync === false) return typeof obj[SymbolIterator] === 'function'\n return typeof obj[SymbolAsyncIterator] === 'function' || typeof obj[SymbolIterator] === 'function'\n}\nfunction isDestroyed(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return !!(stream.destroyed || stream[kDestroyed] || (state !== null && state !== undefined && state.destroyed))\n}\n\n// Have been end():d.\nfunction isWritableEnded(stream) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableEnded === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.ended) !== 'boolean') return null\n return wState.ended\n}\n\n// Have emitted 'finish'.\nfunction isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableFinished === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.finished) !== 'boolean') return null\n return !!(wState.finished || (strict === false && wState.ended === true && wState.length === 0))\n}\n\n// Have been push(null):d.\nfunction isReadableEnded(stream) {\n if (!isReadableNodeStream(stream)) return null\n if (stream.readableEnded === true) return true\n const rState = stream._readableState\n if (!rState || rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.ended) !== 'boolean') return null\n return rState.ended\n}\n\n// Have emitted 'end'.\nfunction isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream)) return null\n const rState = stream._readableState\n if (rState !== null && rState !== undefined && rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.endEmitted) !== 'boolean') return null\n return !!(rState.endEmitted || (strict === false && rState.ended === true && rState.length === 0))\n}\nfunction isReadable(stream) {\n if (stream && stream[kIsReadable] != null) return stream[kIsReadable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.readable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream)\n}\nfunction isWritable(stream) {\n if (typeof (stream === null || stream === undefined ? undefined : stream.writable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream)\n}\nfunction isFinished(stream, opts) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (isDestroyed(stream)) {\n return true\n }\n if ((opts === null || opts === undefined ? undefined : opts.readable) !== false && isReadable(stream)) {\n return false\n }\n if ((opts === null || opts === undefined ? undefined : opts.writable) !== false && isWritable(stream)) {\n return false\n }\n return true\n}\nfunction isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.writableErrored) {\n return stream.writableErrored\n }\n return (_stream$_writableStat =\n (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === undefined\n ? undefined\n : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== undefined\n ? _stream$_writableStat\n : null\n}\nfunction isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.readableErrored) {\n return stream.readableErrored\n }\n return (_stream$_readableStat =\n (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === undefined\n ? undefined\n : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== undefined\n ? _stream$_readableStat\n : null\n}\nfunction isClosed(stream) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (typeof stream.closed === 'boolean') {\n return stream.closed\n }\n const wState = stream._writableState\n const rState = stream._readableState\n if (\n typeof (wState === null || wState === undefined ? undefined : wState.closed) === 'boolean' ||\n typeof (rState === null || rState === undefined ? undefined : rState.closed) === 'boolean'\n ) {\n return (\n (wState === null || wState === undefined ? undefined : wState.closed) ||\n (rState === null || rState === undefined ? undefined : rState.closed)\n )\n }\n if (typeof stream._closed === 'boolean' && isOutgoingMessage(stream)) {\n return stream._closed\n }\n return null\n}\nfunction isOutgoingMessage(stream) {\n return (\n typeof stream._closed === 'boolean' &&\n typeof stream._defaultKeepAlive === 'boolean' &&\n typeof stream._removedConnection === 'boolean' &&\n typeof stream._removedContLen === 'boolean'\n )\n}\nfunction isServerResponse(stream) {\n return typeof stream._sent100 === 'boolean' && isOutgoingMessage(stream)\n}\nfunction isServerRequest(stream) {\n var _stream$req\n return (\n typeof stream._consuming === 'boolean' &&\n typeof stream._dumped === 'boolean' &&\n ((_stream$req = stream.req) === null || _stream$req === undefined ? undefined : _stream$req.upgradeOrConnect) ===\n undefined\n )\n}\nfunction willEmitClose(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return (\n (!state && isServerResponse(stream)) || !!(state && state.autoDestroy && state.emitClose && state.closed === false)\n )\n}\nfunction isDisturbed(stream) {\n var _stream$kIsDisturbed\n return !!(\n stream &&\n ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== undefined\n ? _stream$kIsDisturbed\n : stream.readableDidRead || stream.readableAborted)\n )\n}\nfunction isErrored(stream) {\n var _ref,\n _ref2,\n _ref3,\n _ref4,\n _ref5,\n _stream$kIsErrored,\n _stream$_readableStat3,\n _stream$_writableStat3,\n _stream$_readableStat4,\n _stream$_writableStat4\n return !!(\n stream &&\n ((_ref =\n (_ref2 =\n (_ref3 =\n (_ref4 =\n (_ref5 =\n (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== undefined\n ? _stream$kIsErrored\n : stream.readableErrored) !== null && _ref5 !== undefined\n ? _ref5\n : stream.writableErrored) !== null && _ref4 !== undefined\n ? _ref4\n : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === undefined\n ? undefined\n : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== undefined\n ? _ref3\n : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === undefined\n ? undefined\n : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== undefined\n ? _ref2\n : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === undefined\n ? undefined\n : _stream$_readableStat4.errored) !== null && _ref !== undefined\n ? _ref\n : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === undefined\n ? undefined\n : _stream$_writableStat4.errored)\n )\n}\nmodule.exports = {\n kDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n kIsClosedPromise,\n kControllerErrorFunction,\n isClosed,\n isDestroyed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWebStream,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose,\n isTransformStream\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n;('use strict')\nconst {\n ArrayPrototypeSlice,\n Error,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol,\n SymbolHasInstance\n} = require('../../ours/primordials')\nmodule.exports = Writable\nWritable.WritableState = WritableState\nconst { EventEmitter: EE } = require('events')\nconst Stream = require('./legacy').Stream\nconst { Buffer } = require('buffer')\nconst destroyImpl = require('./destroy')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n} = require('../../ours/errors').codes\nconst { errorOrDestroy } = destroyImpl\nObjectSetPrototypeOf(Writable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Writable, Stream)\nfunction nop() {}\nconst kOnFinished = Symbol('kOnFinished')\nfunction WritableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!(options && options.objectMode)\n if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode)\n\n // The point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write().\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // if _final has been called.\n this.finalCalled = false\n\n // drain event flag.\n this.needDrain = false\n // At the start of calling end()\n this.ending = false\n // When end() has been called, and returned.\n this.ended = false\n // When 'finish' is emitted.\n this.finished = false\n\n // Has it been destroyed\n this.destroyed = false\n\n // Should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n const noDecode = !!(options && options.decodeStrings === false)\n this.decodeStrings = !noDecode\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0\n\n // A flag to see when we're in the middle of a write.\n this.writing = false\n\n // When true all writes will be buffered until .uncork() call.\n this.corked = 0\n\n // A flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true\n\n // A flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false\n\n // The callback that's passed to _write(chunk, cb).\n this.onwrite = onwrite.bind(undefined, stream)\n\n // The callback that the user supplies to write(chunk, encoding, cb).\n this.writecb = null\n\n // The amount that is being written when _write is called.\n this.writelen = 0\n\n // Storage for data passed to the afterWrite() callback in case of\n // synchronous _write() completion.\n this.afterWriteTickInfo = null\n resetBuffer(this)\n\n // Number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted.\n this.pendingcb = 0\n\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n this.constructed = true\n\n // Emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams.\n this.prefinished = false\n\n // True if the error was already emitted and should not be thrown again.\n this.errorEmitted = false\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = !options || options.emitClose !== false\n\n // Should .destroy() be called after 'finish' (and potentially 'end').\n this.autoDestroy = !options || options.autoDestroy !== false\n\n // Indicates whether the stream has errored. When true all write() calls\n // should return false. This is needed since when autoDestroy\n // is disabled we need a way to tell whether the stream has failed.\n this.errored = null\n\n // Indicates whether the stream has finished destroying.\n this.closed = false\n\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n this.closeEmitted = false\n this[kOnFinished] = []\n}\nfunction resetBuffer(state) {\n state.buffered = []\n state.bufferedIndex = 0\n state.allBuffers = true\n state.allNoop = true\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex)\n}\nObjectDefineProperty(WritableState.prototype, 'bufferedRequestCount', {\n __proto__: null,\n get() {\n return this.buffered.length - this.bufferedIndex\n }\n})\nfunction Writable(options) {\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options)\n this._writableState = new WritableState(options, this, isDuplex)\n if (options) {\n if (typeof options.write === 'function') this._write = options.write\n if (typeof options.writev === 'function') this._writev = options.writev\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.final === 'function') this._final = options.final\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n const state = this._writableState\n if (!state.writing) {\n clearBuffer(this, state)\n }\n finishMaybe(this, state)\n })\n}\nObjectDefineProperty(Writable, SymbolHasInstance, {\n __proto__: null,\n value: function (object) {\n if (FunctionPrototypeSymbolHasInstance(this, object)) return true\n if (this !== Writable) return false\n return object && object._writableState instanceof WritableState\n }\n})\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE())\n}\nfunction _write(stream, chunk, encoding, cb) {\n const state = stream._writableState\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = state.defaultEncoding\n } else {\n if (!encoding) encoding = state.defaultEncoding\n else if (encoding !== 'buffer' && !Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n if (typeof cb !== 'function') cb = nop\n }\n if (chunk === null) {\n throw new ERR_STREAM_NULL_VALUES()\n } else if (!state.objectMode) {\n if (typeof chunk === 'string') {\n if (state.decodeStrings !== false) {\n chunk = Buffer.from(chunk, encoding)\n encoding = 'buffer'\n }\n } else if (chunk instanceof Buffer) {\n encoding = 'buffer'\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = 'buffer'\n } else {\n throw new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n let err\n if (state.ending) {\n err = new ERR_STREAM_WRITE_AFTER_END()\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('write')\n }\n if (err) {\n process.nextTick(cb, err)\n errorOrDestroy(stream, err, true)\n return err\n }\n state.pendingcb++\n return writeOrBuffer(stream, state, chunk, encoding, cb)\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === true\n}\nWritable.prototype.cork = function () {\n this._writableState.corked++\n}\nWritable.prototype.uncork = function () {\n const state = this._writableState\n if (state.corked) {\n state.corked--\n if (!state.writing) clearBuffer(this, state)\n }\n}\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = StringPrototypeToLowerCase(encoding)\n if (!Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n this._writableState.defaultEncoding = encoding\n return this\n}\n\n// If we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode ? 1 : chunk.length\n state.length += len\n\n // stream._write resets state.length\n const ret = state.length < state.highWaterMark\n // We must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true\n if (state.writing || state.corked || state.errored || !state.constructed) {\n state.buffered.push({\n chunk,\n encoding,\n callback\n })\n if (state.allBuffers && encoding !== 'buffer') {\n state.allBuffers = false\n }\n if (state.allNoop && callback !== nop) {\n state.allNoop = false\n }\n } else {\n state.writelen = len\n state.writecb = callback\n state.writing = true\n state.sync = true\n stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n }\n\n // Return false if errored or destroyed in order to break\n // any synchronous while(stream.write(data)) loops.\n return ret && !state.errored && !state.destroyed\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len\n state.writecb = cb\n state.writing = true\n state.sync = true\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'))\n else if (writev) stream._writev(chunk, state.onwrite)\n else stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n}\nfunction onwriteError(stream, state, er, cb) {\n --state.pendingcb\n cb(er)\n // Ensure callbacks are invoked even when autoDestroy is\n // not enabled. Passing `er` here doesn't make sense since\n // it's related to one specific write, not to the buffered\n // writes.\n errorBuffer(state)\n // This can emit error, but error must always follow cb.\n errorOrDestroy(stream, er)\n}\nfunction onwrite(stream, er) {\n const state = stream._writableState\n const sync = state.sync\n const cb = state.writecb\n if (typeof cb !== 'function') {\n errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK())\n return\n }\n state.writing = false\n state.writecb = null\n state.length -= state.writelen\n state.writelen = 0\n if (er) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n er.stack // eslint-disable-line no-unused-expressions\n\n if (!state.errored) {\n state.errored = er\n }\n\n // In case of duplex streams we need to notify the readable side of the\n // error.\n if (stream._readableState && !stream._readableState.errored) {\n stream._readableState.errored = er\n }\n if (sync) {\n process.nextTick(onwriteError, stream, state, er, cb)\n } else {\n onwriteError(stream, state, er, cb)\n }\n } else {\n if (state.buffered.length > state.bufferedIndex) {\n clearBuffer(stream, state)\n }\n if (sync) {\n // It is a common case that the callback passed to .write() is always\n // the same. In that case, we do not schedule a new nextTick(), but\n // rather just increase a counter, to improve performance and avoid\n // memory allocations.\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {\n state.afterWriteTickInfo.count++\n } else {\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }\n process.nextTick(afterWriteTick, state.afterWriteTickInfo)\n }\n } else {\n afterWrite(stream, state, 1, cb)\n }\n }\n}\nfunction afterWriteTick({ stream, state, count, cb }) {\n state.afterWriteTickInfo = null\n return afterWrite(stream, state, count, cb)\n}\nfunction afterWrite(stream, state, count, cb) {\n const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain\n if (needDrain) {\n state.needDrain = false\n stream.emit('drain')\n }\n while (count-- > 0) {\n state.pendingcb--\n cb()\n }\n if (state.destroyed) {\n errorBuffer(state)\n }\n finishMaybe(stream, state)\n}\n\n// If there's something in the buffer waiting, then invoke callbacks.\nfunction errorBuffer(state) {\n if (state.writing) {\n return\n }\n for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {\n var _state$errored\n const { chunk, callback } = state.buffered[n]\n const len = state.objectMode ? 1 : chunk.length\n state.length -= len\n callback(\n (_state$errored = state.errored) !== null && _state$errored !== undefined\n ? _state$errored\n : new ERR_STREAM_DESTROYED('write')\n )\n }\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n var _state$errored2\n onfinishCallbacks[i](\n (_state$errored2 = state.errored) !== null && _state$errored2 !== undefined\n ? _state$errored2\n : new ERR_STREAM_DESTROYED('end')\n )\n }\n resetBuffer(state)\n}\n\n// If there's something in the buffer waiting, then process it.\nfunction clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {\n return\n }\n const { buffered, bufferedIndex, objectMode } = state\n const bufferedLength = buffered.length - bufferedIndex\n if (!bufferedLength) {\n return\n }\n let i = bufferedIndex\n state.bufferProcessing = true\n if (bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1\n const callback = state.allNoop\n ? nop\n : (err) => {\n for (let n = i; n < buffered.length; ++n) {\n buffered[n].callback(err)\n }\n }\n // Make a copy of `buffered` if it's going to be used by `callback` above,\n // since `doWrite` will mutate the array.\n const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i)\n chunks.allBuffers = state.allBuffers\n doWrite(stream, state, true, state.length, chunks, '', callback)\n resetBuffer(state)\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i]\n buffered[i++] = null\n const len = objectMode ? 1 : chunk.length\n doWrite(stream, state, false, len, chunk, encoding, callback)\n } while (i < buffered.length && !state.writing)\n if (i === buffered.length) {\n resetBuffer(state)\n } else if (i > 256) {\n buffered.splice(0, i)\n state.bufferedIndex = 0\n } else {\n state.bufferedIndex = i\n }\n }\n state.bufferProcessing = false\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n if (this._writev) {\n this._writev(\n [\n {\n chunk,\n encoding\n }\n ],\n cb\n )\n } else {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_write()')\n }\n}\nWritable.prototype._writev = null\nWritable.prototype.end = function (chunk, encoding, cb) {\n const state = this._writableState\n if (typeof chunk === 'function') {\n cb = chunk\n chunk = null\n encoding = null\n } else if (typeof encoding === 'function') {\n cb = encoding\n encoding = null\n }\n let err\n if (chunk !== null && chunk !== undefined) {\n const ret = _write(this, chunk, encoding)\n if (ret instanceof Error) {\n err = ret\n }\n }\n\n // .end() fully uncorks.\n if (state.corked) {\n state.corked = 1\n this.uncork()\n }\n if (err) {\n // Do nothing...\n } else if (!state.errored && !state.ending) {\n // This is forgiving in terms of unnecessary calls to end() and can hide\n // logic errors. However, usually such errors are harmless and causing a\n // hard error can be disproportionately destructive. It is not always\n // trivial for the user to determine whether end() needs to be called\n // or not.\n\n state.ending = true\n finishMaybe(this, state, true)\n state.ended = true\n } else if (state.finished) {\n err = new ERR_STREAM_ALREADY_FINISHED('end')\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('end')\n }\n if (typeof cb === 'function') {\n if (err || state.finished) {\n process.nextTick(cb, err)\n } else {\n state[kOnFinished].push(cb)\n }\n }\n return this\n}\nfunction needFinish(state) {\n return (\n state.ending &&\n !state.destroyed &&\n state.constructed &&\n state.length === 0 &&\n !state.errored &&\n state.buffered.length === 0 &&\n !state.finished &&\n !state.writing &&\n !state.errorEmitted &&\n !state.closeEmitted\n )\n}\nfunction callFinal(stream, state) {\n let called = false\n function onFinish(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n state.pendingcb--\n if (err) {\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i](err)\n }\n errorOrDestroy(stream, err, state.sync)\n } else if (needFinish(state)) {\n state.prefinished = true\n stream.emit('prefinish')\n // Backwards compat. Don't check state.sync here.\n // Some streams assume 'finish' will be emitted\n // asynchronously relative to _final callback.\n state.pendingcb++\n process.nextTick(finish, stream, state)\n }\n }\n state.sync = true\n state.pendingcb++\n try {\n stream._final(onFinish)\n } catch (err) {\n onFinish(err)\n }\n state.sync = false\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.finalCalled = true\n callFinal(stream, state)\n } else {\n state.prefinished = true\n stream.emit('prefinish')\n }\n }\n}\nfunction finishMaybe(stream, state, sync) {\n if (needFinish(state)) {\n prefinish(stream, state)\n if (state.pendingcb === 0) {\n if (sync) {\n state.pendingcb++\n process.nextTick(\n (stream, state) => {\n if (needFinish(state)) {\n finish(stream, state)\n } else {\n state.pendingcb--\n }\n },\n stream,\n state\n )\n } else if (needFinish(state)) {\n state.pendingcb++\n finish(stream, state)\n }\n }\n }\n}\nfunction finish(stream, state) {\n state.pendingcb--\n state.finished = true\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i]()\n }\n stream.emit('finish')\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well.\n const rState = stream._readableState\n const autoDestroy =\n !rState ||\n (rState.autoDestroy &&\n // We don't expect the readable to ever 'end'\n // if readable is explicitly set to false.\n (rState.endEmitted || rState.readable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n}\nObjectDefineProperties(Writable.prototype, {\n closed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.destroyed : false\n },\n set(value) {\n // Backward compatibility, the user is explicitly managing destroyed.\n if (this._writableState) {\n this._writableState.destroyed = value\n }\n }\n },\n writable: {\n __proto__: null,\n get() {\n const w = this._writableState\n // w.writable === false means that this is part of a Duplex stream\n // where the writable side was disabled upon construction.\n // Compat. The user might manually disable writable side through\n // deprecated setter.\n return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended\n },\n set(val) {\n // Backwards compatible.\n if (this._writableState) {\n this._writableState.writable = !!val\n }\n }\n },\n writableFinished: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.finished : false\n }\n },\n writableObjectMode: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.objectMode : false\n }\n },\n writableBuffer: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.getBuffer()\n }\n },\n writableEnded: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.ending : false\n }\n },\n writableNeedDrain: {\n __proto__: null,\n get() {\n const wState = this._writableState\n if (!wState) return false\n return !wState.destroyed && !wState.ending && wState.needDrain\n }\n },\n writableHighWaterMark: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.highWaterMark\n }\n },\n writableCorked: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.corked : 0\n }\n },\n writableLength: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.length\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._writableState ? this._writableState.errored : null\n }\n },\n writableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._writableState.writable !== false &&\n (this._writableState.destroyed || this._writableState.errored) &&\n !this._writableState.finished\n )\n }\n }\n})\nconst destroy = destroyImpl.destroy\nWritable.prototype.destroy = function (err, cb) {\n const state = this._writableState\n\n // Invoke pending callbacks.\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {\n process.nextTick(errorBuffer, state)\n }\n destroy.call(this, err, cb)\n return this\n}\nWritable.prototype._undestroy = destroyImpl.undestroy\nWritable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nWritable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nWritable.fromWeb = function (writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options)\n}\nWritable.toWeb = function (streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)\n}\n","/* eslint jsdoc/require-jsdoc: \"error\" */\n\n'use strict'\n\nconst {\n ArrayIsArray,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberIsNaN,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n ObjectPrototypeHasOwnProperty,\n RegExpPrototypeExec,\n String,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n} = require('../ours/primordials')\nconst {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n} = require('../ours/errors')\nconst { normalizeEncoding } = require('../ours/util')\nconst { isAsyncFunction, isArrayBufferView } = require('../ours/util').types\nconst signals = {}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isInt32(value) {\n return value === (value | 0)\n}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isUint32(value) {\n return value === value >>> 0\n}\nconst octalReg = /^[0-7]+$/\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string'\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land, but any value higher than 0o777 will result in platform-specific\n * behaviors.\n *\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified, will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value, name, def) {\n if (typeof value === 'undefined') {\n value = def\n }\n if (typeof value === 'string') {\n if (RegExpPrototypeExec(octalReg, value) === null) {\n throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc)\n }\n value = NumberParseInt(value, 8)\n }\n validateUint32(value, name)\n return value\n}\n\n/**\n * @callback validateInteger\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInteger} */\nconst validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n})\n\n/**\n * @callback validateInt32\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInt32} */\nconst validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateUint32\n * @param {*} value\n * @param {string} name\n * @param {number|boolean} [positive=false]\n * @returns {asserts value is number}\n */\n\n/** @type {validateUint32} */\nconst validateUint32 = hideStackFrames((value, name, positive = false) => {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n const min = positive ? 1 : 0\n // 2 ** 32 === 4294967296\n const max = 4294967295\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateString\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string}\n */\n\n/** @type {validateString} */\nfunction validateString(value, name) {\n if (typeof value !== 'string') throw new ERR_INVALID_ARG_TYPE(name, 'string', value)\n}\n\n/**\n * @callback validateNumber\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateNumber} */\nfunction validateNumber(value, name, min = undefined, max) {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (\n (min != null && value < min) ||\n (max != null && value > max) ||\n ((min != null || max != null) && NumberIsNaN(value))\n ) {\n throw new ERR_OUT_OF_RANGE(\n name,\n `${min != null ? `>= ${min}` : ''}${min != null && max != null ? ' && ' : ''}${max != null ? `<= ${max}` : ''}`,\n value\n )\n }\n}\n\n/**\n * @callback validateOneOf\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} oneOf\n */\n\n/** @type {validateOneOf} */\nconst validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf, (v) => (typeof v === 'string' ? `'${v}'` : String(v))),\n ', '\n )\n const reason = 'must be one of: ' + allowed\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateBoolean\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean}\n */\n\n/** @type {validateBoolean} */\nfunction validateBoolean(value, name) {\n if (typeof value !== 'boolean') throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value)\n}\n\n/**\n * @param {any} options\n * @param {string} key\n * @param {boolean} defaultValue\n * @returns {boolean}\n */\nfunction getOwnPropertyValueOrDefault(options, key, defaultValue) {\n return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]\n}\n\n/**\n * @callback validateObject\n * @param {*} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean,\n * allowFunction?: boolean,\n * nullable?: boolean\n * }} [options]\n */\n\n/** @type {validateObject} */\nconst validateObject = hideStackFrames((value, name, options = null) => {\n const allowArray = getOwnPropertyValueOrDefault(options, 'allowArray', false)\n const allowFunction = getOwnPropertyValueOrDefault(options, 'allowFunction', false)\n const nullable = getOwnPropertyValueOrDefault(options, 'nullable', false)\n if (\n (!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (!allowFunction || typeof value !== 'function'))\n ) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Object', value)\n }\n})\n\n/**\n * @callback validateDictionary - We are using the Web IDL Standard definition\n * of \"dictionary\" here, which means any value\n * whose Type is either Undefined, Null, or\n * Object (which includes functions).\n * @param {*} value\n * @param {string} name\n * @see https://webidl.spec.whatwg.org/#es-dictionary\n * @see https://tc39.es/ecma262/#table-typeof-operator-results\n */\n\n/** @type {validateDictionary} */\nconst validateDictionary = hideStackFrames((value, name) => {\n if (value != null && typeof value !== 'object' && typeof value !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(name, 'a dictionary', value)\n }\n})\n\n/**\n * @callback validateArray\n * @param {*} value\n * @param {string} name\n * @param {number} [minLength]\n * @returns {asserts value is any[]}\n */\n\n/** @type {validateArray} */\nconst validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Array', value)\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateStringArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string[]}\n */\n\n/** @type {validateStringArray} */\nfunction validateStringArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateString(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateBooleanArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean[]}\n */\n\n/** @type {validateBooleanArray} */\nfunction validateBooleanArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateBoolean(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @param {*} signal\n * @param {string} [name='signal']\n * @returns {asserts signal is keyof signals}\n */\nfunction validateSignalName(signal, name = 'signal') {\n validateString(signal, name)\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal + ' (signals must use all capital letters)')\n }\n throw new ERR_UNKNOWN_SIGNAL(signal)\n }\n}\n\n/**\n * @callback validateBuffer\n * @param {*} buffer\n * @param {string} [name='buffer']\n * @returns {asserts buffer is ArrayBufferView}\n */\n\n/** @type {validateBuffer} */\nconst validateBuffer = hideStackFrames((buffer, name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name, ['Buffer', 'TypedArray', 'DataView'], buffer)\n }\n})\n\n/**\n * @param {string} data\n * @param {string} encoding\n */\nfunction validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding)\n const length = data.length\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding', encoding, `is invalid for data of length ${length}`)\n }\n}\n\n/**\n * Check that the port number is not NaN when coerced to a number,\n * is an integer and that it falls within the legal range of port numbers.\n * @param {*} port\n * @param {string} [name='Port']\n * @param {boolean} [allowZero=true]\n * @returns {number}\n */\nfunction validatePort(port, name = 'Port', allowZero = true) {\n if (\n (typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== +port >>> 0 ||\n port > 0xffff ||\n (port === 0 && !allowZero)\n ) {\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero)\n }\n return port | 0\n}\n\n/**\n * @callback validateAbortSignal\n * @param {*} signal\n * @param {string} name\n */\n\n/** @type {validateAbortSignal} */\nconst validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n})\n\n/**\n * @callback validateFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validateFunction} */\nconst validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validatePlainFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validatePlainFunction} */\nconst validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function' || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validateUndefined\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is undefined}\n */\n\n/** @type {validateUndefined} */\nconst validateUndefined = hideStackFrames((value, name) => {\n if (value !== undefined) throw new ERR_INVALID_ARG_TYPE(name, 'undefined', value)\n})\n\n/**\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} union\n */\nfunction validateUnion(value, name, union) {\n if (!ArrayPrototypeIncludes(union, value)) {\n throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value)\n }\n}\n\n/*\n The rules for the Link header field are described here:\n https://www.rfc-editor.org/rfc/rfc8288.html#section-3\n\n This regex validates any string surrounded by angle brackets\n (not necessarily a valid URI reference) followed by zero or more\n link-params separated by semicolons.\n*/\nconst linkValueRegExp = /^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/\n\n/**\n * @param {any} value\n * @param {string} name\n */\nfunction validateLinkHeaderFormat(value, name) {\n if (typeof value === 'undefined' || !RegExpPrototypeExec(linkValueRegExp, value)) {\n throw new ERR_INVALID_ARG_VALUE(\n name,\n value,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n }\n}\n\n/**\n * @param {any} hints\n * @return {string}\n */\nfunction validateLinkHeaderValue(hints) {\n if (typeof hints === 'string') {\n validateLinkHeaderFormat(hints, 'hints')\n return hints\n } else if (ArrayIsArray(hints)) {\n const hintsLength = hints.length\n let result = ''\n if (hintsLength === 0) {\n return result\n }\n for (let i = 0; i < hintsLength; i++) {\n const link = hints[i]\n validateLinkHeaderFormat(link, 'hints')\n result += link\n if (i !== hintsLength - 1) {\n result += ', '\n }\n }\n return result\n }\n throw new ERR_INVALID_ARG_VALUE(\n 'hints',\n hints,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n}\nmodule.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateStringArray,\n validateBooleanArray,\n validateBoolean,\n validateBuffer,\n validateDictionary,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateUnion,\n validateAbortSignal,\n validateLinkHeaderValue\n}\n","'use strict'\n\nconst CustomStream = require('../stream')\nconst promises = require('../stream/promises')\nconst originalDestroy = CustomStream.Readable.destroy\nmodule.exports = CustomStream.Readable\n\n// Explicit export naming is needed for ESM\nmodule.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer\nmodule.exports._isUint8Array = CustomStream._isUint8Array\nmodule.exports.isDisturbed = CustomStream.isDisturbed\nmodule.exports.isErrored = CustomStream.isErrored\nmodule.exports.isReadable = CustomStream.isReadable\nmodule.exports.Readable = CustomStream.Readable\nmodule.exports.Writable = CustomStream.Writable\nmodule.exports.Duplex = CustomStream.Duplex\nmodule.exports.Transform = CustomStream.Transform\nmodule.exports.PassThrough = CustomStream.PassThrough\nmodule.exports.addAbortSignal = CustomStream.addAbortSignal\nmodule.exports.finished = CustomStream.finished\nmodule.exports.destroy = CustomStream.destroy\nmodule.exports.destroy = originalDestroy\nmodule.exports.pipeline = CustomStream.pipeline\nmodule.exports.compose = CustomStream.compose\nObject.defineProperty(CustomStream, 'promises', {\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nmodule.exports.Stream = CustomStream.Stream\n\n// Allow default importing\nmodule.exports.default = module.exports\n","'use strict'\n\nconst { format, inspect, AggregateError: CustomAggregateError } = require('./util')\n\n/*\n This file is a reduced and adapted version of the main lib/internal/errors.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/errors.js\n\n Don't try to replace with the original file and keep it up to date (starting from E(...) definitions)\n with the upstream file.\n*/\n\nconst AggregateError = globalThis.AggregateError || CustomAggregateError\nconst kIsNodeError = Symbol('kIsNodeError')\nconst kTypes = [\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/\nconst nodeInternalPrefix = '__node_internal_'\nconst codes = {}\nfunction assert(value, message) {\n if (!value) {\n throw new codes.ERR_INTERNAL_ASSERTION(message)\n }\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\nfunction getMessage(key, msg, args) {\n if (typeof msg === 'function') {\n assert(\n msg.length <= args.length,\n // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`\n )\n return msg(...args)\n }\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`\n )\n if (args.length === 0) {\n return msg\n }\n return format(msg, ...args)\n}\nfunction E(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args))\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: true,\n enumerable: false,\n configurable: true\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`\n },\n writable: true,\n enumerable: false,\n configurable: true\n }\n })\n NodeError.prototype.code = code\n NodeError.prototype[kIsNodeError] = true\n codes[code] = NodeError\n}\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name\n Object.defineProperty(fn, 'name', {\n value: hidden\n })\n return fn\n}\nfunction aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (Array.isArray(outerError.errors)) {\n // If `outerError` is already an `AggregateError`.\n outerError.errors.push(innerError)\n return outerError\n }\n const err = new AggregateError([outerError, innerError], outerError.message)\n err.code = outerError.code\n return err\n }\n return innerError || outerError\n}\nclass AbortError extends Error {\n constructor(message = 'The operation was aborted', options = undefined) {\n if (options !== undefined && typeof options !== 'object') {\n throw new codes.ERR_INVALID_ARG_TYPE('options', 'Object', options)\n }\n super(message, options)\n this.code = 'ABORT_ERR'\n this.name = 'AbortError'\n }\n}\nE('ERR_ASSERTION', '%s', Error)\nE(\n 'ERR_INVALID_ARG_TYPE',\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\")\n if (!Array.isArray(expected)) {\n expected = [expected]\n }\n let msg = 'The '\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n msg += `${name} `\n } else {\n msg += `\"${name}\" ${name.includes('.') ? 'property' : 'argument'} `\n }\n msg += 'must be '\n const types = []\n const instances = []\n const other = []\n for (const value of expected) {\n assert(typeof value === 'string', 'All expected entries have to be of type string')\n if (kTypes.includes(value)) {\n types.push(value.toLowerCase())\n } else if (classRegExp.test(value)) {\n instances.push(value)\n } else {\n assert(value !== 'object', 'The value \"object\" should be written as \"Object\"')\n other.push(value)\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object')\n if (pos !== -1) {\n types.splice(types, pos, 1)\n instances.push('Object')\n }\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`\n break\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`\n break\n default: {\n const last = types.pop()\n msg += `one of type ${types.join(', ')}, or ${last}`\n }\n }\n if (instances.length > 0 || other.length > 0) {\n msg += ' or '\n }\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`\n break\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`\n break\n default: {\n const last = instances.pop()\n msg += `an instance of ${instances.join(', ')}, or ${last}`\n }\n }\n if (other.length > 0) {\n msg += ' or '\n }\n }\n switch (other.length) {\n case 0:\n break\n case 1:\n if (other[0].toLowerCase() !== other[0]) {\n msg += 'an '\n }\n msg += `${other[0]}`\n break\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`\n break\n default: {\n const last = other.pop()\n msg += `one of ${other.join(', ')}, or ${last}`\n }\n }\n if (actual == null) {\n msg += `. Received ${actual}`\n } else if (typeof actual === 'function' && actual.name) {\n msg += `. Received function ${actual.name}`\n } else if (typeof actual === 'object') {\n var _actual$constructor\n if (\n (_actual$constructor = actual.constructor) !== null &&\n _actual$constructor !== undefined &&\n _actual$constructor.name\n ) {\n msg += `. Received an instance of ${actual.constructor.name}`\n } else {\n const inspected = inspect(actual, {\n depth: -1\n })\n msg += `. Received ${inspected}`\n }\n } else {\n let inspected = inspect(actual, {\n colors: false\n })\n if (inspected.length > 25) {\n inspected = `${inspected.slice(0, 25)}...`\n }\n msg += `. Received type ${typeof actual} (${inspected})`\n }\n return msg\n },\n TypeError\n)\nE(\n 'ERR_INVALID_ARG_VALUE',\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value)\n if (inspected.length > 128) {\n inspected = inspected.slice(0, 128) + '...'\n }\n const type = name.includes('.') ? 'property' : 'argument'\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n)\nE(\n 'ERR_INVALID_RETURN_VALUE',\n (input, name, value) => {\n var _value$constructor\n const type =\n value !== null &&\n value !== undefined &&\n (_value$constructor = value.constructor) !== null &&\n _value$constructor !== undefined &&\n _value$constructor.name\n ? `instance of ${value.constructor.name}`\n : `type ${typeof value}`\n return `Expected ${input} to be returned from the \"${name}\"` + ` function but got ${type}.`\n },\n TypeError\n)\nE(\n 'ERR_MISSING_ARGS',\n (...args) => {\n assert(args.length > 0, 'At least one arg needs to be specified')\n let msg\n const len = args.length\n args = (Array.isArray(args) ? args : [args]).map((a) => `\"${a}\"`).join(' or ')\n switch (len) {\n case 1:\n msg += `The ${args[0]} argument`\n break\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`\n break\n default:\n {\n const last = args.pop()\n msg += `The ${args.join(', ')}, and ${last} arguments`\n }\n break\n }\n return `${msg} must be specified`\n },\n TypeError\n)\nE(\n 'ERR_OUT_OF_RANGE',\n (str, range, input) => {\n assert(range, 'Missing \"range\" argument')\n let received\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > 2n ** 32n || input < -(2n ** 32n)) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n } else {\n received = inspect(input)\n }\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`\n },\n RangeError\n)\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error)\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error)\nE('ERR_STREAM_ALREADY_FINISHED', 'Cannot call %s after a stream was finished', Error)\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error)\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error)\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError)\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error)\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error)\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event', Error)\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error)\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError)\nmodule.exports = {\n AbortError,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n}\n","'use strict'\n\n/*\n This file is a reduced and adapted version of the main lib/internal/per_context/primordials.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/per_context/primordials.js\n\n Don't try to replace with the original file and keep it up to date with the upstream file.\n*/\nmodule.exports = {\n ArrayIsArray(self) {\n return Array.isArray(self)\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el)\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el)\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep)\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn)\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el)\n },\n ArrayPrototypePush(self, el) {\n return self.push(el)\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.call(thisArgs, ...args)\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].call(self, instance)\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props)\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop)\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name)\n },\n ObjectKeys(obj) {\n return Object.keys(obj)\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto)\n },\n Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn)\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn)\n },\n PromiseReject(err) {\n return Promise.reject(err)\n },\n ReflectApply: Reflect.apply,\n RegExpPrototypeTest(self, value) {\n return self.test(value)\n },\n SafeSet: Set,\n String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase()\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase()\n },\n StringPrototypeTrim(self) {\n return self.trim()\n },\n Symbol,\n SymbolFor: Symbol.for,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len)\n },\n Uint8Array\n}\n","'use strict'\n\nconst bufferModule = require('buffer')\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor\nconst Blob = globalThis.Blob || bufferModule.Blob\n/* eslint-disable indent */\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n // eslint-disable-next-line indent\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\n/* eslint-enable indent */\n\n// This is a simplified version of AggregateError\nclass AggregateError extends Error {\n constructor(errors) {\n if (!Array.isArray(errors)) {\n throw new TypeError(`Expected input to be an Array, got ${typeof errors}`)\n }\n let message = ''\n for (let i = 0; i < errors.length; i++) {\n message += ` ${errors[i].stack}\\n`\n }\n super(message)\n this.name = 'AggregateError'\n this.errors = errors\n }\n}\nmodule.exports = {\n AggregateError,\n kEmptyObject: Object.freeze({}),\n once(callback) {\n let called = false\n return function (...args) {\n if (called) {\n return\n }\n called = true\n callback.apply(this, args)\n }\n },\n createDeferredPromise: function () {\n let resolve\n let reject\n\n // eslint-disable-next-line promise/param-names\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return {\n promise,\n resolve,\n reject\n }\n },\n promisify(fn) {\n return new Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err) {\n return reject(err)\n }\n return resolve(...args)\n })\n })\n },\n debuglog() {\n return function () {}\n },\n format(format, ...args) {\n // Simplified version of https://nodejs.org/api/util.html#utilformatformat-args\n return format.replace(/%([sdifj])/g, function (...[_unused, type]) {\n const replacement = args.shift()\n if (type === 'f') {\n return replacement.toFixed(6)\n } else if (type === 'j') {\n return JSON.stringify(replacement)\n } else if (type === 's' && typeof replacement === 'object') {\n const ctor = replacement.constructor !== Object ? replacement.constructor.name : ''\n return `${ctor} {}`.trim()\n } else {\n return replacement.toString()\n }\n })\n },\n inspect(value) {\n // Vastly simplified version of https://nodejs.org/api/util.html#utilinspectobject-options\n switch (typeof value) {\n case 'string':\n if (value.includes(\"'\")) {\n if (!value.includes('\"')) {\n return `\"${value}\"`\n } else if (!value.includes('`') && !value.includes('${')) {\n return `\\`${value}\\``\n }\n }\n return `'${value}'`\n case 'number':\n if (isNaN(value)) {\n return 'NaN'\n } else if (Object.is(value, -0)) {\n return String(value)\n }\n return value\n case 'bigint':\n return `${String(value)}n`\n case 'boolean':\n case 'undefined':\n return String(value)\n case 'object':\n return '{}'\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction\n },\n isArrayBufferView(arr) {\n return ArrayBuffer.isView(arr)\n }\n },\n isBlob\n}\nmodule.exports.promisify.custom = Symbol.for('nodejs.util.promisify.custom')\n","/* replacement start */\n\nconst { Buffer } = require('buffer')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst { ObjectDefineProperty, ObjectKeys, ReflectApply } = require('./ours/primordials')\nconst {\n promisify: { custom: customPromisify }\n} = require('./ours/util')\nconst { streamReturningOperators, promiseReturningOperators } = require('./internal/streams/operators')\nconst {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n} = require('./ours/errors')\nconst compose = require('./internal/streams/compose')\nconst { pipeline } = require('./internal/streams/pipeline')\nconst { destroyer } = require('./internal/streams/destroy')\nconst eos = require('./internal/streams/end-of-stream')\nconst internalBuffer = {}\nconst promises = require('./stream/promises')\nconst utils = require('./internal/streams/utils')\nconst Stream = (module.exports = require('./internal/streams/legacy').Stream)\nStream.isDisturbed = utils.isDisturbed\nStream.isErrored = utils.isErrored\nStream.isReadable = utils.isReadable\nStream.Readable = require('./internal/streams/readable')\nfor (const key of ObjectKeys(streamReturningOperators)) {\n const op = streamReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return Stream.Readable.from(ReflectApply(op, this, args))\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nfor (const key of ObjectKeys(promiseReturningOperators)) {\n const op = promiseReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return ReflectApply(op, this, args)\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nStream.Writable = require('./internal/streams/writable')\nStream.Duplex = require('./internal/streams/duplex')\nStream.Transform = require('./internal/streams/transform')\nStream.PassThrough = require('./internal/streams/passthrough')\nStream.pipeline = pipeline\nconst { addAbortSignal } = require('./internal/streams/add-abort-signal')\nStream.addAbortSignal = addAbortSignal\nStream.finished = eos\nStream.destroy = destroyer\nStream.compose = compose\nObjectDefineProperty(Stream, 'promises', {\n __proto__: null,\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nObjectDefineProperty(pipeline, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.pipeline\n }\n})\nObjectDefineProperty(eos, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.finished\n }\n})\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream\nStream._isUint8Array = function isUint8Array(value) {\n return value instanceof Uint8Array\n}\nStream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)\n}\n","'use strict'\n\nconst { ArrayPrototypePop, Promise } = require('../ours/primordials')\nconst { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils')\nconst { pipelineImpl: pl } = require('../internal/streams/pipeline')\nconst { finished } = require('../internal/streams/end-of-stream')\nrequire('stream')\nfunction pipeline(...streams) {\n return new Promise((resolve, reject) => {\n let signal\n let end\n const lastArg = streams[streams.length - 1]\n if (\n lastArg &&\n typeof lastArg === 'object' &&\n !isNodeStream(lastArg) &&\n !isIterable(lastArg) &&\n !isWebStream(lastArg)\n ) {\n const options = ArrayPrototypePop(streams)\n signal = options.signal\n end = options.end\n }\n pl(\n streams,\n (err, value) => {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n },\n {\n signal,\n end\n }\n )\n })\n}\nmodule.exports = {\n finished,\n pipeline\n}\n","class Sink {\n constructor (Impl, options) {\n this.Impl = Impl\n this.options = options\n }\n\n import (input, options) {\n const output = new this.Impl(input, { ...this.options, ...options })\n\n input.on('end', () => {\n if (!output.readable) {\n output.emit('end')\n }\n })\n\n input.on('error', err => {\n output.emit('error', err)\n })\n\n return output\n }\n}\n\nexport default Sink\n","class ObjectEncoder {\n constructor (stream) {\n this.stream = stream\n this.array = []\n }\n\n push (jsonld) {\n this.array.push(jsonld)\n }\n\n end () {\n this.stream.push(this.array)\n this.stream.push(null)\n }\n}\n\nexport default ObjectEncoder\n","class StringEncoder {\n constructor (stream) {\n this.stream = stream\n this.first = true\n\n this.stream.push('[')\n }\n\n push (jsonld) {\n if (this.first) {\n this.first = false\n } else {\n this.stream.push(',')\n }\n\n this.stream.push(JSON.stringify(jsonld))\n }\n\n end () {\n this.stream.push(']')\n this.stream.push(null)\n }\n}\n\nexport default StringEncoder\n","import { Readable } from 'readable-stream'\nimport ObjectEncoder from './ObjectEncoder.js'\nimport StringEncoder from './StringEncoder.js'\n\nclass SerializerStream extends Readable {\n constructor (input, { encoding = 'object' } = {}) {\n super({\n objectMode: true,\n read: () => {}\n })\n\n if (encoding === 'object') {\n this.encoder = new ObjectEncoder(this)\n }\n\n if (encoding === 'string') {\n this.encoder = new StringEncoder(this)\n }\n\n if (!this.encoder) {\n throw new Error(`unknown encoding: ${encoding}`)\n }\n\n input.on('data', quad => {\n const jsonld = {}\n let triple = jsonld\n\n if (quad.graph.termType !== 'DefaultGraph') {\n jsonld['@id'] = quad.graph.value\n jsonld['@graph'] = {}\n triple = jsonld['@graph']\n }\n\n triple['@id'] = SerializerStream.subjectValue(quad.subject)\n\n if (quad.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type') {\n triple['@type'] = SerializerStream.subjectValue(quad.object)\n } else {\n triple[quad.predicate.value] = SerializerStream.objectValue(quad.object)\n }\n\n this.encoder.push(jsonld)\n })\n\n input.on('end', () => this.encoder.end())\n\n input.on('error', err => this.emit('error', err))\n }\n\n static subjectValue (subject) {\n return subject.termType === 'BlankNode' ? '_:' + subject.value : subject.value\n }\n\n static objectValue (object) {\n if (object.termType === 'NamedNode') {\n return { '@id': object.value }\n }\n\n if (object.termType === 'BlankNode') {\n return { '@id': '_:' + object.value }\n }\n\n if (object.language) {\n return { '@language': object.language, '@value': object.value }\n } else if (object.datatype && object.datatype.value !== 'http://www.w3.org/2001/XMLSchema#string') {\n return { '@type': object.datatype.value, '@value': object.value }\n } else {\n return object.value\n }\n }\n}\n\nexport default SerializerStream\n","import Sink from '@rdfjs/sink'\nimport SerializerStream from './lib/SerializerStream.js'\n\nclass Serializer extends Sink {\n constructor (options) {\n super(SerializerStream, options)\n }\n}\n\nexport default Serializer\n","import JsonLdSerializer from '@rdfjs/serializer-jsonld';\nclass CustomJsonLdSerializer extends JsonLdSerializer {\n constructor({ ...args } = {}) {\n super({ encoding: 'string', ...args });\n }\n}\nexport default CustomJsonLdSerializer;\n"],"names":["AbortError","codes","isNodeStream","isWebStream","kControllerErrorFunction","eos","ERR_INVALID_ARG_TYPE","validateAbortSignal","signal","name","module","exports","addAbortSignal","stream","addAbortSignalNoValidate","onAbort","destroy","undefined","cause","reason","aborted","addEventListener","removeEventListener","StringPrototypeSlice","SymbolIterator","TypedArrayPrototypeSet","Uint8Array","Buffer","inspect","constructor","this","head","tail","length","push","v","entry","data","next","unshift","shift","ret","clear","join","s","p","concat","n","alloc","allocUnsafe","i","consume","hasStrings","slice","_getString","_getBuffer","first","c","str","retLen","buf","buffer","byteOffset","Symbol","for","_","options","depth","customInspect","pipeline","Duplex","destroyer","isReadable","isWritable","isTransformStream","isWritableStream","isReadableStream","ERR_INVALID_ARG_VALUE","ERR_MISSING_ARGS","streams","from","orgStreams","idx","ondrain","onfinish","onreadable","onclose","d","onfinished","err","cb","readable","writable","writableObjectMode","readableObjectMode","_write","chunk","encoding","callback","write","_final","end","on","writer","getWriter","async","ready","catch","close","toRead","_read","read","reader","getReader","value","done","_destroy","process","aggregateTwoErrors","ERR_MULTIPLE_CALLBACK","kDestroyed","isDestroyed","isFinished","isServerRequest","kDestroy","kConstruct","checkError","w","r","stack","errored","_readableState","_writableState","destroyed","constructed","once","er","self","called","onDestroy","closed","nextTick","emitErrorCloseNT","emitCloseNT","emitErrorNT","closeEmitted","emitClose","emit","errorEmitted","undestroy","reading","ended","endEmitted","finalCalled","prefinished","ending","finished","errorOrDestroy","sync","autoDestroy","construct","_construct","listenerCount","constructNT","onConstruct","emitConstructNT","isRequest","setHeader","abort","emitCloseLegacy","emitErrorCloseLegacy","socket","req","ObjectDefineProperties","ObjectGetOwnPropertyDescriptor","ObjectKeys","ObjectSetPrototypeOf","Readable","Writable","prototype","keys","method","call","allowHalfOpen","webStreamsAdapters","duplexify","lazyWebStreams","__proto__","writableHighWaterMark","writableBuffer","writableLength","writableFinished","writableCorked","writableEnded","writableNeedDrain","get","set","fromWeb","pair","newStreamDuplexFromReadableWritablePair","toWeb","duplex","newReadableWritablePairFromDuplex","body","bufferModule","isIterable","isReadableNodeStream","isWritableNodeStream","isDuplexNodeStream","ERR_INVALID_RETURN_VALUE","createDeferredPromise","Blob","globalThis","isBlob","b","AbortController","FunctionPrototypeCall","Duplexify","super","fromAsyncGen","fn","promise","resolve","ac","_promise","_resolve","final","_duplexify","wrap","objectMode","then","val","arrayBuffer","ERR_STREAM_PREMATURE_CLOSE","kEmptyObject","validateFunction","validateObject","validateBoolean","Promise","PromisePrototypeThen","isClosed","isReadableFinished","isReadableErrored","isWritableFinished","isWritableErrored","willEmitClose","_willEmitClose","kIsClosedPromise","nop","_options$readable","_options$writable","arguments","eosWeb","wState","rState","onlegacyfinish","readableFinished","onend","onerror","onclosed","onrequest","error","cleanup","removeListener","endCallback","originalCallback","args","apply","isAborted","resolverFn","opts","_opts","autoCleanup","reject","SymbolAsyncIterator","ERR_STREAM_NULL_VALUES","iterable","iterator","isAsync","highWaterMark","hadError","hasThrow","throw","return","res","e","ArrayIsArray","EventEmitter","EE","Stream","prependListener","emitter","event","_events","pipe","dest","source","ondata","pause","resume","_isStdio","didOnEnd","ERR_OUT_OF_RANGE","validateInteger","kWeakHandler","staticCompose","ArrayPrototypePush","MathFloor","Number","NumberIsNaN","PromiseReject","kEmpty","kEof","compose","composedStream","map","concurrency","_options$signal","_options$signal2","queue","signalOpt","onDone","pump","_val","_options$signal3","asIndexedPairs","index","_options$signal4","some","unused","filter","every","find","result","forEach","forEachFn","filterFn","ReduceAwareErrMissingArgs","message","reduce","reducer","initialValue","_options$signal5","hasInitialValue","gotAnyItemFromStream","_options$signal6","toArray","_options$signal7","flatMap","values","toIntegerOrInfinity","number","drop","_options$signal8","_options$signal9","take","_options$signal10","_options$signal11","streamReturningOperators","promiseReturningOperators","PassThrough","Transform","_transform","destroyImpl","ERR_STREAM_DESTROYED","isReadableEnded","writing","popCallback","pop","makeAsyncIterable","fromReadable","pumpToNode","finish","onresolve","wait","off","pumpToWeb","pipelineImpl","outerSignal","lastStreamCleanup","finishImpl","destroys","finishCount","code","isLastStream","onError","_ret","_ret2","pt","src","dst","endFn","ArrayPrototypeIndexOf","NumberIsInteger","NumberParseInt","SafeSet","ReadableState","debug","BufferList","getHighWaterMark","getDefaultHighWaterMark","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","kPaused","StringDecoder","isDuplex","pipes","flowing","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrainWriters","multiAwaitDrain","readingMore","dataEmitted","decoder","maybeReadMore","readableAddChunk","addToFront","state","toString","_isUint8Array","_uint8ArrayToBuffer","onEofChunk","addChunk","emitReadable","_undestroy","captureRejectionSymbol","isPaused","setEncoding","enc","content","MAX_HWM","computeNewHighWaterMark","howMuchToRead","emitReadable_","flow","maybeReadMore_","len","pipeOnDrain","size","delete","updateReadableListening","nReadingNextTick","resume_","streamToAsyncIterator","iter","createAsyncIterator","destroyOnReturn","fromList","endReadable","endReadableNT","endWritableNT","NaN","nOrig","doRead","pipeOpts","doEnd","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanedUp","needDrain","includes","add","dests","splice","ev","addListener","removeAllListeners","paused","streamKeys","j","bind","readableDidRead","enumerable","readableAborted","readableHighWaterMark","readableBuffer","readableFlowing","readableLength","readableEncoding","readableEnded","pipesCount","_fromList","readableStream","newStreamReadableFromReadableStream","streamReadable","newReadableStreamFromStreamReadable","_ref","_src$readableObjectMo","highWaterMarkFrom","duplexKey","hwm","kCallback","transform","flush","_flush","prefinish","SymbolFor","kIsErrored","kIsReadable","kIsDisturbed","obj","strict","_obj$_readableState","_obj$_writableState","pipeThrough","cancel","isWritableEnded","_stream$_writableStat","_stream$_writableStat2","writableErrored","_stream$_readableStat","_stream$_readableStat2","readableErrored","_closed","isOutgoingMessage","_defaultKeepAlive","_removedConnection","_removedContLen","isServerResponse","_sent100","_stream$req","_consuming","_dumped","upgradeOrConnect","isDisturbed","_stream$kIsDisturbed","isErrored","_ref2","_ref3","_ref4","_ref5","_stream$kIsErrored","_stream$_readableStat3","_stream$_writableStat3","_stream$_readableStat4","_stream$_writableStat4","ArrayPrototypeSlice","Error","FunctionPrototypeSymbolHasInstance","ObjectDefineProperty","StringPrototypeToLowerCase","SymbolHasInstance","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_ALREADY_FINISHED","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","kOnFinished","noDecode","decodeStrings","corked","bufferProcessing","onwrite","writecb","writelen","afterWriteTickInfo","resetBuffer","pendingcb","buffered","bufferedIndex","allBuffers","allNoop","writev","_writev","clearBuffer","finishMaybe","isEncoding","writeOrBuffer","doWrite","onwriteError","errorBuffer","count","afterWriteTick","afterWrite","_state$errored","onfinishCallbacks","_state$errored2","bufferedLength","chunks","needFinish","callFinal","onFinish","getBuffer","object","cork","uncork","setDefaultEncoding","writableAborted","writableStream","newStreamWritableFromWritableStream","streamWritable","newWritableStreamFromStreamWritable","ArrayPrototypeIncludes","ArrayPrototypeJoin","ArrayPrototypeMap","NumberMAX_SAFE_INTEGER","NumberMIN_SAFE_INTEGER","ObjectPrototypeHasOwnProperty","RegExpPrototypeExec","String","StringPrototypeToUpperCase","StringPrototypeTrim","hideStackFrames","ERR_SOCKET_BAD_PORT","ERR_UNKNOWN_SIGNAL","normalizeEncoding","isAsyncFunction","isArrayBufferView","signals","isInt32","isUint32","octalReg","modeDesc","parseFileMode","def","validateUint32","min","max","validateInt32","positive","validateString","validateNumber","validateOneOf","oneOf","allowed","getOwnPropertyValueOrDefault","key","defaultValue","allowArray","allowFunction","nullable","validateDictionary","validateArray","minLength","validateStringArray","validateBooleanArray","validateSignalName","validateBuffer","validateEncoding","normalizedEncoding","validatePort","port","allowZero","validatePlainFunction","validateUndefined","validateUnion","union","linkValueRegExp","validateLinkHeaderFormat","validateLinkHeaderValue","hints","hintsLength","link","CustomStream","promises","originalDestroy","Object","defineProperty","configurable","format","AggregateError","CustomAggregateError","kIsNodeError","kTypes","classRegExp","nodeInternalPrefix","assert","ERR_INTERNAL_ASSERTION","addNumericalSeparator","start","getMessage","msg","expectedLength","match","E","Base","NodeError","defineProperties","hidden","innerError","outerError","Array","isArray","errors","expected","actual","endsWith","types","instances","other","toLowerCase","test","pos","indexOf","last","_actual$constructor","inspected","colors","TypeError","type","input","_value$constructor","a","range","received","isInteger","Math","abs","RangeError","el","sep","ArrayPrototypePop","thisArgs","instance","Function","hasInstance","floor","isNaN","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","parseInt","props","prop","getOwnPropertyDescriptor","target","proto","setPrototypeOf","PromisePrototypeCatch","thenFn","catchFn","ReflectApply","Reflect","RegExpPrototypeTest","Set","toUpperCase","trim","asyncIterator","AsyncFunction","getPrototypeOf","freeze","rej","promisify","debuglog","replace","_unused","replacement","toFixed","JSON","stringify","ctor","is","arr","ArrayBuffer","isView","custom","customPromisify","ERR_ILLEGAL_CONSTRUCTOR","utils","op","byteLength","pl","lastArg","Sink","Impl","import","output","ObjectEncoder","array","jsonld","StringEncoder","SerializerStream","encoder","quad","triple","graph","termType","subjectValue","subject","predicate","objectValue","static","language","datatype","Serializer","CustomJsonLdSerializer"],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/42.17774fbd.js b/js/42.17774fbd.js
new file mode 100644
index 0000000..c29685d
--- /dev/null
+++ b/js/42.17774fbd.js
@@ -0,0 +1,2 @@
+(self["webpackChunk_zazuko_spex"]=self["webpackChunk_zazuko_spex"]||[]).push([[42],{16720:function(e,t,r){"use strict";const{SymbolDispose:n}=r(19015),{AbortError:i,codes:o}=r(59861),{isNodeStream:a,isWebStream:s,kControllerErrorFunction:l}=r(60488),d=r(81246),{ERR_INVALID_ARG_TYPE:u}=o;let c;const f=(e,t)=>{if("object"!==typeof e||!("aborted"in e))throw new u(t,"AbortSignal",e)};e.exports.addAbortSignal=function(t,r){if(f(t,"signal"),!a(r)&&!s(r))throw new u("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!==typeof e||!("aborted"in e))return t;const o=a(t)?()=>{t.destroy(new i(void 0,{cause:e.reason}))}:()=>{t[l](new i(void 0,{cause:e.reason}))};if(e.aborted)o();else{c=c||r(41090).addAbortListener;const i=c(e,o);d(t,i[n])}return t}},67720:function(e,t,r){"use strict";const{StringPrototypeSlice:n,SymbolIterator:i,TypedArrayPrototypeSet:o,Uint8Array:a}=r(19015),{Buffer:s}=r(48764),{inspect:l}=r(41090);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;while(null!==(t=t.next))r+=e+t.data;return r}concat(e){if(0===this.length)return s.alloc(0);const t=s.allocUnsafe(e>>>0);let r=this.head,n=0;while(r)o(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(eo.length)){e===o.length?(t+=o,++i,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(o,0,e),this.head=r,r.data=n(o,e));break}t+=o,e-=o.length,++i}while(null!==(r=r.next));return this.length-=i,t}_getBuffer(e){const t=s.allocUnsafe(e),r=e;let n=this.head,i=0;do{const s=n.data;if(!(e>s.length)){e===s.length?(o(t,s,r-e),++i,n.next?this.head=n.next:this.head=this.tail=null):(o(t,new a(s.buffer,s.byteOffset,e),r-e),this.head=n,n.data=s.slice(e));break}o(t,s,r-e),e-=s.length,++i}while(null!==(n=n.next));return this.length-=i,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return l(this,{...t,depth:0,customInspect:!1})}}},35223:function(e,t,r){"use strict";const{pipeline:n}=r(45891),i=r(53880),{destroyer:o}=r(51662),{isNodeStream:a,isReadable:s,isWritable:l,isWebStream:d,isTransformStream:u,isWritableStream:c,isReadableStream:f}=r(60488),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:p,ERR_MISSING_ARGS:b}}=r(59861),y=r(81246);e.exports=function(...e){if(0===e.length)throw new b("streams");if(1===e.length)return i.from(e[0]);const t=[...e];if("function"===typeof e[0]&&(e[0]=i.from(e[0])),"function"===typeof e[e.length-1]){const t=e.length-1;e[t]=i.from(e[t])}for(let n=0;n0&&!(l(e[n])||c(e[n])||u(e[n])))throw new p(`streams[${n}]`,t[n],"must be writable")}let r,g,_,w,E;function m(e){const t=w;w=null,t?t(e):e?E.destroy(e):I||v||E.destroy()}const S=e[0],R=n(e,m),v=!!(l(S)||c(S)||u(S)),I=!!(s(R)||f(R)||u(R));if(E=new i({writableObjectMode:!(null===S||void 0===S||!S.writableObjectMode),readableObjectMode:!(null===R||void 0===R||!R.readableObjectMode),writable:v,readable:I}),v){if(a(S))E._write=function(e,t,n){S.write(e,t)?n():r=n},E._final=function(e){S.end(),g=e},S.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(d(S)){const e=u(S)?S.writable:S,t=e.getWriter();E._write=async function(e,r,n){try{await t.ready,t.write(e).catch((()=>{})),n()}catch(i){n(i)}},E._final=async function(e){try{await t.ready,t.close().catch((()=>{})),g=e}catch(r){e(r)}}}const e=u(R)?R.readable:R;y(e,(()=>{if(g){const e=g;g=null,e()}}))}if(I)if(a(R))R.on("readable",(function(){if(_){const e=_;_=null,e()}})),R.on("end",(function(){E.push(null)})),E._read=function(){while(1){const e=R.read();if(null===e)return void(_=E._read);if(!E.push(e))return}};else if(d(R)){const e=u(R)?R.readable:R,t=e.getReader();E._read=async function(){while(1)try{const{value:e,done:r}=await t.read();if(!E.push(e))return;if(r)return void E.push(null)}catch{return}}}return E._destroy=function(e,t){e||null===w||(e=new h),_=null,r=null,g=null,null===w?t(e):(w=t,a(R)&&o(R,e))},E}},51662:function(e,t,r){"use strict";const n=r(34155),{aggregateTwoErrors:i,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:a}=r(59861),{Symbol:s}=r(19015),{kIsDestroyed:l,isDestroyed:d,isFinished:u,isServerRequest:c}=r(60488),f=s("kDestroy"),h=s("kConstruct");function p(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function b(e,t){const r=this._readableState,n=this._writableState,o=n||r;return null!==n&&void 0!==n&&n.destroyed||null!==r&&void 0!==r&&r.destroyed?("function"===typeof t&&t(),this):(p(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),o.constructed?y(this,e,t):this.once(f,(function(r){y(this,i(r,e),t)})),this)}function y(e,t,r){let i=!1;function o(t){if(i)return;i=!0;const o=e._readableState,a=e._writableState;p(t,a,o),a&&(a.closed=!0),o&&(o.closed=!0),"function"===typeof r&&r(t),t?n.nextTick(g,e,t):n.nextTick(_,e)}try{e._destroy(t||null,o)}catch(t){o(t)}}function g(e,t){w(e,t),_(e)}function _(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!==r&&void 0!==r&&r.emitClose||null!==t&&void 0!==t&&t.emitClose)&&e.emit("close")}function w(e,t){const r=e._readableState,n=e._writableState;null!==n&&void 0!==n&&n.errorEmitted||null!==r&&void 0!==r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function E(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)}function m(e,t,r){const i=e._readableState,o=e._writableState;if(null!==o&&void 0!==o&&o.destroyed||null!==i&&void 0!==i&&i.destroyed)return this;null!==i&&void 0!==i&&i.autoDestroy||null!==o&&void 0!==o&&o.autoDestroy?e.destroy(t):t&&(t.stack,o&&!o.errored&&(o.errored=t),i&&!i.errored&&(i.errored=t),r?n.nextTick(w,e,t):w(e,t))}function S(e,t){if("function"!==typeof e._construct)return;const r=e._readableState,i=e._writableState;r&&(r.constructed=!1),i&&(i.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(R,e)}function R(e){let t=!1;function r(r){if(t)return void m(e,null!==r&&void 0!==r?r:new o);t=!0;const i=e._readableState,a=e._writableState,s=a||i;i&&(i.constructed=!0),a&&(a.constructed=!0),s.destroyed?e.emit(f,r):r?m(e,r,!0):n.nextTick(v,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(i){n.nextTick(r,i)}}function v(e){e.emit(h)}function I(e){return(null===e||void 0===e?void 0:e.setHeader)&&"function"===typeof e.abort}function A(e){e.emit("close")}function O(e,t){e.emit("error",t),n.nextTick(A,e)}function C(e,t){e&&!d(e)&&(t||u(e)||(t=new a),c(e)?(e.socket=null,e.destroy(t)):I(e)?e.abort():I(e.req)?e.req.abort():"function"===typeof e.destroy?e.destroy(t):"function"===typeof e.close?e.close():t?n.nextTick(O,e,t):n.nextTick(A,e),e.destroyed||(e[l]=!0))}e.exports={construct:S,destroyer:C,destroy:b,undestroy:E,errorOrDestroy:m}},53880:function(e,t,r){"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:i,ObjectKeys:o,ObjectSetPrototypeOf:a}=r(19015);e.exports=d;const s=r(41676),l=r(83906);a(d.prototype,s.prototype),a(d,s);{const e=o(l.prototype);for(let t=0;t{c=!1,e&&_(t,e),f(e)})),d._write=function(e,t,i){r.write(e,t)?i():n=i},d._final=function(e){r.end(),i=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(i){const e=i;i=null,e()}}))),u&&(p(t,(e=>{u=!1,e&&_(t,e),f(e)})),t.on("readable",(function(){if(s){const e=s;s=null,e()}})),t.on("end",(function(){d.push(null)})),d._read=function(){while(1){const e=t.read();if(null===e)return void(s=d._read);if(!d.push(e))return}}),d._destroy=function(e,o){e||null===l||(e=new b),s=null,n=null,i=null,null===l?o(e):(l=o,_(r,e),_(t,e))},d}e.exports=function e(t,r){if(c(t))return t;if(d(t))return T({readable:t});if(u(t))return T({writable:t});if(l(t))return T({writable:!1,readable:!1});if(f(t))return T({readable:E.fromWeb(t)});if(h(t))return T({writable:m.fromWeb(t)});if("function"===typeof t){const{value:e,write:i,final:o,destroy:a}=x(t);if(s(e))return R(C,e,{objectMode:!0,write:i,final:o,destroy:a});const l=null===e||void 0===e?void 0:e.then;if("function"===typeof l){let t;const r=O(l,e,(e=>{if(null!=e)throw new g("nully","body",e)}),(e=>{_(t,e)}));return t=new C({objectMode:!0,readable:!1,write:i,final(e){o((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new g("Iterable, AsyncIterable or AsyncFunction",r,e)}if(I(t))return e(t.arrayBuffer());if(s(t))return R(C,t,{objectMode:!0,writable:!1});if(f(null===t||void 0===t?void 0:t.readable)&&h(null===t||void 0===t?void 0:t.writable))return C.fromWeb(t);if("object"===typeof(null===t||void 0===t?void 0:t.writable)||"object"===typeof(null===t||void 0===t?void 0:t.readable)){const r=null!==t&&void 0!==t&&t.readable?d(null===t||void 0===t?void 0:t.readable)?null===t||void 0===t?void 0:t.readable:e(t.readable):void 0,n=null!==t&&void 0!==t&&t.writable?u(null===t||void 0===t?void 0:t.writable)?null===t||void 0===t?void 0:t.writable:e(t.writable):void 0;return T({readable:r,writable:n})}const i=null===t||void 0===t?void 0:t.then;if("function"===typeof i){let e;return O(i,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{_(e,t)})),e=new C({objectMode:!0,writable:!1,read(){}})}throw new y(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},81246:function(e,t,r){const n=r(34155),{AbortError:i,codes:o}=r(59861),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:s}=o,{kEmptyObject:l,once:d}=r(41090),{validateAbortSignal:u,validateFunction:c,validateObject:f,validateBoolean:h}=r(46088),{Promise:p,PromisePrototypeThen:b,SymbolDispose:y}=r(19015),{isClosed:g,isReadable:_,isReadableNodeStream:w,isReadableStream:E,isReadableFinished:m,isReadableErrored:S,isWritable:R,isWritableNodeStream:v,isWritableStream:I,isWritableFinished:A,isWritableErrored:O,isNodeStream:C,willEmitClose:x,kIsClosedPromise:T}=r(60488);let N;function D(e){return e.setHeader&&"function"===typeof e.abort}const L=()=>{};function P(e,t,o){var h,p;if(2===arguments.length?(o=t,t=l):null==t?t=l:f(t,"options"),c(o,"callback"),u(t.signal,"options.signal"),o=d(o),E(e)||I(e))return k(e,t,o);if(!C(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const b=null!==(h=t.readable)&&void 0!==h?h:w(e),T=null!==(p=t.writable)&&void 0!==p?p:v(e),P=e._writableState,j=e._readableState,M=()=>{e.writable||U()};let V=x(e)&&w(e)===b&&v(e)===T,F=A(e,!1);const U=()=>{F=!0,e.destroyed&&(V=!1),(!V||e.readable&&!b)&&(b&&!$||o.call(e))};let $=m(e,!1);const W=()=>{$=!0,e.destroyed&&(V=!1),(!V||e.writable&&!T)&&(T&&!F||o.call(e))},B=t=>{o.call(e,t)};let G=g(e);const H=()=>{G=!0;const t=O(e)||S(e);return t&&"boolean"!==typeof t?o.call(e,t):b&&!$&&w(e,!0)&&!m(e,!1)?o.call(e,new s):!T||F||A(e,!1)?void o.call(e):o.call(e,new s)},K=()=>{G=!0;const t=O(e)||S(e);if(t&&"boolean"!==typeof t)return o.call(e,t);o.call(e)},J=()=>{e.req.on("finish",U)};D(e)?(e.on("complete",U),V||e.on("abort",H),e.req?J():e.on("request",J)):T&&!P&&(e.on("end",M),e.on("close",M)),V||"boolean"!==typeof e.aborted||e.on("aborted",H),e.on("end",W),e.on("finish",U),!1!==t.error&&e.on("error",B),e.on("close",H),G?n.nextTick(H):null!==P&&void 0!==P&&P.errorEmitted||null!==j&&void 0!==j&&j.errorEmitted?V||n.nextTick(K):(b||V&&!_(e)||!F&&!1!==R(e))&&(T||V&&!R(e)||!$&&!1!==_(e))?j&&e.req&&e.aborted&&n.nextTick(K):n.nextTick(K);const Y=()=>{o=L,e.removeListener("aborted",H),e.removeListener("complete",U),e.removeListener("abort",H),e.removeListener("request",J),e.req&&e.req.removeListener("finish",U),e.removeListener("end",M),e.removeListener("close",M),e.removeListener("finish",U),e.removeListener("end",W),e.removeListener("error",B),e.removeListener("close",H)};if(t.signal&&!G){const a=()=>{const r=o;Y(),r.call(e,new i(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{N=N||r(41090).addAbortListener;const n=N(t.signal,a),i=o;o=d(((...t)=>{n[y](),i.apply(e,t)}))}}return Y}function k(e,t,o){let a=!1,s=L;if(t.signal)if(s=()=>{a=!0,o.call(e,new i(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(s);else{N=N||r(41090).addAbortListener;const n=N(t.signal,s),i=o;o=d(((...t)=>{n[y](),i.apply(e,t)}))}const l=(...t)=>{a||n.nextTick((()=>o.apply(e,t)))};return b(e[T].promise,l,l),L}function j(e,t){var r;let n=!1;return null===t&&(t=l),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new p(((r,i)=>{const o=P(e,t,(e=>{n&&o(),e?i(e):r()}))}))}e.exports=P,e.exports.finished=j},85293:function(e,t,r){"use strict";const n=r(34155),{PromisePrototypeThen:i,SymbolAsyncIterator:o,SymbolIterator:a}=r(19015),{Buffer:s}=r(48764),{ERR_INVALID_ARG_TYPE:l,ERR_STREAM_NULL_VALUES:d}=r(59861).codes;function u(e,t,r){let u,c;if("string"===typeof t||t instanceof s)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[o])c=!0,u=t[o]();else{if(!t||!t[a])throw new l("iterable",["Iterable"],t);c=!1,u=t[a]()}const f=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;async function p(e){const t=void 0!==e&&null!==e,r="function"===typeof u.throw;if(t&&r){const{value:t,done:r}=await u.throw(e);if(await t,r)return}if("function"===typeof u.return){const{value:e}=await u.return();await e}}async function b(){for(;;){try{const{value:e,done:t}=c?await u.next():u.next();if(t)f.push(null);else{const t=e&&"function"===typeof e.then?await e:e;if(null===t)throw h=!1,new d;if(f.push(t))continue;h=!1}}catch(e){f.destroy(e)}break}}return f._read=function(){h||(h=!0,b())},f._destroy=function(e,t){i(p(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},f}e.exports=u},53736:function(e,t,r){"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:i}=r(19015),{EventEmitter:o}=r(17187);function a(e){o.call(this,e)}function s(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}i(a.prototype,o.prototype),i(a,o),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function i(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",i),e._isStdio||t&&!1===t.end||(r.on("end",l),r.on("close",d));let a=!1;function l(){a||(a=!0,e.end())}function d(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){c(),0===o.listenerCount(this,"error")&&this.emit("error",e)}function c(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",l),r.removeListener("close",d),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return s(r,"error",u),s(e,"error",u),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:s}},19350:function(e,t,r){"use strict";const n=globalThis.AbortController||r(28599).AbortController,{codes:{ERR_INVALID_ARG_VALUE:i,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:s},AbortError:l}=r(59861),{validateAbortSignal:d,validateInteger:u,validateObject:c}=r(46088),f=r(19015).Symbol("kWeak"),h=r(19015).Symbol("kResistStopPropagation"),{finished:p}=r(81246),b=r(35223),{addAbortSignalNoValidate:y}=r(16720),{isWritable:g,isNodeStream:_}=r(60488),{deprecate:w}=r(41090),{ArrayPrototypePush:E,Boolean:m,MathFloor:S,Number:R,NumberIsNaN:v,Promise:I,PromiseReject:A,PromiseResolve:O,PromisePrototypeThen:C,Symbol:x}=r(19015),T=x("kEmpty"),N=x("kEof");function D(e,t){if(null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),_(e)&&!g(e))throw new i("stream",e,"must be writable");const r=b(this,e);return null!==t&&void 0!==t&&t.signal&&y(t.signal,r),r}function L(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal");let n=1;null!=(null===t||void 0===t?void 0:t.concurrency)&&(n=S(t.concurrency));let i=n-1;return null!=(null===t||void 0===t?void 0:t.highWaterMark)&&(i=S(t.highWaterMark)),u(n,"options.concurrency",1),u(i,"options.highWaterMark",0),i+=n,async function*(){const o=r(41090).AbortSignalAny([null===t||void 0===t?void 0:t.signal].filter(m)),a=this,s=[],d={signal:o};let u,c,f=!1,h=0;function p(){f=!0,b()}function b(){h-=1,y()}function y(){c&&!f&&h=i||h>=n)&&await new I((e=>{c=e}))}s.push(N)}catch(t){const e=A(t);C(e,b,p),s.push(e)}finally{f=!0,u&&(u(),u=null)}}g();try{while(1){while(s.length>0){const e=await s[0];if(e===N)return;if(o.aborted)throw new l;e!==T&&(yield e),s.shift(),y()}await new I((e=>{u=e}))}}finally{f=!0,c&&(c(),c=null)}}.call(this)}function P(e=void 0){return null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new l({cause:e.signal.reason});yield[t++,n]}}.call(this)}async function k(e,t=void 0){for await(const r of F.call(this,e,t))return!0;return!1}async function j(e,t=void 0){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);return!await k.call(this,(async(...t)=>!await e(...t)),t)}async function M(e,t){for await(const r of F.call(this,e,t))return r}async function V(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r),T}for await(const n of L.call(this,r,t));}function F(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r)?t:T}return L.call(this,r,t)}class U extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function $(e,t,r){var i;if("function"!==typeof e)throw new o("reducer",["Function","AsyncFunction"],e);null!=r&&c(r,"options"),null!=(null===r||void 0===r?void 0:r.signal)&&d(r.signal,"options.signal");let a=arguments.length>1;if(null!==r&&void 0!==r&&null!==(i=r.signal)&&void 0!==i&&i.aborted){const e=new l(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await p(this.destroy(e)),e}const s=new n,u=s.signal;if(null!==r&&void 0!==r&&r.signal){const e={once:!0,[f]:this,[h]:!0};r.signal.addEventListener("abort",(()=>s.abort()),e)}let b=!1;try{for await(const n of this){var y;if(b=!0,null!==r&&void 0!==r&&null!==(y=r.signal)&&void 0!==y&&y.aborted)throw new l;a?t=await e(t,n,{signal:u}):(t=n,a=!0)}if(!b&&!a)throw new U}finally{s.abort()}return t}async function W(e){null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new l(void 0,{cause:e.signal.reason});E(t,n)}return t}function B(e,t){const r=L.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)}function G(e){if(e=R(e),v(e))return 0;if(e<0)throw new s("number",">= 0",e);return e}function H(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new l;for await(const i of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new l;e--<=0&&(yield i)}}.call(this)}function K(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new l;for await(const i of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new l;if(e-- >0&&(yield i),e<=0)return}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:w(P,"readable.asIndexedPairs will be removed in a future version."),drop:H,filter:F,flatMap:B,map:L,take:K,compose:D},e.exports.promiseReturningOperators={every:j,forEach:V,reduce:$,toArray:W,some:k,find:M}},43099:function(e,t,r){"use strict";const{ObjectSetPrototypeOf:n}=r(19015);e.exports=o;const i=r(95024);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}n(o.prototype,i.prototype),n(o,i),o.prototype._transform=function(e,t,r){r(null,e)}},45891:function(e,t,r){const n=r(34155),{ArrayIsArray:i,Promise:o,SymbolAsyncIterator:a,SymbolDispose:s}=r(19015),l=r(81246),{once:d}=r(41090),u=r(51662),c=r(53880),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:h,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:b,ERR_STREAM_DESTROYED:y,ERR_STREAM_PREMATURE_CLOSE:g},AbortError:_}=r(59861),{validateFunction:w,validateAbortSignal:E}=r(46088),{isIterable:m,isReadable:S,isReadableNodeStream:R,isNodeStream:v,isTransformStream:I,isWebStream:A,isReadableStream:O,isReadableFinished:C}=r(60488),x=globalThis.AbortController||r(28599).AbortController;let T,N,D;function L(e,t,r){let n=!1;e.on("close",(()=>{n=!0}));const i=l(e,{readable:t,writable:r},(e=>{n=!e}));return{destroy:t=>{n||(n=!0,u.destroyer(e,t||new y("pipe")))},cleanup:i}}function P(e){return w(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function k(e){if(m(e))return e;if(R(e))return j(e);throw new h("val",["Readable","Iterable","AsyncIterable"],e)}async function*j(e){N||(N=r(41676)),yield*N.prototype[a].call(e)}async function M(e,t,r,{end:n}){let i,a=null;const s=e=>{if(e&&(i=e),a){const e=a;a=null,e()}},d=()=>new o(((e,t)=>{i?t(i):a=()=>{i?t(i):e()}}));t.on("drain",s);const u=l(t,{readable:!1},s);try{t.writableNeedDrain&&await d();for await(const r of e)t.write(r)||await d();n&&(t.end(),await d()),r()}catch(c){r(i!==c?f(i,c):c)}finally{u(),t.off("drain",s)}}async function V(e,t,r,{end:n}){I(t)&&(t=t.writable);const i=t.getWriter();try{for await(const t of e)await i.ready,i.write(t).catch((()=>{}));await i.ready,n&&await i.close(),r()}catch(o){try{await i.abort(o),r(o)}catch(o){r(o)}}}function F(...e){return U(e,d(P(e)))}function U(e,t,o){if(1===e.length&&i(e[0])&&(e=e[0]),e.length<2)throw new b("streams");const a=new x,l=a.signal,d=null===o||void 0===o?void 0:o.signal,u=[];function f(){F(new _)}let y,g,w;E(d,"options.signal"),D=D||r(41090).addAbortListener,d&&(y=D(d,f));const C=[];let N,P=0;function j(e){F(e,0===--P)}function F(e,r){var i;if(!e||g&&"ERR_STREAM_PREMATURE_CLOSE"!==g.code||(g=e),g||r){while(C.length)C.shift()(g);null===(i=y)||void 0===i||i[s](),a.abort(),r&&(g||u.forEach((e=>e())),n.nextTick(t,g,w))}}for(let G=0;G0,Y=K||!1!==(null===o||void 0===o?void 0:o.end),q=G===e.length-1;if(v(H)){if(Y){const{destroy:X,cleanup:z}=L(H,K,J);C.push(X),S(H)&&q&&u.push(z)}function U(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&j(e)}H.on("error",U),S(H)&&q&&u.push((()=>{H.removeListener("error",U)}))}if(0===G)if("function"===typeof H){if(N=H({signal:l}),!m(N))throw new p("Iterable, AsyncIterable or Stream","source",N)}else N=m(H)||R(H)||I(H)?H:c.from(H);else if("function"===typeof H){var W;if(I(N))N=k(null===(W=N)||void 0===W?void 0:W.readable);else N=k(N);if(N=H(N,{signal:l}),K){if(!m(N,!0))throw new p("AsyncIterable",`transform[${G-1}]`,N)}else{var B;T||(T=r(43099));const Q=new T({objectMode:!0}),Z=null===(B=N)||void 0===B?void 0:B.then;if("function"===typeof Z)P++,Z.call(N,(e=>{w=e,null!=e&&Q.write(e),Y&&Q.end(),n.nextTick(j)}),(e=>{Q.destroy(e),n.nextTick(j,e)}));else if(m(N,!0))P++,M(N,Q,j,{end:Y});else{if(!O(N)&&!I(N))throw new p("AsyncIterable or Promise","destination",N);{const re=N.readable||N;P++,M(re,Q,j,{end:Y})}}N=Q;const{destroy:ee,cleanup:te}=L(N,!1,!0);C.push(ee),q&&u.push(te)}}else if(v(H)){if(R(N)){P+=2;const ne=$(N,H,j,{end:Y});S(H)&&q&&u.push(ne)}else if(I(N)||O(N)){const ie=N.readable||N;P++,M(ie,H,j,{end:Y})}else{if(!m(N))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],N);P++,M(N,H,j,{end:Y})}N=H}else if(A(H)){if(R(N))P++,V(k(N),H,j,{end:Y});else if(O(N)||m(N))P++,V(N,H,j,{end:Y});else{if(!I(N))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],N);P++,V(N.readable,H,j,{end:Y})}N=H}else N=c.from(H)}return(null!==l&&void 0!==l&&l.aborted||null!==d&&void 0!==d&&d.aborted)&&n.nextTick(f),N}function $(e,t,r,{end:i}){let o=!1;if(t.on("close",(()=>{o||r(new g)})),e.pipe(t,{end:!1}),i){function a(){o=!0,t.end()}C(e)?n.nextTick(a):e.once("end",a)}else r();return l(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),l(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:U,pipeline:F}},41676:function(e,t,r){const n=r(34155),{ArrayPrototypeIndexOf:i,NumberIsInteger:o,NumberIsNaN:a,NumberParseInt:s,ObjectDefineProperties:l,ObjectKeys:d,ObjectSetPrototypeOf:u,Promise:c,SafeSet:f,SymbolAsyncDispose:h,SymbolAsyncIterator:p,Symbol:b}=r(19015);e.exports=se,se.ReadableState=ae;const{EventEmitter:y}=r(17187),{Stream:g,prependListener:_}=r(53736),{Buffer:w}=r(48764),{addAbortSignal:E}=r(16720),m=r(81246);let S=r(41090).debuglog("stream",(e=>{S=e}));const R=r(67720),v=r(51662),{getHighWaterMark:I,getDefaultHighWaterMark:A}=r(19234),{aggregateTwoErrors:O,codes:{ERR_INVALID_ARG_TYPE:C,ERR_METHOD_NOT_IMPLEMENTED:x,ERR_OUT_OF_RANGE:T,ERR_STREAM_PUSH_AFTER_EOF:N,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:D},AbortError:L}=r(59861),{validateObject:P}=r(46088),k=b("kPaused"),{StringDecoder:j}=r(32553),M=r(85293);u(se.prototype,g.prototype),u(se,g);const V=()=>{},{errorOrDestroy:F}=v,U=1,$=2,W=4,B=8,G=16,H=32,K=64,J=128,Y=256,q=512,X=1024,z=2048,Q=4096,Z=8192,ee=16384,te=32768,re=65536,ne=1<<17,ie=1<<18;function oe(e){return{enumerable:!1,get(){return 0!==(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function ae(e,t,n){"boolean"!==typeof n&&(n=t instanceof r(53880)),this.state=z|Q|G|H,e&&e.objectMode&&(this.state|=U),n&&e&&e.readableObjectMode&&(this.state|=U),this.highWaterMark=e?I(this,e,"readableHighWaterMark",n):A(!1),this.buffer=new R,this.length=0,this.pipes=[],this.flowing=null,this[k]=null,e&&!1===e.emitClose&&(this.state&=~z),e&&!1===e.autoDestroy&&(this.state&=~Q),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new j(e.encoding),this.encoding=e.encoding)}function se(e){if(!(this instanceof se))return new se(e);const t=this instanceof r(53880);this._readableState=new ae(e,this,t),e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&E(e.signal,this)),g.call(this,e),v.construct(this,(()=>{this._readableState.needReadable&&ye(this,this._readableState)}))}function le(e,t,r,n){S("readableAddChunk",t);const i=e._readableState;let o;if(0===(i.state&U)&&("string"===typeof t?(r=r||i.defaultEncoding,i.encoding!==r&&(n&&i.encoding?t=w.from(t,r).toString(i.encoding):(t=w.from(t,r),r=""))):t instanceof w?r="":g._isUint8Array(t)?(t=g._uint8ArrayToBuffer(t),r=""):null!=t&&(o=new C("chunk",["string","Buffer","Uint8Array"],t))),o)F(e,o);else if(null===t)i.state&=~B,he(e,i);else if(0!==(i.state&U)||t&&t.length>0)if(n)if(0!==(i.state&W))F(e,new D);else{if(i.destroyed||i.errored)return!1;de(e,i,t,!0)}else if(i.ended)F(e,new N);else{if(i.destroyed||i.errored)return!1;i.state&=~B,i.decoder&&!r?(t=i.decoder.write(t),i.objectMode||0!==t.length?de(e,i,t,!1):ye(e,i)):de(e,i,t,!1)}else n||(i.state&=~B,ye(e,i));return!i.ended&&(i.length0?(0!==(t.state&re)?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),0!==(t.state&K)&&pe(e)),ye(e,t)}l(ae.prototype,{objectMode:oe(U),ended:oe($),endEmitted:oe(W),reading:oe(B),constructed:oe(G),sync:oe(H),needReadable:oe(K),emittedReadable:oe(J),readableListening:oe(Y),resumeScheduled:oe(q),errorEmitted:oe(X),emitClose:oe(z),autoDestroy:oe(Q),destroyed:oe(Z),closed:oe(ee),closeEmitted:oe(te),multiAwaitDrain:oe(re),readingMore:oe(ne),dataEmitted:oe(ie)}),se.prototype.destroy=v.destroy,se.prototype._undestroy=v.undestroy,se.prototype._destroy=function(e,t){t(e)},se.prototype[y.captureRejectionSymbol]=function(e){this.destroy(e)},se.prototype[h]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new L,this.destroy(e)),new c(((t,r)=>m(this,(n=>n&&n!==e?r(n):t(null)))))},se.prototype.push=function(e,t){return le(this,e,t,!1)},se.prototype.unshift=function(e,t){return le(this,e,t,!0)},se.prototype.isPaused=function(){const e=this._readableState;return!0===e[k]||!1===e.flowing},se.prototype.setEncoding=function(e){const t=new j(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const i of r)n+=t.write(i);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this};const ue=1073741824;function ce(e){if(e>ue)throw new T("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function fe(e,t){return e<=0||0===t.length&&t.ended?0:0!==(t.state&U)?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function he(e,t){if(S("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?pe(e):(t.needReadable=!1,t.emittedReadable=!0,be(e))}}function pe(e){const t=e._readableState;S("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(S("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(be,e))}function be(e){const t=e._readableState;S("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Re(e)}function ye(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(ge,e,t))}function ge(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[k]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function Ee(e){S("readable nexttick read 0"),e.read(0)}function me(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(Se,e,t))}function Se(e,t){S("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Re(e),t.flowing&&!t.reading&&e.read(0)}function Re(e){const t=e._readableState;S("flow",t.flowing);while(t.flowing&&null!==e.read());}function ve(e,t){"function"!==typeof e.read&&(e=se.wrap(e,{objectMode:!0}));const r=Ie(e,t);return r.stream=e,r}async function*Ie(e,t){let r,n=V;function i(t){this===e?(n(),n=V):n=t}e.on("readable",i);const o=m(e,{writable:!1},(e=>{r=e?O(r,e):null,n(),n=V}));try{while(1){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new c(i)}}}catch(a){throw r=O(r,a),r}finally{!r&&!1===(null===t||void 0===t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",i),o()):v.destroyer(e,null)}}function Ae(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Oe(e){const t=e._readableState;S("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(Ce,t,e))}function Ce(e,t){if(S("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(xe,t);else if(e.autoDestroy){const e=t._writableState,r=!e||e.autoDestroy&&(e.finished||!1===e.writable);r&&t.destroy()}}function xe(e){const t=e.writable&&!e.writableEnded&&!e.destroyed;t&&e.end()}let Te;function Ne(){return void 0===Te&&(Te={}),Te}se.prototype.read=function(e){S("read",e),void 0===e?e=NaN:o(e)||(e=s(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=ce(e)),0!==e&&(t.state&=~J),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return S("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Oe(this):pe(this),null;if(e=fe(e,t),0===e&&t.ended)return 0===t.length&&Oe(this),null;let n,i=0!==(t.state&K);if(S("need readable",i),(0===t.length||t.length-e0?Ae(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Oe(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},se.prototype._read=function(e){throw new x("_read()")},se.prototype.pipe=function(e,t){const r=this,i=this._readableState;1===i.pipes.length&&(i.multiAwaitDrain||(i.multiAwaitDrain=!0,i.awaitDrainWriters=new f(i.awaitDrainWriters?[i.awaitDrainWriters]:[]))),i.pipes.push(e),S("pipe count=%d opts=%j",i.pipes.length,t);const o=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr,a=o?l:w;function s(e,t){S("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,c())}function l(){S("onend"),e.end()}let d;i.endEmitted?n.nextTick(a):r.once("end",a),e.on("unpipe",s);let u=!1;function c(){S("cleanup"),e.removeListener("close",y),e.removeListener("finish",g),d&&e.removeListener("drain",d),e.removeListener("error",b),e.removeListener("unpipe",s),r.removeListener("end",l),r.removeListener("end",w),r.removeListener("data",p),u=!0,d&&i.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&d()}function h(){u||(1===i.pipes.length&&i.pipes[0]===e?(S("false write response, pause",0),i.awaitDrainWriters=e,i.multiAwaitDrain=!1):i.pipes.length>1&&i.pipes.includes(e)&&(S("false write response, pause",i.awaitDrainWriters.size),i.awaitDrainWriters.add(e)),r.pause()),d||(d=_e(r,e),e.on("drain",d))}function p(t){S("ondata");const r=e.write(t);S("dest.write",r),!1===r&&h()}function b(t){if(S("onerror",t),w(),e.removeListener("error",b),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?F(e,t):e.emit("error",t)}}function y(){e.removeListener("finish",g),w()}function g(){S("onfinish"),e.removeListener("close",y),w()}function w(){S("unpipe"),r.unpipe(e)}return r.on("data",p),_(e,"error",b),e.once("close",y),e.once("finish",g),e.emit("pipe",r),!0===e.writableNeedDrain?h():i.flowing||(S("pipe resume"),r.resume()),e},se.prototype.unpipe=function(e){const t=this._readableState,r={hasUnpiped:!1};if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,S("on readable",i.length,i.reading),i.length?pe(this):i.reading||n.nextTick(Ee,this))),r},se.prototype.addListener=se.prototype.on,se.prototype.removeListener=function(e,t){const r=g.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(we,this),r},se.prototype.off=se.prototype.removeListener,se.prototype.removeAllListeners=function(e){const t=g.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(we,this),t},se.prototype.resume=function(){const e=this._readableState;return e.flowing||(S("resume"),e.flowing=!e.readableListening,me(this,e)),e[k]=!1,this},se.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[k]=!0,this},se.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{F(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=d(e);for(let n=1;n{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function c(){this._final!==u&&u.call(this)}d.prototype._final=u,d.prototype._transform=function(e,t,r){throw new o("_transform()")},d.prototype._write=function(e,t,r){const n=this._readableState,i=this._writableState,o=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),i.ended||o===n.length||n.length{const e=this._writableState;e.writing||B(this,e),J(this,e)}))}function k(e,t,r,i){const o=e._writableState;if("function"===typeof r)i=r,r=o.defaultEncoding;else{if(r){if("buffer"!==r&&!b.isEncoding(r))throw new C(r)}else r=o.defaultEncoding;"function"!==typeof i&&(i=T)}if(null===t)throw new A;if(!o.objectMode)if("string"===typeof t)!1!==o.decodeStrings&&(t=b.from(t,r),r="buffer");else if(t instanceof b)r="buffer";else{if(!p._isUint8Array(t))throw new E("chunk",["string","Buffer","Uint8Array"],t);t=p._uint8ArrayToBuffer(t),r="buffer"}let a;return o.ending?a=new O:o.destroyed&&(a=new v("write")),a?(n.nextTick(i,a),x(e,a,!0),a):(o.pendingcb++,j(e,o,t,r,i))}function j(e,t,r,n,i){const o=t.objectMode?1:r.length;t.length+=o;const a=t.lengthr.bufferedIndex&&B(e,r),i?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===o?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:o,stream:e,state:r},n.nextTick(U,r.afterWriteTickInfo)):$(e,r,1,o))):x(e,new S)}function U({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,$(e,t,r,n)}function $(e,t,r,n){const i=!t.ending&&!e.destroyed&&0===t.length&&t.needDrain;i&&(t.needDrain=!1,e.emit("drain"));while(r-- >0)t.pendingcb--,n();t.destroyed&&W(t),J(e,t)}function W(e){if(e.writing)return;for(let i=e.bufferedIndex;i1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?T:e=>{for(let t=s;t256?(r.splice(0,s),t.bufferedIndex=0):t.bufferedIndex=s}t.bufferProcessing=!1}function G(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function H(e,t){let r=!1;function i(i){if(r)x(e,null!==i&&void 0!==i?i:S());else if(r=!0,t.pendingcb--,i){const r=t[N].splice(0);for(let e=0;e{G(t)?Y(e,t):t.pendingcb--}),e,t)):G(t)&&(t.pendingcb++,Y(e,t))))}function Y(e,t){t.pendingcb--,t.finished=!0;const r=t[N].splice(0);for(let n=0;n>>0}const x=/^[0-7]+$/,T="must be a 32-bit unsigned integer or an octal string";function N(e,t,r){if("undefined"===typeof e&&(e=r),"string"===typeof e){if(null===h(x,e))throw new E(t,e,T);e=c(e,8)}return P(e,t),e}const D=g(((e,t,r=u,n=d)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);if(en)throw new m(t,`>= ${r} && <= ${n}`,e)})),L=g(((e,t,r=-2147483648,n=2147483647)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);if(en)throw new m(t,`>= ${r} && <= ${n}`,e)})),P=g(((e,t,r=!1)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);const n=r?1:0,i=4294967295;if(ei)throw new m(t,`>= ${n} && <= ${i}`,e)}));function k(e,t){if("string"!==typeof e)throw new w(t,"string",e)}function j(e,t,r=void 0,n){if("number"!==typeof e)throw new w(t,"number",e);if(null!=r&&en||(null!=r||null!=n)&&l(e))throw new m(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)}const M=g(((e,t,r)=>{if(!i(r,e)){const n=o(a(r,(e=>"string"===typeof e?`'${e}'`:p(e))),", "),i="must be one of: "+n;throw new E(t,e,i)}}));function V(e,t){if("boolean"!==typeof e)throw new w(t,"boolean",e)}function F(e,t,r){return null!=e&&f(e,t)?e[t]:r}const U=g(((e,t,r=null)=>{const i=F(r,"allowArray",!1),o=F(r,"allowFunction",!1),a=F(r,"nullable",!1);if(!a&&null===e||!i&&n(e)||"object"!==typeof e&&(!o||"function"!==typeof e))throw new w(t,"Object",e)})),$=g(((e,t)=>{if(null!=e&&"object"!==typeof e&&"function"!==typeof e)throw new w(t,"a dictionary",e)})),W=g(((e,t,r=0)=>{if(!n(e))throw new w(t,"Array",e);if(e.length{if(!I(e))throw new w(t,["Buffer","TypedArray","DataView"],e)}));function Y(e,t){const r=R(t),n=e.length;if("hex"===r&&n%2!==0)throw new E("encoding",t,`is invalid for data of length ${n}`)}function q(e,t="Port",r=!0){if("number"!==typeof e&&"string"!==typeof e||"string"===typeof e&&0===y(e).length||+e!==+e>>>0||e>65535||0===e&&!r)throw new _(t,e,r);return 0|e}const X=g(((e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new w(t,"AbortSignal",e)})),z=g(((e,t)=>{if("function"!==typeof e)throw new w(t,"Function",e)})),Q=g(((e,t)=>{if("function"!==typeof e||v(e))throw new w(t,"Function",e)})),Z=g(((e,t)=>{if(void 0!==e)throw new w(t,"undefined",e)}));function ee(e,t,r){if(!i(r,e))throw new w(t,`('${o(r,"|")}')`,e)}const te=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function re(e,t){if("undefined"===typeof e||!h(te,e))throw new E(t,e,'must be an array or string of format "; rel=preload; as=style"')}function ne(e){if("string"===typeof e)return re(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}e.exports={isInt32:O,isUint32:C,parseFileMode:N,validateArray:W,validateStringArray:B,validateBooleanArray:G,validateAbortSignalArray:H,validateBoolean:V,validateBuffer:J,validateDictionary:$,validateEncoding:Y,validateFunction:z,validateInt32:L,validateInteger:D,validateNumber:j,validateObject:U,validateOneOf:M,validatePlainFunction:Q,validatePort:q,validateSignalName:K,validateString:k,validateUint32:P,validateUndefined:Z,validateUnion:ee,validateAbortSignal:X,validateLinkHeaderValue:ne}},45024:function(e,t,r){"use strict";const n=r(56785),i=r(97864),o=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=o,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return i}}),e.exports.Stream=n.Stream,e.exports["default"]=e.exports},59861:function(e,t,r){"use strict";const{format:n,inspect:i,AggregateError:o}=r(41090),a=globalThis.AggregateError||o,s=Symbol("kIsNodeError"),l=["string","function","number","object","Function","Object","boolean","bigint","symbol"],d=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function f(e,t){if(!e)throw new c.ERR_INTERNAL_ASSERTION(t)}function h(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function p(e,t,r){if("function"===typeof t)return f(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const i=(t.match(/%[dfijoOs]/g)||[]).length;return f(i===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${i}).`),0===r.length?t:n(t,...r)}function b(e,t,r){r||(r=Error);class n extends r{constructor(...r){super(p(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=e,n.prototype[s]=!0,c[e]=n}function y(e){const t=u+e.name;return Object.defineProperty(e,"name",{value:t}),e}function g(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t}class _ extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!==typeof t)throw new c.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}b("ERR_ASSERTION","%s",Error),b("ERR_INVALID_ARG_TYPE",((e,t,r)=>{f("string"===typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const o=[],a=[],s=[];for(const i of t)f("string"===typeof i,"All expected entries have to be of type string"),l.includes(i)?o.push(i.toLowerCase()):d.test(i)?a.push(i):(f("object"!==i,'The value "object" should be written as "Object"'),s.push(i));if(a.length>0){const e=o.indexOf("object");-1!==e&&(o.splice(o,e,1),a.push("Object"))}if(o.length>0){switch(o.length){case 1:n+=`of type ${o[0]}`;break;case 2:n+=`one of type ${o[0]} or ${o[1]}`;break;default:{const e=o.pop();n+=`one of type ${o.join(", ")}, or ${e}`}}(a.length>0||s.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}s.length>0&&(n+=" or ")}switch(s.length){case 0:break;case 1:s[0].toLowerCase()!==s[0]&&(n+="an "),n+=`${s[0]}`;break;case 2:n+=`one of ${s[0]} or ${s[1]}`;break;default:{const e=s.pop();n+=`one of ${s.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"===typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"===typeof r){var u;if(null!==(u=r.constructor)&&void 0!==u&&u.name)n+=`. Received an instance of ${r.constructor.name}`;else{const e=i(r,{depth:-1});n+=`. Received ${e}`}}else{let e=i(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),b("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=i(t);n.length>128&&(n=n.slice(0,128)+"...");const o=e.includes(".")?"property":"argument";return`The ${o} '${e}' ${r}. Received ${n}`}),TypeError),b("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;const i=null!==r&&void 0!==r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r;return`Expected ${e} to be returned from the "${t}" function but got ${i}.`}),TypeError),b("ERR_MISSING_ARGS",((...e)=>{let t;f(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`}),TypeError),b("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return f(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=h(String(r)):"bigint"===typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=h(n)),n+="n"):n=i(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),b("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),b("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),b("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),b("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),b("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),b("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),b("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),b("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),b("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),b("ERR_STREAM_WRITE_AFTER_END","write after end",Error),b("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:_,aggregateTwoErrors:y(g),hideStackFrames:y,codes:c}},19015:function(e){"use strict";e.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,r){return e.slice(t,r)},Error:Error,FunctionPrototypeCall(e,t,...r){return e.call(t,...r)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number:Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,r){return Object.defineProperty(e,t,r)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise:Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,r){return e.then(t,r)},PromiseReject(e){return Promise.reject(e)},PromiseResolve(e){return Promise.resolve(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String:String,StringPrototypeSlice(e,t,r){return e.slice(t,r)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol:Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(e,t,r){return e.set(t,r)},Boolean:Boolean,Uint8Array:Uint8Array}},41090:function(e,t,r){"use strict";const n=r(48764),{kResistStopPropagation:i,SymbolDispose:o}=r(19015),a=globalThis.AbortSignal||r(28599).AbortSignal,s=globalThis.AbortController||r(28599).AbortController,l=Object.getPrototypeOf((async function(){})).constructor,d=globalThis.Blob||n.Blob,u="undefined"!==typeof d?function(e){return e instanceof d}:function(e){return!1},c=(e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)},f=(e,t)=>{if("function"!==typeof e)throw new ERR_INVALID_ARG_TYPE(t,"Function",e)};class h extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n}));return{promise:r,resolve:e,reject:t}},promisify(e){return new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))}))},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();if("f"===r)return n.toFixed(6);if("j"===r)return JSON.stringify(n);if("s"===r&&"object"===typeof n){const e=n.constructor!==Object?n.constructor.name:"";return`${e} {}`.trim()}return n.toString()}))},inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof l},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:u,deprecate(e,t){return e},addAbortListener:r(17187).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return c(e,"signal"),f(t,"listener"),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[i]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[o](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new s,r=()=>t.abort();return e.forEach((e=>{c(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},56785:function(e,t,r){const{Buffer:n}=r(48764),{ObjectDefineProperty:i,ObjectKeys:o,ReflectApply:a}=r(19015),{promisify:{custom:s}}=r(41090),{streamReturningOperators:l,promiseReturningOperators:d}=r(19350),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=r(59861),c=r(35223),{setDefaultHighWaterMark:f,getDefaultHighWaterMark:h}=r(19234),{pipeline:p}=r(45891),{destroyer:b}=r(51662),y=r(81246),g=r(97864),_=r(60488),w=e.exports=r(53736).Stream;w.isDestroyed=_.isDestroyed,w.isDisturbed=_.isDisturbed,w.isErrored=_.isErrored,w.isReadable=_.isReadable,w.isWritable=_.isWritable,w.Readable=r(41676);for(const S of o(l)){const R=l[S];function E(...e){if(new.target)throw u();return w.Readable.from(a(R,this,e))}i(E,"name",{__proto__:null,value:R.name}),i(E,"length",{__proto__:null,value:R.length}),i(w.Readable.prototype,S,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}for(const v of o(d)){const I=d[v];function E(...e){if(new.target)throw u();return a(I,this,e)}i(E,"name",{__proto__:null,value:I.name}),i(E,"length",{__proto__:null,value:I.length}),i(w.Readable.prototype,v,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}w.Writable=r(83906),w.Duplex=r(53880),w.Transform=r(95024),w.PassThrough=r(43099),w.pipeline=p;const{addAbortSignal:m}=r(16720);w.addAbortSignal=m,w.finished=y,w.destroy=b,w.compose=c,w.setDefaultHighWaterMark=f,w.getDefaultHighWaterMark=h,i(w,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return g}}),i(p,s,{__proto__:null,enumerable:!0,get(){return g.pipeline}}),i(y,s,{__proto__:null,enumerable:!0,get(){return g.finished}}),w.Stream=w,w._isUint8Array=function(e){return e instanceof Uint8Array},w._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},97864:function(e,t,r){"use strict";const{ArrayPrototypePop:n,Promise:i}=r(19015),{isIterable:o,isNodeStream:a,isWebStream:s}=r(60488),{pipelineImpl:l}=r(45891),{finished:d}=r(81246);function u(...e){return new i(((t,r)=>{let i,d;const u=e[e.length-1];if(u&&"object"===typeof u&&!a(u)&&!o(u)&&!s(u)){const t=n(e);i=t.signal,d=t.end}l(e,((e,n)=>{e?r(e):t(n)}),{signal:i,end:d})}))}r(56785),e.exports={finished:d,pipeline:u}},95456:function(e){"use strict";e.exports=function e(t){return null===t||"object"!==typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(((t,r,n)=>{const i=0===n?"":",",o=void 0===r||"symbol"===typeof r?null:r;return t+i+e(o)}),"")+"]":"{"+Object.keys(t).sort().reduce(((r,n,i)=>{if(void 0===t[n]||"symbol"===typeof t[n])return r;const o=0===r.length?"":",";return r+o+e(n)+":"+e(t[n])}),"")+"}"}},31905:function(){(function(e){(function(t){var r={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};function n(e){return e&&DataView.prototype.isPrototypeOf(e)}if(r.arrayBuffer)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],o=ArrayBuffer.isView||function(e){return e&&i.indexOf(Object.prototype.toString.call(e))>-1};function a(e){if("string"!==typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function s(e){return"string"!==typeof e&&(e=String(e)),e}function l(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r.iterable&&(t[Symbol.iterator]=function(){return t}),t}function d(e){this.map={},e instanceof d?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function u(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function c(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function f(e){var t=new FileReader,r=c(t);return t.readAsArrayBuffer(e),r}function h(e){var t=new FileReader,r=c(t);return t.readAsText(e),r}function p(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n-1?t:e}function w(e,t){t=t||{};var r=t.body;if(e instanceof w){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new d(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,r||null==e._bodyInit||(r=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new d(t.headers)),this.method=_(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function E(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function m(e){var t=new d,r=e.replace(/\r?\n[\t ]+/g," ");return r.split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t}function S(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new d(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},y.call(w.prototype),y.call(S.prototype),S.prototype.clone=function(){return new S(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},S.error=function(){var e=new S(null,{status:0,statusText:""});return e.type="error",e};var R=[301,302,303,307,308];S.redirect=function(e,t){if(-1===R.indexOf(t))throw new RangeError("Invalid status code");return new S(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(I){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function v(e,n){return new Promise((function(i,o){var a=new w(e,n);if(a.signal&&a.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function l(){s.abort()}s.onload=function(){var e={status:s.status,statusText:s.statusText,headers:m(s.getAllResponseHeaders()||"")};e.url="responseURL"in s?s.responseURL:e.headers.get("X-Request-URL");var t="response"in s?s.response:s.responseText;i(new S(t,e))},s.onerror=function(){o(new TypeError("Network request failed"))},s.ontimeout=function(){o(new TypeError("Network request failed"))},s.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&r.blob&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",l),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",l)}),s.send("undefined"===typeof a._bodyInit?null:a._bodyInit)}))}v.polyfill=!0,e.fetch||(e.fetch=v,e.Headers=d,e.Request=w,e.Response=S),t.Headers=d,t.Request=w,t.Response=S,t.fetch=v,Object.defineProperty(t,"__esModule",{value:!0})})({})})("undefined"!==typeof self?self:this)},12475:function(e,t,r){"use strict";var n=r(48764)["Buffer"],i=/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i,o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,a=/\s|\uFEFF|\xA0/,s=/\r?\n[\x20\x09]+/g,l=/[;,"]/,d=/[;,"]|\s/,u=/^[!#$%&'*+\-\.^_`|~\da-zA-Z]+$/,c={IDLE:1,URI:2,ATTR:4};function f(e){return e.replace(o,"")}function h(e){return a.test(e)}function p(e,t){while(h(e[t]))t++;return t}function b(e){return d.test(e)||!u.test(e)}function y(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every((r=>r in t&&e[r]===t[r]))}class g{constructor(e){this.refs=[],e&&this.parse(e)}rel(e){for(var t=[],r=e.toLowerCase(),n=0;ny(t,e)))||this.refs.push(e),this}has(e,t){e=e.toLowerCase();for(var r=0;r",t);if(-1===o)throw new Error("Expected end of URI delimiter at offset "+t);i={uri:e.slice(t+1,o)},t=o,r=c.URI,t++}else if(r===c.URI){if(h(e[t])){t++;continue}if(";"===e[t])r=c.ATTR,t++;else{if(","!==e[t])throw new Error('Unexpected character "'+e[t]+'" at offset '+t);r=c.IDLE,t++}}else{if(r!==c.ATTR)throw new Error('Unknown parser state "'+r+'"');if(";"===e[t]||h(e[t])){t++;continue}o=e.indexOf("=",t);-1===o&&(o=e.indexOf(";",t)),-1===o&&(o=e.length);var a=f(e.slice(t,o)).toLowerCase(),d="";if(t=o+1,t=p(e,t),'"'===e[t]){t++;while(t"),e.push(t);return e.join(", ")}}g.isCompatibleEncoding=function(e){return i.test(e)},g.parse=function(e,t){return(new g).parse(e,t)},g.isSingleOccurenceAttr=function(e){return"rel"===e||"type"===e||"media"===e||"title"===e||"title*"===e},g.isTokenAttr=function(e){return"rel"===e||"type"===e||"anchor"===e},g.escapeQuotes=function(e){return e.replace(/"/g,'\\"')},g.expandRelations=function(e){var t=e.rel.split(" ");return t.map((function(t){var r=Object.assign({},e);return r.rel=t,r}))},g.parseExtendedValue=function(e){var t=/([^']+)?(?:'([^']*)')?(.+)/.exec(e);return{language:t[2].toLowerCase(),encoding:g.isCompatibleEncoding(t[1])?null:t[1].toLowerCase(),value:g.isCompatibleEncoding(t[1])?decodeURIComponent(t[3]):t[3]}},g.formatExtendedAttribute=function(e,t){var r=(t.encoding||"utf-8").toUpperCase(),i=t.language||"en",o="";return o=n.isBuffer(t.value)&&g.isCompatibleEncoding(r)?t.value.toString(r):n.isBuffer(t.value)?t.value.toString("hex").replace(/[0-9a-f]{2}/gi,"%$1"):encodeURIComponent(t.value),e+"="+r+"'"+i+"'"+o},g.formatAttribute=function(e,t){return Array.isArray(t)?t.map((t=>g.formatAttribute(e,t))).join("; "):"*"===e[e.length-1]||"string"!==typeof t?g.formatExtendedAttribute(e,t):(g.isTokenAttr(e)?t=b(t)?'"'+g.escapeQuotes(t)+'"':g.escapeQuotes(t):b(t)&&(t=encodeURIComponent(t),t=t.replace(/%20/g," ").replace(/%2C/g,",").replace(/%3B/g,";"),t='"'+t+'"'),e+"="+t)},e.exports=g},11288:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(98931),t),i(r(87011),t),i(r(97378),t),i(r(91891),t),i(r(29e3),t),i(r(35656),t),i(r(24990),t)},98931:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextParser=void 0,r(31905);const n=r(68912),i=r(87011),o=r(97378),a=r(35656),s=r(24990);class l{constructor(e){e=e||{},this.documentLoader=e.documentLoader||new o.FetchDocumentLoader,this.documentCache={},this.validateContext=!e.skipValidation,this.expandContentTypeToBase=!!e.expandContentTypeToBase,this.remoteContextsDepthLimit=e.remoteContextsDepthLimit||32,this.redirectSchemaOrgHttps=!("redirectSchemaOrgHttps"in e)||!!e.redirectSchemaOrgHttps}static validateLanguage(e,t,r){if("string"!==typeof e)throw new i.ErrorCoded(`The value of an '@language' must be a string, got '${JSON.stringify(e)}'`,r);if(!s.Util.REGEX_LANGUAGE_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@language' must be a valid language tag, got '${JSON.stringify(e)}'`,r);return!1}return!0}static validateDirection(e,t){if("string"!==typeof e)throw new i.ErrorCoded(`The value of an '@direction' must be a string, got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);if(!s.Util.REGEX_DIRECTION_TAG.test(e)){if(t)throw new i.ErrorCoded(`The value of an '@direction' must be 'ltr' or 'rtl', got '${JSON.stringify(e)}'`,i.ERROR_CODES.INVALID_BASE_DIRECTION);return!1}return!0}idifyReverseTerms(e){for(const t of Object.keys(e)){let r=e[t];if(r&&"object"===typeof r&&r["@reverse"]&&!r["@id"]){if("string"!==typeof r["@reverse"]||s.Util.isValidKeyword(r["@reverse"]))throw new i.ErrorCoded(`Invalid @reverse value, must be absolute IRI or blank node: '${r["@reverse"]}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);r=e[t]=Object.assign(Object.assign({},r),{"@id":r["@reverse"]}),r["@id"]=r["@reverse"],s.Util.isPotentialKeyword(r["@reverse"])?delete r["@reverse"]:r["@reverse"]=!0}}return e}expandPrefixedTerms(e,t,r){const n=e.getContextRaw();for(const o of r||Object.keys(n))if(s.Util.EXPAND_KEYS_BLACKLIST.indexOf(o)<0&&!s.Util.isReservedInternalKeyword(o)){const r=n[o];if(s.Util.isPotentialKeyword(o)&&s.Util.ALIAS_DOMAIN_BLACKLIST.indexOf(o)>=0&&("@type"!==o||"object"===typeof n[o]&&!n[o]["@protected"]&&"@set"!==n[o]["@container"]))throw new i.ErrorCoded(`Keywords can not be aliased to something else.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.KEYWORD_REDEFINITION);if(s.Util.ALIAS_RANGE_BLACKLIST.indexOf(s.Util.getContextValueId(r))>=0)throw new i.ErrorCoded(`Aliasing to certain keywords is not allowed.\nTried mapping ${o} to ${JSON.stringify(r)}`,i.ERROR_CODES.INVALID_KEYWORD_ALIAS);if(r&&s.Util.isPotentialKeyword(s.Util.getContextValueId(r))&&!0===r["@prefix"])throw new i.ErrorCoded(`Tried to use keyword aliases as prefix: '${o}': '${JSON.stringify(r)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);while(s.Util.isPrefixValue(n[o])){const r=n[o];let i=!1;if("string"===typeof r)n[o]=e.expandTerm(r,!0),i=i||r!==n[o];else{const a=r["@id"],l=r["@type"],d=!("@prefix"in r)||s.Util.isValidIri(o);if("@id"in r)void 0!==a&&null!==a&&"string"===typeof a&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":e.expandTerm(a,!0)}),i=i||a!==n[o]["@id"]);else if(!s.Util.isPotentialKeyword(o)&&d){const t=e.expandTerm(o,!0);t!==o&&(n[o]=Object.assign(Object.assign({},n[o]),{"@id":t}),i=!0)}if(l&&"string"===typeof l&&"@vocab"!==l&&(!r["@container"]||!r["@container"]["@type"])&&d){let r=e.expandTerm(l,!0);t&&l===r&&(r=e.expandTerm(l,!1)),r!==l&&(i=!0,n[o]=Object.assign(Object.assign({},n[o]),{"@type":r}))}}if(!i)break}}}normalize(e,{processingMode:t,normalizeLanguageTags:r}){if(r||1===t)for(const n of Object.keys(e))if("@language"===n&&"string"===typeof e[n])e[n]=e[n].toLowerCase();else{const t=e[n];if(t&&"object"===typeof t&&"string"===typeof t["@language"]){const r=t["@language"].toLowerCase();r!==t["@language"]&&(e[n]=Object.assign(Object.assign({},t),{"@language":r}))}}}containersToHash(e){for(const t of Object.keys(e)){const r=e[t];if(r&&"object"===typeof r)if("string"===typeof r["@container"])e[t]=Object.assign(Object.assign({},r),{"@container":{[r["@container"]]:!0}});else if(Array.isArray(r["@container"])){const n={};for(const e of r["@container"])n[e]=!0;e[t]=Object.assign(Object.assign({},r),{"@container":n})}}}applyScopedProtected(e,{processingMode:t},r){if(t&&t>=1.1&&e["@protected"]){for(const t of Object.keys(e))if(!s.Util.isReservedInternalKeyword(t)&&!s.Util.isPotentialKeyword(t)&&!s.Util.isTermProtected(e,t)){const n=e[t];n&&"object"===typeof n?"@protected"in e[t]||(e[t]=Object.assign(Object.assign({},e[t]),{"@protected":!0})):(e[t]={"@id":n,"@protected":!0},s.Util.isSimpleTermDefinitionPrefix(n,r)&&(e[t]=Object.assign(Object.assign({},e[t]),{"@prefix":!0})))}delete e["@protected"]}}validateKeywordRedefinitions(e,t,r,n){for(const o of null!==n&&void 0!==n?n:Object.keys(t))if(s.Util.isTermProtected(e,o)&&("string"===typeof t[o]?t[o]={"@id":t[o],"@protected":!0}:t[o]=Object.assign(Object.assign({},t[o]),{"@protected":!0}),!s.Util.deepEqual(e[o],t[o])))throw new i.ErrorCoded(`Attempted to override the protected keyword ${o} from ${JSON.stringify(s.Util.getContextValueId(e[o]))} to ${JSON.stringify(s.Util.getContextValueId(t[o]))}`,i.ERROR_CODES.PROTECTED_TERM_REDEFINITION)}validate(e,{processingMode:t}){for(const r of Object.keys(e)){if(s.Util.isReservedInternalKeyword(r))continue;if(""===r)throw new i.ErrorCoded(`The empty term is not allowed, got: '${r}': '${JSON.stringify(e[r])}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);const n=e[r],o=typeof n;if(s.Util.isPotentialKeyword(r)){switch(r.substr(1)){case"vocab":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @vocab IRI: ${n}`,i.ERROR_CODES.INVALID_VOCAB_MAPPING);break;case"base":if(null!==n&&"string"!==o)throw new i.ErrorCoded(`Found an invalid @base IRI: ${e[r]}`,i.ERROR_CODES.INVALID_BASE_IRI);break;case"language":null!==n&&l.validateLanguage(n,!0,i.ERROR_CODES.INVALID_DEFAULT_LANGUAGE);break;case"version":if(null!==n&&"number"!==o)throw new i.ErrorCoded(`Found an invalid @version number: ${n}`,i.ERROR_CODES.INVALID_VERSION_VALUE);break;case"direction":null!==n&&l.validateDirection(n,!0);break;case"propagate":if(1===t)throw new i.ErrorCoded(`Found an illegal @propagate keyword: ${n}`,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if(null!==n&&"boolean"!==o)throw new i.ErrorCoded(`Found an invalid @propagate value: ${n}`,i.ERROR_CODES.INVALID_PROPAGATE_VALUE);break}if(s.Util.isValidKeyword(r)&&s.Util.isValidKeyword(s.Util.getContextValueId(n)))throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${s.Util.getContextValueId(n)}'`,i.ERROR_CODES.KEYWORD_REDEFINITION)}else if(null!==n)switch(o){case"string":if(s.Util.getPrefix(n,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===n)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(n)&&n!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${n}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}break;case"object":if(!s.Util.isCompactIri(r)&&!("@id"in n)&&("@id"===n["@type"]?!e["@base"]:!e["@vocab"]))throw new i.ErrorCoded(`Missing @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);for(const d of Object.keys(n)){const u=n[d];if(u)switch(d){case"@id":if(s.Util.isValidKeyword(u)&&"@type"!==u&&"@id"!==u&&"@graph"!==u&&"@nest"!==u)throw new i.ErrorCoded(`Illegal keyword alias in term value, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIriWeak(r)){if("@type"===u)throw new i.ErrorCoded(`IRIs can not be mapped to @type, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.isValidIri(u)&&u!==new a.JsonLdContextNormalized(e).expandTerm(r))throw new i.ErrorCoded(`IRIs can not be mapped to other IRIs, found: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}if("string"!==typeof u)throw new i.ErrorCoded(`Detected non-string @id in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING);if(s.Util.getPrefix(u,e)===r)throw new i.ErrorCoded(`Detected cyclical IRI mapping in context entry: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.CYCLIC_IRI_MAPPING);break;case"@type":if("@type"===n["@container"]&&"@id"!==u&&"@vocab"!==u)throw new i.ErrorCoded(`@container: @type only allows @type: @id or @vocab, but got: '${r}': '${u}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("string"!==typeof u)throw new i.ErrorCoded(`The value of an '@type' must be a string, got '${JSON.stringify(o)}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);if("@id"!==u&&"@vocab"!==u&&(1===t||"@json"!==u)&&(1===t||"@none"!==u)&&("_"===u[0]||!s.Util.isValidIri(u)))throw new i.ErrorCoded(`A context @type must be an absolute IRI, found: '${r}': '${u}'`,i.ERROR_CODES.INVALID_TYPE_MAPPING);break;case"@reverse":if("string"===typeof u&&n["@id"]&&n["@id"]!==u)throw new i.ErrorCoded(`Found non-matching @id and @reverse term values in '${r}':'${u}' and '${n["@id"]}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if("@nest"in n)throw new i.ErrorCoded(`@nest is not allowed in the reverse property '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);break;case"@container":if(1===t&&(Object.keys(u).length>1||s.Util.CONTAINERS_1_0.indexOf(Object.keys(u)[0])<0))throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${Object.keys(u)}') in 1.0, must be only one of ${s.Util.CONTAINERS_1_0.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING);for(const e of Object.keys(u)){if("@list"===e&&n["@reverse"])throw new i.ErrorCoded(`Term value can not be @container: @list and @reverse at the same time on '${r}'`,i.ERROR_CODES.INVALID_REVERSE_PROPERTY);if(s.Util.CONTAINERS.indexOf(e)<0)throw new i.ErrorCoded(`Invalid term @container for '${r}' ('${e}'), must be one of ${s.Util.CONTAINERS.join(", ")}`,i.ERROR_CODES.INVALID_CONTAINER_MAPPING)}break;case"@language":l.validateLanguage(u,!0,i.ERROR_CODES.INVALID_LANGUAGE_MAPPING);break;case"@direction":l.validateDirection(u,!0);break;case"@prefix":if(null!==u&&"boolean"!==typeof u)throw new i.ErrorCoded(`Found an invalid term @prefix boolean in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_PREFIX_VALUE);if(!("@id"in n)&&!s.Util.isValidIri(r))throw new i.ErrorCoded(`Invalid @prefix definition for '${r}' ('${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@index":if(1===t||!n["@container"]||!n["@container"]["@index"])throw new i.ErrorCoded(`Attempt to add illegal key to value object: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION);break;case"@nest":if(s.Util.isPotentialKeyword(u)&&"@nest"!==u)throw new i.ErrorCoded(`Found an invalid term @nest value in: '${r}': '${JSON.stringify(n)}'`,i.ERROR_CODES.INVALID_NEST_VALUE)}}break;default:throw new i.ErrorCoded(`Found an invalid term value: '${r}': '${n}'`,i.ERROR_CODES.INVALID_TERM_DEFINITION)}}}applyBaseEntry(e,t,r){return"string"===typeof e||(r&&!("@base"in e)&&t.parentContext&&"object"===typeof t.parentContext&&"@base"in t.parentContext&&(e["@base"]=t.parentContext["@base"],t.parentContext["@__baseDocument"]&&(e["@__baseDocument"]=!0)),t.baseIRI&&!t.external&&("@base"in e?null===e["@base"]||"string"!==typeof e["@base"]||s.Util.isValidIri(e["@base"])||(e["@base"]=(0,n.resolve)(e["@base"],t.parentContext&&t.parentContext["@base"]||t.baseIRI)):(e["@base"]=t.baseIRI,e["@__baseDocument"]=!0))),e}normalizeContextIri(e,t){if(!s.Util.isValidIri(e))try{e=(0,n.resolve)(e,t)}catch(r){throw new Error(`Invalid context IRI: ${e}`)}return this.redirectSchemaOrgHttps&&e.startsWith("http://schema.org")&&(e="https://schema.org/"),e}async parseInnerContexts(e,t,r){for(const o of null!==r&&void 0!==r?r:Object.keys(e)){const r=e[o];if(r&&"object"===typeof r&&"@context"in r&&null!==r["@context"]&&!t.ignoreScopedContexts){if(this.validateContext)try{const n=Object.assign(Object.assign({},e),{[o]:Object.assign({},e[o])});delete n[o]["@context"],await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,parentContext:n,ignoreProtection:!0,ignoreRemoteScopedContexts:!0,ignoreScopedContexts:!0}))}catch(n){throw new i.ErrorCoded(n.message,i.ERROR_CODES.INVALID_SCOPED_CONTEXT)}e[o]=Object.assign(Object.assign({},r),{"@context":(await this.parse(r["@context"],Object.assign(Object.assign({},t),{external:!1,minimalProcessing:!0,ignoreRemoteScopedContexts:!0,parentContext:e}))).getContextRaw()})}}return e}async parse(e,t={},r={}){const{baseIRI:n,parentContext:o,external:d,processingMode:u=l.DEFAULT_PROCESSING_MODE,normalizeLanguageTags:c,ignoreProtection:f,minimalProcessing:h}=t,p=t.remoteContexts||{};if(Object.keys(p).length>=this.remoteContextsDepthLimit)throw new i.ErrorCoded("Detected an overflow in remote context inclusions: "+Object.keys(p),i.ERROR_CODES.CONTEXT_OVERFLOW);if(null===e||void 0===e){if(!f&&o&&s.Util.hasProtectedTerms(o))throw new i.ErrorCoded("Illegal context nullification when terms are protected",i.ERROR_CODES.INVALID_CONTEXT_NULLIFICATION);return new a.JsonLdContextNormalized(this.applyBaseEntry({},t,!1))}if("string"===typeof e){const r=this.normalizeContextIri(e,n),i=this.getOverriddenLoad(r,t);if(i)return new a.JsonLdContextNormalized(i);const o=await this.parse(await this.load(r),Object.assign(Object.assign({},t),{baseIRI:r,external:!0,remoteContexts:Object.assign(Object.assign({},p),{[r]:!0})}));return this.applyBaseEntry(o.getContextRaw(),t,!0),o}if(Array.isArray(e)){const r=[],i=await Promise.all(e.map(((e,i)=>{if("string"===typeof e){const o=this.normalizeContextIri(e,n);r[i]=o;const a=this.getOverriddenLoad(o,t);return a||this.load(o)}return e})));if(h)return new a.JsonLdContextNormalized(i);const s=await i.reduce(((e,n,o)=>e.then((e=>this.parse(n,Object.assign(Object.assign({},t),{baseIRI:r[o]||t.baseIRI,external:!!r[o]||t.external,parentContext:e.getContextRaw(),remoteContexts:r[o]?Object.assign(Object.assign({},p),{[r[o]]:!0}):p}),{skipValidation:o=1.1))throw new i.ErrorCoded("Context importing is not supported in JSON-LD 1.0",i.ERROR_CODES.INVALID_CONTEXT_ENTRY);if("string"!==typeof e["@import"])throw new i.ErrorCoded("An @import value must be a string, but got "+typeof e["@import"],i.ERROR_CODES.INVALID_IMPORT_VALUE);p=await this.loadImportContext(this.normalizeContextIri(e["@import"],n)),delete e["@import"]}this.applyScopedProtected(p,{processingMode:u},a.defaultExpandOptions);const b=Object.assign(p,e);this.idifyReverseTerms(b),this.normalize(b,{processingMode:u,normalizeLanguageTags:c}),this.applyScopedProtected(b,{processingMode:u},a.defaultExpandOptions);const y=Object.keys(b),g=[];if("object"===typeof o)for(const e in o)e in b?g.push(e):b[e]=o[e];await this.parseInnerContexts(b,t,y);const _=new a.JsonLdContextNormalized(b);return(b&&b["@version"]||l.DEFAULT_PROCESSING_MODE)>=1.1&&(e["@vocab"]&&"string"===typeof e["@vocab"]||""===e["@vocab"])&&(o&&"@vocab"in o&&e["@vocab"].indexOf(":")<0?b["@vocab"]=o["@vocab"]+e["@vocab"]:(s.Util.isCompactIri(e["@vocab"])||e["@vocab"]in b)&&(b["@vocab"]=_.expandTerm(e["@vocab"],!0))),this.expandPrefixedTerms(_,this.expandContentTypeToBase,y),!f&&o&&u>=1.1&&this.validateKeywordRedefinitions(o,b,a.defaultExpandOptions,g),this.validateContext&&!r.skipValidation&&this.validate(b,{processingMode:u}),_}throw new i.ErrorCoded(`Tried parsing a context that is not a string, array or object, but got ${e}`,i.ERROR_CODES.INVALID_LOCAL_CONTEXT)}async load(e){const t=this.documentCache[e];if(t)return t;let r;try{r=await this.documentLoader.load(e)}catch(n){throw new i.ErrorCoded(`Failed to load remote context ${e}: ${n.message}`,i.ERROR_CODES.LOADING_REMOTE_CONTEXT_FAILED)}if(!("@context"in r))throw new i.ErrorCoded(`Missing @context in remote context at ${e}`,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);return this.documentCache[e]=r["@context"]}getOverriddenLoad(e,t){if(e in(t.remoteContexts||{})){if(t.ignoreRemoteScopedContexts)return e;throw new i.ErrorCoded("Detected a cyclic context inclusion of "+e,i.ERROR_CODES.RECURSIVE_CONTEXT_INCLUSION)}return null}async loadImportContext(e){let t=await this.load(e);if("object"!==typeof t||Array.isArray(t))throw new i.ErrorCoded("An imported context must be a single object: "+e,i.ERROR_CODES.INVALID_REMOTE_CONTEXT);if("@import"in t)throw new i.ErrorCoded("An imported context can not import another context: "+e,i.ERROR_CODES.INVALID_CONTEXT_ENTRY);return t=Object.assign({},t),this.containersToHash(t),t}}l.DEFAULT_PROCESSING_MODE=1.1,t.ContextParser=l},87011:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_CODES=t.ErrorCoded=void 0;class r extends Error{constructor(e,t){super(e),this.code=t}}t.ErrorCoded=r,function(e){e["COLLIDING_KEYWORDS"]="colliding keywords",e["CONFLICTING_INDEXES"]="conflicting indexes",e["CYCLIC_IRI_MAPPING"]="cyclic IRI mapping",e["INVALID_ID_VALUE"]="invalid @id value",e["INVALID_INDEX_VALUE"]="invalid @index value",e["INVALID_NEST_VALUE"]="invalid @nest value",e["INVALID_PREFIX_VALUE"]="invalid @prefix value",e["INVALID_PROPAGATE_VALUE"]="invalid @propagate value",e["INVALID_REVERSE_VALUE"]="invalid @reverse value",e["INVALID_IMPORT_VALUE"]="invalid @import value",e["INVALID_VERSION_VALUE"]="invalid @version value",e["INVALID_BASE_IRI"]="invalid base IRI",e["INVALID_CONTAINER_MAPPING"]="invalid container mapping",e["INVALID_CONTEXT_ENTRY"]="invalid context entry",e["INVALID_CONTEXT_NULLIFICATION"]="invalid context nullification",e["INVALID_DEFAULT_LANGUAGE"]="invalid default language",e["INVALID_INCLUDED_VALUE"]="invalid @included value",e["INVALID_IRI_MAPPING"]="invalid IRI mapping",e["INVALID_JSON_LITERAL"]="invalid JSON literal",e["INVALID_KEYWORD_ALIAS"]="invalid keyword alias",e["INVALID_LANGUAGE_MAP_VALUE"]="invalid language map value",e["INVALID_LANGUAGE_MAPPING"]="invalid language mapping",e["INVALID_LANGUAGE_TAGGED_STRING"]="invalid language-tagged string",e["INVALID_LANGUAGE_TAGGED_VALUE"]="invalid language-tagged value",e["INVALID_LOCAL_CONTEXT"]="invalid local context",e["INVALID_REMOTE_CONTEXT"]="invalid remote context",e["INVALID_REVERSE_PROPERTY"]="invalid reverse property",e["INVALID_REVERSE_PROPERTY_MAP"]="invalid reverse property map",e["INVALID_REVERSE_PROPERTY_VALUE"]="invalid reverse property value",e["INVALID_SCOPED_CONTEXT"]="invalid scoped context",e["INVALID_SCRIPT_ELEMENT"]="invalid script element",e["INVALID_SET_OR_LIST_OBJECT"]="invalid set or list object",e["INVALID_TERM_DEFINITION"]="invalid term definition",e["INVALID_TYPE_MAPPING"]="invalid type mapping",e["INVALID_TYPE_VALUE"]="invalid type value",e["INVALID_TYPED_VALUE"]="invalid typed value",e["INVALID_VALUE_OBJECT"]="invalid value object",e["INVALID_VALUE_OBJECT_VALUE"]="invalid value object value",e["INVALID_VOCAB_MAPPING"]="invalid vocab mapping",e["IRI_CONFUSED_WITH_PREFIX"]="IRI confused with prefix",e["KEYWORD_REDEFINITION"]="keyword redefinition",e["LOADING_DOCUMENT_FAILED"]="loading document failed",e["LOADING_REMOTE_CONTEXT_FAILED"]="loading remote context failed",e["MULTIPLE_CONTEXT_LINK_HEADERS"]="multiple context link headers",e["PROCESSING_MODE_CONFLICT"]="processing mode conflict",e["PROTECTED_TERM_REDEFINITION"]="protected term redefinition",e["CONTEXT_OVERFLOW"]="context overflow",e["INVALID_BASE_DIRECTION"]="invalid base direction",e["RECURSIVE_CONTEXT_INCLUSION"]="recursive context inclusion",e["INVALID_STREAMING_KEY_ORDER"]="invalid streaming key order",e["INVALID_EMBEDDED_NODE"]="invalid embedded node",e["INVALID_ANNOTATION"]="invalid annotation"}(t.ERROR_CODES||(t.ERROR_CODES={}))},97378:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FetchDocumentLoader=void 0,r(31905);const n=r(87011),i=r(12475),o=r(68912);class a{constructor(e){this.fetcher=e}async load(e){const t=await(this.fetcher||fetch)(e,{headers:new Headers({accept:"application/ld+json"})});if(t.ok&&t.headers){let r=t.headers.get("Content-Type");if(r){const e=r.indexOf(";");e>0&&(r=r.substr(0,e))}if("application/ld+json"===r)return await t.json();if(t.headers.has("Link")){let r;if(t.headers.forEach(((t,n)=>{if("link"===n){const n=(0,i.parse)(t);for(const t of n.get("type","application/ld+json"))if("alternate"===t.rel){if(r)throw new Error("Multiple JSON-LD alternate links were found on "+e);r=(0,o.resolve)(t.uri,e)}}})),r)return this.load(r)}throw new n.ErrorCoded(`Unsupported JSON-LD media type ${r}`,n.ERROR_CODES.LOADING_DOCUMENT_FAILED)}throw new Error(t.statusText||`Status code: ${t.status}`)}}t.FetchDocumentLoader=a},91891:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},29e3:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},35656:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultExpandOptions=t.JsonLdContextNormalized=void 0;const n=r(68912),i=r(87011),o=r(24990);class a{constructor(e){this.contextRaw=e}getContextRaw(){return this.contextRaw}expandTerm(e,r,a=t.defaultExpandOptions){const s=this.contextRaw[e];if(null===s||s&&null===s["@id"])return null;let l=!0;if(s&&r){const t=o.Util.getContextValueId(s);if(t&&t!==e){if("string"===typeof t&&(o.Util.isValidIri(t)||o.Util.isValidKeyword(t)))return t;o.Util.isPotentialKeyword(t)||(l=!1)}}const d=o.Util.getPrefix(e,this.contextRaw),u=this.contextRaw["@vocab"],c=(!!u||""===u)&&u.indexOf(":")<0,f=this.contextRaw["@base"],h=o.Util.isPotentialKeyword(e);if(d){const t=this.contextRaw[d],r=o.Util.getContextValueId(t);if(r){if("string"!==typeof t&&a.allowPrefixForcing){if("_"!==r[0]&&!h&&!t["@prefix"]&&!(e in this.contextRaw))return e}else if(!o.Util.isSimpleTermDefinitionPrefix(r,a))return e;return r+e.substr(d.length+1)}}else{if(r&&(u||""===u||a.allowVocabRelativeToBase&&f&&c)&&!h&&!o.Util.isCompactIri(e)){if(c){if(a.allowVocabRelativeToBase)return(u||f?(0,n.resolve)(u,f):"")+e;throw new i.ErrorCoded(`Relative vocab expansion for term '${e}' with vocab '${u}' is not allowed.`,i.ERROR_CODES.INVALID_VOCAB_MAPPING)}return u+e}if(!r&&f&&!h&&!o.Util.isCompactIri(e))return(0,n.resolve)(e,f)}if(l)return e;throw new i.ErrorCoded(`Invalid IRI mapping found for context entry '${e}': '${JSON.stringify(s)}'`,i.ERROR_CODES.INVALID_IRI_MAPPING)}compactIri(e,t){if(t&&this.contextRaw["@vocab"]&&e.startsWith(this.contextRaw["@vocab"]))return e.substr(this.contextRaw["@vocab"].length);if(!t&&this.contextRaw["@base"]&&e.startsWith(this.contextRaw["@base"]))return e.substr(this.contextRaw["@base"].length);const r={prefix:"",suffix:e};for(const n in this.contextRaw){const i=this.contextRaw[n];if(i&&!o.Util.isPotentialKeyword(n)){const a=o.Util.getContextValueId(i);if(e.startsWith(a)){const i=e.substr(a.length);if(i)i.length0&&!(e&&"#"===e[0])}static getPrefix(e,t){if(e&&"#"===e[0])return null;const r=e.indexOf(":");if(r>=0){if(e.length>r+1&&"/"===e.charAt(r+1)&&"/"===e.charAt(r+2))return null;const n=e.substr(0,r);if("_"===n)return null;if(t[n])return n}return null}static getContextValueId(e){if(null===e||"string"===typeof e)return e;const t=e["@id"];return t||null}static isSimpleTermDefinitionPrefix(e,t){return!r.isPotentialKeyword(e)&&(t.allowPrefixNonGenDelims||"string"===typeof e&&("_"===e[0]||r.isPrefixIriEndingWithGenDelim(e)))}static isPotentialKeyword(e){return"string"===typeof e&&r.KEYWORD_REGEX.test(e)}static isPrefixIriEndingWithGenDelim(e){return r.ENDS_WITH_GEN_DELIM.test(e)}static isPrefixValue(e){return e&&("string"===typeof e||e&&"object"===typeof e)}static isValidIri(e){return Boolean(e&&r.IRI_REGEX.test(e))}static isValidIriWeak(e){return!!e&&":"!==e[0]&&r.IRI_REGEX_WEAK.test(e)}static isValidKeyword(e){return r.VALID_KEYWORDS[e]}static isTermProtected(e,t){const r=e[t];return!("string"===typeof r)&&r&&r["@protected"]}static hasProtectedTerms(e){for(const t of Object.keys(e))if(r.isTermProtected(e,t))return!0;return!1}static isReservedInternalKeyword(e){return e.startsWith("@__")}static deepEqual(e,t){const r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every((r=>{const n=e[r],i=t[r];return n===i||null!==n&&null!==i&&"object"===typeof n&&"object"===typeof i&&this.deepEqual(n,i)}))}}r.IRI_REGEX=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^ "<>{}|\\\[\]`#]*(#[^#]*)?$/,r.IRI_REGEX_WEAK=/(?::[^:])|\//,r.KEYWORD_REGEX=/^@[a-z]+$/i,r.ENDS_WITH_GEN_DELIM=/[:/?#\[\]@]$/,r.REGEX_LANGUAGE_TAG=/^[a-zA-Z]+(-[a-zA-Z0-9]+)*$/,r.REGEX_DIRECTION_TAG=/^(ltr)|(rtl)$/,r.VALID_KEYWORDS={"@annotation":!0,"@base":!0,"@container":!0,"@context":!0,"@direction":!0,"@graph":!0,"@id":!0,"@import":!0,"@included":!0,"@index":!0,"@json":!0,"@language":!0,"@list":!0,"@nest":!0,"@none":!0,"@prefix":!0,"@propagate":!0,"@protected":!0,"@reverse":!0,"@set":!0,"@type":!0,"@value":!0,"@version":!0,"@vocab":!0},r.EXPAND_KEYS_BLACKLIST=["@base","@vocab","@language","@version","@direction"],r.ALIAS_DOMAIN_BLACKLIST=["@container","@graph","@id","@index","@list","@nest","@none","@prefix","@reverse","@set","@type","@value","@version"],r.ALIAS_RANGE_BLACKLIST=["@context","@preserve"],r.CONTAINERS=["@list","@set","@index","@language","@graph","@id","@type"],r.CONTAINERS_1_0=["@list","@set","@index"],t.Util=r},95758:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(55170),t)},98386:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTree=void 0;class r{constructor(){this.subTrees={}}getContext(e){if(e.length>0){const[t,...r]=e,n=this.subTrees[t];if(n){const e=n.getContext(r);if(e)return e.then((({context:e,depth:t})=>({context:e,depth:t+1})))}}return this.context?this.context.then((e=>({context:e,depth:0}))):null}setContext(e,t){if(0===e.length)this.context=t;else{const[n,...i]=e;let o=this.subTrees[n];o||(o=this.subTrees[n]=new r),o.setContext(i,t)}}removeContext(e){this.setContext(e,null)}}t.ContextTree=r},55170:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JsonLdParser=void 0;const n=r(26713),i=r(11288),o=r(31036),a=r(81889),s=r(36753),l=r(38215),d=r(49488),u=r(42613),c=r(73330),f=r(52709),h=r(67406),p=r(61323),b=r(51820),y=r(72963),g=r(93322),_=r(51478),w=r(22754),E=r(12475),m=r(60768);class S extends o.Transform{constructor(e){super({readableObjectMode:!0}),e=e||{},this.options=e,this.parsingContext=new _.ParsingContext(Object.assign({parser:this},e)),this.util=new w.Util({dataFactory:e.dataFactory,parsingContext:this.parsingContext}),this.jsonParser=new n,this.contextJobs=[],this.typeJobs=[],this.contextAwaitingJobs=[],this.lastDepth=0,this.lastKeys=[],this.lastOnValueJob=Promise.resolve(),this.attachJsonParserListeners(),this.on("end",(()=>{"undefined"!==typeof this.jsonParser.mode&&this.emit("error",new Error("Unclosed document"))}))}static fromHttpResponse(e,t,r,n){let o,a,s=["application/activity+json"];if(n&&n.wellKnownMediaTypes&&(s=n.wellKnownMediaTypes),"application/ld+json"!==t&&!s.includes(t)){if("application/json"!==t&&!t.endsWith("+json"))throw new i.ErrorCoded(`Unsupported JSON-LD media type ${t}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED);if(r&&r.has("Link")&&r.forEach(((t,r)=>{if("link"===r){const r=(0,E.parse)(t);for(const t of r.get("rel","http://www.w3.org/ns/json-ld#context")){if(o)throw new i.ErrorCoded("Multiple JSON-LD context link headers were found on "+e,i.ERROR_CODES.MULTIPLE_CONTEXT_LINK_HEADERS);o=t.uri}}})),!o&&!(null===n||void 0===n?void 0:n.ignoreMissingContextLinkHeader))throw new i.ErrorCoded(`Missing context link header for media type ${t} on ${e}`,i.ERROR_CODES.LOADING_DOCUMENT_FAILED)}if(r&&r.has("Content-Type")){const e=r.get("Content-Type"),t=/; *profile=([^"]*)/.exec(e);t&&"http://www.w3.org/ns/json-ld#streaming"===t[1]&&(a=!0)}return new S(Object.assign({baseIRI:e,context:o,streamingProfile:a},n||{}))}import(e){if("pipe"in e){e.on("error",(e=>t.emit("error",e)));const t=e.pipe(new S(this.options));return t}{const t=new o.PassThrough({readableObjectMode:!0});e.on("error",(e=>r.emit("error",e))),e.on("data",(e=>t.push(e))),e.on("end",(()=>t.push(null)));const r=t.pipe(new S(this.options));return r}}_transform(e,t,r){this.jsonParser.write(e),this.lastOnValueJob.then((()=>r()),(e=>r(e)))}async newOnValueJob(e,t,r,n){let o=!0;if(n&&r1&&(u=this.parsingContext.validationStack[this.parsingContext.validationStack.length-1].property);for(let i=Math.max(1,this.parsingContext.validationStack.length-1);i=0?this.parsingContext.idStack[e-r-1]:[await this.util.getGraphContainerValue(t,e)];if(i)for(const t of i){this.parsingContext.emittedStack[e]=!0;for(const r of o)this.util.emitQuadChecked(e,n,r.predicate,r.object,t,r.reverse,r.isEmbedded)}else{const r=this.parsingContext.getUnidentifiedGraphBufferSafe(e-await this.util.getDepthOffsetGraph(e,t)-1);for(const e of o)e.reverse?r.push({object:n,predicate:e.predicate,subject:e.object,isEmbedded:e.isEmbedded}):r.push({object:e.object,predicate:e.predicate,subject:n,isEmbedded:e.isEmbedded})}}this.parsingContext.unidentifiedValuesBuffer.splice(e,1),this.parsingContext.literalStack.splice(e,1),this.parsingContext.jsonLiteralStack.splice(e,1)}const a=this.parsingContext.unidentifiedGraphsBuffer[e];if(a){for(const t of r){const r=1!==e||"BlankNode"!==t.termType||this.parsingContext.topLevelProperties?t:this.util.getDefaultGraph();this.parsingContext.emittedStack[e]=!0;for(const t of a)this.parsingContext.emitQuad(e,this.util.dataFactory.quad(t.subject,t.predicate,t.object,r))}this.parsingContext.unidentifiedGraphsBuffer.splice(e,1)}const s=this.parsingContext.annotationsBuffer[e];if(s){s.length>0&&1===e&&this.parsingContext.emitError(new i.ErrorCoded("Annotations can not be made on top-level nodes",i.ERROR_CODES.INVALID_ANNOTATION));const t=this.parsingContext.getAnnotationsBufferSafe(e-1);for(const e of s)t.push(e);delete this.parsingContext.annotationsBuffer[e]}}async validateKey(e,t,r){for(const n of S.ENTRY_HANDLERS)if(await n.validate(this.parsingContext,this.util,e,t,r))return{valid:!0,property:r||n.isPropertyHandler()};return{valid:!1,property:!1}}attachJsonParserListeners(){this.jsonParser.onValue=e=>{const t=this.jsonParser.stack.length,r=new Array(t+1).fill(0).map(((e,r)=>r===t?this.jsonParser.key:this.jsonParser.stack[r].key));if(!this.isParsingContextInner(t)){const n=()=>this.newOnValueJob(r,e,t,!0);if(this.parsingContext.streamingProfile||this.parsingContext.contextTree.getContext(r.slice(0,-1)))this.lastOnValueJob=this.lastOnValueJob.then(n);else if("@context"===r[t]){let e=this.contextJobs[t];e||(e=this.contextJobs[t]=[]),e.push(n)}else this.contextAwaitingJobs.push({job:n,keys:r,depth:t});this.parsingContext.streamingProfile||0!==t||(this.lastOnValueJob=this.lastOnValueJob.then((()=>this.executeBufferedJobs())))}},this.jsonParser.onError=e=>{this.emit("error",e)}}isParsingContextInner(e){for(let t=e;t>0;t--)if("@context"===this.jsonParser.stack[t-1].key)return!0;return!1}async executeBufferedJobs(){for(const t of this.contextJobs)if(t)for(const e of t)await e();this.parsingContext.unaliasedKeywordCacheStack.splice(0);const e=[];for(const t of this.contextAwaitingJobs)"@type"===await this.util.unaliasKeyword(t.keys[t.depth],t.keys,t.depth,!0)||"number"===typeof t.keys[t.depth]&&"@type"===await this.util.unaliasKeyword(t.keys[t.depth-1],t.keys,t.depth-1,!0)?this.typeJobs.push({job:t.job,keys:t.keys.slice(0,t.keys.length-1)}):e.push(t);for(const t of e){if(this.typeJobs.length>0){const e=[],r=[];for(let o=0;oe.keys.length-t.keys.length));for(const t of n)await t.job();const i=r.sort().reverse();for(const t of i)this.typeJobs.splice(t,1)}await t.job()}}}S.DEFAULT_PROCESSING_MODE="1.1",S.ENTRY_HANDLERS=[new a.EntryHandlerArrayValue,new u.EntryHandlerKeywordContext,new f.EntryHandlerKeywordId,new h.EntryHandlerKeywordIncluded,new c.EntryHandlerKeywordGraph,new p.EntryHandlerKeywordNest,new b.EntryHandlerKeywordType,new g.EntryHandlerKeywordValue,new m.EntryHandlerKeywordAnnotation,new s.EntryHandlerContainer,new y.EntryHandlerKeywordUnknownFallback,new d.EntryHandlerPredicate,new l.EntryHandlerInvalidFallback],t.JsonLdParser=S},51478:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParsingContext=void 0;const n=r(11288),i=r(87011),o=r(98386),a=r(55170);class s{constructor(e){this.contextParser=new n.ContextParser({documentLoader:e.documentLoader,skipValidation:e.skipContextValidation}),this.streamingProfile=!!e.streamingProfile,this.baseIRI=e.baseIRI,this.produceGeneralizedRdf=!!e.produceGeneralizedRdf,this.allowSubjectList=!!e.allowSubjectList,this.processingMode=e.processingMode||a.JsonLdParser.DEFAULT_PROCESSING_MODE,this.strictValues=!!e.strictValues,this.validateValueIndexes=!!e.validateValueIndexes,this.defaultGraph=e.defaultGraph,this.rdfDirection=e.rdfDirection,this.normalizeLanguageTags=e.normalizeLanguageTags,this.streamingProfileAllowOutOfOrderPlainType=e.streamingProfileAllowOutOfOrderPlainType,this.rdfstar=!1!==e.rdfstar,this.rdfstarReverseInEmbedded=e.rdfstarReverseInEmbedded,this.topLevelProperties=!1,this.activeProcessingMode=parseFloat(this.processingMode),this.processingStack=[],this.processingType=[],this.emittedStack=[],this.idStack=[],this.graphStack=[],this.graphContainerTermStack=[],this.listPointerStack=[],this.contextTree=new o.ContextTree,this.literalStack=[],this.validationStack=[],this.unaliasedKeywordCacheStack=[],this.jsonLiteralStack=[],this.unidentifiedValuesBuffer=[],this.unidentifiedGraphsBuffer=[],this.annotationsBuffer=[],this.pendingContainerFlushBuffers=[],this.parser=e.parser,e.context?(this.rootContext=this.parseContext(e.context),this.rootContext.then((e=>this.validateContext(e)))):this.rootContext=Promise.resolve(new n.JsonLdContextNormalized(this.baseIRI?{"@base":this.baseIRI,"@__baseDocument":!0}:{}))}async parseContext(e,t,r){return this.contextParser.parse(e,{baseIRI:this.baseIRI,ignoreProtection:r,normalizeLanguageTags:this.normalizeLanguageTags,parentContext:t,processingMode:this.activeProcessingMode})}validateContext(e){const t=e.getContextRaw()["@version"];if(t){if(this.activeProcessingMode&&t>this.activeProcessingMode)throw new i.ErrorCoded(`Unsupported JSON-LD version '${t}' under active processing mode ${this.activeProcessingMode}.`,i.ERROR_CODES.PROCESSING_MODE_CONFLICT);if(this.activeProcessingMode&&t0&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&!r);return 0===i.depth&&!1===i.context.getContextRaw()["@propagate"]&&i.depth!==t&&(i.context=new n.JsonLdContextNormalized({})),i}async newOnValueJob(e,t,r,n){await this.parser.newOnValueJob(e,t,r,n)}async handlePendingContainerFlushBuffers(){if(this.pendingContainerFlushBuffers.length>0){for(const e of this.pendingContainerFlushBuffers)await this.parser.flushBuffer(e.depth,e.keys),this.parser.flushStacks(e.depth);return this.pendingContainerFlushBuffers.splice(0,this.pendingContainerFlushBuffers.length),!0}return!1}emitQuad(e,t){1===e&&(this.topLevelProperties=!0),this.parser.push(t)}emitError(e){this.parser.emit("error",e)}emitContext(e){this.parser.emit("context",e)}getUnidentifiedValueBufferSafe(e){let t=this.unidentifiedValuesBuffer[e];return t||(t=[],this.unidentifiedValuesBuffer[e]=t),t}getUnidentifiedGraphBufferSafe(e){let t=this.unidentifiedGraphsBuffer[e];return t||(t=[],this.unidentifiedGraphsBuffer[e]=t),t}getAnnotationsBufferSafe(e){let t=this.annotationsBuffer[e];return t||(t=[],this.annotationsBuffer[e]=t),t}getExpandOptions(){return s.EXPAND_OPTIONS[this.activeProcessingMode]}shiftStack(e,t){const r=this.idStack[e+t];if(r&&(this.idStack[e]=r,this.emittedStack[e]=!0,delete this.idStack[e+t]),this.pendingContainerFlushBuffers.length)for(const n of this.pendingContainerFlushBuffers)n.depth>=e+t&&(n.depth-=t,n.keys.splice(e,t));this.unidentifiedValuesBuffer[e+t]&&(this.unidentifiedValuesBuffer[e]=this.unidentifiedValuesBuffer[e+t],delete this.unidentifiedValuesBuffer[e+t]),this.annotationsBuffer[e+t-1]&&(this.annotationsBuffer[e-1]||(this.annotationsBuffer[e-1]=[]),this.annotationsBuffer[e-1]=[...this.annotationsBuffer[e-1],...this.annotationsBuffer[e+t-1]],delete this.annotationsBuffer[e+t-1])}}s.EXPAND_OPTIONS={1:{allowPrefixForcing:!1,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!1},1.1:{allowPrefixForcing:!0,allowPrefixNonGenDelims:!1,allowVocabRelativeToBase:!0}},t.ParsingContext=s},22754:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;const n=r(11288),i=r(41640),o=r(36753),a=r(95456);class s{constructor(e){this.parsingContext=e.parsingContext,this.dataFactory=e.dataFactory||new i.DataFactory,this.rdfFirst=this.dataFactory.namedNode(s.RDF+"first"),this.rdfRest=this.dataFactory.namedNode(s.RDF+"rest"),this.rdfNil=this.dataFactory.namedNode(s.RDF+"nil"),this.rdfType=this.dataFactory.namedNode(s.RDF+"type"),this.rdfJson=this.dataFactory.namedNode(s.RDF+"JSON")}static getContextValue(e,t,r,n){const i=e.getContextRaw()[r];if(!i)return n;const o=i[t];return void 0===o?n:o}static getContextValueContainer(e,t){return s.getContextValue(e,"@container",t,{"@set":!0})}static getContextValueType(e,t){const r=s.getContextValue(e,"@type",t,null);return"@none"===r?null:r}static getContextValueLanguage(e,t){return s.getContextValue(e,"@language",t,e.getContextRaw()["@language"]||null)}static getContextValueDirection(e,t){return s.getContextValue(e,"@direction",t,e.getContextRaw()["@direction"]||null)}static isContextValueReverse(e,t){return!!s.getContextValue(e,"@reverse",t,null)}static getContextValueIndex(e,t){return s.getContextValue(e,"@index",t,e.getContextRaw()["@index"]||null)}static isPropertyReverse(e,t,r){return"@reverse"===r!==s.isContextValueReverse(e,t)}static isPropertyInEmbeddedNode(e){return"@id"===e}static isPropertyInAnnotationObject(e){return"@annotation"===e}static isValidIri(e){return null!==e&&n.Util.isValidIri(e)}static isPrefixArray(e,t){if(e.length>t.length)return!1;for(let r=0;r1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @set for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);return[]}if("@list"in r){if(Object.keys(r).length>1)throw new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${t}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT);const e=r["@list"];return Array.isArray(e)?0===e.length?[this.rdfNil]:this.parsingContext.idStack[i+1]||[]:await this.valueToTerm(await this.parsingContext.getContext(o),t,e,i-1,o.slice(0,-1))}if("@reverse"in r&&"boolean"===typeof r["@reverse"])return[];if("@graph"in s.getContextValueContainer(await this.parsingContext.getContext(o),t)){const e=this.parsingContext.graphContainerTermStack[i+1];return e?Object.values(e):[this.dataFactory.blankNode()]}if("@id"in r){if(Object.keys(r).length>1&&(e=await this.parsingContext.getContext(o,0)),"@context"in r&&(e=await this.parsingContext.parseContext(r["@context"],e.getContextRaw())),"@vocab"===r["@type"])return this.nullableTermToArray(this.createVocabOrBaseTerm(e,r["@id"]));{const t=r["@id"];let o;if("object"===typeof t){if(!this.parsingContext.rdfstar)throw new n.ErrorCoded(`Found illegal @id '${r}'`,n.ERROR_CODES.INVALID_ID_VALUE);o=this.parsingContext.idStack[i+1][0]}else o=this.resourceToTerm(e,t);return this.nullableTermToArray(o)}}return this.parsingContext.emittedStack[i+1]||r&&"object"===typeof r&&0===Object.keys(r).length?this.parsingContext.idStack[i+1]||(this.parsingContext.idStack[i+1]=[this.dataFactory.blankNode()]):[];case"string":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,null));case"boolean":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,Boolean(r).toString(),this.dataFactory.namedNode(s.XSD_BOOLEAN)));case"number":return this.nullableTermToArray(this.stringValueToTerm(i,await this.getContextSelfOrPropertyScoped(e,t),t,r,this.dataFactory.namedNode(r%1===0&&r<1e21?s.XSD_INTEGER:s.XSD_DOUBLE)));default:return this.parsingContext.emitError(new Error(`Could not determine the RDF type of a ${a}`)),[]}}async getContextSelfOrPropertyScoped(e,t){const r=e.getContextRaw()[t];return r&&"object"===typeof r&&"@context"in r&&(e=await this.parsingContext.parseContext(r,e.getContextRaw(),!0)),e}nullableTermToArray(e){return e?[e]:[]}predicateToTerm(e,t){const r=e.expandTerm(t,!0,this.parsingContext.getExpandOptions());return r?"_"===r[0]&&":"===r[1]?this.parsingContext.produceGeneralizedRdf?this.dataFactory.blankNode(r.substr(2)):null:s.isValidIri(r)?this.dataFactory.namedNode(r):r&&this.parsingContext.strictValues?(this.parsingContext.emitError(new n.ErrorCoded(`Invalid predicate IRI: ${r}`,n.ERROR_CODES.INVALID_IRI_MAPPING)),null):null:null}resourceToTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=e.expandTerm(t,!1,this.parsingContext.getExpandOptions());if(!s.isValidIri(r)){if(!r||!this.parsingContext.strictValues)return null;this.parsingContext.emitError(new Error(`Invalid resource IRI: ${r}`))}return this.dataFactory.namedNode(r)}createVocabOrBaseTerm(e,t){if(t.startsWith("_:"))return this.dataFactory.blankNode(t.substr(2));const r=this.parsingContext.getExpandOptions();let n=e.expandTerm(t,!0,r);if(n===t&&(n=e.expandTerm(t,!1,r)),!s.isValidIri(n)){if(!n||!this.parsingContext.strictValues||n.startsWith("@"))return null;this.parsingContext.emitError(new Error(`Invalid term IRI: ${n}`))}return this.dataFactory.namedNode(n)}intToString(e,t){if("number"===typeof e){if(Number.isFinite(e)){const r=e%1===0;return!r||t&&t.value===s.XSD_DOUBLE?e.toExponential(15).replace(/(\d)0*e\+?/,"$1E"):Number(e).toString()}return e>0?"INF":"-INF"}return e}stringValueToTerm(e,t,r,n,i){const o=s.getContextValueType(t,r);if(o)if("@id"===o){if(!i)return this.resourceToTerm(t,this.intToString(n,i))}else if("@vocab"===o){if(!i)return this.createVocabOrBaseTerm(t,this.intToString(n,i))}else i=this.dataFactory.namedNode(o);if(!i){const o=s.getContextValueLanguage(t,r),a=s.getContextValueDirection(t,r);return a&&this.parsingContext.rdfDirection?this.createLanguageDirectionLiteral(e,this.intToString(n,i),o,a):this.dataFactory.literal(this.intToString(n,i),o)}return this.dataFactory.literal(this.intToString(n,i),i)}createLanguageDirectionLiteral(e,t,r,n){if("i18n-datatype"===this.parsingContext.rdfDirection)return r||(r=""),this.dataFactory.literal(t,this.dataFactory.namedNode(`https://www.w3.org/ns/i18n#${r}_${n}`));{const i=this.dataFactory.blankNode(),o=this.getDefaultGraph();return this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"value"),this.dataFactory.literal(t),o)),r&&this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"language"),this.dataFactory.literal(r),o)),this.parsingContext.emitQuad(e,this.dataFactory.quad(i,this.dataFactory.namedNode(s.RDF+"direction"),this.dataFactory.literal(n),o)),i}}valueToJsonString(e){return a(e)}async unaliasKeyword(e,t,r,i,o){if(Number.isInteger(e))return e;if(!i){const e=this.parsingContext.unaliasedKeywordCacheStack[r];if(e)return e}if(!n.Util.isPotentialKeyword(e)){o=o||await this.parsingContext.getContext(t);let r=o.getContextRaw()[e];r&&"object"===typeof r&&(r=r["@id"]),n.Util.isValidKeyword(r)&&(e=r)}return i?e:this.parsingContext.unaliasedKeywordCacheStack[r]=e}async unaliasKeywordParent(e,t){return await this.unaliasKeyword(t>0&&e[t-1],e,t-1)}async unaliasKeywords(e,t,r,n){const i={};for(const o in e)i[await this.unaliasKeyword(o,t,r+1,!0,n)]=e[o];return i}async isLiteral(e,t){for(let r=t;r>=0;r--){if("@annotation"===await this.unaliasKeyword(e[r],e,r))return!1;if(this.parsingContext.literalStack[r]||this.parsingContext.jsonLiteralStack[r])return!0}return!1}async getDepthOffsetGraph(e,t){for(let r=e-1;r>0;r--)if("@graph"===await this.unaliasKeyword(t[r],t,r)){const n=(await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,t,r)).containers;return o.EntryHandlerContainer.isComplexGraphContainer(n)?-1:e-r-1}return-1}validateReverseSubject(e){if("Literal"===e.termType)throw new n.ErrorCoded(`Found illegal literal in subject position: ${e.value}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}getDefaultGraph(){return this.parsingContext.defaultGraph||this.dataFactory.defaultGraph()}async getGraphContainerValue(e,t){let r=this.getDefaultGraph();const{containers:n,depth:i}=await o.EntryHandlerContainer.getContainerHandler(this.parsingContext,e,t);if("@graph"in n){const t=o.EntryHandlerContainer.getContainerGraphIndex(n,i,e),a=this.parsingContext.graphContainerTermStack[i];if(r=a?a[t]:null,!r){let o=null;if("@id"in n){const t=await this.getContainerKey(e[i],e,i);null!==t&&(o=await this.resourceToTerm(await this.parsingContext.getContext(e),t))}o||(o=this.dataFactory.blankNode()),this.parsingContext.graphContainerTermStack[i]||(this.parsingContext.graphContainerTermStack[i]={}),r=this.parsingContext.graphContainerTermStack[i][t]=o}}return r}async getPropertiesDepth(e,t){let r=t;for(let n=t-1;n>0;n--)if("number"!==typeof e[n]){const t=await this.unaliasKeyword(e[n],e,n);if("@reverse"===t)return n;if("@nest"!==t)return r;r=n}return r}async getContainerKey(e,t,r){const n=await this.unaliasKeyword(e,t,r);return"@none"===n?null:n}validateReverseInEmbeddedNode(e,t,r){if(r&&t&&!this.parsingContext.rdfstarReverseInEmbedded)throw new n.ErrorCoded(`Illegal reverse property in embedded node in ${e}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE)}emitQuadChecked(e,t,r,i,o,a,s){let l;if(a?(this.validateReverseSubject(i),l=this.dataFactory.quad(i,r,t,o)):l=this.dataFactory.quad(t,r,i,o),s){if("DefaultGraph"!==l.graph.termType&&(l=this.dataFactory.quad(l.subject,l.predicate,l.object)),this.parsingContext.idStack[e-1])throw new n.ErrorCoded("Illegal multiple properties in an embedded node",n.ERROR_CODES.INVALID_EMBEDDED_NODE);this.parsingContext.idStack[e-1]=[l]}else this.parsingContext.emitQuad(e,l);const d=this.parsingContext.annotationsBuffer[e];if(d){for(const t of d)this.emitAnnotation(e,l,t);delete this.parsingContext.annotationsBuffer[e]}}emitAnnotation(e,t,r){let n;r.reverse?(this.validateReverseSubject(r.object),n=this.dataFactory.quad(r.object,r.predicate,t)):n=this.dataFactory.quad(t,r.predicate,r.object),this.parsingContext.emitQuad(e,n);for(const i of r.nestedAnnotations)this.emitAnnotation(e,n,i)}}s.XSD="http://www.w3.org/2001/XMLSchema#",s.XSD_BOOLEAN=s.XSD+"boolean",s.XSD_INTEGER=s.XSD+"integer",s.XSD_DOUBLE=s.XSD+"double",s.RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#",t.Util=s},70496:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIdentifier=void 0;class r{canCombineWithGraph(){return!0}async handle(e,t,r,n,i,o){let a;if(t.emittedStack[o+1]&&t.idStack[o+1])a=t.idStack[o+1][0];else{const e=await r.getContainerKey(n[o],n,o),i=null!==e?await r.resourceToTerm(await t.getContext(n),n[o]):r.dataFactory.blankNode();if(!i)return void(t.emittedStack[o]=!1);a=i,t.idStack[o+1]=[a]}let s=t.idStack[o];s||(s=t.idStack[o]=[]),s.some((e=>e.equals(a)))||s.push(a),await t.handlePendingContainerFlushBuffers()||(t.emittedStack[o]=!1)}}t.ContainerHandlerIdentifier=r},34910:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerIndex=void 0;const n=r(11288),i=r(49488),o=r(22754);class a{canCombineWithGraph(){return!0}async handle(e,t,r,a,s,l){if(!Array.isArray(s)){const d="@graph"in e,u=await t.getContext(a),c=a[l-1],f=o.Util.getContextValueIndex(u,c);if(f){if(n.Util.isPotentialKeyword(f))throw new n.ErrorCoded(`Keywords can not be used as @index value, got: ${f}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("string"!==typeof f)throw new n.ErrorCoded(`@index values must be strings, got: ${f}`,n.ERROR_CODES.INVALID_TERM_DEFINITION);if("object"!==typeof s){if("@id"!==o.Util.getContextValueType(u,c))throw new n.ErrorCoded(`Property-based index containers require nodes as values or strings with @type: @id, but got: ${s}`,n.ERROR_CODES.INVALID_VALUE_OBJECT);const e=r.resourceToTerm(u,s);e&&(t.idStack[l+1]=[e])}const e=r.createVocabOrBaseTerm(u,f);if(e){const n=await r.valueToTerm(u,f,await r.getContainerKey(a[l],a,l),l,a);if(d){const i=await r.getGraphContainerValue(a,l+1);for(const o of n)t.emitQuad(l,r.dataFactory.quad(i,e,o,r.getDefaultGraph()))}else for(const o of n)await i.EntryHandlerPredicate.handlePredicateObject(t,r,a,l+1,e,o,!1,!1,!1)}}const h=d?2:1;await t.newOnValueJob(a.slice(0,a.length-h),s,l-h,!0),await t.handlePendingContainerFlushBuffers()}t.emittedStack[l]=!1}}t.ContainerHandlerIndex=a},33275:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerLanguage=void 0;const n=r(11288);class i{canCombineWithGraph(){return!1}async handle(e,t,r,i,o,a){const s=await r.getContainerKey(i[a],i,a);if(Array.isArray(o))o=o.map((e=>({"@value":e,"@language":s})));else{if("string"!==typeof o)throw new n.ErrorCoded(`Got invalid language map value, got '${JSON.stringify(o)}', but expected string`,n.ERROR_CODES.INVALID_LANGUAGE_MAP_VALUE);o={"@value":o,"@language":s}}await t.newOnValueJob(i.slice(0,i.length-1),o,a-1,!0),t.emittedStack[a]=!1}}t.ContainerHandlerLanguage=i},8358:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContainerHandlerType=void 0;const n=r(49488),i=r(22754);class o{canCombineWithGraph(){return!1}async handle(e,t,r,o,a,s){if(!Array.isArray(a)){if("string"===typeof a){const e=await t.getContext(o),n=i.Util.getContextValueType(e,o[s-1]),l="@vocab"===n?await r.createVocabOrBaseTerm(e,a):await r.resourceToTerm(e,a);if(l){const e={"@id":"NamedNode"===l.termType?l.value:a};await t.newOnValueJob(o.slice(0,o.length-1),e,s-1,!0),t.idStack[s+1]=[l]}}else{const e=!!t.idStack[s+1];e||delete t.idStack[s],await t.newOnValueJob(o.slice(0,o.length-1),a,s-1,!0),e||(t.idStack[s+1]=t.idStack[s])}const e=await r.getContainerKey(o[s],o,s),l=null!==e?r.createVocabOrBaseTerm(await t.getContext(o),e):null;l&&await n.EntryHandlerPredicate.handlePredicateObject(t,r,o,s+1,r.rdfType,l,!1,!1,!1),await t.handlePendingContainerFlushBuffers()}t.emittedStack[s]=!1}}t.ContainerHandlerType=o},81889:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerArrayValue=void 0;const n=r(22754),i=r(11288);class o{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return this.test(e,t,null,r,n)}async test(e,t,r,n,i){return"number"===typeof n[i]}async handle(e,t,r,i,o,a){let s=await t.unaliasKeywordParent(i,a);if("@list"===s){let r=null,n=0;for(let e=a-2;e>0;e--){const t=i[e];if("string"===typeof t||"number"===typeof t){n=e,r=t;break}}if(null!==r){const s=await t.valueToTerm(await e.getContext(i),r,o,a,i);for(const r of s)await this.handleListElement(e,t,r,o,a,i.slice(0,n),n);0===s.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,n),n)}}else if("@set"===s)await e.newOnValueJob(i.slice(0,-2),o,a-2,!1);else if(void 0!==s&&"@type"!==s){for(let e=a-1;e>0;e--)if("number"!==typeof i[e]){s=await t.unaliasKeyword(i[e],i,e);break}const r=await e.getContext(i.slice(0,-1));if("@list"in n.Util.getContextValueContainer(r,s)){e.emittedStack[a+1]=!0;const r=await t.valueToTerm(await e.getContext(i),s,o,a,i);for(const n of r)await this.handleListElement(e,t,n,o,a,i.slice(0,-1),a-1);0===r.length&&await this.handleListElement(e,t,null,o,a,i.slice(0,-1),a-1)}else e.shiftStack(a,1),await e.newOnValueJob(i.slice(0,-1),o,a-1,!1),e.contextTree.removeContext(i.slice(0,-1))}}async handleListElement(e,t,r,n,o,a,s){let l=e.listPointerStack[o];if(null!==n&&null!==(await t.unaliasKeywords(n,a,o))["@value"]){if(l&&l.value){const r=t.dataFactory.blankNode();e.emitQuad(o,t.dataFactory.quad(l.value,t.rdfRest,r,t.getDefaultGraph())),l.value=r}else{const e=t.dataFactory.blankNode();l={value:e,listRootDepth:s,listId:e}}r&&e.emitQuad(o,t.dataFactory.quad(l.value,t.rdfFirst,r,t.getDefaultGraph()))}else l||(l={listRootDepth:s,listId:t.rdfNil});e.listPointerStack[o]=l,e.rdfstar&&e.annotationsBuffer[o]&&e.emitError(new i.ErrorCoded("Found an illegal annotation inside a list",i.ERROR_CODES.INVALID_ANNOTATION))}}t.EntryHandlerArrayValue=o},36753:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerContainer=void 0;const n=r(70496),i=r(34910),o=r(33275),a=r(8358),s=r(22754);class l{static isSimpleGraphContainer(e){return"@graph"in e&&("@set"in e&&2===Object.keys(e).length||1===Object.keys(e).length)}static isComplexGraphContainer(e){return"@graph"in e&&("@set"in e&&Object.keys(e).length>2||!("@set"in e)&&Object.keys(e).length>1)}static getContainerGraphIndex(e,t,r){let n=l.isSimpleGraphContainer(e),i="";for(let o=t;o=0;a--)if("number"!==typeof t[a]){const e=s.Util.getContextValue(o,"@container",t[a],!1);if(e&&l.isSimpleGraphContainer(e))return{containers:e,depth:a+1,fallback:!1};const r=s.Util.getContextValue(o,"@container",t[a-1],!1);if(r){const e="@graph"in r;for(const t in l.CONTAINER_HANDLERS)if(r[t])return e?l.CONTAINER_HANDLERS[t].canCombineWithGraph()?{containers:r,depth:a,fallback:!1}:n:i?n:{containers:r,depth:a,fallback:!1};return n}if(i)return n;i=!0}return n}static async isBufferableContainerHandler(e,t,r){const n=await l.getContainerHandler(e,t,r);return!n.fallback&&!("@graph"in n.containers)}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!!await this.test(e,t,null,r,n)}async test(e,t,r,n,i){const o=s.Util.getContextValueContainer(await e.getContext(n,2),n[i-1]);for(const a in l.CONTAINER_HANDLERS)if(o[a])return{containers:o,handler:l.CONTAINER_HANDLERS[a]};return null}async handle(e,t,r,n,i,o,a){return a.handler.handle(a.containers,e,t,n,i,o)}}l.CONTAINER_HANDLERS={"@id":new n.ContainerHandlerIdentifier,"@index":new i.ContainerHandlerIndex,"@language":new o.ContainerHandlerLanguage,"@type":new a.ContainerHandlerType},t.EntryHandlerContainer=l},38215:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerInvalidFallback=void 0;class r{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return!0}async handle(e,t,r,n,i,o){e.emittedStack[o]=!1}}t.EntryHandlerInvalidFallback=r},49488:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerPredicate=void 0;const n=r(11288),i=r(22754);class o{static async handlePredicateObject(e,t,r,i,o,a,s,l,d){const u=await t.getPropertiesDepth(r,i),c=await t.getDepthOffsetGraph(i,r),f=i-c,h=e.idStack[u];if(h&&!d)for(const n of h){const d=c>=0;if(d){const r=e.idStack[f-1];if(r)for(const e of r)t.emitQuadChecked(i,n,o,a,e,s,l);else s?(t.validateReverseSubject(a),e.getUnidentifiedGraphBufferSafe(f-1).push({subject:a,predicate:o,object:n,isEmbedded:l})):e.getUnidentifiedGraphBufferSafe(f-1).push({subject:n,predicate:o,object:a,isEmbedded:l})}else{const e=await t.getGraphContainerValue(r,u);t.emitQuadChecked(i,n,o,a,e,s,l)}}else if(s&&t.validateReverseSubject(a),d){if(e.rdfstar){e.idStack[i]&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${e.idStack[i][0].value}`,n.ERROR_CODES.INVALID_ANNOTATION));for(let o=0;o=0;e--){const t=l[e];t.depth>u&&(d.nestedAnnotations.push(t),l.splice(e,1))}}}else e.getUnidentifiedValueBufferSafe(u).push({predicate:o,object:a,reverse:s,isEmbedded:l})}isPropertyHandler(){return!0}isStackProcessor(){return!0}async validate(e,t,r,n,o){const a=r[n];if(a){const o=await e.getContext(r);if(!e.jsonLiteralStack[n]&&await t.predicateToTerm(o,r[n]))return"@json"===i.Util.getContextValueType(o,a)&&(e.jsonLiteralStack[n+1]=!0),!0}return!1}async test(e,t,r,n,i){return n[i]}async handle(e,t,r,a,s,l,d){const u=a[l],c=await e.getContext(a),f=await t.predicateToTerm(c,r);if(f){const d=await t.valueToTerm(c,r,s,l,a);if(d.length)for(let h of d){let d=await t.unaliasKeywordParent(a,l);const p=i.Util.isPropertyReverse(c,u,d);let b=0;while("@reverse"===d||"number"===typeof d)"number"===typeof d?b++:l--,d=await t.unaliasKeywordParent(a,l-b);const y=i.Util.isPropertyInEmbeddedNode(d);t.validateReverseInEmbeddedNode(r,p,y);const g=i.Util.isPropertyInAnnotationObject(d);if(s){const o="@list"in i.Util.getContextValueContainer(c,r);if(o||s["@list"]){if((o&&!Array.isArray(s)&&!s["@list"]||s["@list"]&&!Array.isArray(s["@list"]))&&h!==t.rdfNil){const r=t.dataFactory.blankNode();e.emitQuad(l,t.dataFactory.quad(r,t.rdfRest,t.rdfNil,t.getDefaultGraph())),e.emitQuad(l,t.dataFactory.quad(r,t.rdfFirst,h,t.getDefaultGraph())),h=r}if(p&&!e.allowSubjectList)throw new n.ErrorCoded(`Found illegal list value in subject position at ${r}`,n.ERROR_CODES.INVALID_REVERSE_PROPERTY_VALUE)}}await o.handlePredicateObject(e,t,a,l,f,h,p,y,g)}}}}t.EntryHandlerPredicate=o},4479:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeyword=void 0;class r{constructor(e){this.keyword=e}isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,n,i){return!1}async test(e,t,r,n,i){return r===this.keyword}}t.EntryHandlerKeyword=r},60768:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordAnnotation=void 0;const n=r(4479),i=r(11288);class o extends n.EntryHandlerKeyword{constructor(){super("@annotation")}async handle(e,t,r,n,o,a){("string"===typeof o||"object"===typeof o&&o["@value"])&&e.emitError(new i.ErrorCoded(`Found illegal annotation value: ${JSON.stringify(o)}`,i.ERROR_CODES.INVALID_ANNOTATION))}}t.EntryHandlerKeywordAnnotation=o},42613:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordContext=void 0;const n=r(11288),i=r(4479);class o extends i.EntryHandlerKeyword{constructor(){super("@context")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){e.streamingProfile&&(e.processingStack[a]||e.processingType[a]||void 0!==e.idStack[a])&&e.emitError(new n.ErrorCoded("Found an out-of-order context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER));const s=e.getContext(i),l=e.parseContext(o,(await s).getContextRaw());e.contextTree.setContext(i.slice(0,-1),l),e.emitContext(o),await e.validateContext(await l)}}t.EntryHandlerKeywordContext=o},73330:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordGraph=void 0;const n=r(4479);class i extends n.EntryHandlerKeyword{constructor(){super("@graph")}async handle(e,t,r,n,i,o){e.graphStack[o+1]=!0}}t.EntryHandlerKeywordGraph=i},52709:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordId=void 0;const n=r(11288),i=r(4479);class o extends i.EntryHandlerKeyword{constructor(){super("@id")}isStackProcessor(){return!1}async handle(e,t,r,i,o,a){if("string"!==typeof o){if(e.rdfstar&&"object"===typeof o){const t=Object.keys(o);1===t.length&&"@id"===t[0]&&e.emitError(new n.ErrorCoded(`Invalid embedded node without property with @id ${o["@id"]}`,n.ERROR_CODES.INVALID_EMBEDDED_NODE))}else e.emitError(new n.ErrorCoded(`Found illegal @id '${o}'`,n.ERROR_CODES.INVALID_ID_VALUE));return}const s=await t.getPropertiesDepth(i,a);if(void 0!==e.idStack[s]&&(e.idStack[s][0].listHead?e.emitError(new n.ErrorCoded(`Found illegal neighbouring entries next to @list for key: '${i[a-1]}'`,n.ERROR_CODES.INVALID_SET_OR_LIST_OBJECT)):e.emitError(new n.ErrorCoded(`Found duplicate @ids '${e.idStack[s][0].value}' and '${o}'`,n.ERROR_CODES.COLLIDING_KEYWORDS))),e.rdfstar&&e.annotationsBuffer[a])for(const l of e.annotationsBuffer[a])l.depth===a&&e.emitError(new n.ErrorCoded(`Found an illegal @id inside an annotation: ${o}`,n.ERROR_CODES.INVALID_ANNOTATION));e.idStack[s]=t.nullableTermToArray(await t.resourceToTerm(await e.getContext(i),o))}}t.EntryHandlerKeywordId=o},67406:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordIncluded=void 0;const n=r(11288),i=r(4479);class o extends i.EntryHandlerKeyword{constructor(){super("@included")}async handle(e,t,r,i,o,a){"object"!==typeof o&&e.emitError(new n.ErrorCoded(`Found illegal @included '${o}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE));const s=await t.unaliasKeywords(o,i,a,await e.getContext(i));"@value"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @value node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),"@list"in s&&e.emitError(new n.ErrorCoded(`Found an illegal @included @list node '${JSON.stringify(o)}'`,n.ERROR_CODES.INVALID_INCLUDED_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordIncluded=o},61323:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordNest=void 0;const n=r(11288),i=r(4479);class o extends i.EntryHandlerKeyword{constructor(){super("@nest")}async handle(e,t,r,i,o,a){"object"!==typeof o&&e.emitError(new n.ErrorCoded(`Found invalid @nest entry for '${r}': '${o}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),"@value"in await t.unaliasKeywords(o,i,a,await e.getContext(i))&&e.emitError(new n.ErrorCoded(`Found an invalid @value node for '${r}'`,n.ERROR_CODES.INVALID_NEST_VALUE)),e.emittedStack[a]=!1}}t.EntryHandlerKeywordNest=o},51820:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordType=void 0;const n=r(11288),i=r(22754),o=r(49488),a=r(4479);class s extends a.EntryHandlerKeyword{constructor(){super("@type")}isStackProcessor(){return!1}async handle(e,t,r,a,s,l){const d=a[l],u=await e.getContext(a),c=t.rdfType,f=await t.unaliasKeywordParent(a,l),h=i.Util.isPropertyReverse(u,d,f),p=i.Util.isPropertyInEmbeddedNode(f);t.validateReverseInEmbeddedNode(r,h,p);const b=i.Util.isPropertyInAnnotationObject(f),y=Array.isArray(s)?s:[s];for(const i of y){"string"!==typeof i&&e.emitError(new n.ErrorCoded(`Found illegal @type '${i}'`,n.ERROR_CODES.INVALID_TYPE_VALUE));const r=t.createVocabOrBaseTerm(u,i);r&&await o.EntryHandlerPredicate.handlePredicateObject(e,t,a,l,c,r,h,p,b)}let g=Promise.resolve(u),_=!1;for(const n of y.sort()){const t=i.Util.getContextValue(u,"@context",n,null);t&&(_=!0,g=g.then((r=>e.parseContext(t,r.getContextRaw()))))}!e.streamingProfile||!_&&e.streamingProfileAllowOutOfOrderPlainType||!e.processingStack[l]&&!e.idStack[l]||e.emitError(new n.ErrorCoded("Found an out-of-order type-scoped context, while streaming is enabled.(disable `streamingProfile`)",n.ERROR_CODES.INVALID_STREAMING_KEY_ORDER)),_&&(g=g.then((e=>!0!==e.getContextRaw()["@propagate"]?new n.JsonLdContextNormalized(Object.assign(Object.assign({},e.getContextRaw()),{"@propagate":!1,"@__propagateFallback":u.getContextRaw()})):e)),e.contextTree.setContext(a.slice(0,a.length-1),g)),e.processingType[l]=!0}}t.EntryHandlerKeywordType=s},72963:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordUnknownFallback=void 0;const n=r(11288);class i{isPropertyHandler(){return!1}isStackProcessor(){return!0}async validate(e,t,r,i,o){const a=await t.unaliasKeyword(r[i],r,i);return!!n.Util.isPotentialKeyword(a)&&!(!o&&"@list"===a)}async test(e,t,r,i,o){return n.Util.isPotentialKeyword(r)}async handle(e,t,r,o,a,s){const l=i.VALID_KEYWORDS_TYPES[r];void 0!==l?l&&typeof a!==l.type&&e.emitError(new n.ErrorCoded(`Invalid value type for '${r}' with value '${a}'`,l.errorCode)):e.strictValues&&e.emitError(new Error(`Unknown keyword '${r}' with value '${a}'`)),e.emittedStack[s]=!1}}i.VALID_KEYWORDS_TYPES={"@index":{type:"string",errorCode:n.ERROR_CODES.INVALID_INDEX_VALUE},"@list":null,"@reverse":{type:"object",errorCode:n.ERROR_CODES.INVALID_REVERSE_VALUE},"@set":null,"@value":null},t.EntryHandlerKeywordUnknownFallback=i},93322:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EntryHandlerKeywordValue=void 0;const n=r(4479);class i extends n.EntryHandlerKeyword{constructor(){super("@value")}async validate(e,t,r,n,i){const o=r[n];return o&&!e.literalStack[n]&&await this.test(e,t,o,r,n)&&(e.literalStack[n]=!0),super.validate(e,t,r,n,i)}async test(e,t,r,n,i){return"@value"===await t.unaliasKeyword(n[i],n.slice(0,n.length-1),i-1,!0)}async handle(e,t,r,n,i,o){e.literalStack[o]=!0,delete e.unidentifiedValuesBuffer[o],delete e.unidentifiedGraphsBuffer[o],e.emittedStack[o]=!1}}t.EntryHandlerKeywordValue=i},27785:function(e,t,r){"use strict";const{SymbolDispose:n}=r(45030),{AbortError:i,codes:o}=r(65123),{isNodeStream:a,isWebStream:s,kControllerErrorFunction:l}=r(18724),d=r(20462),{ERR_INVALID_ARG_TYPE:u}=o;let c;const f=(e,t)=>{if("object"!==typeof e||!("aborted"in e))throw new u(t,"AbortSignal",e)};e.exports.addAbortSignal=function(t,r){if(f(t,"signal"),!a(r)&&!s(r))throw new u("stream",["ReadableStream","WritableStream","Stream"],r);return e.exports.addAbortSignalNoValidate(t,r)},e.exports.addAbortSignalNoValidate=function(e,t){if("object"!==typeof e||!("aborted"in e))return t;const o=a(t)?()=>{t.destroy(new i(void 0,{cause:e.reason}))}:()=>{t[l](new i(void 0,{cause:e.reason}))};if(e.aborted)o();else{c=c||r(29654).addAbortListener;const i=c(e,o);d(t,i[n])}return t}},8413:function(e,t,r){"use strict";const{StringPrototypeSlice:n,SymbolIterator:i,TypedArrayPrototypeSet:o,Uint8Array:a}=r(45030),{Buffer:s}=r(48764),{inspect:l}=r(29654);e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(e){const t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}unshift(e){const t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}shift(){if(0===this.length)return;const e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}clear(){this.head=this.tail=null,this.length=0}join(e){if(0===this.length)return"";let t=this.head,r=""+t.data;while(null!==(t=t.next))r+=e+t.data;return r}concat(e){if(0===this.length)return s.alloc(0);const t=s.allocUnsafe(e>>>0);let r=this.head,n=0;while(r)o(t,r.data,n),n+=r.data.length,r=r.next;return t}consume(e,t){const r=this.head.data;if(eo.length)){e===o.length?(t+=o,++i,r.next?this.head=r.next:this.head=this.tail=null):(t+=n(o,0,e),this.head=r,r.data=n(o,e));break}t+=o,e-=o.length,++i}while(null!==(r=r.next));return this.length-=i,t}_getBuffer(e){const t=s.allocUnsafe(e),r=e;let n=this.head,i=0;do{const s=n.data;if(!(e>s.length)){e===s.length?(o(t,s,r-e),++i,n.next?this.head=n.next:this.head=this.tail=null):(o(t,new a(s.buffer,s.byteOffset,e),r-e),this.head=n,n.data=s.slice(e));break}o(t,s,r-e),e-=s.length,++i}while(null!==(n=n.next));return this.length-=i,t}[Symbol.for("nodejs.util.inspect.custom")](e,t){return l(this,{...t,depth:0,customInspect:!1})}}},14811:function(e,t,r){"use strict";const{pipeline:n}=r(75340),i=r(67510),{destroyer:o}=r(49648),{isNodeStream:a,isReadable:s,isWritable:l,isWebStream:d,isTransformStream:u,isWritableStream:c,isReadableStream:f}=r(18724),{AbortError:h,codes:{ERR_INVALID_ARG_VALUE:p,ERR_MISSING_ARGS:b}}=r(65123),y=r(20462);e.exports=function(...e){if(0===e.length)throw new b("streams");if(1===e.length)return i.from(e[0]);const t=[...e];if("function"===typeof e[0]&&(e[0]=i.from(e[0])),"function"===typeof e[e.length-1]){const t=e.length-1;e[t]=i.from(e[t])}for(let n=0;n0&&!(l(e[n])||c(e[n])||u(e[n])))throw new p(`streams[${n}]`,t[n],"must be writable")}let r,g,_,w,E;function m(e){const t=w;w=null,t?t(e):e?E.destroy(e):I||v||E.destroy()}const S=e[0],R=n(e,m),v=!!(l(S)||c(S)||u(S)),I=!!(s(R)||f(R)||u(R));if(E=new i({writableObjectMode:!(null===S||void 0===S||!S.writableObjectMode),readableObjectMode:!(null===R||void 0===R||!R.readableObjectMode),writable:v,readable:I}),v){if(a(S))E._write=function(e,t,n){S.write(e,t)?n():r=n},E._final=function(e){S.end(),g=e},S.on("drain",(function(){if(r){const e=r;r=null,e()}}));else if(d(S)){const e=u(S)?S.writable:S,t=e.getWriter();E._write=async function(e,r,n){try{await t.ready,t.write(e).catch((()=>{})),n()}catch(i){n(i)}},E._final=async function(e){try{await t.ready,t.close().catch((()=>{})),g=e}catch(r){e(r)}}}const e=u(R)?R.readable:R;y(e,(()=>{if(g){const e=g;g=null,e()}}))}if(I)if(a(R))R.on("readable",(function(){if(_){const e=_;_=null,e()}})),R.on("end",(function(){E.push(null)})),E._read=function(){while(1){const e=R.read();if(null===e)return void(_=E._read);if(!E.push(e))return}};else if(d(R)){const e=u(R)?R.readable:R,t=e.getReader();E._read=async function(){while(1)try{const{value:e,done:r}=await t.read();if(!E.push(e))return;if(r)return void E.push(null)}catch{return}}}return E._destroy=function(e,t){e||null===w||(e=new h),_=null,r=null,g=null,null===w?t(e):(w=t,a(R)&&o(R,e))},E}},49648:function(e,t,r){"use strict";const n=r(34155),{aggregateTwoErrors:i,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:a}=r(65123),{Symbol:s}=r(45030),{kIsDestroyed:l,isDestroyed:d,isFinished:u,isServerRequest:c}=r(18724),f=s("kDestroy"),h=s("kConstruct");function p(e,t,r){e&&(e.stack,t&&!t.errored&&(t.errored=e),r&&!r.errored&&(r.errored=e))}function b(e,t){const r=this._readableState,n=this._writableState,o=n||r;return null!==n&&void 0!==n&&n.destroyed||null!==r&&void 0!==r&&r.destroyed?("function"===typeof t&&t(),this):(p(e,n,r),n&&(n.destroyed=!0),r&&(r.destroyed=!0),o.constructed?y(this,e,t):this.once(f,(function(r){y(this,i(r,e),t)})),this)}function y(e,t,r){let i=!1;function o(t){if(i)return;i=!0;const o=e._readableState,a=e._writableState;p(t,a,o),a&&(a.closed=!0),o&&(o.closed=!0),"function"===typeof r&&r(t),t?n.nextTick(g,e,t):n.nextTick(_,e)}try{e._destroy(t||null,o)}catch(t){o(t)}}function g(e,t){w(e,t),_(e)}function _(e){const t=e._readableState,r=e._writableState;r&&(r.closeEmitted=!0),t&&(t.closeEmitted=!0),(null!==r&&void 0!==r&&r.emitClose||null!==t&&void 0!==t&&t.emitClose)&&e.emit("close")}function w(e,t){const r=e._readableState,n=e._writableState;null!==n&&void 0!==n&&n.errorEmitted||null!==r&&void 0!==r&&r.errorEmitted||(n&&(n.errorEmitted=!0),r&&(r.errorEmitted=!0),e.emit("error",t))}function E(){const e=this._readableState,t=this._writableState;e&&(e.constructed=!0,e.closed=!1,e.closeEmitted=!1,e.destroyed=!1,e.errored=null,e.errorEmitted=!1,e.reading=!1,e.ended=!1===e.readable,e.endEmitted=!1===e.readable),t&&(t.constructed=!0,t.destroyed=!1,t.closed=!1,t.closeEmitted=!1,t.errored=null,t.errorEmitted=!1,t.finalCalled=!1,t.prefinished=!1,t.ended=!1===t.writable,t.ending=!1===t.writable,t.finished=!1===t.writable)}function m(e,t,r){const i=e._readableState,o=e._writableState;if(null!==o&&void 0!==o&&o.destroyed||null!==i&&void 0!==i&&i.destroyed)return this;null!==i&&void 0!==i&&i.autoDestroy||null!==o&&void 0!==o&&o.autoDestroy?e.destroy(t):t&&(t.stack,o&&!o.errored&&(o.errored=t),i&&!i.errored&&(i.errored=t),r?n.nextTick(w,e,t):w(e,t))}function S(e,t){if("function"!==typeof e._construct)return;const r=e._readableState,i=e._writableState;r&&(r.constructed=!1),i&&(i.constructed=!1),e.once(h,t),e.listenerCount(h)>1||n.nextTick(R,e)}function R(e){let t=!1;function r(r){if(t)return void m(e,null!==r&&void 0!==r?r:new o);t=!0;const i=e._readableState,a=e._writableState,s=a||i;i&&(i.constructed=!0),a&&(a.constructed=!0),s.destroyed?e.emit(f,r):r?m(e,r,!0):n.nextTick(v,e)}try{e._construct((e=>{n.nextTick(r,e)}))}catch(i){n.nextTick(r,i)}}function v(e){e.emit(h)}function I(e){return(null===e||void 0===e?void 0:e.setHeader)&&"function"===typeof e.abort}function A(e){e.emit("close")}function O(e,t){e.emit("error",t),n.nextTick(A,e)}function C(e,t){e&&!d(e)&&(t||u(e)||(t=new a),c(e)?(e.socket=null,e.destroy(t)):I(e)?e.abort():I(e.req)?e.req.abort():"function"===typeof e.destroy?e.destroy(t):"function"===typeof e.close?e.close():t?n.nextTick(O,e,t):n.nextTick(A,e),e.destroyed||(e[l]=!0))}e.exports={construct:S,destroyer:C,destroy:b,undestroy:E,errorOrDestroy:m}},67510:function(e,t,r){"use strict";const{ObjectDefineProperties:n,ObjectGetOwnPropertyDescriptor:i,ObjectKeys:o,ObjectSetPrototypeOf:a}=r(45030);e.exports=d;const s=r(39126),l=r(10601);a(d.prototype,s.prototype),a(d,s);{const e=o(l.prototype);for(let t=0;t{c=!1,e&&_(t,e),f(e)})),d._write=function(e,t,i){r.write(e,t)?i():n=i},d._final=function(e){r.end(),i=e},r.on("drain",(function(){if(n){const e=n;n=null,e()}})),r.on("finish",(function(){if(i){const e=i;i=null,e()}}))),u&&(p(t,(e=>{u=!1,e&&_(t,e),f(e)})),t.on("readable",(function(){if(s){const e=s;s=null,e()}})),t.on("end",(function(){d.push(null)})),d._read=function(){while(1){const e=t.read();if(null===e)return void(s=d._read);if(!d.push(e))return}}),d._destroy=function(e,o){e||null===l||(e=new b),s=null,n=null,i=null,null===l?o(e):(l=o,_(r,e),_(t,e))},d}e.exports=function e(t,r){if(c(t))return t;if(d(t))return T({readable:t});if(u(t))return T({writable:t});if(l(t))return T({writable:!1,readable:!1});if(f(t))return T({readable:E.fromWeb(t)});if(h(t))return T({writable:m.fromWeb(t)});if("function"===typeof t){const{value:e,write:i,final:o,destroy:a}=x(t);if(s(e))return R(C,e,{objectMode:!0,write:i,final:o,destroy:a});const l=null===e||void 0===e?void 0:e.then;if("function"===typeof l){let t;const r=O(l,e,(e=>{if(null!=e)throw new g("nully","body",e)}),(e=>{_(t,e)}));return t=new C({objectMode:!0,readable:!1,write:i,final(e){o((async()=>{try{await r,n.nextTick(e,null)}catch(t){n.nextTick(e,t)}}))},destroy:a})}throw new g("Iterable, AsyncIterable or AsyncFunction",r,e)}if(I(t))return e(t.arrayBuffer());if(s(t))return R(C,t,{objectMode:!0,writable:!1});if(f(null===t||void 0===t?void 0:t.readable)&&h(null===t||void 0===t?void 0:t.writable))return C.fromWeb(t);if("object"===typeof(null===t||void 0===t?void 0:t.writable)||"object"===typeof(null===t||void 0===t?void 0:t.readable)){const r=null!==t&&void 0!==t&&t.readable?d(null===t||void 0===t?void 0:t.readable)?null===t||void 0===t?void 0:t.readable:e(t.readable):void 0,n=null!==t&&void 0!==t&&t.writable?u(null===t||void 0===t?void 0:t.writable)?null===t||void 0===t?void 0:t.writable:e(t.writable):void 0;return T({readable:r,writable:n})}const i=null===t||void 0===t?void 0:t.then;if("function"===typeof i){let e;return O(i,t,(t=>{null!=t&&e.push(t),e.push(null)}),(t=>{_(e,t)})),e=new C({objectMode:!0,writable:!1,read(){}})}throw new y(r,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],t)}},20462:function(e,t,r){const n=r(34155),{AbortError:i,codes:o}=r(65123),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_PREMATURE_CLOSE:s}=o,{kEmptyObject:l,once:d}=r(29654),{validateAbortSignal:u,validateFunction:c,validateObject:f,validateBoolean:h}=r(37852),{Promise:p,PromisePrototypeThen:b,SymbolDispose:y}=r(45030),{isClosed:g,isReadable:_,isReadableNodeStream:w,isReadableStream:E,isReadableFinished:m,isReadableErrored:S,isWritable:R,isWritableNodeStream:v,isWritableStream:I,isWritableFinished:A,isWritableErrored:O,isNodeStream:C,willEmitClose:x,kIsClosedPromise:T}=r(18724);let N;function D(e){return e.setHeader&&"function"===typeof e.abort}const L=()=>{};function P(e,t,o){var h,p;if(2===arguments.length?(o=t,t=l):null==t?t=l:f(t,"options"),c(o,"callback"),u(t.signal,"options.signal"),o=d(o),E(e)||I(e))return k(e,t,o);if(!C(e))throw new a("stream",["ReadableStream","WritableStream","Stream"],e);const b=null!==(h=t.readable)&&void 0!==h?h:w(e),T=null!==(p=t.writable)&&void 0!==p?p:v(e),P=e._writableState,j=e._readableState,M=()=>{e.writable||U()};let V=x(e)&&w(e)===b&&v(e)===T,F=A(e,!1);const U=()=>{F=!0,e.destroyed&&(V=!1),(!V||e.readable&&!b)&&(b&&!$||o.call(e))};let $=m(e,!1);const W=()=>{$=!0,e.destroyed&&(V=!1),(!V||e.writable&&!T)&&(T&&!F||o.call(e))},B=t=>{o.call(e,t)};let G=g(e);const H=()=>{G=!0;const t=O(e)||S(e);return t&&"boolean"!==typeof t?o.call(e,t):b&&!$&&w(e,!0)&&!m(e,!1)?o.call(e,new s):!T||F||A(e,!1)?void o.call(e):o.call(e,new s)},K=()=>{G=!0;const t=O(e)||S(e);if(t&&"boolean"!==typeof t)return o.call(e,t);o.call(e)},J=()=>{e.req.on("finish",U)};D(e)?(e.on("complete",U),V||e.on("abort",H),e.req?J():e.on("request",J)):T&&!P&&(e.on("end",M),e.on("close",M)),V||"boolean"!==typeof e.aborted||e.on("aborted",H),e.on("end",W),e.on("finish",U),!1!==t.error&&e.on("error",B),e.on("close",H),G?n.nextTick(H):null!==P&&void 0!==P&&P.errorEmitted||null!==j&&void 0!==j&&j.errorEmitted?V||n.nextTick(K):(b||V&&!_(e)||!F&&!1!==R(e))&&(T||V&&!R(e)||!$&&!1!==_(e))?j&&e.req&&e.aborted&&n.nextTick(K):n.nextTick(K);const Y=()=>{o=L,e.removeListener("aborted",H),e.removeListener("complete",U),e.removeListener("abort",H),e.removeListener("request",J),e.req&&e.req.removeListener("finish",U),e.removeListener("end",M),e.removeListener("close",M),e.removeListener("finish",U),e.removeListener("end",W),e.removeListener("error",B),e.removeListener("close",H)};if(t.signal&&!G){const a=()=>{const r=o;Y(),r.call(e,new i(void 0,{cause:t.signal.reason}))};if(t.signal.aborted)n.nextTick(a);else{N=N||r(29654).addAbortListener;const n=N(t.signal,a),i=o;o=d(((...t)=>{n[y](),i.apply(e,t)}))}}return Y}function k(e,t,o){let a=!1,s=L;if(t.signal)if(s=()=>{a=!0,o.call(e,new i(void 0,{cause:t.signal.reason}))},t.signal.aborted)n.nextTick(s);else{N=N||r(29654).addAbortListener;const n=N(t.signal,s),i=o;o=d(((...t)=>{n[y](),i.apply(e,t)}))}const l=(...t)=>{a||n.nextTick((()=>o.apply(e,t)))};return b(e[T].promise,l,l),L}function j(e,t){var r;let n=!1;return null===t&&(t=l),null!==(r=t)&&void 0!==r&&r.cleanup&&(h(t.cleanup,"cleanup"),n=t.cleanup),new p(((r,i)=>{const o=P(e,t,(e=>{n&&o(),e?i(e):r()}))}))}e.exports=P,e.exports.finished=j},31014:function(e,t,r){"use strict";const n=r(34155),{PromisePrototypeThen:i,SymbolAsyncIterator:o,SymbolIterator:a}=r(45030),{Buffer:s}=r(48764),{ERR_INVALID_ARG_TYPE:l,ERR_STREAM_NULL_VALUES:d}=r(65123).codes;function u(e,t,r){let u,c;if("string"===typeof t||t instanceof s)return new e({objectMode:!0,...r,read(){this.push(t),this.push(null)}});if(t&&t[o])c=!0,u=t[o]();else{if(!t||!t[a])throw new l("iterable",["Iterable"],t);c=!1,u=t[a]()}const f=new e({objectMode:!0,highWaterMark:1,...r});let h=!1;async function p(e){const t=void 0!==e&&null!==e,r="function"===typeof u.throw;if(t&&r){const{value:t,done:r}=await u.throw(e);if(await t,r)return}if("function"===typeof u.return){const{value:e}=await u.return();await e}}async function b(){for(;;){try{const{value:e,done:t}=c?await u.next():u.next();if(t)f.push(null);else{const t=e&&"function"===typeof e.then?await e:e;if(null===t)throw h=!1,new d;if(f.push(t))continue;h=!1}}catch(e){f.destroy(e)}break}}return f._read=function(){h||(h=!0,b())},f._destroy=function(e,t){i(p(e),(()=>n.nextTick(t,e)),(r=>n.nextTick(t,r||e)))},f}e.exports=u},48195:function(e,t,r){"use strict";const{ArrayIsArray:n,ObjectSetPrototypeOf:i}=r(45030),{EventEmitter:o}=r(17187);function a(e){o.call(this,e)}function s(e,t,r){if("function"===typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?n(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}i(a.prototype,o.prototype),i(a,o),a.prototype.pipe=function(e,t){const r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function i(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",i),e._isStdio||t&&!1===t.end||(r.on("end",l),r.on("close",d));let a=!1;function l(){a||(a=!0,e.end())}function d(){a||(a=!0,"function"===typeof e.destroy&&e.destroy())}function u(e){c(),0===o.listenerCount(this,"error")&&this.emit("error",e)}function c(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",l),r.removeListener("close",d),r.removeListener("error",u),e.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return s(r,"error",u),s(e,"error",u),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e},e.exports={Stream:a,prependListener:s}},56565:function(e,t,r){"use strict";const n=globalThis.AbortController||r(28599).AbortController,{codes:{ERR_INVALID_ARG_VALUE:i,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:a,ERR_OUT_OF_RANGE:s},AbortError:l}=r(65123),{validateAbortSignal:d,validateInteger:u,validateObject:c}=r(37852),f=r(45030).Symbol("kWeak"),h=r(45030).Symbol("kResistStopPropagation"),{finished:p}=r(20462),b=r(14811),{addAbortSignalNoValidate:y}=r(27785),{isWritable:g,isNodeStream:_}=r(18724),{deprecate:w}=r(29654),{ArrayPrototypePush:E,Boolean:m,MathFloor:S,Number:R,NumberIsNaN:v,Promise:I,PromiseReject:A,PromiseResolve:O,PromisePrototypeThen:C,Symbol:x}=r(45030),T=x("kEmpty"),N=x("kEof");function D(e,t){if(null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),_(e)&&!g(e))throw new i("stream",e,"must be writable");const r=b(this,e);return null!==t&&void 0!==t&&t.signal&&y(t.signal,r),r}function L(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal");let n=1;null!=(null===t||void 0===t?void 0:t.concurrency)&&(n=S(t.concurrency));let i=n-1;return null!=(null===t||void 0===t?void 0:t.highWaterMark)&&(i=S(t.highWaterMark)),u(n,"options.concurrency",1),u(i,"options.highWaterMark",0),i+=n,async function*(){const o=r(29654).AbortSignalAny([null===t||void 0===t?void 0:t.signal].filter(m)),a=this,s=[],d={signal:o};let u,c,f=!1,h=0;function p(){f=!0,b()}function b(){h-=1,y()}function y(){c&&!f&&h=i||h>=n)&&await new I((e=>{c=e}))}s.push(N)}catch(t){const e=A(t);C(e,b,p),s.push(e)}finally{f=!0,u&&(u(),u=null)}}g();try{while(1){while(s.length>0){const e=await s[0];if(e===N)return;if(o.aborted)throw new l;e!==T&&(yield e),s.shift(),y()}await new I((e=>{u=e}))}}finally{f=!0,c&&(c(),c=null)}}.call(this)}function P(e=void 0){return null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal"),async function*(){let t=0;for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new l({cause:e.signal.reason});yield[t++,n]}}.call(this)}async function k(e,t=void 0){for await(const r of F.call(this,e,t))return!0;return!1}async function j(e,t=void 0){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);return!await k.call(this,(async(...t)=>!await e(...t)),t)}async function M(e,t){for await(const r of F.call(this,e,t))return r}async function V(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r),T}for await(const n of L.call(this,r,t));}function F(e,t){if("function"!==typeof e)throw new o("fn",["Function","AsyncFunction"],e);async function r(t,r){return await e(t,r)?t:T}return L.call(this,r,t)}class U extends a{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function $(e,t,r){var i;if("function"!==typeof e)throw new o("reducer",["Function","AsyncFunction"],e);null!=r&&c(r,"options"),null!=(null===r||void 0===r?void 0:r.signal)&&d(r.signal,"options.signal");let a=arguments.length>1;if(null!==r&&void 0!==r&&null!==(i=r.signal)&&void 0!==i&&i.aborted){const e=new l(void 0,{cause:r.signal.reason});throw this.once("error",(()=>{})),await p(this.destroy(e)),e}const s=new n,u=s.signal;if(null!==r&&void 0!==r&&r.signal){const e={once:!0,[f]:this,[h]:!0};r.signal.addEventListener("abort",(()=>s.abort()),e)}let b=!1;try{for await(const n of this){var y;if(b=!0,null!==r&&void 0!==r&&null!==(y=r.signal)&&void 0!==y&&y.aborted)throw new l;a?t=await e(t,n,{signal:u}):(t=n,a=!0)}if(!b&&!a)throw new U}finally{s.abort()}return t}async function W(e){null!=e&&c(e,"options"),null!=(null===e||void 0===e?void 0:e.signal)&&d(e.signal,"options.signal");const t=[];for await(const n of this){var r;if(null!==e&&void 0!==e&&null!==(r=e.signal)&&void 0!==r&&r.aborted)throw new l(void 0,{cause:e.signal.reason});E(t,n)}return t}function B(e,t){const r=L.call(this,e,t);return async function*(){for await(const e of r)yield*e}.call(this)}function G(e){if(e=R(e),v(e))return 0;if(e<0)throw new s("number",">= 0",e);return e}function H(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new l;for await(const i of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new l;e--<=0&&(yield i)}}.call(this)}function K(e,t=void 0){return null!=t&&c(t,"options"),null!=(null===t||void 0===t?void 0:t.signal)&&d(t.signal,"options.signal"),e=G(e),async function*(){var r;if(null!==t&&void 0!==t&&null!==(r=t.signal)&&void 0!==r&&r.aborted)throw new l;for await(const i of this){var n;if(null!==t&&void 0!==t&&null!==(n=t.signal)&&void 0!==n&&n.aborted)throw new l;if(e-- >0&&(yield i),e<=0)return}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:w(P,"readable.asIndexedPairs will be removed in a future version."),drop:H,filter:F,flatMap:B,map:L,take:K,compose:D},e.exports.promiseReturningOperators={every:j,forEach:V,reduce:$,toArray:W,some:k,find:M}},59267:function(e,t,r){"use strict";const{ObjectSetPrototypeOf:n}=r(45030);e.exports=o;const i=r(14571);function o(e){if(!(this instanceof o))return new o(e);i.call(this,e)}n(o.prototype,i.prototype),n(o,i),o.prototype._transform=function(e,t,r){r(null,e)}},75340:function(e,t,r){const n=r(34155),{ArrayIsArray:i,Promise:o,SymbolAsyncIterator:a,SymbolDispose:s}=r(45030),l=r(20462),{once:d}=r(29654),u=r(49648),c=r(67510),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:h,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:b,ERR_STREAM_DESTROYED:y,ERR_STREAM_PREMATURE_CLOSE:g},AbortError:_}=r(65123),{validateFunction:w,validateAbortSignal:E}=r(37852),{isIterable:m,isReadable:S,isReadableNodeStream:R,isNodeStream:v,isTransformStream:I,isWebStream:A,isReadableStream:O,isReadableFinished:C}=r(18724),x=globalThis.AbortController||r(28599).AbortController;let T,N,D;function L(e,t,r){let n=!1;e.on("close",(()=>{n=!0}));const i=l(e,{readable:t,writable:r},(e=>{n=!e}));return{destroy:t=>{n||(n=!0,u.destroyer(e,t||new y("pipe")))},cleanup:i}}function P(e){return w(e[e.length-1],"streams[stream.length - 1]"),e.pop()}function k(e){if(m(e))return e;if(R(e))return j(e);throw new h("val",["Readable","Iterable","AsyncIterable"],e)}async function*j(e){N||(N=r(39126)),yield*N.prototype[a].call(e)}async function M(e,t,r,{end:n}){let i,a=null;const s=e=>{if(e&&(i=e),a){const e=a;a=null,e()}},d=()=>new o(((e,t)=>{i?t(i):a=()=>{i?t(i):e()}}));t.on("drain",s);const u=l(t,{readable:!1},s);try{t.writableNeedDrain&&await d();for await(const r of e)t.write(r)||await d();n&&(t.end(),await d()),r()}catch(c){r(i!==c?f(i,c):c)}finally{u(),t.off("drain",s)}}async function V(e,t,r,{end:n}){I(t)&&(t=t.writable);const i=t.getWriter();try{for await(const t of e)await i.ready,i.write(t).catch((()=>{}));await i.ready,n&&await i.close(),r()}catch(o){try{await i.abort(o),r(o)}catch(o){r(o)}}}function F(...e){return U(e,d(P(e)))}function U(e,t,o){if(1===e.length&&i(e[0])&&(e=e[0]),e.length<2)throw new b("streams");const a=new x,l=a.signal,d=null===o||void 0===o?void 0:o.signal,u=[];function f(){F(new _)}let y,g,w;E(d,"options.signal"),D=D||r(29654).addAbortListener,d&&(y=D(d,f));const C=[];let N,P=0;function j(e){F(e,0===--P)}function F(e,r){var i;if(!e||g&&"ERR_STREAM_PREMATURE_CLOSE"!==g.code||(g=e),g||r){while(C.length)C.shift()(g);null===(i=y)||void 0===i||i[s](),a.abort(),r&&(g||u.forEach((e=>e())),n.nextTick(t,g,w))}}for(let G=0;G0,Y=K||!1!==(null===o||void 0===o?void 0:o.end),q=G===e.length-1;if(v(H)){if(Y){const{destroy:X,cleanup:z}=L(H,K,J);C.push(X),S(H)&&q&&u.push(z)}function U(e){e&&"AbortError"!==e.name&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code&&j(e)}H.on("error",U),S(H)&&q&&u.push((()=>{H.removeListener("error",U)}))}if(0===G)if("function"===typeof H){if(N=H({signal:l}),!m(N))throw new p("Iterable, AsyncIterable or Stream","source",N)}else N=m(H)||R(H)||I(H)?H:c.from(H);else if("function"===typeof H){var W;if(I(N))N=k(null===(W=N)||void 0===W?void 0:W.readable);else N=k(N);if(N=H(N,{signal:l}),K){if(!m(N,!0))throw new p("AsyncIterable",`transform[${G-1}]`,N)}else{var B;T||(T=r(59267));const Q=new T({objectMode:!0}),Z=null===(B=N)||void 0===B?void 0:B.then;if("function"===typeof Z)P++,Z.call(N,(e=>{w=e,null!=e&&Q.write(e),Y&&Q.end(),n.nextTick(j)}),(e=>{Q.destroy(e),n.nextTick(j,e)}));else if(m(N,!0))P++,M(N,Q,j,{end:Y});else{if(!O(N)&&!I(N))throw new p("AsyncIterable or Promise","destination",N);{const re=N.readable||N;P++,M(re,Q,j,{end:Y})}}N=Q;const{destroy:ee,cleanup:te}=L(N,!1,!0);C.push(ee),q&&u.push(te)}}else if(v(H)){if(R(N)){P+=2;const ne=$(N,H,j,{end:Y});S(H)&&q&&u.push(ne)}else if(I(N)||O(N)){const ie=N.readable||N;P++,M(ie,H,j,{end:Y})}else{if(!m(N))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],N);P++,M(N,H,j,{end:Y})}N=H}else if(A(H)){if(R(N))P++,V(k(N),H,j,{end:Y});else if(O(N)||m(N))P++,V(N,H,j,{end:Y});else{if(!I(N))throw new h("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],N);P++,V(N.readable,H,j,{end:Y})}N=H}else N=c.from(H)}return(null!==l&&void 0!==l&&l.aborted||null!==d&&void 0!==d&&d.aborted)&&n.nextTick(f),N}function $(e,t,r,{end:i}){let o=!1;if(t.on("close",(()=>{o||r(new g)})),e.pipe(t,{end:!1}),i){function a(){o=!0,t.end()}C(e)?n.nextTick(a):e.once("end",a)}else r();return l(e,{readable:!0,writable:!1},(t=>{const n=e._readableState;t&&"ERR_STREAM_PREMATURE_CLOSE"===t.code&&n&&n.ended&&!n.errored&&!n.errorEmitted?e.once("end",r).once("error",r):r(t)})),l(t,{readable:!1,writable:!0},r)}e.exports={pipelineImpl:U,pipeline:F}},39126:function(e,t,r){const n=r(34155),{ArrayPrototypeIndexOf:i,NumberIsInteger:o,NumberIsNaN:a,NumberParseInt:s,ObjectDefineProperties:l,ObjectKeys:d,ObjectSetPrototypeOf:u,Promise:c,SafeSet:f,SymbolAsyncDispose:h,SymbolAsyncIterator:p,Symbol:b}=r(45030);e.exports=se,se.ReadableState=ae;const{EventEmitter:y}=r(17187),{Stream:g,prependListener:_}=r(48195),{Buffer:w}=r(48764),{addAbortSignal:E}=r(27785),m=r(20462);let S=r(29654).debuglog("stream",(e=>{S=e}));const R=r(8413),v=r(49648),{getHighWaterMark:I,getDefaultHighWaterMark:A}=r(65128),{aggregateTwoErrors:O,codes:{ERR_INVALID_ARG_TYPE:C,ERR_METHOD_NOT_IMPLEMENTED:x,ERR_OUT_OF_RANGE:T,ERR_STREAM_PUSH_AFTER_EOF:N,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:D},AbortError:L}=r(65123),{validateObject:P}=r(37852),k=b("kPaused"),{StringDecoder:j}=r(32553),M=r(31014);u(se.prototype,g.prototype),u(se,g);const V=()=>{},{errorOrDestroy:F}=v,U=1,$=2,W=4,B=8,G=16,H=32,K=64,J=128,Y=256,q=512,X=1024,z=2048,Q=4096,Z=8192,ee=16384,te=32768,re=65536,ne=1<<17,ie=1<<18;function oe(e){return{enumerable:!1,get(){return 0!==(this.state&e)},set(t){t?this.state|=e:this.state&=~e}}}function ae(e,t,n){"boolean"!==typeof n&&(n=t instanceof r(67510)),this.state=z|Q|G|H,e&&e.objectMode&&(this.state|=U),n&&e&&e.readableObjectMode&&(this.state|=U),this.highWaterMark=e?I(this,e,"readableHighWaterMark",n):A(!1),this.buffer=new R,this.length=0,this.pipes=[],this.flowing=null,this[k]=null,e&&!1===e.emitClose&&(this.state&=~z),e&&!1===e.autoDestroy&&(this.state&=~Q),this.errored=null,this.defaultEncoding=e&&e.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,e&&e.encoding&&(this.decoder=new j(e.encoding),this.encoding=e.encoding)}function se(e){if(!(this instanceof se))return new se(e);const t=this instanceof r(67510);this._readableState=new ae(e,this,t),e&&("function"===typeof e.read&&(this._read=e.read),"function"===typeof e.destroy&&(this._destroy=e.destroy),"function"===typeof e.construct&&(this._construct=e.construct),e.signal&&!t&&E(e.signal,this)),g.call(this,e),v.construct(this,(()=>{this._readableState.needReadable&&ye(this,this._readableState)}))}function le(e,t,r,n){S("readableAddChunk",t);const i=e._readableState;let o;if(0===(i.state&U)&&("string"===typeof t?(r=r||i.defaultEncoding,i.encoding!==r&&(n&&i.encoding?t=w.from(t,r).toString(i.encoding):(t=w.from(t,r),r=""))):t instanceof w?r="":g._isUint8Array(t)?(t=g._uint8ArrayToBuffer(t),r=""):null!=t&&(o=new C("chunk",["string","Buffer","Uint8Array"],t))),o)F(e,o);else if(null===t)i.state&=~B,he(e,i);else if(0!==(i.state&U)||t&&t.length>0)if(n)if(0!==(i.state&W))F(e,new D);else{if(i.destroyed||i.errored)return!1;de(e,i,t,!0)}else if(i.ended)F(e,new N);else{if(i.destroyed||i.errored)return!1;i.state&=~B,i.decoder&&!r?(t=i.decoder.write(t),i.objectMode||0!==t.length?de(e,i,t,!1):ye(e,i)):de(e,i,t,!1)}else n||(i.state&=~B,ye(e,i));return!i.ended&&(i.length0?(0!==(t.state&re)?t.awaitDrainWriters.clear():t.awaitDrainWriters=null,t.dataEmitted=!0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),0!==(t.state&K)&&pe(e)),ye(e,t)}l(ae.prototype,{objectMode:oe(U),ended:oe($),endEmitted:oe(W),reading:oe(B),constructed:oe(G),sync:oe(H),needReadable:oe(K),emittedReadable:oe(J),readableListening:oe(Y),resumeScheduled:oe(q),errorEmitted:oe(X),emitClose:oe(z),autoDestroy:oe(Q),destroyed:oe(Z),closed:oe(ee),closeEmitted:oe(te),multiAwaitDrain:oe(re),readingMore:oe(ne),dataEmitted:oe(ie)}),se.prototype.destroy=v.destroy,se.prototype._undestroy=v.undestroy,se.prototype._destroy=function(e,t){t(e)},se.prototype[y.captureRejectionSymbol]=function(e){this.destroy(e)},se.prototype[h]=function(){let e;return this.destroyed||(e=this.readableEnded?null:new L,this.destroy(e)),new c(((t,r)=>m(this,(n=>n&&n!==e?r(n):t(null)))))},se.prototype.push=function(e,t){return le(this,e,t,!1)},se.prototype.unshift=function(e,t){return le(this,e,t,!0)},se.prototype.isPaused=function(){const e=this._readableState;return!0===e[k]||!1===e.flowing},se.prototype.setEncoding=function(e){const t=new j(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;const r=this._readableState.buffer;let n="";for(const i of r)n+=t.write(i);return r.clear(),""!==n&&r.push(n),this._readableState.length=n.length,this};const ue=1073741824;function ce(e){if(e>ue)throw new T("size","<= 1GiB",e);return e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++,e}function fe(e,t){return e<=0||0===t.length&&t.ended?0:0!==(t.state&U)?1:a(e)?t.flowing&&t.length?t.buffer.first().length:t.length:e<=t.length?e:t.ended?t.length:0}function he(e,t){if(S("onEofChunk"),!t.ended){if(t.decoder){const e=t.decoder.end();e&&e.length&&(t.buffer.push(e),t.length+=t.objectMode?1:e.length)}t.ended=!0,t.sync?pe(e):(t.needReadable=!1,t.emittedReadable=!0,be(e))}}function pe(e){const t=e._readableState;S("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(S("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(be,e))}function be(e){const t=e._readableState;S("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||t.errored||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Re(e)}function ye(e,t){!t.readingMore&&t.constructed&&(t.readingMore=!0,n.nextTick(ge,e,t))}function ge(e,t){while(!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!1===t[k]?t.flowing=!0:e.listenerCount("data")>0?e.resume():t.readableListening||(t.flowing=null)}function Ee(e){S("readable nexttick read 0"),e.read(0)}function me(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(Se,e,t))}function Se(e,t){S("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Re(e),t.flowing&&!t.reading&&e.read(0)}function Re(e){const t=e._readableState;S("flow",t.flowing);while(t.flowing&&null!==e.read());}function ve(e,t){"function"!==typeof e.read&&(e=se.wrap(e,{objectMode:!0}));const r=Ie(e,t);return r.stream=e,r}async function*Ie(e,t){let r,n=V;function i(t){this===e?(n(),n=V):n=t}e.on("readable",i);const o=m(e,{writable:!1},(e=>{r=e?O(r,e):null,n(),n=V}));try{while(1){const t=e.destroyed?null:e.read();if(null!==t)yield t;else{if(r)throw r;if(null===r)return;await new c(i)}}}catch(a){throw r=O(r,a),r}finally{!r&&!1===(null===t||void 0===t?void 0:t.destroyOnReturn)||void 0!==r&&!e._readableState.autoDestroy?(e.off("readable",i),o()):v.destroyer(e,null)}}function Ae(e,t){if(0===t.length)return null;let r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Oe(e){const t=e._readableState;S("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(Ce,t,e))}function Ce(e,t){if(S("endReadableNT",e.endEmitted,e.length),!e.errored&&!e.closeEmitted&&!e.endEmitted&&0===e.length)if(e.endEmitted=!0,t.emit("end"),t.writable&&!1===t.allowHalfOpen)n.nextTick(xe,t);else if(e.autoDestroy){const e=t._writableState,r=!e||e.autoDestroy&&(e.finished||!1===e.writable);r&&t.destroy()}}function xe(e){const t=e.writable&&!e.writableEnded&&!e.destroyed;t&&e.end()}let Te;function Ne(){return void 0===Te&&(Te={}),Te}se.prototype.read=function(e){S("read",e),void 0===e?e=NaN:o(e)||(e=s(e,10));const t=this._readableState,r=e;if(e>t.highWaterMark&&(t.highWaterMark=ce(e)),0!==e&&(t.state&=~J),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return S("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Oe(this):pe(this),null;if(e=fe(e,t),0===e&&t.ended)return 0===t.length&&Oe(this),null;let n,i=0!==(t.state&K);if(S("need readable",i),(0===t.length||t.length-e0?Ae(e,t):null,null===n?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.multiAwaitDrain?t.awaitDrainWriters.clear():t.awaitDrainWriters=null),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Oe(this)),null===n||t.errorEmitted||t.closeEmitted||(t.dataEmitted=!0,this.emit("data",n)),n},se.prototype._read=function(e){throw new x("_read()")},se.prototype.pipe=function(e,t){const r=this,i=this._readableState;1===i.pipes.length&&(i.multiAwaitDrain||(i.multiAwaitDrain=!0,i.awaitDrainWriters=new f(i.awaitDrainWriters?[i.awaitDrainWriters]:[]))),i.pipes.push(e),S("pipe count=%d opts=%j",i.pipes.length,t);const o=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr,a=o?l:w;function s(e,t){S("onunpipe"),e===r&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,c())}function l(){S("onend"),e.end()}let d;i.endEmitted?n.nextTick(a):r.once("end",a),e.on("unpipe",s);let u=!1;function c(){S("cleanup"),e.removeListener("close",y),e.removeListener("finish",g),d&&e.removeListener("drain",d),e.removeListener("error",b),e.removeListener("unpipe",s),r.removeListener("end",l),r.removeListener("end",w),r.removeListener("data",p),u=!0,d&&i.awaitDrainWriters&&(!e._writableState||e._writableState.needDrain)&&d()}function h(){u||(1===i.pipes.length&&i.pipes[0]===e?(S("false write response, pause",0),i.awaitDrainWriters=e,i.multiAwaitDrain=!1):i.pipes.length>1&&i.pipes.includes(e)&&(S("false write response, pause",i.awaitDrainWriters.size),i.awaitDrainWriters.add(e)),r.pause()),d||(d=_e(r,e),e.on("drain",d))}function p(t){S("ondata");const r=e.write(t);S("dest.write",r),!1===r&&h()}function b(t){if(S("onerror",t),w(),e.removeListener("error",b),0===e.listenerCount("error")){const r=e._writableState||e._readableState;r&&!r.errorEmitted?F(e,t):e.emit("error",t)}}function y(){e.removeListener("finish",g),w()}function g(){S("onfinish"),e.removeListener("close",y),w()}function w(){S("unpipe"),r.unpipe(e)}return r.on("data",p),_(e,"error",b),e.once("close",y),e.once("finish",g),e.emit("pipe",r),!0===e.writableNeedDrain?h():i.flowing||(S("pipe resume"),r.resume()),e},se.prototype.unpipe=function(e){const t=this._readableState,r={hasUnpiped:!1};if(0===t.pipes.length)return this;if(!e){const e=t.pipes;t.pipes=[],this.pause();for(let t=0;t0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,S("on readable",i.length,i.reading),i.length?pe(this):i.reading||n.nextTick(Ee,this))),r},se.prototype.addListener=se.prototype.on,se.prototype.removeListener=function(e,t){const r=g.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(we,this),r},se.prototype.off=se.prototype.removeListener,se.prototype.removeAllListeners=function(e){const t=g.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(we,this),t},se.prototype.resume=function(){const e=this._readableState;return e.flowing||(S("resume"),e.flowing=!e.readableListening,me(this,e)),e[k]=!1,this},se.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[k]=!0,this},se.prototype.wrap=function(e){let t=!1;e.on("data",(r=>{!this.push(r)&&e.pause&&(t=!0,e.pause())})),e.on("end",(()=>{this.push(null)})),e.on("error",(e=>{F(this,e)})),e.on("close",(()=>{this.destroy()})),e.on("destroy",(()=>{this.destroy()})),this._read=()=>{t&&e.resume&&(t=!1,e.resume())};const r=d(e);for(let n=1;n{t?e?e(t):this.destroy(t):(null!=r&&this.push(r),this.push(null),e&&e())}))}function c(){this._final!==u&&u.call(this)}d.prototype._final=u,d.prototype._transform=function(e,t,r){throw new o("_transform()")},d.prototype._write=function(e,t,r){const n=this._readableState,i=this._writableState,o=n.length;this._transform(e,t,((e,t)=>{e?r(e):(null!=t&&this.push(t),i.ended||o===n.length||n.length{const e=this._writableState;e.writing||B(this,e),J(this,e)}))}function k(e,t,r,i){const o=e._writableState;if("function"===typeof r)i=r,r=o.defaultEncoding;else{if(r){if("buffer"!==r&&!b.isEncoding(r))throw new C(r)}else r=o.defaultEncoding;"function"!==typeof i&&(i=T)}if(null===t)throw new A;if(!o.objectMode)if("string"===typeof t)!1!==o.decodeStrings&&(t=b.from(t,r),r="buffer");else if(t instanceof b)r="buffer";else{if(!p._isUint8Array(t))throw new E("chunk",["string","Buffer","Uint8Array"],t);t=p._uint8ArrayToBuffer(t),r="buffer"}let a;return o.ending?a=new O:o.destroyed&&(a=new v("write")),a?(n.nextTick(i,a),x(e,a,!0),a):(o.pendingcb++,j(e,o,t,r,i))}function j(e,t,r,n,i){const o=t.objectMode?1:r.length;t.length+=o;const a=t.lengthr.bufferedIndex&&B(e,r),i?null!==r.afterWriteTickInfo&&r.afterWriteTickInfo.cb===o?r.afterWriteTickInfo.count++:(r.afterWriteTickInfo={count:1,cb:o,stream:e,state:r},n.nextTick(U,r.afterWriteTickInfo)):$(e,r,1,o))):x(e,new S)}function U({stream:e,state:t,count:r,cb:n}){return t.afterWriteTickInfo=null,$(e,t,r,n)}function $(e,t,r,n){const i=!t.ending&&!e.destroyed&&0===t.length&&t.needDrain;i&&(t.needDrain=!1,e.emit("drain"));while(r-- >0)t.pendingcb--,n();t.destroyed&&W(t),J(e,t)}function W(e){if(e.writing)return;for(let i=e.bufferedIndex;i1&&e._writev){t.pendingcb-=a-1;const n=t.allNoop?T:e=>{for(let t=s;t256?(r.splice(0,s),t.bufferedIndex=0):t.bufferedIndex=s}t.bufferProcessing=!1}function G(e){return e.ending&&!e.destroyed&&e.constructed&&0===e.length&&!e.errored&&0===e.buffered.length&&!e.finished&&!e.writing&&!e.errorEmitted&&!e.closeEmitted}function H(e,t){let r=!1;function i(i){if(r)x(e,null!==i&&void 0!==i?i:S());else if(r=!0,t.pendingcb--,i){const r=t[N].splice(0);for(let e=0;e{G(t)?Y(e,t):t.pendingcb--}),e,t)):G(t)&&(t.pendingcb++,Y(e,t))))}function Y(e,t){t.pendingcb--,t.finished=!0;const r=t[N].splice(0);for(let n=0;n>>0}const x=/^[0-7]+$/,T="must be a 32-bit unsigned integer or an octal string";function N(e,t,r){if("undefined"===typeof e&&(e=r),"string"===typeof e){if(null===h(x,e))throw new E(t,e,T);e=c(e,8)}return P(e,t),e}const D=g(((e,t,r=u,n=d)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);if(en)throw new m(t,`>= ${r} && <= ${n}`,e)})),L=g(((e,t,r=-2147483648,n=2147483647)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);if(en)throw new m(t,`>= ${r} && <= ${n}`,e)})),P=g(((e,t,r=!1)=>{if("number"!==typeof e)throw new w(t,"number",e);if(!s(e))throw new m(t,"an integer",e);const n=r?1:0,i=4294967295;if(ei)throw new m(t,`>= ${n} && <= ${i}`,e)}));function k(e,t){if("string"!==typeof e)throw new w(t,"string",e)}function j(e,t,r=void 0,n){if("number"!==typeof e)throw new w(t,"number",e);if(null!=r&&en||(null!=r||null!=n)&&l(e))throw new m(t,`${null!=r?`>= ${r}`:""}${null!=r&&null!=n?" && ":""}${null!=n?`<= ${n}`:""}`,e)}const M=g(((e,t,r)=>{if(!i(r,e)){const n=o(a(r,(e=>"string"===typeof e?`'${e}'`:p(e))),", "),i="must be one of: "+n;throw new E(t,e,i)}}));function V(e,t){if("boolean"!==typeof e)throw new w(t,"boolean",e)}function F(e,t,r){return null!=e&&f(e,t)?e[t]:r}const U=g(((e,t,r=null)=>{const i=F(r,"allowArray",!1),o=F(r,"allowFunction",!1),a=F(r,"nullable",!1);if(!a&&null===e||!i&&n(e)||"object"!==typeof e&&(!o||"function"!==typeof e))throw new w(t,"Object",e)})),$=g(((e,t)=>{if(null!=e&&"object"!==typeof e&&"function"!==typeof e)throw new w(t,"a dictionary",e)})),W=g(((e,t,r=0)=>{if(!n(e))throw new w(t,"Array",e);if(e.length{if(!I(e))throw new w(t,["Buffer","TypedArray","DataView"],e)}));function Y(e,t){const r=R(t),n=e.length;if("hex"===r&&n%2!==0)throw new E("encoding",t,`is invalid for data of length ${n}`)}function q(e,t="Port",r=!0){if("number"!==typeof e&&"string"!==typeof e||"string"===typeof e&&0===y(e).length||+e!==+e>>>0||e>65535||0===e&&!r)throw new _(t,e,r);return 0|e}const X=g(((e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new w(t,"AbortSignal",e)})),z=g(((e,t)=>{if("function"!==typeof e)throw new w(t,"Function",e)})),Q=g(((e,t)=>{if("function"!==typeof e||v(e))throw new w(t,"Function",e)})),Z=g(((e,t)=>{if(void 0!==e)throw new w(t,"undefined",e)}));function ee(e,t,r){if(!i(r,e))throw new w(t,`('${o(r,"|")}')`,e)}const te=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function re(e,t){if("undefined"===typeof e||!h(te,e))throw new E(t,e,'must be an array or string of format "; rel=preload; as=style"')}function ne(e){if("string"===typeof e)return re(e,"hints"),e;if(n(e)){const t=e.length;let r="";if(0===t)return r;for(let n=0;n; rel=preload; as=style"')}e.exports={isInt32:O,isUint32:C,parseFileMode:N,validateArray:W,validateStringArray:B,validateBooleanArray:G,validateAbortSignalArray:H,validateBoolean:V,validateBuffer:J,validateDictionary:$,validateEncoding:Y,validateFunction:z,validateInt32:L,validateInteger:D,validateNumber:j,validateObject:U,validateOneOf:M,validatePlainFunction:Q,validatePort:q,validateSignalName:K,validateString:k,validateUint32:P,validateUndefined:Z,validateUnion:ee,validateAbortSignal:X,validateLinkHeaderValue:ne}},31036:function(e,t,r){"use strict";const n=r(75803),i=r(18442),o=n.Readable.destroy;e.exports=n.Readable,e.exports._uint8ArrayToBuffer=n._uint8ArrayToBuffer,e.exports._isUint8Array=n._isUint8Array,e.exports.isDisturbed=n.isDisturbed,e.exports.isErrored=n.isErrored,e.exports.isReadable=n.isReadable,e.exports.Readable=n.Readable,e.exports.Writable=n.Writable,e.exports.Duplex=n.Duplex,e.exports.Transform=n.Transform,e.exports.PassThrough=n.PassThrough,e.exports.addAbortSignal=n.addAbortSignal,e.exports.finished=n.finished,e.exports.destroy=n.destroy,e.exports.destroy=o,e.exports.pipeline=n.pipeline,e.exports.compose=n.compose,Object.defineProperty(n,"promises",{configurable:!0,enumerable:!0,get(){return i}}),e.exports.Stream=n.Stream,e.exports["default"]=e.exports},65123:function(e,t,r){"use strict";const{format:n,inspect:i,AggregateError:o}=r(29654),a=globalThis.AggregateError||o,s=Symbol("kIsNodeError"),l=["string","function","number","object","Function","Object","boolean","bigint","symbol"],d=/^([A-Z][a-z0-9]*)+$/,u="__node_internal_",c={};function f(e,t){if(!e)throw new c.ERR_INTERNAL_ASSERTION(t)}function h(e){let t="",r=e.length;const n="-"===e[0]?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function p(e,t,r){if("function"===typeof t)return f(t.length<=r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`),t(...r);const i=(t.match(/%[dfijoOs]/g)||[]).length;return f(i===r.length,`Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${i}).`),0===r.length?t:n(t,...r)}function b(e,t,r){r||(r=Error);class n extends r{constructor(...r){super(p(e,t,r))}toString(){return`${this.name} [${e}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${e}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=e,n.prototype[s]=!0,c[e]=n}function y(e){const t=u+e.name;return Object.defineProperty(e,"name",{value:t}),e}function g(e,t){if(e&&t&&e!==t){if(Array.isArray(t.errors))return t.errors.push(e),t;const r=new a([t,e],t.message);return r.code=t.code,r}return e||t}class _ extends Error{constructor(e="The operation was aborted",t=void 0){if(void 0!==t&&"object"!==typeof t)throw new c.ERR_INVALID_ARG_TYPE("options","Object",t);super(e,t),this.code="ABORT_ERR",this.name="AbortError"}}b("ERR_ASSERTION","%s",Error),b("ERR_INVALID_ARG_TYPE",((e,t,r)=>{f("string"===typeof e,"'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";e.endsWith(" argument")?n+=`${e} `:n+=`"${e}" ${e.includes(".")?"property":"argument"} `,n+="must be ";const o=[],a=[],s=[];for(const i of t)f("string"===typeof i,"All expected entries have to be of type string"),l.includes(i)?o.push(i.toLowerCase()):d.test(i)?a.push(i):(f("object"!==i,'The value "object" should be written as "Object"'),s.push(i));if(a.length>0){const e=o.indexOf("object");-1!==e&&(o.splice(o,e,1),a.push("Object"))}if(o.length>0){switch(o.length){case 1:n+=`of type ${o[0]}`;break;case 2:n+=`one of type ${o[0]} or ${o[1]}`;break;default:{const e=o.pop();n+=`one of type ${o.join(", ")}, or ${e}`}}(a.length>0||s.length>0)&&(n+=" or ")}if(a.length>0){switch(a.length){case 1:n+=`an instance of ${a[0]}`;break;case 2:n+=`an instance of ${a[0]} or ${a[1]}`;break;default:{const e=a.pop();n+=`an instance of ${a.join(", ")}, or ${e}`}}s.length>0&&(n+=" or ")}switch(s.length){case 0:break;case 1:s[0].toLowerCase()!==s[0]&&(n+="an "),n+=`${s[0]}`;break;case 2:n+=`one of ${s[0]} or ${s[1]}`;break;default:{const e=s.pop();n+=`one of ${s.join(", ")}, or ${e}`}}if(null==r)n+=`. Received ${r}`;else if("function"===typeof r&&r.name)n+=`. Received function ${r.name}`;else if("object"===typeof r){var u;if(null!==(u=r.constructor)&&void 0!==u&&u.name)n+=`. Received an instance of ${r.constructor.name}`;else{const e=i(r,{depth:-1});n+=`. Received ${e}`}}else{let e=i(r,{colors:!1});e.length>25&&(e=`${e.slice(0,25)}...`),n+=`. Received type ${typeof r} (${e})`}return n}),TypeError),b("ERR_INVALID_ARG_VALUE",((e,t,r="is invalid")=>{let n=i(t);n.length>128&&(n=n.slice(0,128)+"...");const o=e.includes(".")?"property":"argument";return`The ${o} '${e}' ${r}. Received ${n}`}),TypeError),b("ERR_INVALID_RETURN_VALUE",((e,t,r)=>{var n;const i=null!==r&&void 0!==r&&null!==(n=r.constructor)&&void 0!==n&&n.name?`instance of ${r.constructor.name}`:"type "+typeof r;return`Expected ${e} to be returned from the "${t}" function but got ${i}.`}),TypeError),b("ERR_MISSING_ARGS",((...e)=>{let t;f(e.length>0,"At least one arg needs to be specified");const r=e.length;switch(e=(Array.isArray(e)?e:[e]).map((e=>`"${e}"`)).join(" or "),r){case 1:t+=`The ${e[0]} argument`;break;case 2:t+=`The ${e[0]} and ${e[1]} arguments`;break;default:{const r=e.pop();t+=`The ${e.join(", ")}, and ${r} arguments`}break}return`${t} must be specified`}),TypeError),b("ERR_OUT_OF_RANGE",((e,t,r)=>{let n;return f(t,'Missing "range" argument'),Number.isInteger(r)&&Math.abs(r)>2**32?n=h(String(r)):"bigint"===typeof r?(n=String(r),(r>2n**32n||r<-(2n**32n))&&(n=h(n)),n+="n"):n=i(r),`The value of "${e}" is out of range. It must be ${t}. Received ${n}`}),RangeError),b("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),b("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),b("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),b("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),b("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),b("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),b("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),b("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),b("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),b("ERR_STREAM_WRITE_AFTER_END","write after end",Error),b("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:_,aggregateTwoErrors:y(g),hideStackFrames:y,codes:c}},45030:function(e){"use strict";e.exports={ArrayIsArray(e){return Array.isArray(e)},ArrayPrototypeIncludes(e,t){return e.includes(t)},ArrayPrototypeIndexOf(e,t){return e.indexOf(t)},ArrayPrototypeJoin(e,t){return e.join(t)},ArrayPrototypeMap(e,t){return e.map(t)},ArrayPrototypePop(e,t){return e.pop(t)},ArrayPrototypePush(e,t){return e.push(t)},ArrayPrototypeSlice(e,t,r){return e.slice(t,r)},Error:Error,FunctionPrototypeCall(e,t,...r){return e.call(t,...r)},FunctionPrototypeSymbolHasInstance(e,t){return Function.prototype[Symbol.hasInstance].call(e,t)},MathFloor:Math.floor,Number:Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(e,t){return Object.defineProperties(e,t)},ObjectDefineProperty(e,t,r){return Object.defineProperty(e,t,r)},ObjectGetOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)},ObjectKeys(e){return Object.keys(e)},ObjectSetPrototypeOf(e,t){return Object.setPrototypeOf(e,t)},Promise:Promise,PromisePrototypeCatch(e,t){return e.catch(t)},PromisePrototypeThen(e,t,r){return e.then(t,r)},PromiseReject(e){return Promise.reject(e)},PromiseResolve(e){return Promise.resolve(e)},ReflectApply:Reflect.apply,RegExpPrototypeTest(e,t){return e.test(t)},SafeSet:Set,String:String,StringPrototypeSlice(e,t,r){return e.slice(t,r)},StringPrototypeToLowerCase(e){return e.toLowerCase()},StringPrototypeToUpperCase(e){return e.toUpperCase()},StringPrototypeTrim(e){return e.trim()},Symbol:Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(e,t,r){return e.set(t,r)},Boolean:Boolean,Uint8Array:Uint8Array}},29654:function(e,t,r){"use strict";const n=r(48764),{kResistStopPropagation:i,SymbolDispose:o}=r(45030),a=globalThis.AbortSignal||r(28599).AbortSignal,s=globalThis.AbortController||r(28599).AbortController,l=Object.getPrototypeOf((async function(){})).constructor,d=globalThis.Blob||n.Blob,u="undefined"!==typeof d?function(e){return e instanceof d}:function(e){return!1},c=(e,t)=>{if(void 0!==e&&(null===e||"object"!==typeof e||!("aborted"in e)))throw new ERR_INVALID_ARG_TYPE(t,"AbortSignal",e)},f=(e,t)=>{if("function"!==typeof e)throw new ERR_INVALID_ARG_TYPE(t,"Function",e)};class h extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError("Expected input to be an Array, got "+typeof e);let t="";for(let r=0;r{e=r,t=n}));return{promise:r,resolve:e,reject:t}},promisify(e){return new Promise(((t,r)=>{e(((e,...n)=>e?r(e):t(...n)))}))},debuglog(){return function(){}},format(e,...t){return e.replace(/%([sdifj])/g,(function(...[e,r]){const n=t.shift();if("f"===r)return n.toFixed(6);if("j"===r)return JSON.stringify(n);if("s"===r&&"object"===typeof n){const e=n.constructor!==Object?n.constructor.name:"";return`${e} {}`.trim()}return n.toString()}))},inspect(e){switch(typeof e){case"string":if(e.includes("'")){if(!e.includes('"'))return`"${e}"`;if(!e.includes("`")&&!e.includes("${"))return`\`${e}\``}return`'${e}'`;case"number":return isNaN(e)?"NaN":Object.is(e,-0)?String(e):e;case"bigint":return`${String(e)}n`;case"boolean":case"undefined":return String(e);case"object":return"{}"}},types:{isAsyncFunction(e){return e instanceof l},isArrayBufferView(e){return ArrayBuffer.isView(e)}},isBlob:u,deprecate(e,t){return e},addAbortListener:r(17187).addAbortListener||function(e,t){if(void 0===e)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);let r;return c(e,"signal"),f(t,"listener"),e.aborted?queueMicrotask((()=>t())):(e.addEventListener("abort",t,{__proto__:null,once:!0,[i]:!0}),r=()=>{e.removeEventListener("abort",t)}),{__proto__:null,[o](){var e;null===(e=r)||void 0===e||e()}}},AbortSignalAny:a.any||function(e){if(1===e.length)return e[0];const t=new s,r=()=>t.abort();return e.forEach((e=>{c(e,"signals"),e.addEventListener("abort",r,{once:!0})})),t.signal.addEventListener("abort",(()=>{e.forEach((e=>e.removeEventListener("abort",r)))}),{once:!0}),t.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")},75803:function(e,t,r){const{Buffer:n}=r(48764),{ObjectDefineProperty:i,ObjectKeys:o,ReflectApply:a}=r(45030),{promisify:{custom:s}}=r(29654),{streamReturningOperators:l,promiseReturningOperators:d}=r(56565),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=r(65123),c=r(14811),{setDefaultHighWaterMark:f,getDefaultHighWaterMark:h}=r(65128),{pipeline:p}=r(75340),{destroyer:b}=r(49648),y=r(20462),g=r(18442),_=r(18724),w=e.exports=r(48195).Stream;w.isDestroyed=_.isDestroyed,w.isDisturbed=_.isDisturbed,w.isErrored=_.isErrored,w.isReadable=_.isReadable,w.isWritable=_.isWritable,w.Readable=r(39126);for(const S of o(l)){const R=l[S];function E(...e){if(new.target)throw u();return w.Readable.from(a(R,this,e))}i(E,"name",{__proto__:null,value:R.name}),i(E,"length",{__proto__:null,value:R.length}),i(w.Readable.prototype,S,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}for(const v of o(d)){const I=d[v];function E(...e){if(new.target)throw u();return a(I,this,e)}i(E,"name",{__proto__:null,value:I.name}),i(E,"length",{__proto__:null,value:I.length}),i(w.Readable.prototype,v,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}w.Writable=r(10601),w.Duplex=r(67510),w.Transform=r(14571),w.PassThrough=r(59267),w.pipeline=p;const{addAbortSignal:m}=r(27785);w.addAbortSignal=m,w.finished=y,w.destroy=b,w.compose=c,w.setDefaultHighWaterMark=f,w.getDefaultHighWaterMark=h,i(w,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return g}}),i(p,s,{__proto__:null,enumerable:!0,get(){return g.pipeline}}),i(y,s,{__proto__:null,enumerable:!0,get(){return g.finished}}),w.Stream=w,w._isUint8Array=function(e){return e instanceof Uint8Array},w._uint8ArrayToBuffer=function(e){return n.from(e.buffer,e.byteOffset,e.byteLength)}},18442:function(e,t,r){"use strict";const{ArrayPrototypePop:n,Promise:i}=r(45030),{isIterable:o,isNodeStream:a,isWebStream:s}=r(18724),{pipelineImpl:l}=r(75340),{finished:d}=r(20462);function u(...e){return new i(((t,r)=>{let i,d;const u=e[e.length-1];if(u&&"object"===typeof u&&!a(u)&&!o(u)&&!s(u)){const t=n(e);i=t.signal,d=t.end}l(e,((e,n)=>{e?r(e):t(n)}),{signal:i,end:d})}))}r(75803),e.exports={finished:d,pipeline:u}},41640:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(7970),t),i(r(37498),t),i(r(16381),t),i(r(72808),t),i(r(92016),t),i(r(63387),t),i(r(71573),t)},7970:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlankNode=void 0;class r{constructor(e){this.termType="BlankNode",this.value=e}equals(e){return!!e&&"BlankNode"===e.termType&&e.value===this.value}}t.BlankNode=r},37498:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataFactory=void 0;const n=r(7970),i=r(16381),o=r(72808),a=r(92016),s=r(63387),l=r(71573);let d=0;class u{constructor(e){this.blankNodeCounter=0,e=e||{},this.blankNodePrefix=e.blankNodePrefix||`df_${d++}_`}namedNode(e){return new a.NamedNode(e)}blankNode(e){return new n.BlankNode(e||`${this.blankNodePrefix}${this.blankNodeCounter++}`)}literal(e,t){return new o.Literal(e,t)}variable(e){return new l.Variable(e)}defaultGraph(){return i.DefaultGraph.INSTANCE}quad(e,t,r,n){return new s.Quad(e,t,r,n||this.defaultGraph())}fromTerm(e){switch(e.termType){case"NamedNode":return this.namedNode(e.value);case"BlankNode":return this.blankNode(e.value);case"Literal":return e.language?this.literal(e.value,e.language):e.datatype.equals(o.Literal.XSD_STRING)?this.literal(e.value):this.literal(e.value,this.fromTerm(e.datatype));case"Variable":return this.variable(e.value);case"DefaultGraph":return this.defaultGraph();case"Quad":return this.quad(this.fromTerm(e.subject),this.fromTerm(e.predicate),this.fromTerm(e.object),this.fromTerm(e.graph))}}fromQuad(e){return this.fromTerm(e)}resetBlankNodeCounter(){this.blankNodeCounter=0}}t.DataFactory=u},16381:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultGraph=void 0;class r{constructor(){this.termType="DefaultGraph",this.value=""}equals(e){return!!e&&"DefaultGraph"===e.termType}}t.DefaultGraph=r,r.INSTANCE=new r},72808:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Literal=void 0;const n=r(92016);class i{constructor(e,t){this.termType="Literal",this.value=e,"string"===typeof t?(this.language=t,this.datatype=i.RDF_LANGUAGE_STRING):t?(this.language="",this.datatype=t):(this.language="",this.datatype=i.XSD_STRING)}equals(e){return!!e&&"Literal"===e.termType&&e.value===this.value&&e.language===this.language&&e.datatype.equals(this.datatype)}}t.Literal=i,i.RDF_LANGUAGE_STRING=new n.NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"),i.XSD_STRING=new n.NamedNode("http://www.w3.org/2001/XMLSchema#string")},92016:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NamedNode=void 0;class r{constructor(e){this.termType="NamedNode",this.value=e}equals(e){return!!e&&"NamedNode"===e.termType&&e.value===this.value}}t.NamedNode=r},63387:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Quad=void 0;class r{constructor(e,t,r,n){this.termType="Quad",this.value="",this.subject=e,this.predicate=t,this.object=r,this.graph=n}equals(e){return!!e&&("Quad"===e.termType||!e.termType)&&this.subject.equals(e.subject)&&this.predicate.equals(e.predicate)&&this.object.equals(e.object)&&this.graph.equals(e.graph)}}t.Quad=r},71573:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0;class r{constructor(e){this.termType="Variable",this.value=e}equals(e){return!!e&&"Variable"===e.termType&&e.value===this.value}}t.Variable=r},68912:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(9336),t)},9336:function(e,t){"use strict";function r(e,t){t=t||"";const r=t.indexOf("#");if(r>0&&(t=t.substr(0,r)),!e.length){if(t.indexOf(":")<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);return t}if(e.startsWith("?")){const r=t.indexOf("?");return r>0&&(t=t.substr(0,r)),t+e}if(e.startsWith("#"))return t+e;if(!t.length){const t=e.indexOf(":");if(t<0)throw new Error(`Found invalid relative IRI '${e}' for a missing baseIRI`);return i(e,t)}const o=e.indexOf(":");if(o>=0)return i(e,o);const a=t.indexOf(":");if(a<0)throw new Error(`Found invalid baseIRI '${t}' for value '${e}'`);const s=t.substr(0,a+1);if(0===e.indexOf("//"))return s+i(e,o);let l;if(t.indexOf("//",a)===a+1){if(l=t.indexOf("/",a+3),l<0)return t.length>a+3?t+"/"+i(e,o):s+i(e,o)}else if(l=t.indexOf("/",a+1),l<0)return s+i(e,o);if(0===e.indexOf("/"))return t.substr(0,l)+n(e);let d=t.substr(l);const u=d.lastIndexOf("/");return u>=0&&ue.join(""))).join("/")}function i(e,t){let r=t+1;t>=0?"/"===e[t+1]&&"/"===e[t+2]&&(r=t+3):"/"===e[0]&&"/"===e[1]&&(r=2);const i=e.indexOf("/",r);if(i<0)return e;const o=e.substr(0,i),a=e.substr(i);return o+n(a)}function o(e){return!e||"#"===e||"?"===e||"/"===e}Object.defineProperty(t,"__esModule",{value:!0}),t.removeDotSegmentsOfPath=t.removeDotSegments=t.resolve=void 0,t.resolve=r,t.removeDotSegments=n,t.removeDotSegmentsOfPath=i},24042:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return p}});var n=r(90540),i=r(50505),o=r(54350),a=r(95758),s=r(45024);const l="null:";function d(e){return t=>"NamedNode"!==t.termType?null:t.value.startsWith(l)?e.namedNode(t.value.slice(l.length)):null}function u(e){const t=d(e);return r=>{const n=t(r.subject),i=t(r.predicate),o=t(r.object),a=t(r.graph);return n||i||o||a?e.quad(n||r.subject,i||r.predicate,o||r.object,a||r.graph):r}}class c{constructor(e,{baseIRI:t=l,context:r=null,documentLoader:n,factory:d=i.Z}={}){const c=new a.JsonLdParser({baseIRI:t,context:r,dataFactory:d,documentLoader:n,streamingProfile:!1});e.pipe(c);const f=u(d),h=new s.Transform({objectMode:!0,transform:(e,t,r)=>{r(null,f(e))}});return c.on("context",(e=>{Object.entries(e).forEach((([e,t])=>{h.emit("prefix",e,d.namedNode(t))}))})),c.on("error",(e=>h.destroy(e))),c.pipe(h),(0,o.Z)(h)}}var f=c;class h extends n.Z{constructor(e){super(f,e)}}var p=h}}]);
+//# sourceMappingURL=42.17774fbd.js.map
\ No newline at end of file
diff --git a/js/42.17774fbd.js.map b/js/42.17774fbd.js.map
new file mode 100644
index 0000000..2454d18
--- /dev/null
+++ b/js/42.17774fbd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"js/42.17774fbd.js","mappings":"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","sources":["webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/from.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/internal/validators.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/ours/browser.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/ours/errors.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/ours/primordials.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/ours/util.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/stream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/node_modules/readable-stream/lib/stream/promises.js","webpack://@zazuko/spex/./node_modules/canonicalize/lib/canonicalize.js","webpack://@zazuko/spex/./node_modules/cross-fetch/dist/browser-polyfill.js","webpack://@zazuko/spex/./node_modules/http-link-header/lib/link.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/index.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/ContextParser.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/ErrorCoded.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/FetchDocumentLoader.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/IDocumentLoader.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/JsonLdContext.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/JsonLdContextNormalized.js","webpack://@zazuko/spex/./node_modules/jsonld-context-parser/lib/Util.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/index.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/ContextTree.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/JsonLdParser.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/ParsingContext.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/Util.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIdentifier.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerIndex.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerLanguage.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/containerhandler/ContainerHandlerType.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerArrayValue.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerContainer.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerInvalidFallback.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/EntryHandlerPredicate.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeyword.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordAnnotation.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordContext.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordGraph.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordId.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordIncluded.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordNest.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordType.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordUnknownFallback.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/lib/entryhandler/keyword/EntryHandlerKeywordValue.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/compose.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/duplex.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/duplexify.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/from.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/legacy.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/operators.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/passthrough.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/readable.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/state.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/transform.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/utils.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/streams/writable.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/internal/validators.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/ours/browser.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/ours/errors.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/ours/primordials.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/ours/util.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/stream.js","webpack://@zazuko/spex/./node_modules/jsonld-streaming-parser/node_modules/readable-stream/lib/stream/promises.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/index.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/BlankNode.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/DataFactory.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/DefaultGraph.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/Literal.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/NamedNode.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/Quad.js","webpack://@zazuko/spex/./node_modules/rdf-data-factory/lib/Variable.js","webpack://@zazuko/spex/./node_modules/relative-to-absolute-iri/index.js","webpack://@zazuko/spex/./node_modules/relative-to-absolute-iri/lib/Resolve.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/lib/ParserStream.js","webpack://@zazuko/spex/./node_modules/@rdfjs/parser-jsonld/index.js"],"sourcesContent":["'use strict'\n\nconst { SymbolDispose } = require('../../ours/primordials')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { isNodeStream, isWebStream, kControllerErrorFunction } = require('./utils')\nconst eos = require('./end-of-stream')\nconst { ERR_INVALID_ARG_TYPE } = codes\nlet addAbortListener\n\n// This method is inlined here for readable-stream\n// It also does not allow for signal to not exist on the stream\n// https://github.com/nodejs/node/pull/36061#discussion_r533718029\nconst validateAbortSignal = (signal, name) => {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nmodule.exports.addAbortSignal = function addAbortSignal(signal, stream) {\n validateAbortSignal(signal, 'signal')\n if (!isNodeStream(stream) && !isWebStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n return module.exports.addAbortSignalNoValidate(signal, stream)\n}\nmodule.exports.addAbortSignalNoValidate = function (signal, stream) {\n if (typeof signal !== 'object' || !('aborted' in signal)) {\n return stream\n }\n const onAbort = isNodeStream(stream)\n ? () => {\n stream.destroy(\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n : () => {\n stream[kControllerErrorFunction](\n new AbortError(undefined, {\n cause: signal.reason\n })\n )\n }\n if (signal.aborted) {\n onAbort()\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(signal, onAbort)\n eos(stream, disposable[SymbolDispose])\n }\n return stream\n}\n","'use strict'\n\nconst { StringPrototypeSlice, SymbolIterator, TypedArrayPrototypeSet, Uint8Array } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { inspect } = require('../../ours/util')\nmodule.exports = class BufferList {\n constructor() {\n this.head = null\n this.tail = null\n this.length = 0\n }\n push(v) {\n const entry = {\n data: v,\n next: null\n }\n if (this.length > 0) this.tail.next = entry\n else this.head = entry\n this.tail = entry\n ++this.length\n }\n unshift(v) {\n const entry = {\n data: v,\n next: this.head\n }\n if (this.length === 0) this.tail = entry\n this.head = entry\n ++this.length\n }\n shift() {\n if (this.length === 0) return\n const ret = this.head.data\n if (this.length === 1) this.head = this.tail = null\n else this.head = this.head.next\n --this.length\n return ret\n }\n clear() {\n this.head = this.tail = null\n this.length = 0\n }\n join(s) {\n if (this.length === 0) return ''\n let p = this.head\n let ret = '' + p.data\n while ((p = p.next) !== null) ret += s + p.data\n return ret\n }\n concat(n) {\n if (this.length === 0) return Buffer.alloc(0)\n const ret = Buffer.allocUnsafe(n >>> 0)\n let p = this.head\n let i = 0\n while (p) {\n TypedArrayPrototypeSet(ret, p.data, i)\n i += p.data.length\n p = p.next\n }\n return ret\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n consume(n, hasStrings) {\n const data = this.head.data\n if (n < data.length) {\n // `slice` is the same for buffers and strings.\n const slice = data.slice(0, n)\n this.head.data = data.slice(n)\n return slice\n }\n if (n === data.length) {\n // First chunk is a perfect match.\n return this.shift()\n }\n // Result spans more than one buffer.\n return hasStrings ? this._getString(n) : this._getBuffer(n)\n }\n first() {\n return this.head.data\n }\n *[SymbolIterator]() {\n for (let p = this.head; p; p = p.next) {\n yield p.data\n }\n }\n\n // Consumes a specified amount of characters from the buffered data.\n _getString(n) {\n let ret = ''\n let p = this.head\n let c = 0\n do {\n const str = p.data\n if (n > str.length) {\n ret += str\n n -= str.length\n } else {\n if (n === str.length) {\n ret += str\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n ret += StringPrototypeSlice(str, 0, n)\n this.head = p\n p.data = StringPrototypeSlice(str, n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n _getBuffer(n) {\n const ret = Buffer.allocUnsafe(n)\n const retLen = n\n let p = this.head\n let c = 0\n do {\n const buf = p.data\n if (n > buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n n -= buf.length\n } else {\n if (n === buf.length) {\n TypedArrayPrototypeSet(ret, buf, retLen - n)\n ++c\n if (p.next) this.head = p.next\n else this.head = this.tail = null\n } else {\n TypedArrayPrototypeSet(ret, new Uint8Array(buf.buffer, buf.byteOffset, n), retLen - n)\n this.head = p\n p.data = buf.slice(n)\n }\n break\n }\n ++c\n } while ((p = p.next) !== null)\n this.length -= c\n return ret\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n [Symbol.for('nodejs.util.inspect.custom')](_, options) {\n return inspect(this, {\n ...options,\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n })\n }\n}\n","'use strict'\n\nconst { pipeline } = require('./pipeline')\nconst Duplex = require('./duplex')\nconst { destroyer } = require('./destroy')\nconst {\n isNodeStream,\n isReadable,\n isWritable,\n isWebStream,\n isTransformStream,\n isWritableStream,\n isReadableStream\n} = require('./utils')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_VALUE, ERR_MISSING_ARGS }\n} = require('../../ours/errors')\nconst eos = require('./end-of-stream')\nmodule.exports = function compose(...streams) {\n if (streams.length === 0) {\n throw new ERR_MISSING_ARGS('streams')\n }\n if (streams.length === 1) {\n return Duplex.from(streams[0])\n }\n const orgStreams = [...streams]\n if (typeof streams[0] === 'function') {\n streams[0] = Duplex.from(streams[0])\n }\n if (typeof streams[streams.length - 1] === 'function') {\n const idx = streams.length - 1\n streams[idx] = Duplex.from(streams[idx])\n }\n for (let n = 0; n < streams.length; ++n) {\n if (!isNodeStream(streams[n]) && !isWebStream(streams[n])) {\n // TODO(ronag): Add checks for non streams.\n continue\n }\n if (\n n < streams.length - 1 &&\n !(isReadable(streams[n]) || isReadableStream(streams[n]) || isTransformStream(streams[n]))\n ) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be readable')\n }\n if (n > 0 && !(isWritable(streams[n]) || isWritableStream(streams[n]) || isTransformStream(streams[n]))) {\n throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`, orgStreams[n], 'must be writable')\n }\n }\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n } else if (!readable && !writable) {\n d.destroy()\n }\n }\n const head = streams[0]\n const tail = pipeline(streams, onfinished)\n const writable = !!(isWritable(head) || isWritableStream(head) || isTransformStream(head))\n const readable = !!(isReadable(tail) || isReadableStream(tail) || isTransformStream(tail))\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplex({\n // TODO (ronag): highWaterMark?\n writableObjectMode: !!(head !== null && head !== undefined && head.writableObjectMode),\n readableObjectMode: !!(tail !== null && tail !== undefined && tail.readableObjectMode),\n writable,\n readable\n })\n if (writable) {\n if (isNodeStream(head)) {\n d._write = function (chunk, encoding, callback) {\n if (head.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n head.end()\n onfinish = callback\n }\n head.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n } else if (isWebStream(head)) {\n const writable = isTransformStream(head) ? head.writable : head\n const writer = writable.getWriter()\n d._write = async function (chunk, encoding, callback) {\n try {\n await writer.ready\n writer.write(chunk).catch(() => {})\n callback()\n } catch (err) {\n callback(err)\n }\n }\n d._final = async function (callback) {\n try {\n await writer.ready\n writer.close().catch(() => {})\n onfinish = callback\n } catch (err) {\n callback(err)\n }\n }\n }\n const toRead = isTransformStream(tail) ? tail.readable : tail\n eos(toRead, () => {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n if (isNodeStream(tail)) {\n tail.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n tail.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = tail.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n } else if (isWebStream(tail)) {\n const readable = isTransformStream(tail) ? tail.readable : tail\n const reader = readable.getReader()\n d._read = async function () {\n while (true) {\n try {\n const { value, done } = await reader.read()\n if (!d.push(value)) {\n return\n }\n if (done) {\n d.push(null)\n return\n }\n } catch {\n return\n }\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n if (isNodeStream(tail)) {\n destroyer(tail, err)\n }\n }\n }\n return d\n}\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst {\n aggregateTwoErrors,\n codes: { ERR_MULTIPLE_CALLBACK },\n AbortError\n} = require('../../ours/errors')\nconst { Symbol } = require('../../ours/primordials')\nconst { kIsDestroyed, isDestroyed, isFinished, isServerRequest } = require('./utils')\nconst kDestroy = Symbol('kDestroy')\nconst kConstruct = Symbol('kConstruct')\nfunction checkError(err, w, r) {\n if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n }\n}\n\n// Backwards compat. cb() is undocumented and unused in core but\n// unfortunately might be used by modules.\nfunction destroy(err, cb) {\n const r = this._readableState\n const w = this._writableState\n // With duplex streams we use the writable side for state.\n const s = w || r\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n if (typeof cb === 'function') {\n cb()\n }\n return this\n }\n\n // We set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n checkError(err, w, r)\n if (w) {\n w.destroyed = true\n }\n if (r) {\n r.destroyed = true\n }\n\n // If still constructing then defer calling _destroy.\n if (!s.constructed) {\n this.once(kDestroy, function (er) {\n _destroy(this, aggregateTwoErrors(er, err), cb)\n })\n } else {\n _destroy(this, err, cb)\n }\n return this\n}\nfunction _destroy(self, err, cb) {\n let called = false\n function onDestroy(err) {\n if (called) {\n return\n }\n called = true\n const r = self._readableState\n const w = self._writableState\n checkError(err, w, r)\n if (w) {\n w.closed = true\n }\n if (r) {\n r.closed = true\n }\n if (typeof cb === 'function') {\n cb(err)\n }\n if (err) {\n process.nextTick(emitErrorCloseNT, self, err)\n } else {\n process.nextTick(emitCloseNT, self)\n }\n }\n try {\n self._destroy(err || null, onDestroy)\n } catch (err) {\n onDestroy(err)\n }\n}\nfunction emitErrorCloseNT(self, err) {\n emitErrorNT(self, err)\n emitCloseNT(self)\n}\nfunction emitCloseNT(self) {\n const r = self._readableState\n const w = self._writableState\n if (w) {\n w.closeEmitted = true\n }\n if (r) {\n r.closeEmitted = true\n }\n if ((w !== null && w !== undefined && w.emitClose) || (r !== null && r !== undefined && r.emitClose)) {\n self.emit('close')\n }\n}\nfunction emitErrorNT(self, err) {\n const r = self._readableState\n const w = self._writableState\n if ((w !== null && w !== undefined && w.errorEmitted) || (r !== null && r !== undefined && r.errorEmitted)) {\n return\n }\n if (w) {\n w.errorEmitted = true\n }\n if (r) {\n r.errorEmitted = true\n }\n self.emit('error', err)\n}\nfunction undestroy() {\n const r = this._readableState\n const w = this._writableState\n if (r) {\n r.constructed = true\n r.closed = false\n r.closeEmitted = false\n r.destroyed = false\n r.errored = null\n r.errorEmitted = false\n r.reading = false\n r.ended = r.readable === false\n r.endEmitted = r.readable === false\n }\n if (w) {\n w.constructed = true\n w.destroyed = false\n w.closed = false\n w.closeEmitted = false\n w.errored = null\n w.errorEmitted = false\n w.finalCalled = false\n w.prefinished = false\n w.ended = w.writable === false\n w.ending = w.writable === false\n w.finished = w.writable === false\n }\n}\nfunction errorOrDestroy(stream, err, sync) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n const r = stream._readableState\n const w = stream._writableState\n if ((w !== null && w !== undefined && w.destroyed) || (r !== null && r !== undefined && r.destroyed)) {\n return this\n }\n if ((r !== null && r !== undefined && r.autoDestroy) || (w !== null && w !== undefined && w.autoDestroy))\n stream.destroy(err)\n else if (err) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n err.stack // eslint-disable-line no-unused-expressions\n\n if (w && !w.errored) {\n w.errored = err\n }\n if (r && !r.errored) {\n r.errored = err\n }\n if (sync) {\n process.nextTick(emitErrorNT, stream, err)\n } else {\n emitErrorNT(stream, err)\n }\n }\n}\nfunction construct(stream, cb) {\n if (typeof stream._construct !== 'function') {\n return\n }\n const r = stream._readableState\n const w = stream._writableState\n if (r) {\n r.constructed = false\n }\n if (w) {\n w.constructed = false\n }\n stream.once(kConstruct, cb)\n if (stream.listenerCount(kConstruct) > 1) {\n // Duplex\n return\n }\n process.nextTick(constructNT, stream)\n}\nfunction constructNT(stream) {\n let called = false\n function onConstruct(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : new ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n const r = stream._readableState\n const w = stream._writableState\n const s = w || r\n if (r) {\n r.constructed = true\n }\n if (w) {\n w.constructed = true\n }\n if (s.destroyed) {\n stream.emit(kDestroy, err)\n } else if (err) {\n errorOrDestroy(stream, err, true)\n } else {\n process.nextTick(emitConstructNT, stream)\n }\n }\n try {\n stream._construct((err) => {\n process.nextTick(onConstruct, err)\n })\n } catch (err) {\n process.nextTick(onConstruct, err)\n }\n}\nfunction emitConstructNT(stream) {\n stream.emit(kConstruct)\n}\nfunction isRequest(stream) {\n return (stream === null || stream === undefined ? undefined : stream.setHeader) && typeof stream.abort === 'function'\n}\nfunction emitCloseLegacy(stream) {\n stream.emit('close')\n}\nfunction emitErrorCloseLegacy(stream, err) {\n stream.emit('error', err)\n process.nextTick(emitCloseLegacy, stream)\n}\n\n// Normalize destroy for legacy.\nfunction destroyer(stream, err) {\n if (!stream || isDestroyed(stream)) {\n return\n }\n if (!err && !isFinished(stream)) {\n err = new AbortError()\n }\n\n // TODO: Remove isRequest branches.\n if (isServerRequest(stream)) {\n stream.socket = null\n stream.destroy(err)\n } else if (isRequest(stream)) {\n stream.abort()\n } else if (isRequest(stream.req)) {\n stream.req.abort()\n } else if (typeof stream.destroy === 'function') {\n stream.destroy(err)\n } else if (typeof stream.close === 'function') {\n // TODO: Don't lose err?\n stream.close()\n } else if (err) {\n process.nextTick(emitErrorCloseLegacy, stream, err)\n } else {\n process.nextTick(emitCloseLegacy, stream)\n }\n if (!stream.destroyed) {\n stream[kIsDestroyed] = true\n }\n}\nmodule.exports = {\n construct,\n destroyer,\n destroy,\n undestroy,\n errorOrDestroy\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototype inheritance, this class\n// prototypically inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict'\n\nconst {\n ObjectDefineProperties,\n ObjectGetOwnPropertyDescriptor,\n ObjectKeys,\n ObjectSetPrototypeOf\n} = require('../../ours/primordials')\nmodule.exports = Duplex\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nObjectSetPrototypeOf(Duplex.prototype, Readable.prototype)\nObjectSetPrototypeOf(Duplex, Readable)\n{\n const keys = ObjectKeys(Writable.prototype)\n // Allow the keys array to be GC'ed.\n for (let i = 0; i < keys.length; i++) {\n const method = keys[i]\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options)\n Readable.call(this, options)\n Writable.call(this, options)\n if (options) {\n this.allowHalfOpen = options.allowHalfOpen !== false\n if (options.readable === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if (options.writable === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n } else {\n this.allowHalfOpen = true\n }\n}\nObjectDefineProperties(Duplex.prototype, {\n writable: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writable')\n },\n writableHighWaterMark: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableHighWaterMark')\n },\n writableObjectMode: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableObjectMode')\n },\n writableBuffer: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableBuffer')\n },\n writableLength: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableLength')\n },\n writableFinished: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableFinished')\n },\n writableCorked: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableCorked')\n },\n writableEnded: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableEnded')\n },\n writableNeedDrain: {\n __proto__: null,\n ...ObjectGetOwnPropertyDescriptor(Writable.prototype, 'writableNeedDrain')\n },\n destroyed: {\n __proto__: null,\n get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false\n }\n return this._readableState.destroyed && this._writableState.destroyed\n },\n set(value) {\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n if (this._readableState && this._writableState) {\n this._readableState.destroyed = value\n this._writableState.destroyed = value\n }\n }\n }\n})\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nDuplex.fromWeb = function (pair, options) {\n return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair, options)\n}\nDuplex.toWeb = function (duplex) {\n return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)\n}\nlet duplexify\nDuplex.from = function (body) {\n if (!duplexify) {\n duplexify = require('./duplexify')\n }\n return duplexify(body, 'body')\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\n;('use strict')\nconst bufferModule = require('buffer')\nconst {\n isReadable,\n isWritable,\n isIterable,\n isNodeStream,\n isReadableNodeStream,\n isWritableNodeStream,\n isDuplexNodeStream,\n isReadableStream,\n isWritableStream\n} = require('./utils')\nconst eos = require('./end-of-stream')\nconst {\n AbortError,\n codes: { ERR_INVALID_ARG_TYPE, ERR_INVALID_RETURN_VALUE }\n} = require('../../ours/errors')\nconst { destroyer } = require('./destroy')\nconst Duplex = require('./duplex')\nconst Readable = require('./readable')\nconst Writable = require('./writable')\nconst { createDeferredPromise } = require('../../ours/util')\nconst from = require('./from')\nconst Blob = globalThis.Blob || bufferModule.Blob\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst { FunctionPrototypeCall } = require('../../ours/primordials')\n\n// This is needed for pre node 17.\nclass Duplexify extends Duplex {\n constructor(options) {\n super(options)\n\n // https://github.com/nodejs/node/pull/34385\n\n if ((options === null || options === undefined ? undefined : options.readable) === false) {\n this._readableState.readable = false\n this._readableState.ended = true\n this._readableState.endEmitted = true\n }\n if ((options === null || options === undefined ? undefined : options.writable) === false) {\n this._writableState.writable = false\n this._writableState.ending = true\n this._writableState.ended = true\n this._writableState.finished = true\n }\n }\n}\nmodule.exports = function duplexify(body, name) {\n if (isDuplexNodeStream(body)) {\n return body\n }\n if (isReadableNodeStream(body)) {\n return _duplexify({\n readable: body\n })\n }\n if (isWritableNodeStream(body)) {\n return _duplexify({\n writable: body\n })\n }\n if (isNodeStream(body)) {\n return _duplexify({\n writable: false,\n readable: false\n })\n }\n if (isReadableStream(body)) {\n return _duplexify({\n readable: Readable.fromWeb(body)\n })\n }\n if (isWritableStream(body)) {\n return _duplexify({\n writable: Writable.fromWeb(body)\n })\n }\n if (typeof body === 'function') {\n const { value, write, final, destroy } = fromAsyncGen(body)\n if (isIterable(value)) {\n return from(Duplexify, value, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n write,\n final,\n destroy\n })\n }\n const then = value === null || value === undefined ? undefined : value.then\n if (typeof then === 'function') {\n let d\n const promise = FunctionPrototypeCall(\n then,\n value,\n (val) => {\n if (val != null) {\n throw new ERR_INVALID_RETURN_VALUE('nully', 'body', val)\n }\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n // TODO (ronag): highWaterMark?\n objectMode: true,\n readable: false,\n write,\n final(cb) {\n final(async () => {\n try {\n await promise\n process.nextTick(cb, null)\n } catch (err) {\n process.nextTick(cb, err)\n }\n })\n },\n destroy\n }))\n }\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or AsyncFunction', name, value)\n }\n if (isBlob(body)) {\n return duplexify(body.arrayBuffer())\n }\n if (isIterable(body)) {\n return from(Duplexify, body, {\n // TODO (ronag): highWaterMark?\n objectMode: true,\n writable: false\n })\n }\n if (\n isReadableStream(body === null || body === undefined ? undefined : body.readable) &&\n isWritableStream(body === null || body === undefined ? undefined : body.writable)\n ) {\n return Duplexify.fromWeb(body)\n }\n if (\n typeof (body === null || body === undefined ? undefined : body.writable) === 'object' ||\n typeof (body === null || body === undefined ? undefined : body.readable) === 'object'\n ) {\n const readable =\n body !== null && body !== undefined && body.readable\n ? isReadableNodeStream(body === null || body === undefined ? undefined : body.readable)\n ? body === null || body === undefined\n ? undefined\n : body.readable\n : duplexify(body.readable)\n : undefined\n const writable =\n body !== null && body !== undefined && body.writable\n ? isWritableNodeStream(body === null || body === undefined ? undefined : body.writable)\n ? body === null || body === undefined\n ? undefined\n : body.writable\n : duplexify(body.writable)\n : undefined\n return _duplexify({\n readable,\n writable\n })\n }\n const then = body === null || body === undefined ? undefined : body.then\n if (typeof then === 'function') {\n let d\n FunctionPrototypeCall(\n then,\n body,\n (val) => {\n if (val != null) {\n d.push(val)\n }\n d.push(null)\n },\n (err) => {\n destroyer(d, err)\n }\n )\n return (d = new Duplexify({\n objectMode: true,\n writable: false,\n read() {}\n }))\n }\n throw new ERR_INVALID_ARG_TYPE(\n name,\n [\n 'Blob',\n 'ReadableStream',\n 'WritableStream',\n 'Stream',\n 'Iterable',\n 'AsyncIterable',\n 'Function',\n '{ readable, writable } pair',\n 'Promise'\n ],\n body\n )\n}\nfunction fromAsyncGen(fn) {\n let { promise, resolve } = createDeferredPromise()\n const ac = new AbortController()\n const signal = ac.signal\n const value = fn(\n (async function* () {\n while (true) {\n const _promise = promise\n promise = null\n const { chunk, done, cb } = await _promise\n process.nextTick(cb)\n if (done) return\n if (signal.aborted)\n throw new AbortError(undefined, {\n cause: signal.reason\n })\n ;({ promise, resolve } = createDeferredPromise())\n yield chunk\n }\n })(),\n {\n signal\n }\n )\n return {\n value,\n write(chunk, encoding, cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n chunk,\n done: false,\n cb\n })\n },\n final(cb) {\n const _resolve = resolve\n resolve = null\n _resolve({\n done: true,\n cb\n })\n },\n destroy(err, cb) {\n ac.abort()\n cb(err)\n }\n }\n}\nfunction _duplexify(pair) {\n const r = pair.readable && typeof pair.readable.read !== 'function' ? Readable.wrap(pair.readable) : pair.readable\n const w = pair.writable\n let readable = !!isReadable(r)\n let writable = !!isWritable(w)\n let ondrain\n let onfinish\n let onreadable\n let onclose\n let d\n function onfinished(err) {\n const cb = onclose\n onclose = null\n if (cb) {\n cb(err)\n } else if (err) {\n d.destroy(err)\n }\n }\n\n // TODO(ronag): Avoid double buffering.\n // Implement Writable/Readable/Duplex traits.\n // See, https://github.com/nodejs/node/pull/33515.\n d = new Duplexify({\n // TODO (ronag): highWaterMark?\n readableObjectMode: !!(r !== null && r !== undefined && r.readableObjectMode),\n writableObjectMode: !!(w !== null && w !== undefined && w.writableObjectMode),\n readable,\n writable\n })\n if (writable) {\n eos(w, (err) => {\n writable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n d._write = function (chunk, encoding, callback) {\n if (w.write(chunk, encoding)) {\n callback()\n } else {\n ondrain = callback\n }\n }\n d._final = function (callback) {\n w.end()\n onfinish = callback\n }\n w.on('drain', function () {\n if (ondrain) {\n const cb = ondrain\n ondrain = null\n cb()\n }\n })\n w.on('finish', function () {\n if (onfinish) {\n const cb = onfinish\n onfinish = null\n cb()\n }\n })\n }\n if (readable) {\n eos(r, (err) => {\n readable = false\n if (err) {\n destroyer(r, err)\n }\n onfinished(err)\n })\n r.on('readable', function () {\n if (onreadable) {\n const cb = onreadable\n onreadable = null\n cb()\n }\n })\n r.on('end', function () {\n d.push(null)\n })\n d._read = function () {\n while (true) {\n const buf = r.read()\n if (buf === null) {\n onreadable = d._read\n return\n }\n if (!d.push(buf)) {\n return\n }\n }\n }\n }\n d._destroy = function (err, callback) {\n if (!err && onclose !== null) {\n err = new AbortError()\n }\n onreadable = null\n ondrain = null\n onfinish = null\n if (onclose === null) {\n callback(err)\n } else {\n onclose = callback\n destroyer(w, err)\n destroyer(r, err)\n }\n }\n return d\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { AbortError, codes } = require('../../ours/errors')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_PREMATURE_CLOSE } = codes\nconst { kEmptyObject, once } = require('../../ours/util')\nconst { validateAbortSignal, validateFunction, validateObject, validateBoolean } = require('../validators')\nconst { Promise, PromisePrototypeThen, SymbolDispose } = require('../../ours/primordials')\nconst {\n isClosed,\n isReadable,\n isReadableNodeStream,\n isReadableStream,\n isReadableFinished,\n isReadableErrored,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableFinished,\n isWritableErrored,\n isNodeStream,\n willEmitClose: _willEmitClose,\n kIsClosedPromise\n} = require('./utils')\nlet addAbortListener\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function'\n}\nconst nop = () => {}\nfunction eos(stream, options, callback) {\n var _options$readable, _options$writable\n if (arguments.length === 2) {\n callback = options\n options = kEmptyObject\n } else if (options == null) {\n options = kEmptyObject\n } else {\n validateObject(options, 'options')\n }\n validateFunction(callback, 'callback')\n validateAbortSignal(options.signal, 'options.signal')\n callback = once(callback)\n if (isReadableStream(stream) || isWritableStream(stream)) {\n return eosWeb(stream, options, callback)\n }\n if (!isNodeStream(stream)) {\n throw new ERR_INVALID_ARG_TYPE('stream', ['ReadableStream', 'WritableStream', 'Stream'], stream)\n }\n const readable =\n (_options$readable = options.readable) !== null && _options$readable !== undefined\n ? _options$readable\n : isReadableNodeStream(stream)\n const writable =\n (_options$writable = options.writable) !== null && _options$writable !== undefined\n ? _options$writable\n : isWritableNodeStream(stream)\n const wState = stream._writableState\n const rState = stream._readableState\n const onlegacyfinish = () => {\n if (!stream.writable) {\n onfinish()\n }\n }\n\n // TODO (ronag): Improve soft detection to include core modules and\n // common ecosystem modules that do properly emit 'close' but fail\n // this generic check.\n let willEmitClose =\n _willEmitClose(stream) && isReadableNodeStream(stream) === readable && isWritableNodeStream(stream) === writable\n let writableFinished = isWritableFinished(stream, false)\n const onfinish = () => {\n writableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.readable || readable)) {\n return\n }\n if (!readable || readableFinished) {\n callback.call(stream)\n }\n }\n let readableFinished = isReadableFinished(stream, false)\n const onend = () => {\n readableFinished = true\n // Stream should not be destroyed here. If it is that\n // means that user space is doing something differently and\n // we cannot trust willEmitClose.\n if (stream.destroyed) {\n willEmitClose = false\n }\n if (willEmitClose && (!stream.writable || writable)) {\n return\n }\n if (!writable || writableFinished) {\n callback.call(stream)\n }\n }\n const onerror = (err) => {\n callback.call(stream, err)\n }\n let closed = isClosed(stream)\n const onclose = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n if (readable && !readableFinished && isReadableNodeStream(stream, true)) {\n if (!isReadableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n if (writable && !writableFinished) {\n if (!isWritableFinished(stream, false)) return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE())\n }\n callback.call(stream)\n }\n const onclosed = () => {\n closed = true\n const errored = isWritableErrored(stream) || isReadableErrored(stream)\n if (errored && typeof errored !== 'boolean') {\n return callback.call(stream, errored)\n }\n callback.call(stream)\n }\n const onrequest = () => {\n stream.req.on('finish', onfinish)\n }\n if (isRequest(stream)) {\n stream.on('complete', onfinish)\n if (!willEmitClose) {\n stream.on('abort', onclose)\n }\n if (stream.req) {\n onrequest()\n } else {\n stream.on('request', onrequest)\n }\n } else if (writable && !wState) {\n // legacy streams\n stream.on('end', onlegacyfinish)\n stream.on('close', onlegacyfinish)\n }\n\n // Not all streams will emit 'close' after 'aborted'.\n if (!willEmitClose && typeof stream.aborted === 'boolean') {\n stream.on('aborted', onclose)\n }\n stream.on('end', onend)\n stream.on('finish', onfinish)\n if (options.error !== false) {\n stream.on('error', onerror)\n }\n stream.on('close', onclose)\n if (closed) {\n process.nextTick(onclose)\n } else if (\n (wState !== null && wState !== undefined && wState.errorEmitted) ||\n (rState !== null && rState !== undefined && rState.errorEmitted)\n ) {\n if (!willEmitClose) {\n process.nextTick(onclosed)\n }\n } else if (\n !readable &&\n (!willEmitClose || isReadable(stream)) &&\n (writableFinished || isWritable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (\n !writable &&\n (!willEmitClose || isWritable(stream)) &&\n (readableFinished || isReadable(stream) === false)\n ) {\n process.nextTick(onclosed)\n } else if (rState && stream.req && stream.aborted) {\n process.nextTick(onclosed)\n }\n const cleanup = () => {\n callback = nop\n stream.removeListener('aborted', onclose)\n stream.removeListener('complete', onfinish)\n stream.removeListener('abort', onclose)\n stream.removeListener('request', onrequest)\n if (stream.req) stream.req.removeListener('finish', onfinish)\n stream.removeListener('end', onlegacyfinish)\n stream.removeListener('close', onlegacyfinish)\n stream.removeListener('finish', onfinish)\n stream.removeListener('end', onend)\n stream.removeListener('error', onerror)\n stream.removeListener('close', onclose)\n }\n if (options.signal && !closed) {\n const abort = () => {\n // Keep it because cleanup removes it.\n const endCallback = callback\n cleanup()\n endCallback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n return cleanup\n}\nfunction eosWeb(stream, options, callback) {\n let isAborted = false\n let abort = nop\n if (options.signal) {\n abort = () => {\n isAborted = true\n callback.call(\n stream,\n new AbortError(undefined, {\n cause: options.signal.reason\n })\n )\n }\n if (options.signal.aborted) {\n process.nextTick(abort)\n } else {\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n const disposable = addAbortListener(options.signal, abort)\n const originalCallback = callback\n callback = once((...args) => {\n disposable[SymbolDispose]()\n originalCallback.apply(stream, args)\n })\n }\n }\n const resolverFn = (...args) => {\n if (!isAborted) {\n process.nextTick(() => callback.apply(stream, args))\n }\n }\n PromisePrototypeThen(stream[kIsClosedPromise].promise, resolverFn, resolverFn)\n return nop\n}\nfunction finished(stream, opts) {\n var _opts\n let autoCleanup = false\n if (opts === null) {\n opts = kEmptyObject\n }\n if ((_opts = opts) !== null && _opts !== undefined && _opts.cleanup) {\n validateBoolean(opts.cleanup, 'cleanup')\n autoCleanup = opts.cleanup\n }\n return new Promise((resolve, reject) => {\n const cleanup = eos(stream, opts, (err) => {\n if (autoCleanup) {\n cleanup()\n }\n if (err) {\n reject(err)\n } else {\n resolve()\n }\n })\n })\n}\nmodule.exports = eos\nmodule.exports.finished = finished\n","'use strict'\n\n/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n\nconst { PromisePrototypeThen, SymbolAsyncIterator, SymbolIterator } = require('../../ours/primordials')\nconst { Buffer } = require('buffer')\nconst { ERR_INVALID_ARG_TYPE, ERR_STREAM_NULL_VALUES } = require('../../ours/errors').codes\nfunction from(Readable, iterable, opts) {\n let iterator\n if (typeof iterable === 'string' || iterable instanceof Buffer) {\n return new Readable({\n objectMode: true,\n ...opts,\n read() {\n this.push(iterable)\n this.push(null)\n }\n })\n }\n let isAsync\n if (iterable && iterable[SymbolAsyncIterator]) {\n isAsync = true\n iterator = iterable[SymbolAsyncIterator]()\n } else if (iterable && iterable[SymbolIterator]) {\n isAsync = false\n iterator = iterable[SymbolIterator]()\n } else {\n throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable)\n }\n const readable = new Readable({\n objectMode: true,\n highWaterMark: 1,\n // TODO(ronag): What options should be allowed?\n ...opts\n })\n\n // Flag to protect against _read\n // being called before last iteration completion.\n let reading = false\n readable._read = function () {\n if (!reading) {\n reading = true\n next()\n }\n }\n readable._destroy = function (error, cb) {\n PromisePrototypeThen(\n close(error),\n () => process.nextTick(cb, error),\n // nextTick is here in case cb throws\n (e) => process.nextTick(cb, e || error)\n )\n }\n async function close(error) {\n const hadError = error !== undefined && error !== null\n const hasThrow = typeof iterator.throw === 'function'\n if (hadError && hasThrow) {\n const { value, done } = await iterator.throw(error)\n await value\n if (done) {\n return\n }\n }\n if (typeof iterator.return === 'function') {\n const { value } = await iterator.return()\n await value\n }\n }\n async function next() {\n for (;;) {\n try {\n const { value, done } = isAsync ? await iterator.next() : iterator.next()\n if (done) {\n readable.push(null)\n } else {\n const res = value && typeof value.then === 'function' ? await value : value\n if (res === null) {\n reading = false\n throw new ERR_STREAM_NULL_VALUES()\n } else if (readable.push(res)) {\n continue\n } else {\n reading = false\n }\n }\n } catch (err) {\n readable.destroy(err)\n }\n break\n }\n }\n return readable\n}\nmodule.exports = from\n","'use strict'\n\nconst { ArrayIsArray, ObjectSetPrototypeOf } = require('../../ours/primordials')\nconst { EventEmitter: EE } = require('events')\nfunction Stream(opts) {\n EE.call(this, opts)\n}\nObjectSetPrototypeOf(Stream.prototype, EE.prototype)\nObjectSetPrototypeOf(Stream, EE)\nStream.prototype.pipe = function (dest, options) {\n const source = this\n function ondata(chunk) {\n if (dest.writable && dest.write(chunk) === false && source.pause) {\n source.pause()\n }\n }\n source.on('data', ondata)\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume()\n }\n }\n dest.on('drain', ondrain)\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend)\n source.on('close', onclose)\n }\n let didOnEnd = false\n function onend() {\n if (didOnEnd) return\n didOnEnd = true\n dest.end()\n }\n function onclose() {\n if (didOnEnd) return\n didOnEnd = true\n if (typeof dest.destroy === 'function') dest.destroy()\n }\n\n // Don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup()\n if (EE.listenerCount(this, 'error') === 0) {\n this.emit('error', er)\n }\n }\n prependListener(source, 'error', onerror)\n prependListener(dest, 'error', onerror)\n\n // Remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata)\n dest.removeListener('drain', ondrain)\n source.removeListener('end', onend)\n source.removeListener('close', onclose)\n source.removeListener('error', onerror)\n dest.removeListener('error', onerror)\n source.removeListener('end', cleanup)\n source.removeListener('close', cleanup)\n dest.removeListener('close', cleanup)\n }\n source.on('end', cleanup)\n source.on('close', cleanup)\n dest.on('close', cleanup)\n dest.emit('pipe', source)\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest\n}\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn)\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn)\n else if (ArrayIsArray(emitter._events[event])) emitter._events[event].unshift(fn)\n else emitter._events[event] = [fn, emitter._events[event]]\n}\nmodule.exports = {\n Stream,\n prependListener\n}\n","'use strict'\n\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst {\n codes: { ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_MISSING_ARGS, ERR_OUT_OF_RANGE },\n AbortError\n} = require('../../ours/errors')\nconst { validateAbortSignal, validateInteger, validateObject } = require('../validators')\nconst kWeakHandler = require('../../ours/primordials').Symbol('kWeak')\nconst kResistStopPropagation = require('../../ours/primordials').Symbol('kResistStopPropagation')\nconst { finished } = require('./end-of-stream')\nconst staticCompose = require('./compose')\nconst { addAbortSignalNoValidate } = require('./add-abort-signal')\nconst { isWritable, isNodeStream } = require('./utils')\nconst { deprecate } = require('../../ours/util')\nconst {\n ArrayPrototypePush,\n Boolean,\n MathFloor,\n Number,\n NumberIsNaN,\n Promise,\n PromiseReject,\n PromiseResolve,\n PromisePrototypeThen,\n Symbol\n} = require('../../ours/primordials')\nconst kEmpty = Symbol('kEmpty')\nconst kEof = Symbol('kEof')\nfunction compose(stream, options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n if (isNodeStream(stream) && !isWritable(stream)) {\n throw new ERR_INVALID_ARG_VALUE('stream', stream, 'must be writable')\n }\n const composedStream = staticCompose(this, stream)\n if (options !== null && options !== undefined && options.signal) {\n // Not validating as we already validated before\n addAbortSignalNoValidate(options.signal, composedStream)\n }\n return composedStream\n}\nfunction map(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let concurrency = 1\n if ((options === null || options === undefined ? undefined : options.concurrency) != null) {\n concurrency = MathFloor(options.concurrency)\n }\n let highWaterMark = concurrency - 1\n if ((options === null || options === undefined ? undefined : options.highWaterMark) != null) {\n highWaterMark = MathFloor(options.highWaterMark)\n }\n validateInteger(concurrency, 'options.concurrency', 1)\n validateInteger(highWaterMark, 'options.highWaterMark', 0)\n highWaterMark += concurrency\n return async function* map() {\n const signal = require('../../ours/util').AbortSignalAny(\n [options === null || options === undefined ? undefined : options.signal].filter(Boolean)\n )\n const stream = this\n const queue = []\n const signalOpt = {\n signal\n }\n let next\n let resume\n let done = false\n let cnt = 0\n function onCatch() {\n done = true\n afterItemProcessed()\n }\n function afterItemProcessed() {\n cnt -= 1\n maybeResume()\n }\n function maybeResume() {\n if (resume && !done && cnt < concurrency && queue.length < highWaterMark) {\n resume()\n resume = null\n }\n }\n async function pump() {\n try {\n for await (let val of stream) {\n if (done) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n try {\n val = fn(val, signalOpt)\n if (val === kEmpty) {\n continue\n }\n val = PromiseResolve(val)\n } catch (err) {\n val = PromiseReject(err)\n }\n cnt += 1\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n if (next) {\n next()\n next = null\n }\n if (!done && (queue.length >= highWaterMark || cnt >= concurrency)) {\n await new Promise((resolve) => {\n resume = resolve\n })\n }\n }\n queue.push(kEof)\n } catch (err) {\n const val = PromiseReject(err)\n PromisePrototypeThen(val, afterItemProcessed, onCatch)\n queue.push(val)\n } finally {\n done = true\n if (next) {\n next()\n next = null\n }\n }\n }\n pump()\n try {\n while (true) {\n while (queue.length > 0) {\n const val = await queue[0]\n if (val === kEof) {\n return\n }\n if (signal.aborted) {\n throw new AbortError()\n }\n if (val !== kEmpty) {\n yield val\n }\n queue.shift()\n maybeResume()\n }\n await new Promise((resolve) => {\n next = resolve\n })\n }\n } finally {\n done = true\n if (resume) {\n resume()\n resume = null\n }\n }\n }.call(this)\n}\nfunction asIndexedPairs(options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n return async function* asIndexedPairs() {\n let index = 0\n for await (const val of this) {\n var _options$signal\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal = options.signal) !== null &&\n _options$signal !== undefined &&\n _options$signal.aborted\n ) {\n throw new AbortError({\n cause: options.signal.reason\n })\n }\n yield [index++, val]\n }\n }.call(this)\n}\nasync function some(fn, options = undefined) {\n for await (const unused of filter.call(this, fn, options)) {\n return true\n }\n return false\n}\nasync function every(fn, options = undefined) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n // https://en.wikipedia.org/wiki/De_Morgan%27s_laws\n return !(await some.call(\n this,\n async (...args) => {\n return !(await fn(...args))\n },\n options\n ))\n}\nasync function find(fn, options) {\n for await (const result of filter.call(this, fn, options)) {\n return result\n }\n return undefined\n}\nasync function forEach(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function forEachFn(value, options) {\n await fn(value, options)\n return kEmpty\n }\n // eslint-disable-next-line no-unused-vars\n for await (const unused of map.call(this, forEachFn, options));\n}\nfunction filter(fn, options) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', ['Function', 'AsyncFunction'], fn)\n }\n async function filterFn(value, options) {\n if (await fn(value, options)) {\n return value\n }\n return kEmpty\n }\n return map.call(this, filterFn, options)\n}\n\n// Specific to provide better error to reduce since the argument is only\n// missing if the stream has no items in it - but the code is still appropriate\nclass ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS {\n constructor() {\n super('reduce')\n this.message = 'Reduce of an empty stream requires an initial value'\n }\n}\nasync function reduce(reducer, initialValue, options) {\n var _options$signal2\n if (typeof reducer !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('reducer', ['Function', 'AsyncFunction'], reducer)\n }\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n let hasInitialValue = arguments.length > 1\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal2 = options.signal) !== null &&\n _options$signal2 !== undefined &&\n _options$signal2.aborted\n ) {\n const err = new AbortError(undefined, {\n cause: options.signal.reason\n })\n this.once('error', () => {}) // The error is already propagated\n await finished(this.destroy(err))\n throw err\n }\n const ac = new AbortController()\n const signal = ac.signal\n if (options !== null && options !== undefined && options.signal) {\n const opts = {\n once: true,\n [kWeakHandler]: this,\n [kResistStopPropagation]: true\n }\n options.signal.addEventListener('abort', () => ac.abort(), opts)\n }\n let gotAnyItemFromStream = false\n try {\n for await (const value of this) {\n var _options$signal3\n gotAnyItemFromStream = true\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal3 = options.signal) !== null &&\n _options$signal3 !== undefined &&\n _options$signal3.aborted\n ) {\n throw new AbortError()\n }\n if (!hasInitialValue) {\n initialValue = value\n hasInitialValue = true\n } else {\n initialValue = await reducer(initialValue, value, {\n signal\n })\n }\n }\n if (!gotAnyItemFromStream && !hasInitialValue) {\n throw new ReduceAwareErrMissingArgs()\n }\n } finally {\n ac.abort()\n }\n return initialValue\n}\nasync function toArray(options) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n const result = []\n for await (const val of this) {\n var _options$signal4\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal4 = options.signal) !== null &&\n _options$signal4 !== undefined &&\n _options$signal4.aborted\n ) {\n throw new AbortError(undefined, {\n cause: options.signal.reason\n })\n }\n ArrayPrototypePush(result, val)\n }\n return result\n}\nfunction flatMap(fn, options) {\n const values = map.call(this, fn, options)\n return async function* flatMap() {\n for await (const val of values) {\n yield* val\n }\n }.call(this)\n}\nfunction toIntegerOrInfinity(number) {\n // We coerce here to align with the spec\n // https://github.com/tc39/proposal-iterator-helpers/issues/169\n number = Number(number)\n if (NumberIsNaN(number)) {\n return 0\n }\n if (number < 0) {\n throw new ERR_OUT_OF_RANGE('number', '>= 0', number)\n }\n return number\n}\nfunction drop(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* drop() {\n var _options$signal5\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal5 = options.signal) !== null &&\n _options$signal5 !== undefined &&\n _options$signal5.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal6\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal6 = options.signal) !== null &&\n _options$signal6 !== undefined &&\n _options$signal6.aborted\n ) {\n throw new AbortError()\n }\n if (number-- <= 0) {\n yield val\n }\n }\n }.call(this)\n}\nfunction take(number, options = undefined) {\n if (options != null) {\n validateObject(options, 'options')\n }\n if ((options === null || options === undefined ? undefined : options.signal) != null) {\n validateAbortSignal(options.signal, 'options.signal')\n }\n number = toIntegerOrInfinity(number)\n return async function* take() {\n var _options$signal7\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal7 = options.signal) !== null &&\n _options$signal7 !== undefined &&\n _options$signal7.aborted\n ) {\n throw new AbortError()\n }\n for await (const val of this) {\n var _options$signal8\n if (\n options !== null &&\n options !== undefined &&\n (_options$signal8 = options.signal) !== null &&\n _options$signal8 !== undefined &&\n _options$signal8.aborted\n ) {\n throw new AbortError()\n }\n if (number-- > 0) {\n yield val\n }\n\n // Don't get another item from iterator in case we reached the end\n if (number <= 0) {\n return\n }\n }\n }.call(this)\n}\nmodule.exports.streamReturningOperators = {\n asIndexedPairs: deprecate(asIndexedPairs, 'readable.asIndexedPairs will be removed in a future version.'),\n drop,\n filter,\n flatMap,\n map,\n take,\n compose\n}\nmodule.exports.promiseReturningOperators = {\n every,\n forEach,\n reduce,\n toArray,\n some,\n find\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf } = require('../../ours/primordials')\nmodule.exports = PassThrough\nconst Transform = require('./transform')\nObjectSetPrototypeOf(PassThrough.prototype, Transform.prototype)\nObjectSetPrototypeOf(PassThrough, Transform)\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options)\n Transform.call(this, options)\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk)\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n;('use strict')\nconst { ArrayIsArray, Promise, SymbolAsyncIterator, SymbolDispose } = require('../../ours/primordials')\nconst eos = require('./end-of-stream')\nconst { once } = require('../../ours/util')\nconst destroyImpl = require('./destroy')\nconst Duplex = require('./duplex')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_PREMATURE_CLOSE\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateFunction, validateAbortSignal } = require('../validators')\nconst {\n isIterable,\n isReadable,\n isReadableNodeStream,\n isNodeStream,\n isTransformStream,\n isWebStream,\n isReadableStream,\n isReadableFinished\n} = require('./utils')\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nlet PassThrough\nlet Readable\nlet addAbortListener\nfunction destroyer(stream, reading, writing) {\n let finished = false\n stream.on('close', () => {\n finished = true\n })\n const cleanup = eos(\n stream,\n {\n readable: reading,\n writable: writing\n },\n (err) => {\n finished = !err\n }\n )\n return {\n destroy: (err) => {\n if (finished) return\n finished = true\n destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED('pipe'))\n },\n cleanup\n }\n}\nfunction popCallback(streams) {\n // Streams should never be an empty array. It should always contain at least\n // a single stream. Therefore optimize for the average case instead of\n // checking for length === 0 as well.\n validateFunction(streams[streams.length - 1], 'streams[stream.length - 1]')\n return streams.pop()\n}\nfunction makeAsyncIterable(val) {\n if (isIterable(val)) {\n return val\n } else if (isReadableNodeStream(val)) {\n // Legacy streams are not Iterable.\n return fromReadable(val)\n }\n throw new ERR_INVALID_ARG_TYPE('val', ['Readable', 'Iterable', 'AsyncIterable'], val)\n}\nasync function* fromReadable(val) {\n if (!Readable) {\n Readable = require('./readable')\n }\n yield* Readable.prototype[SymbolAsyncIterator].call(val)\n}\nasync function pumpToNode(iterable, writable, finish, { end }) {\n let error\n let onresolve = null\n const resume = (err) => {\n if (err) {\n error = err\n }\n if (onresolve) {\n const callback = onresolve\n onresolve = null\n callback()\n }\n }\n const wait = () =>\n new Promise((resolve, reject) => {\n if (error) {\n reject(error)\n } else {\n onresolve = () => {\n if (error) {\n reject(error)\n } else {\n resolve()\n }\n }\n }\n })\n writable.on('drain', resume)\n const cleanup = eos(\n writable,\n {\n readable: false\n },\n resume\n )\n try {\n if (writable.writableNeedDrain) {\n await wait()\n }\n for await (const chunk of iterable) {\n if (!writable.write(chunk)) {\n await wait()\n }\n }\n if (end) {\n writable.end()\n await wait()\n }\n finish()\n } catch (err) {\n finish(error !== err ? aggregateTwoErrors(error, err) : err)\n } finally {\n cleanup()\n writable.off('drain', resume)\n }\n}\nasync function pumpToWeb(readable, writable, finish, { end }) {\n if (isTransformStream(writable)) {\n writable = writable.writable\n }\n // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure\n const writer = writable.getWriter()\n try {\n for await (const chunk of readable) {\n await writer.ready\n writer.write(chunk).catch(() => {})\n }\n await writer.ready\n if (end) {\n await writer.close()\n }\n finish()\n } catch (err) {\n try {\n await writer.abort(err)\n finish(err)\n } catch (err) {\n finish(err)\n }\n }\n}\nfunction pipeline(...streams) {\n return pipelineImpl(streams, once(popCallback(streams)))\n}\nfunction pipelineImpl(streams, callback, opts) {\n if (streams.length === 1 && ArrayIsArray(streams[0])) {\n streams = streams[0]\n }\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams')\n }\n const ac = new AbortController()\n const signal = ac.signal\n const outerSignal = opts === null || opts === undefined ? undefined : opts.signal\n\n // Need to cleanup event listeners if last stream is readable\n // https://github.com/nodejs/node/issues/35452\n const lastStreamCleanup = []\n validateAbortSignal(outerSignal, 'options.signal')\n function abort() {\n finishImpl(new AbortError())\n }\n addAbortListener = addAbortListener || require('../../ours/util').addAbortListener\n let disposable\n if (outerSignal) {\n disposable = addAbortListener(outerSignal, abort)\n }\n let error\n let value\n const destroys = []\n let finishCount = 0\n function finish(err) {\n finishImpl(err, --finishCount === 0)\n }\n function finishImpl(err, final) {\n var _disposable\n if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE')) {\n error = err\n }\n if (!error && !final) {\n return\n }\n while (destroys.length) {\n destroys.shift()(error)\n }\n ;(_disposable = disposable) === null || _disposable === undefined ? undefined : _disposable[SymbolDispose]()\n ac.abort()\n if (final) {\n if (!error) {\n lastStreamCleanup.forEach((fn) => fn())\n }\n process.nextTick(callback, error, value)\n }\n }\n let ret\n for (let i = 0; i < streams.length; i++) {\n const stream = streams[i]\n const reading = i < streams.length - 1\n const writing = i > 0\n const end = reading || (opts === null || opts === undefined ? undefined : opts.end) !== false\n const isLastStream = i === streams.length - 1\n if (isNodeStream(stream)) {\n if (end) {\n const { destroy, cleanup } = destroyer(stream, reading, writing)\n destroys.push(destroy)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n\n // Catch stream errors that occur after pipe/pump has completed.\n function onError(err) {\n if (err && err.name !== 'AbortError' && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n finish(err)\n }\n }\n stream.on('error', onError)\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(() => {\n stream.removeListener('error', onError)\n })\n }\n }\n if (i === 0) {\n if (typeof stream === 'function') {\n ret = stream({\n signal\n })\n if (!isIterable(ret)) {\n throw new ERR_INVALID_RETURN_VALUE('Iterable, AsyncIterable or Stream', 'source', ret)\n }\n } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n } else if (typeof stream === 'function') {\n if (isTransformStream(ret)) {\n var _ret\n ret = makeAsyncIterable((_ret = ret) === null || _ret === undefined ? undefined : _ret.readable)\n } else {\n ret = makeAsyncIterable(ret)\n }\n ret = stream(ret, {\n signal\n })\n if (reading) {\n if (!isIterable(ret, true)) {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable', `transform[${i - 1}]`, ret)\n }\n } else {\n var _ret2\n if (!PassThrough) {\n PassThrough = require('./passthrough')\n }\n\n // If the last argument to pipeline is not a stream\n // we must create a proxy stream so that pipeline(...)\n // always returns a stream which can be further\n // composed through `.pipe(stream)`.\n\n const pt = new PassThrough({\n objectMode: true\n })\n\n // Handle Promises/A+ spec, `then` could be a getter that throws on\n // second use.\n const then = (_ret2 = ret) === null || _ret2 === undefined ? undefined : _ret2.then\n if (typeof then === 'function') {\n finishCount++\n then.call(\n ret,\n (val) => {\n value = val\n if (val != null) {\n pt.write(val)\n }\n if (end) {\n pt.end()\n }\n process.nextTick(finish)\n },\n (err) => {\n pt.destroy(err)\n process.nextTick(finish, err)\n }\n )\n } else if (isIterable(ret, true)) {\n finishCount++\n pumpToNode(ret, pt, finish, {\n end\n })\n } else if (isReadableStream(ret) || isTransformStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, pt, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_RETURN_VALUE('AsyncIterable or Promise', 'destination', ret)\n }\n ret = pt\n const { destroy, cleanup } = destroyer(ret, false, true)\n destroys.push(destroy)\n if (isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n }\n } else if (isNodeStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount += 2\n const cleanup = pipe(ret, stream, finish, {\n end\n })\n if (isReadable(stream) && isLastStream) {\n lastStreamCleanup.push(cleanup)\n }\n } else if (isTransformStream(ret) || isReadableStream(ret)) {\n const toRead = ret.readable || ret\n finishCount++\n pumpToNode(toRead, stream, finish, {\n end\n })\n } else if (isIterable(ret)) {\n finishCount++\n pumpToNode(ret, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else if (isWebStream(stream)) {\n if (isReadableNodeStream(ret)) {\n finishCount++\n pumpToWeb(makeAsyncIterable(ret), stream, finish, {\n end\n })\n } else if (isReadableStream(ret) || isIterable(ret)) {\n finishCount++\n pumpToWeb(ret, stream, finish, {\n end\n })\n } else if (isTransformStream(ret)) {\n finishCount++\n pumpToWeb(ret.readable, stream, finish, {\n end\n })\n } else {\n throw new ERR_INVALID_ARG_TYPE(\n 'val',\n ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'],\n ret\n )\n }\n ret = stream\n } else {\n ret = Duplex.from(stream)\n }\n }\n if (\n (signal !== null && signal !== undefined && signal.aborted) ||\n (outerSignal !== null && outerSignal !== undefined && outerSignal.aborted)\n ) {\n process.nextTick(abort)\n }\n return ret\n}\nfunction pipe(src, dst, finish, { end }) {\n let ended = false\n dst.on('close', () => {\n if (!ended) {\n // Finish if the destination closes before the source has completed.\n finish(new ERR_STREAM_PREMATURE_CLOSE())\n }\n })\n src.pipe(dst, {\n end: false\n }) // If end is true we already will have a listener to end dst.\n\n if (end) {\n // Compat. Before node v10.12.0 stdio used to throw an error so\n // pipe() did/does not end() stdio destinations.\n // Now they allow it but \"secretly\" don't close the underlying fd.\n\n function endFn() {\n ended = true\n dst.end()\n }\n if (isReadableFinished(src)) {\n // End the destination if the source has already ended.\n process.nextTick(endFn)\n } else {\n src.once('end', endFn)\n }\n } else {\n finish()\n }\n eos(\n src,\n {\n readable: true,\n writable: false\n },\n (err) => {\n const rState = src._readableState\n if (\n err &&\n err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&\n rState &&\n rState.ended &&\n !rState.errored &&\n !rState.errorEmitted\n ) {\n // Some readable streams will emit 'close' before 'end'. However, since\n // this is on the readable side 'end' should still be emitted if the\n // stream has been ended and no error emitted. This should be allowed in\n // favor of backwards compatibility. Since the stream is piped to a\n // destination this should not result in any observable difference.\n // We don't need to check if this is a writable premature close since\n // eos will only fail with premature close on the reading side for\n // duplex streams.\n src.once('end', finish).once('error', finish)\n } else {\n finish(err)\n }\n }\n )\n return eos(\n dst,\n {\n readable: false,\n writable: true\n },\n finish\n )\n}\nmodule.exports = {\n pipelineImpl,\n pipeline\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst {\n ArrayPrototypeIndexOf,\n NumberIsInteger,\n NumberIsNaN,\n NumberParseInt,\n ObjectDefineProperties,\n ObjectKeys,\n ObjectSetPrototypeOf,\n Promise,\n SafeSet,\n SymbolAsyncDispose,\n SymbolAsyncIterator,\n Symbol\n} = require('../../ours/primordials')\nmodule.exports = Readable\nReadable.ReadableState = ReadableState\nconst { EventEmitter: EE } = require('events')\nconst { Stream, prependListener } = require('./legacy')\nconst { Buffer } = require('buffer')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst eos = require('./end-of-stream')\nlet debug = require('../../ours/util').debuglog('stream', (fn) => {\n debug = fn\n})\nconst BufferList = require('./buffer_list')\nconst destroyImpl = require('./destroy')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n aggregateTwoErrors,\n codes: {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_OUT_OF_RANGE,\n ERR_STREAM_PUSH_AFTER_EOF,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT\n },\n AbortError\n} = require('../../ours/errors')\nconst { validateObject } = require('../validators')\nconst kPaused = Symbol('kPaused')\nconst { StringDecoder } = require('string_decoder')\nconst from = require('./from')\nObjectSetPrototypeOf(Readable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Readable, Stream)\nconst nop = () => {}\nconst { errorOrDestroy } = destroyImpl\nconst kObjectMode = 1 << 0\nconst kEnded = 1 << 1\nconst kEndEmitted = 1 << 2\nconst kReading = 1 << 3\nconst kConstructed = 1 << 4\nconst kSync = 1 << 5\nconst kNeedReadable = 1 << 6\nconst kEmittedReadable = 1 << 7\nconst kReadableListening = 1 << 8\nconst kResumeScheduled = 1 << 9\nconst kErrorEmitted = 1 << 10\nconst kEmitClose = 1 << 11\nconst kAutoDestroy = 1 << 12\nconst kDestroyed = 1 << 13\nconst kClosed = 1 << 14\nconst kCloseEmitted = 1 << 15\nconst kMultiAwaitDrain = 1 << 16\nconst kReadingMore = 1 << 17\nconst kDataEmitted = 1 << 18\n\n// TODO(benjamingr) it is likely slower to do it this way than with free functions\nfunction makeBitMapDescriptor(bit) {\n return {\n enumerable: false,\n get() {\n return (this.state & bit) !== 0\n },\n set(value) {\n if (value) this.state |= bit\n else this.state &= ~bit\n }\n }\n}\nObjectDefineProperties(ReadableState.prototype, {\n objectMode: makeBitMapDescriptor(kObjectMode),\n ended: makeBitMapDescriptor(kEnded),\n endEmitted: makeBitMapDescriptor(kEndEmitted),\n reading: makeBitMapDescriptor(kReading),\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n constructed: makeBitMapDescriptor(kConstructed),\n // A flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n sync: makeBitMapDescriptor(kSync),\n // Whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n needReadable: makeBitMapDescriptor(kNeedReadable),\n emittedReadable: makeBitMapDescriptor(kEmittedReadable),\n readableListening: makeBitMapDescriptor(kReadableListening),\n resumeScheduled: makeBitMapDescriptor(kResumeScheduled),\n // True if the error was already emitted and should not be thrown again.\n errorEmitted: makeBitMapDescriptor(kErrorEmitted),\n emitClose: makeBitMapDescriptor(kEmitClose),\n autoDestroy: makeBitMapDescriptor(kAutoDestroy),\n // Has it been destroyed.\n destroyed: makeBitMapDescriptor(kDestroyed),\n // Indicates whether the stream has finished destroying.\n closed: makeBitMapDescriptor(kClosed),\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n closeEmitted: makeBitMapDescriptor(kCloseEmitted),\n multiAwaitDrain: makeBitMapDescriptor(kMultiAwaitDrain),\n // If true, a maybeReadMore has been scheduled.\n readingMore: makeBitMapDescriptor(kReadingMore),\n dataEmitted: makeBitMapDescriptor(kDataEmitted)\n})\nfunction ReadableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Bit map field to store ReadableState more effciently with 1 bit per field\n // instead of a V8 slot per field.\n this.state = kEmitClose | kAutoDestroy | kConstructed | kSync\n // Object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away.\n if (options && options.objectMode) this.state |= kObjectMode\n if (isDuplex && options && options.readableObjectMode) this.state |= kObjectMode\n\n // The point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift().\n this.buffer = new BufferList()\n this.length = 0\n this.pipes = []\n this.flowing = null\n this[kPaused] = null\n\n // Should close be emitted on destroy. Defaults to true.\n if (options && options.emitClose === false) this.state &= ~kEmitClose\n\n // Should .destroy() be called after 'end' (and potentially 'finish').\n if (options && options.autoDestroy === false) this.state &= ~kAutoDestroy\n\n // Indicates whether the stream has errored. When true no further\n // _read calls, 'data' or 'readable' events should occur. This is needed\n // since when autoDestroy is disabled we need a way to tell whether the\n // stream has failed.\n this.errored = null\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Ref the piped dest which we need a drain event on it\n // type: null | Writable | Set.\n this.awaitDrainWriters = null\n this.decoder = null\n this.encoding = null\n if (options && options.encoding) {\n this.decoder = new StringDecoder(options.encoding)\n this.encoding = options.encoding\n }\n}\nfunction Readable(options) {\n if (!(this instanceof Readable)) return new Readable(options)\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n this._readableState = new ReadableState(options, this, isDuplex)\n if (options) {\n if (typeof options.read === 'function') this._read = options.read\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal && !isDuplex) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n if (this._readableState.needReadable) {\n maybeReadMore(this, this._readableState)\n }\n })\n}\nReadable.prototype.destroy = destroyImpl.destroy\nReadable.prototype._undestroy = destroyImpl.undestroy\nReadable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nReadable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nReadable.prototype[SymbolAsyncDispose] = function () {\n let error\n if (!this.destroyed) {\n error = this.readableEnded ? null : new AbortError()\n this.destroy(error)\n }\n return new Promise((resolve, reject) => eos(this, (err) => (err && err !== error ? reject(err) : resolve(null))))\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, false)\n}\n\n// Unshift should *always* be something directly out of read().\nReadable.prototype.unshift = function (chunk, encoding) {\n return readableAddChunk(this, chunk, encoding, true)\n}\nfunction readableAddChunk(stream, chunk, encoding, addToFront) {\n debug('readableAddChunk', chunk)\n const state = stream._readableState\n let err\n if ((state.state & kObjectMode) === 0) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding\n if (state.encoding !== encoding) {\n if (addToFront && state.encoding) {\n // When unshifting, if state.encoding is set, we have to save\n // the string in the BufferList with the state encoding.\n chunk = Buffer.from(chunk, encoding).toString(state.encoding)\n } else {\n chunk = Buffer.from(chunk, encoding)\n encoding = ''\n }\n }\n } else if (chunk instanceof Buffer) {\n encoding = ''\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = ''\n } else if (chunk != null) {\n err = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n if (err) {\n errorOrDestroy(stream, err)\n } else if (chunk === null) {\n state.state &= ~kReading\n onEofChunk(stream, state)\n } else if ((state.state & kObjectMode) !== 0 || (chunk && chunk.length > 0)) {\n if (addToFront) {\n if ((state.state & kEndEmitted) !== 0) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT())\n else if (state.destroyed || state.errored) return false\n else addChunk(stream, state, chunk, true)\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF())\n } else if (state.destroyed || state.errored) {\n return false\n } else {\n state.state &= ~kReading\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk)\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false)\n else maybeReadMore(stream, state)\n } else {\n addChunk(stream, state, chunk, false)\n }\n }\n } else if (!addToFront) {\n state.state &= ~kReading\n maybeReadMore(stream, state)\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0)\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount('data') > 0) {\n // Use the guard to avoid creating `Set()` repeatedly\n // when we have multiple pipes.\n if ((state.state & kMultiAwaitDrain) !== 0) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n state.dataEmitted = true\n stream.emit('data', chunk)\n } else {\n // Update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length\n if (addToFront) state.buffer.unshift(chunk)\n else state.buffer.push(chunk)\n if ((state.state & kNeedReadable) !== 0) emitReadable(stream)\n }\n maybeReadMore(stream, state)\n}\nReadable.prototype.isPaused = function () {\n const state = this._readableState\n return state[kPaused] === true || state.flowing === false\n}\n\n// Backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n const decoder = new StringDecoder(enc)\n this._readableState.decoder = decoder\n // If setEncoding(null), decoder.encoding equals utf8.\n this._readableState.encoding = this._readableState.decoder.encoding\n const buffer = this._readableState.buffer\n // Iterate over current buffer to convert already stored Buffers:\n let content = ''\n for (const data of buffer) {\n content += decoder.write(data)\n }\n buffer.clear()\n if (content !== '') buffer.push(content)\n this._readableState.length = content.length\n return this\n}\n\n// Don't raise the hwm > 1GB.\nconst MAX_HWM = 0x40000000\nfunction computeNewHighWaterMark(n) {\n if (n > MAX_HWM) {\n throw new ERR_OUT_OF_RANGE('size', '<= 1GiB', n)\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts.\n n--\n n |= n >>> 1\n n |= n >>> 2\n n |= n >>> 4\n n |= n >>> 8\n n |= n >>> 16\n n++\n }\n return n\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || (state.length === 0 && state.ended)) return 0\n if ((state.state & kObjectMode) !== 0) return 1\n if (NumberIsNaN(n)) {\n // Only flow one buffer at a time.\n if (state.flowing && state.length) return state.buffer.first().length\n return state.length\n }\n if (n <= state.length) return n\n return state.ended ? state.length : 0\n}\n\n// You can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n)\n // Same as parseInt(undefined, 10), however V8 7.3 performance regressed\n // in this scenario, so we are doing it manually.\n if (n === undefined) {\n n = NaN\n } else if (!NumberIsInteger(n)) {\n n = NumberParseInt(n, 10)\n }\n const state = this._readableState\n const nOrig = n\n\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n)\n if (n !== 0) state.state &= ~kEmittedReadable\n\n // If we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (\n n === 0 &&\n state.needReadable &&\n ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)\n ) {\n debug('read: emitReadable', state.length, state.ended)\n if (state.length === 0 && state.ended) endReadable(this)\n else emitReadable(this)\n return null\n }\n n = howMuchToRead(n, state)\n\n // If we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this)\n return null\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n let doRead = (state.state & kNeedReadable) !== 0\n debug('need readable', doRead)\n\n // If we currently have less than the highWaterMark, then also read some.\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true\n debug('length less than watermark', doRead)\n }\n\n // However, if we've ended, then there's no point, if we're already\n // reading, then it's unnecessary, if we're constructing we have to wait,\n // and if we're destroyed or errored, then it's not allowed,\n if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) {\n doRead = false\n debug('reading, ended or constructing', doRead)\n } else if (doRead) {\n debug('do read')\n state.state |= kReading | kSync\n // If the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.state |= kNeedReadable\n\n // Call internal read method\n try {\n this._read(state.highWaterMark)\n } catch (err) {\n errorOrDestroy(this, err)\n }\n state.state &= ~kSync\n\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state)\n }\n let ret\n if (n > 0) ret = fromList(n, state)\n else ret = null\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark\n n = 0\n } else {\n state.length -= n\n if (state.multiAwaitDrain) {\n state.awaitDrainWriters.clear()\n } else {\n state.awaitDrainWriters = null\n }\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this)\n }\n if (ret !== null && !state.errorEmitted && !state.closeEmitted) {\n state.dataEmitted = true\n this.emit('data', ret)\n }\n return ret\n}\nfunction onEofChunk(stream, state) {\n debug('onEofChunk')\n if (state.ended) return\n if (state.decoder) {\n const chunk = state.decoder.end()\n if (chunk && chunk.length) {\n state.buffer.push(chunk)\n state.length += state.objectMode ? 1 : chunk.length\n }\n }\n state.ended = true\n if (state.sync) {\n // If we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call.\n emitReadable(stream)\n } else {\n // Emit 'readable' now to make sure it gets picked up.\n state.needReadable = false\n state.emittedReadable = true\n // We have to emit readable now that we are EOF. Modules\n // in the ecosystem (e.g. dicer) rely on this event being sync.\n emitReadable_(stream)\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n const state = stream._readableState\n debug('emitReadable', state.needReadable, state.emittedReadable)\n state.needReadable = false\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing)\n state.emittedReadable = true\n process.nextTick(emitReadable_, stream)\n }\n}\nfunction emitReadable_(stream) {\n const state = stream._readableState\n debug('emitReadable_', state.destroyed, state.length, state.ended)\n if (!state.destroyed && !state.errored && (state.length || state.ended)) {\n stream.emit('readable')\n state.emittedReadable = false\n }\n\n // The stream needs another readable event if:\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark\n flow(stream)\n}\n\n// At this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore && state.constructed) {\n state.readingMore = true\n process.nextTick(maybeReadMore_, stream, state)\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (\n !state.reading &&\n !state.ended &&\n (state.length < state.highWaterMark || (state.flowing && state.length === 0))\n ) {\n const len = state.length\n debug('maybeReadMore read 0')\n stream.read(0)\n if (len === state.length)\n // Didn't get any data, stop spinning.\n break\n }\n state.readingMore = false\n}\n\n// Abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_read()')\n}\nReadable.prototype.pipe = function (dest, pipeOpts) {\n const src = this\n const state = this._readableState\n if (state.pipes.length === 1) {\n if (!state.multiAwaitDrain) {\n state.multiAwaitDrain = true\n state.awaitDrainWriters = new SafeSet(state.awaitDrainWriters ? [state.awaitDrainWriters] : [])\n }\n }\n state.pipes.push(dest)\n debug('pipe count=%d opts=%j', state.pipes.length, pipeOpts)\n const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr\n const endFn = doEnd ? onend : unpipe\n if (state.endEmitted) process.nextTick(endFn)\n else src.once('end', endFn)\n dest.on('unpipe', onunpipe)\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe')\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true\n cleanup()\n }\n }\n }\n function onend() {\n debug('onend')\n dest.end()\n }\n let ondrain\n let cleanedUp = false\n function cleanup() {\n debug('cleanup')\n // Cleanup event handlers once the pipe is broken.\n dest.removeListener('close', onclose)\n dest.removeListener('finish', onfinish)\n if (ondrain) {\n dest.removeListener('drain', ondrain)\n }\n dest.removeListener('error', onerror)\n dest.removeListener('unpipe', onunpipe)\n src.removeListener('end', onend)\n src.removeListener('end', unpipe)\n src.removeListener('data', ondata)\n cleanedUp = true\n\n // If the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (ondrain && state.awaitDrainWriters && (!dest._writableState || dest._writableState.needDrain)) ondrain()\n }\n function pause() {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if (!cleanedUp) {\n if (state.pipes.length === 1 && state.pipes[0] === dest) {\n debug('false write response, pause', 0)\n state.awaitDrainWriters = dest\n state.multiAwaitDrain = false\n } else if (state.pipes.length > 1 && state.pipes.includes(dest)) {\n debug('false write response, pause', state.awaitDrainWriters.size)\n state.awaitDrainWriters.add(dest)\n }\n src.pause()\n }\n if (!ondrain) {\n // When the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n ondrain = pipeOnDrain(src, dest)\n dest.on('drain', ondrain)\n }\n }\n src.on('data', ondata)\n function ondata(chunk) {\n debug('ondata')\n const ret = dest.write(chunk)\n debug('dest.write', ret)\n if (ret === false) {\n pause()\n }\n }\n\n // If the dest has an error, then stop piping into it.\n // However, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er)\n unpipe()\n dest.removeListener('error', onerror)\n if (dest.listenerCount('error') === 0) {\n const s = dest._writableState || dest._readableState\n if (s && !s.errorEmitted) {\n // User incorrectly emitted 'error' directly on the stream.\n errorOrDestroy(dest, er)\n } else {\n dest.emit('error', er)\n }\n }\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror)\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish)\n unpipe()\n }\n dest.once('close', onclose)\n function onfinish() {\n debug('onfinish')\n dest.removeListener('close', onclose)\n unpipe()\n }\n dest.once('finish', onfinish)\n function unpipe() {\n debug('unpipe')\n src.unpipe(dest)\n }\n\n // Tell the dest that it's being piped to.\n dest.emit('pipe', src)\n\n // Start the flow if it hasn't been started already.\n\n if (dest.writableNeedDrain === true) {\n pause()\n } else if (!state.flowing) {\n debug('pipe resume')\n src.resume()\n }\n return dest\n}\nfunction pipeOnDrain(src, dest) {\n return function pipeOnDrainFunctionResult() {\n const state = src._readableState\n\n // `ondrain` will call directly,\n // `this` maybe not a reference to dest,\n // so we use the real dest here.\n if (state.awaitDrainWriters === dest) {\n debug('pipeOnDrain', 1)\n state.awaitDrainWriters = null\n } else if (state.multiAwaitDrain) {\n debug('pipeOnDrain', state.awaitDrainWriters.size)\n state.awaitDrainWriters.delete(dest)\n }\n if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount('data')) {\n src.resume()\n }\n }\n}\nReadable.prototype.unpipe = function (dest) {\n const state = this._readableState\n const unpipeInfo = {\n hasUnpiped: false\n }\n\n // If we're not piping anywhere, then do nothing.\n if (state.pipes.length === 0) return this\n if (!dest) {\n // remove all.\n const dests = state.pipes\n state.pipes = []\n this.pause()\n for (let i = 0; i < dests.length; i++)\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n })\n return this\n }\n\n // Try to find the right one.\n const index = ArrayPrototypeIndexOf(state.pipes, dest)\n if (index === -1) return this\n state.pipes.splice(index, 1)\n if (state.pipes.length === 0) this.pause()\n dest.emit('unpipe', this, unpipeInfo)\n return this\n}\n\n// Set up data events if they are asked for\n// Ensure readable listeners eventually get something.\nReadable.prototype.on = function (ev, fn) {\n const res = Stream.prototype.on.call(this, ev, fn)\n const state = this._readableState\n if (ev === 'data') {\n // Update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0\n\n // Try start flowing on next tick if stream isn't explicitly paused.\n if (state.flowing !== false) this.resume()\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true\n state.flowing = false\n state.emittedReadable = false\n debug('on readable', state.length, state.reading)\n if (state.length) {\n emitReadable(this)\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this)\n }\n }\n }\n return res\n}\nReadable.prototype.addListener = Readable.prototype.on\nReadable.prototype.removeListener = function (ev, fn) {\n const res = Stream.prototype.removeListener.call(this, ev, fn)\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nReadable.prototype.off = Readable.prototype.removeListener\nReadable.prototype.removeAllListeners = function (ev) {\n const res = Stream.prototype.removeAllListeners.apply(this, arguments)\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this)\n }\n return res\n}\nfunction updateReadableListening(self) {\n const state = self._readableState\n state.readableListening = self.listenerCount('readable') > 0\n if (state.resumeScheduled && state[kPaused] === false) {\n // Flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true\n\n // Crude way to check if we should resume.\n } else if (self.listenerCount('data') > 0) {\n self.resume()\n } else if (!state.readableListening) {\n state.flowing = null\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0')\n self.read(0)\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n const state = this._readableState\n if (!state.flowing) {\n debug('resume')\n // We flow only if there is no one listening\n // for readable, but we still have to call\n // resume().\n state.flowing = !state.readableListening\n resume(this, state)\n }\n state[kPaused] = false\n return this\n}\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true\n process.nextTick(resume_, stream, state)\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading)\n if (!state.reading) {\n stream.read(0)\n }\n state.resumeScheduled = false\n stream.emit('resume')\n flow(stream)\n if (state.flowing && !state.reading) stream.read(0)\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing)\n if (this._readableState.flowing !== false) {\n debug('pause')\n this._readableState.flowing = false\n this.emit('pause')\n }\n this._readableState[kPaused] = true\n return this\n}\nfunction flow(stream) {\n const state = stream._readableState\n debug('flow', state.flowing)\n while (state.flowing && stream.read() !== null);\n}\n\n// Wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n let paused = false\n\n // TODO (ronag): Should this.destroy(err) emit\n // 'error' on the wrapped stream? Would require\n // a static factory method, e.g. Readable.wrap(stream).\n\n stream.on('data', (chunk) => {\n if (!this.push(chunk) && stream.pause) {\n paused = true\n stream.pause()\n }\n })\n stream.on('end', () => {\n this.push(null)\n })\n stream.on('error', (err) => {\n errorOrDestroy(this, err)\n })\n stream.on('close', () => {\n this.destroy()\n })\n stream.on('destroy', () => {\n this.destroy()\n })\n this._read = () => {\n if (paused && stream.resume) {\n paused = false\n stream.resume()\n }\n }\n\n // Proxy all the other methods. Important when wrapping filters and duplexes.\n const streamKeys = ObjectKeys(stream)\n for (let j = 1; j < streamKeys.length; j++) {\n const i = streamKeys[j]\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = stream[i].bind(stream)\n }\n }\n return this\n}\nReadable.prototype[SymbolAsyncIterator] = function () {\n return streamToAsyncIterator(this)\n}\nReadable.prototype.iterator = function (options) {\n if (options !== undefined) {\n validateObject(options, 'options')\n }\n return streamToAsyncIterator(this, options)\n}\nfunction streamToAsyncIterator(stream, options) {\n if (typeof stream.read !== 'function') {\n stream = Readable.wrap(stream, {\n objectMode: true\n })\n }\n const iter = createAsyncIterator(stream, options)\n iter.stream = stream\n return iter\n}\nasync function* createAsyncIterator(stream, options) {\n let callback = nop\n function next(resolve) {\n if (this === stream) {\n callback()\n callback = nop\n } else {\n callback = resolve\n }\n }\n stream.on('readable', next)\n let error\n const cleanup = eos(\n stream,\n {\n writable: false\n },\n (err) => {\n error = err ? aggregateTwoErrors(error, err) : null\n callback()\n callback = nop\n }\n )\n try {\n while (true) {\n const chunk = stream.destroyed ? null : stream.read()\n if (chunk !== null) {\n yield chunk\n } else if (error) {\n throw error\n } else if (error === null) {\n return\n } else {\n await new Promise(next)\n }\n }\n } catch (err) {\n error = aggregateTwoErrors(error, err)\n throw error\n } finally {\n if (\n (error || (options === null || options === undefined ? undefined : options.destroyOnReturn) !== false) &&\n (error === undefined || stream._readableState.autoDestroy)\n ) {\n destroyImpl.destroyer(stream, null)\n } else {\n stream.off('readable', next)\n cleanup()\n }\n }\n}\n\n// Making it explicit these properties are not enumerable\n// because otherwise some prototype manipulation in\n// userland will fail.\nObjectDefineProperties(Readable.prototype, {\n readable: {\n __proto__: null,\n get() {\n const r = this._readableState\n // r.readable === false means that this is part of a Duplex stream\n // where the readable side was disabled upon construction.\n // Compat. The user might manually disable readable side through\n // deprecated setter.\n return !!r && r.readable !== false && !r.destroyed && !r.errorEmitted && !r.endEmitted\n },\n set(val) {\n // Backwards compat.\n if (this._readableState) {\n this._readableState.readable = !!val\n }\n }\n },\n readableDidRead: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.dataEmitted\n }\n },\n readableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._readableState.readable !== false &&\n (this._readableState.destroyed || this._readableState.errored) &&\n !this._readableState.endEmitted\n )\n }\n },\n readableHighWaterMark: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark\n }\n },\n readableBuffer: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState && this._readableState.buffer\n }\n },\n readableFlowing: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return this._readableState.flowing\n },\n set: function (state) {\n if (this._readableState) {\n this._readableState.flowing = state\n }\n }\n },\n readableLength: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState.length\n }\n },\n readableObjectMode: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.objectMode : false\n }\n },\n readableEncoding: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.encoding : null\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.errored : null\n }\n },\n closed: {\n __proto__: null,\n get() {\n return this._readableState ? this._readableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.destroyed : false\n },\n set(value) {\n // We ignore the value if the stream\n // has not been initialized yet.\n if (!this._readableState) {\n return\n }\n\n // Backward compatibility, the user is explicitly\n // managing destroyed.\n this._readableState.destroyed = value\n }\n },\n readableEnded: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._readableState ? this._readableState.endEmitted : false\n }\n }\n})\nObjectDefineProperties(ReadableState.prototype, {\n // Legacy getter for `pipesCount`.\n pipesCount: {\n __proto__: null,\n get() {\n return this.pipes.length\n }\n },\n // Legacy property for `paused`.\n paused: {\n __proto__: null,\n get() {\n return this[kPaused] !== false\n },\n set(value) {\n this[kPaused] = !!value\n }\n }\n})\n\n// Exposed for testing purposes only.\nReadable._fromList = fromList\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered.\n if (state.length === 0) return null\n let ret\n if (state.objectMode) ret = state.buffer.shift()\n else if (!n || n >= state.length) {\n // Read it all, truncate the list.\n if (state.decoder) ret = state.buffer.join('')\n else if (state.buffer.length === 1) ret = state.buffer.first()\n else ret = state.buffer.concat(state.length)\n state.buffer.clear()\n } else {\n // read part of list.\n ret = state.buffer.consume(n, state.decoder)\n }\n return ret\n}\nfunction endReadable(stream) {\n const state = stream._readableState\n debug('endReadable', state.endEmitted)\n if (!state.endEmitted) {\n state.ended = true\n process.nextTick(endReadableNT, state, stream)\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length)\n\n // Check that we didn't get one last unshift.\n if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) {\n state.endEmitted = true\n stream.emit('end')\n if (stream.writable && stream.allowHalfOpen === false) {\n process.nextTick(endWritableNT, stream)\n } else if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well.\n const wState = stream._writableState\n const autoDestroy =\n !wState ||\n (wState.autoDestroy &&\n // We don't expect the writable to ever 'finish'\n // if writable is explicitly set to false.\n (wState.finished || wState.writable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n }\n}\nfunction endWritableNT(stream) {\n const writable = stream.writable && !stream.writableEnded && !stream.destroyed\n if (writable) {\n stream.end()\n }\n}\nReadable.from = function (iterable, opts) {\n return from(Readable, iterable, opts)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nReadable.fromWeb = function (readableStream, options) {\n return lazyWebStreams().newStreamReadableFromReadableStream(readableStream, options)\n}\nReadable.toWeb = function (streamReadable, options) {\n return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable, options)\n}\nReadable.wrap = function (src, options) {\n var _ref, _src$readableObjectMo\n return new Readable({\n objectMode:\n (_ref =\n (_src$readableObjectMo = src.readableObjectMode) !== null && _src$readableObjectMo !== undefined\n ? _src$readableObjectMo\n : src.objectMode) !== null && _ref !== undefined\n ? _ref\n : true,\n ...options,\n destroy(err, callback) {\n destroyImpl.destroyer(src, err)\n callback(err)\n }\n }).wrap(src)\n}\n","'use strict'\n\nconst { MathFloor, NumberIsInteger } = require('../../ours/primordials')\nconst { validateInteger } = require('../validators')\nconst { ERR_INVALID_ARG_VALUE } = require('../../ours/errors').codes\nlet defaultHighWaterMarkBytes = 16 * 1024\nlet defaultHighWaterMarkObjectMode = 16\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null\n}\nfunction getDefaultHighWaterMark(objectMode) {\n return objectMode ? defaultHighWaterMarkObjectMode : defaultHighWaterMarkBytes\n}\nfunction setDefaultHighWaterMark(objectMode, value) {\n validateInteger(value, 'value', 0)\n if (objectMode) {\n defaultHighWaterMarkObjectMode = value\n } else {\n defaultHighWaterMarkBytes = value\n }\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n const hwm = highWaterMarkFrom(options, isDuplex, duplexKey)\n if (hwm != null) {\n if (!NumberIsInteger(hwm) || hwm < 0) {\n const name = isDuplex ? `options.${duplexKey}` : 'options.highWaterMark'\n throw new ERR_INVALID_ARG_VALUE(name, hwm)\n }\n return MathFloor(hwm)\n }\n\n // Default value\n return getDefaultHighWaterMark(state.objectMode)\n}\nmodule.exports = {\n getHighWaterMark,\n getDefaultHighWaterMark,\n setDefaultHighWaterMark\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict'\n\nconst { ObjectSetPrototypeOf, Symbol } = require('../../ours/primordials')\nmodule.exports = Transform\nconst { ERR_METHOD_NOT_IMPLEMENTED } = require('../../ours/errors').codes\nconst Duplex = require('./duplex')\nconst { getHighWaterMark } = require('./state')\nObjectSetPrototypeOf(Transform.prototype, Duplex.prototype)\nObjectSetPrototypeOf(Transform, Duplex)\nconst kCallback = Symbol('kCallback')\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options)\n\n // TODO (ronag): This should preferably always be\n // applied but would be semver-major. Or even better;\n // make Transform a Readable with the Writable interface.\n const readableHighWaterMark = options ? getHighWaterMark(this, options, 'readableHighWaterMark', true) : null\n if (readableHighWaterMark === 0) {\n // A Duplex will buffer both on the writable and readable side while\n // a Transform just wants to buffer hwm number of elements. To avoid\n // buffering twice we disable buffering on the writable side.\n options = {\n ...options,\n highWaterMark: null,\n readableHighWaterMark,\n // TODO (ronag): 0 is not optimal since we have\n // a \"bug\" where we check needDrain before calling _write and not after.\n // Refs: https://github.com/nodejs/node/pull/32887\n // Refs: https://github.com/nodejs/node/pull/35941\n writableHighWaterMark: options.writableHighWaterMark || 0\n }\n }\n Duplex.call(this, options)\n\n // We have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false\n this[kCallback] = null\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform\n if (typeof options.flush === 'function') this._flush = options.flush\n }\n\n // When the writable side finishes, then flush out anything remaining.\n // Backwards compat. Some Transform streams incorrectly implement _final\n // instead of or in addition to _flush. By using 'prefinish' instead of\n // implementing _final we continue supporting this unfortunate use case.\n this.on('prefinish', prefinish)\n}\nfunction final(cb) {\n if (typeof this._flush === 'function' && !this.destroyed) {\n this._flush((er, data) => {\n if (er) {\n if (cb) {\n cb(er)\n } else {\n this.destroy(er)\n }\n return\n }\n if (data != null) {\n this.push(data)\n }\n this.push(null)\n if (cb) {\n cb()\n }\n })\n } else {\n this.push(null)\n if (cb) {\n cb()\n }\n }\n}\nfunction prefinish() {\n if (this._final !== final) {\n final.call(this)\n }\n}\nTransform.prototype._final = final\nTransform.prototype._transform = function (chunk, encoding, callback) {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_transform()')\n}\nTransform.prototype._write = function (chunk, encoding, callback) {\n const rState = this._readableState\n const wState = this._writableState\n const length = rState.length\n this._transform(chunk, encoding, (err, val) => {\n if (err) {\n callback(err)\n return\n }\n if (val != null) {\n this.push(val)\n }\n if (\n wState.ended ||\n // Backwards compat.\n length === rState.length ||\n // Backwards compat.\n rState.length < rState.highWaterMark\n ) {\n callback()\n } else {\n this[kCallback] = callback\n }\n })\n}\nTransform.prototype._read = function () {\n if (this[kCallback]) {\n const callback = this[kCallback]\n this[kCallback] = null\n callback()\n }\n}\n","'use strict'\n\nconst { SymbolAsyncIterator, SymbolIterator, SymbolFor } = require('../../ours/primordials')\n\n// We need to use SymbolFor to make these globally available\n// for interopt with readable-stream, i.e. readable-stream\n// and node core needs to be able to read/write private state\n// from each other for proper interoperability.\nconst kIsDestroyed = SymbolFor('nodejs.stream.destroyed')\nconst kIsErrored = SymbolFor('nodejs.stream.errored')\nconst kIsReadable = SymbolFor('nodejs.stream.readable')\nconst kIsWritable = SymbolFor('nodejs.stream.writable')\nconst kIsDisturbed = SymbolFor('nodejs.stream.disturbed')\nconst kIsClosedPromise = SymbolFor('nodejs.webstream.isClosedPromise')\nconst kControllerErrorFunction = SymbolFor('nodejs.webstream.controllerErrorFunction')\nfunction isReadableNodeStream(obj, strict = false) {\n var _obj$_readableState\n return !!(\n (\n obj &&\n typeof obj.pipe === 'function' &&\n typeof obj.on === 'function' &&\n (!strict || (typeof obj.pause === 'function' && typeof obj.resume === 'function')) &&\n (!obj._writableState ||\n ((_obj$_readableState = obj._readableState) === null || _obj$_readableState === undefined\n ? undefined\n : _obj$_readableState.readable) !== false) &&\n // Duplex\n (!obj._writableState || obj._readableState)\n ) // Writable has .pipe.\n )\n}\n\nfunction isWritableNodeStream(obj) {\n var _obj$_writableState\n return !!(\n (\n obj &&\n typeof obj.write === 'function' &&\n typeof obj.on === 'function' &&\n (!obj._readableState ||\n ((_obj$_writableState = obj._writableState) === null || _obj$_writableState === undefined\n ? undefined\n : _obj$_writableState.writable) !== false)\n ) // Duplex\n )\n}\n\nfunction isDuplexNodeStream(obj) {\n return !!(\n obj &&\n typeof obj.pipe === 'function' &&\n obj._readableState &&\n typeof obj.on === 'function' &&\n typeof obj.write === 'function'\n )\n}\nfunction isNodeStream(obj) {\n return (\n obj &&\n (obj._readableState ||\n obj._writableState ||\n (typeof obj.write === 'function' && typeof obj.on === 'function') ||\n (typeof obj.pipe === 'function' && typeof obj.on === 'function'))\n )\n}\nfunction isReadableStream(obj) {\n return !!(\n obj &&\n !isNodeStream(obj) &&\n typeof obj.pipeThrough === 'function' &&\n typeof obj.getReader === 'function' &&\n typeof obj.cancel === 'function'\n )\n}\nfunction isWritableStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.getWriter === 'function' && typeof obj.abort === 'function')\n}\nfunction isTransformStream(obj) {\n return !!(obj && !isNodeStream(obj) && typeof obj.readable === 'object' && typeof obj.writable === 'object')\n}\nfunction isWebStream(obj) {\n return isReadableStream(obj) || isWritableStream(obj) || isTransformStream(obj)\n}\nfunction isIterable(obj, isAsync) {\n if (obj == null) return false\n if (isAsync === true) return typeof obj[SymbolAsyncIterator] === 'function'\n if (isAsync === false) return typeof obj[SymbolIterator] === 'function'\n return typeof obj[SymbolAsyncIterator] === 'function' || typeof obj[SymbolIterator] === 'function'\n}\nfunction isDestroyed(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return !!(stream.destroyed || stream[kIsDestroyed] || (state !== null && state !== undefined && state.destroyed))\n}\n\n// Have been end():d.\nfunction isWritableEnded(stream) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableEnded === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.ended) !== 'boolean') return null\n return wState.ended\n}\n\n// Have emitted 'finish'.\nfunction isWritableFinished(stream, strict) {\n if (!isWritableNodeStream(stream)) return null\n if (stream.writableFinished === true) return true\n const wState = stream._writableState\n if (wState !== null && wState !== undefined && wState.errored) return false\n if (typeof (wState === null || wState === undefined ? undefined : wState.finished) !== 'boolean') return null\n return !!(wState.finished || (strict === false && wState.ended === true && wState.length === 0))\n}\n\n// Have been push(null):d.\nfunction isReadableEnded(stream) {\n if (!isReadableNodeStream(stream)) return null\n if (stream.readableEnded === true) return true\n const rState = stream._readableState\n if (!rState || rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.ended) !== 'boolean') return null\n return rState.ended\n}\n\n// Have emitted 'end'.\nfunction isReadableFinished(stream, strict) {\n if (!isReadableNodeStream(stream)) return null\n const rState = stream._readableState\n if (rState !== null && rState !== undefined && rState.errored) return false\n if (typeof (rState === null || rState === undefined ? undefined : rState.endEmitted) !== 'boolean') return null\n return !!(rState.endEmitted || (strict === false && rState.ended === true && rState.length === 0))\n}\nfunction isReadable(stream) {\n if (stream && stream[kIsReadable] != null) return stream[kIsReadable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.readable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isReadableNodeStream(stream) && stream.readable && !isReadableFinished(stream)\n}\nfunction isWritable(stream) {\n if (stream && stream[kIsWritable] != null) return stream[kIsWritable]\n if (typeof (stream === null || stream === undefined ? undefined : stream.writable) !== 'boolean') return null\n if (isDestroyed(stream)) return false\n return isWritableNodeStream(stream) && stream.writable && !isWritableEnded(stream)\n}\nfunction isFinished(stream, opts) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (isDestroyed(stream)) {\n return true\n }\n if ((opts === null || opts === undefined ? undefined : opts.readable) !== false && isReadable(stream)) {\n return false\n }\n if ((opts === null || opts === undefined ? undefined : opts.writable) !== false && isWritable(stream)) {\n return false\n }\n return true\n}\nfunction isWritableErrored(stream) {\n var _stream$_writableStat, _stream$_writableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.writableErrored) {\n return stream.writableErrored\n }\n return (_stream$_writableStat =\n (_stream$_writableStat2 = stream._writableState) === null || _stream$_writableStat2 === undefined\n ? undefined\n : _stream$_writableStat2.errored) !== null && _stream$_writableStat !== undefined\n ? _stream$_writableStat\n : null\n}\nfunction isReadableErrored(stream) {\n var _stream$_readableStat, _stream$_readableStat2\n if (!isNodeStream(stream)) {\n return null\n }\n if (stream.readableErrored) {\n return stream.readableErrored\n }\n return (_stream$_readableStat =\n (_stream$_readableStat2 = stream._readableState) === null || _stream$_readableStat2 === undefined\n ? undefined\n : _stream$_readableStat2.errored) !== null && _stream$_readableStat !== undefined\n ? _stream$_readableStat\n : null\n}\nfunction isClosed(stream) {\n if (!isNodeStream(stream)) {\n return null\n }\n if (typeof stream.closed === 'boolean') {\n return stream.closed\n }\n const wState = stream._writableState\n const rState = stream._readableState\n if (\n typeof (wState === null || wState === undefined ? undefined : wState.closed) === 'boolean' ||\n typeof (rState === null || rState === undefined ? undefined : rState.closed) === 'boolean'\n ) {\n return (\n (wState === null || wState === undefined ? undefined : wState.closed) ||\n (rState === null || rState === undefined ? undefined : rState.closed)\n )\n }\n if (typeof stream._closed === 'boolean' && isOutgoingMessage(stream)) {\n return stream._closed\n }\n return null\n}\nfunction isOutgoingMessage(stream) {\n return (\n typeof stream._closed === 'boolean' &&\n typeof stream._defaultKeepAlive === 'boolean' &&\n typeof stream._removedConnection === 'boolean' &&\n typeof stream._removedContLen === 'boolean'\n )\n}\nfunction isServerResponse(stream) {\n return typeof stream._sent100 === 'boolean' && isOutgoingMessage(stream)\n}\nfunction isServerRequest(stream) {\n var _stream$req\n return (\n typeof stream._consuming === 'boolean' &&\n typeof stream._dumped === 'boolean' &&\n ((_stream$req = stream.req) === null || _stream$req === undefined ? undefined : _stream$req.upgradeOrConnect) ===\n undefined\n )\n}\nfunction willEmitClose(stream) {\n if (!isNodeStream(stream)) return null\n const wState = stream._writableState\n const rState = stream._readableState\n const state = wState || rState\n return (\n (!state && isServerResponse(stream)) || !!(state && state.autoDestroy && state.emitClose && state.closed === false)\n )\n}\nfunction isDisturbed(stream) {\n var _stream$kIsDisturbed\n return !!(\n stream &&\n ((_stream$kIsDisturbed = stream[kIsDisturbed]) !== null && _stream$kIsDisturbed !== undefined\n ? _stream$kIsDisturbed\n : stream.readableDidRead || stream.readableAborted)\n )\n}\nfunction isErrored(stream) {\n var _ref,\n _ref2,\n _ref3,\n _ref4,\n _ref5,\n _stream$kIsErrored,\n _stream$_readableStat3,\n _stream$_writableStat3,\n _stream$_readableStat4,\n _stream$_writableStat4\n return !!(\n stream &&\n ((_ref =\n (_ref2 =\n (_ref3 =\n (_ref4 =\n (_ref5 =\n (_stream$kIsErrored = stream[kIsErrored]) !== null && _stream$kIsErrored !== undefined\n ? _stream$kIsErrored\n : stream.readableErrored) !== null && _ref5 !== undefined\n ? _ref5\n : stream.writableErrored) !== null && _ref4 !== undefined\n ? _ref4\n : (_stream$_readableStat3 = stream._readableState) === null || _stream$_readableStat3 === undefined\n ? undefined\n : _stream$_readableStat3.errorEmitted) !== null && _ref3 !== undefined\n ? _ref3\n : (_stream$_writableStat3 = stream._writableState) === null || _stream$_writableStat3 === undefined\n ? undefined\n : _stream$_writableStat3.errorEmitted) !== null && _ref2 !== undefined\n ? _ref2\n : (_stream$_readableStat4 = stream._readableState) === null || _stream$_readableStat4 === undefined\n ? undefined\n : _stream$_readableStat4.errored) !== null && _ref !== undefined\n ? _ref\n : (_stream$_writableStat4 = stream._writableState) === null || _stream$_writableStat4 === undefined\n ? undefined\n : _stream$_writableStat4.errored)\n )\n}\nmodule.exports = {\n isDestroyed,\n kIsDestroyed,\n isDisturbed,\n kIsDisturbed,\n isErrored,\n kIsErrored,\n isReadable,\n kIsReadable,\n kIsClosedPromise,\n kControllerErrorFunction,\n kIsWritable,\n isClosed,\n isDuplexNodeStream,\n isFinished,\n isIterable,\n isReadableNodeStream,\n isReadableStream,\n isReadableEnded,\n isReadableFinished,\n isReadableErrored,\n isNodeStream,\n isWebStream,\n isWritable,\n isWritableNodeStream,\n isWritableStream,\n isWritableEnded,\n isWritableFinished,\n isWritableErrored,\n isServerRequest,\n isServerResponse,\n willEmitClose,\n isTransformStream\n}\n","/* replacement start */\n\nconst process = require('process/')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n;('use strict')\nconst {\n ArrayPrototypeSlice,\n Error,\n FunctionPrototypeSymbolHasInstance,\n ObjectDefineProperty,\n ObjectDefineProperties,\n ObjectSetPrototypeOf,\n StringPrototypeToLowerCase,\n Symbol,\n SymbolHasInstance\n} = require('../../ours/primordials')\nmodule.exports = Writable\nWritable.WritableState = WritableState\nconst { EventEmitter: EE } = require('events')\nconst Stream = require('./legacy').Stream\nconst { Buffer } = require('buffer')\nconst destroyImpl = require('./destroy')\nconst { addAbortSignal } = require('./add-abort-signal')\nconst { getHighWaterMark, getDefaultHighWaterMark } = require('./state')\nconst {\n ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED,\n ERR_STREAM_ALREADY_FINISHED,\n ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING\n} = require('../../ours/errors').codes\nconst { errorOrDestroy } = destroyImpl\nObjectSetPrototypeOf(Writable.prototype, Stream.prototype)\nObjectSetPrototypeOf(Writable, Stream)\nfunction nop() {}\nconst kOnFinished = Symbol('kOnFinished')\nfunction WritableState(options, stream, isDuplex) {\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof require('./duplex')\n\n // Object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!(options && options.objectMode)\n if (isDuplex) this.objectMode = this.objectMode || !!(options && options.writableObjectMode)\n\n // The point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write().\n this.highWaterMark = options\n ? getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex)\n : getDefaultHighWaterMark(false)\n\n // if _final has been called.\n this.finalCalled = false\n\n // drain event flag.\n this.needDrain = false\n // At the start of calling end()\n this.ending = false\n // When end() has been called, and returned.\n this.ended = false\n // When 'finish' is emitted.\n this.finished = false\n\n // Has it been destroyed\n this.destroyed = false\n\n // Should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n const noDecode = !!(options && options.decodeStrings === false)\n this.decodeStrings = !noDecode\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = (options && options.defaultEncoding) || 'utf8'\n\n // Not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0\n\n // A flag to see when we're in the middle of a write.\n this.writing = false\n\n // When true all writes will be buffered until .uncork() call.\n this.corked = 0\n\n // A flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true\n\n // A flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false\n\n // The callback that's passed to _write(chunk, cb).\n this.onwrite = onwrite.bind(undefined, stream)\n\n // The callback that the user supplies to write(chunk, encoding, cb).\n this.writecb = null\n\n // The amount that is being written when _write is called.\n this.writelen = 0\n\n // Storage for data passed to the afterWrite() callback in case of\n // synchronous _write() completion.\n this.afterWriteTickInfo = null\n resetBuffer(this)\n\n // Number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted.\n this.pendingcb = 0\n\n // Stream is still being constructed and cannot be\n // destroyed until construction finished or failed.\n // Async construction is opt in, therefore we start as\n // constructed.\n this.constructed = true\n\n // Emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams.\n this.prefinished = false\n\n // True if the error was already emitted and should not be thrown again.\n this.errorEmitted = false\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = !options || options.emitClose !== false\n\n // Should .destroy() be called after 'finish' (and potentially 'end').\n this.autoDestroy = !options || options.autoDestroy !== false\n\n // Indicates whether the stream has errored. When true all write() calls\n // should return false. This is needed since when autoDestroy\n // is disabled we need a way to tell whether the stream has failed.\n this.errored = null\n\n // Indicates whether the stream has finished destroying.\n this.closed = false\n\n // True if close has been emitted or would have been emitted\n // depending on emitClose.\n this.closeEmitted = false\n this[kOnFinished] = []\n}\nfunction resetBuffer(state) {\n state.buffered = []\n state.bufferedIndex = 0\n state.allBuffers = true\n state.allNoop = true\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n return ArrayPrototypeSlice(this.buffered, this.bufferedIndex)\n}\nObjectDefineProperty(WritableState.prototype, 'bufferedRequestCount', {\n __proto__: null,\n get() {\n return this.buffered.length - this.bufferedIndex\n }\n})\nfunction Writable(options) {\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5.\n const isDuplex = this instanceof require('./duplex')\n if (!isDuplex && !FunctionPrototypeSymbolHasInstance(Writable, this)) return new Writable(options)\n this._writableState = new WritableState(options, this, isDuplex)\n if (options) {\n if (typeof options.write === 'function') this._write = options.write\n if (typeof options.writev === 'function') this._writev = options.writev\n if (typeof options.destroy === 'function') this._destroy = options.destroy\n if (typeof options.final === 'function') this._final = options.final\n if (typeof options.construct === 'function') this._construct = options.construct\n if (options.signal) addAbortSignal(options.signal, this)\n }\n Stream.call(this, options)\n destroyImpl.construct(this, () => {\n const state = this._writableState\n if (!state.writing) {\n clearBuffer(this, state)\n }\n finishMaybe(this, state)\n })\n}\nObjectDefineProperty(Writable, SymbolHasInstance, {\n __proto__: null,\n value: function (object) {\n if (FunctionPrototypeSymbolHasInstance(this, object)) return true\n if (this !== Writable) return false\n return object && object._writableState instanceof WritableState\n }\n})\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE())\n}\nfunction _write(stream, chunk, encoding, cb) {\n const state = stream._writableState\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = state.defaultEncoding\n } else {\n if (!encoding) encoding = state.defaultEncoding\n else if (encoding !== 'buffer' && !Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n if (typeof cb !== 'function') cb = nop\n }\n if (chunk === null) {\n throw new ERR_STREAM_NULL_VALUES()\n } else if (!state.objectMode) {\n if (typeof chunk === 'string') {\n if (state.decodeStrings !== false) {\n chunk = Buffer.from(chunk, encoding)\n encoding = 'buffer'\n }\n } else if (chunk instanceof Buffer) {\n encoding = 'buffer'\n } else if (Stream._isUint8Array(chunk)) {\n chunk = Stream._uint8ArrayToBuffer(chunk)\n encoding = 'buffer'\n } else {\n throw new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk)\n }\n }\n let err\n if (state.ending) {\n err = new ERR_STREAM_WRITE_AFTER_END()\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('write')\n }\n if (err) {\n process.nextTick(cb, err)\n errorOrDestroy(stream, err, true)\n return err\n }\n state.pendingcb++\n return writeOrBuffer(stream, state, chunk, encoding, cb)\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n return _write(this, chunk, encoding, cb) === true\n}\nWritable.prototype.cork = function () {\n this._writableState.corked++\n}\nWritable.prototype.uncork = function () {\n const state = this._writableState\n if (state.corked) {\n state.corked--\n if (!state.writing) clearBuffer(this, state)\n }\n}\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = StringPrototypeToLowerCase(encoding)\n if (!Buffer.isEncoding(encoding)) throw new ERR_UNKNOWN_ENCODING(encoding)\n this._writableState.defaultEncoding = encoding\n return this\n}\n\n// If we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, callback) {\n const len = state.objectMode ? 1 : chunk.length\n state.length += len\n\n // stream._write resets state.length\n const ret = state.length < state.highWaterMark\n // We must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true\n if (state.writing || state.corked || state.errored || !state.constructed) {\n state.buffered.push({\n chunk,\n encoding,\n callback\n })\n if (state.allBuffers && encoding !== 'buffer') {\n state.allBuffers = false\n }\n if (state.allNoop && callback !== nop) {\n state.allNoop = false\n }\n } else {\n state.writelen = len\n state.writecb = callback\n state.writing = true\n state.sync = true\n stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n }\n\n // Return false if errored or destroyed in order to break\n // any synchronous while(stream.write(data)) loops.\n return ret && !state.errored && !state.destroyed\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len\n state.writecb = cb\n state.writing = true\n state.sync = true\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'))\n else if (writev) stream._writev(chunk, state.onwrite)\n else stream._write(chunk, encoding, state.onwrite)\n state.sync = false\n}\nfunction onwriteError(stream, state, er, cb) {\n --state.pendingcb\n cb(er)\n // Ensure callbacks are invoked even when autoDestroy is\n // not enabled. Passing `er` here doesn't make sense since\n // it's related to one specific write, not to the buffered\n // writes.\n errorBuffer(state)\n // This can emit error, but error must always follow cb.\n errorOrDestroy(stream, er)\n}\nfunction onwrite(stream, er) {\n const state = stream._writableState\n const sync = state.sync\n const cb = state.writecb\n if (typeof cb !== 'function') {\n errorOrDestroy(stream, new ERR_MULTIPLE_CALLBACK())\n return\n }\n state.writing = false\n state.writecb = null\n state.length -= state.writelen\n state.writelen = 0\n if (er) {\n // Avoid V8 leak, https://github.com/nodejs/node/pull/34103#issuecomment-652002364\n er.stack // eslint-disable-line no-unused-expressions\n\n if (!state.errored) {\n state.errored = er\n }\n\n // In case of duplex streams we need to notify the readable side of the\n // error.\n if (stream._readableState && !stream._readableState.errored) {\n stream._readableState.errored = er\n }\n if (sync) {\n process.nextTick(onwriteError, stream, state, er, cb)\n } else {\n onwriteError(stream, state, er, cb)\n }\n } else {\n if (state.buffered.length > state.bufferedIndex) {\n clearBuffer(stream, state)\n }\n if (sync) {\n // It is a common case that the callback passed to .write() is always\n // the same. In that case, we do not schedule a new nextTick(), but\n // rather just increase a counter, to improve performance and avoid\n // memory allocations.\n if (state.afterWriteTickInfo !== null && state.afterWriteTickInfo.cb === cb) {\n state.afterWriteTickInfo.count++\n } else {\n state.afterWriteTickInfo = {\n count: 1,\n cb,\n stream,\n state\n }\n process.nextTick(afterWriteTick, state.afterWriteTickInfo)\n }\n } else {\n afterWrite(stream, state, 1, cb)\n }\n }\n}\nfunction afterWriteTick({ stream, state, count, cb }) {\n state.afterWriteTickInfo = null\n return afterWrite(stream, state, count, cb)\n}\nfunction afterWrite(stream, state, count, cb) {\n const needDrain = !state.ending && !stream.destroyed && state.length === 0 && state.needDrain\n if (needDrain) {\n state.needDrain = false\n stream.emit('drain')\n }\n while (count-- > 0) {\n state.pendingcb--\n cb()\n }\n if (state.destroyed) {\n errorBuffer(state)\n }\n finishMaybe(stream, state)\n}\n\n// If there's something in the buffer waiting, then invoke callbacks.\nfunction errorBuffer(state) {\n if (state.writing) {\n return\n }\n for (let n = state.bufferedIndex; n < state.buffered.length; ++n) {\n var _state$errored\n const { chunk, callback } = state.buffered[n]\n const len = state.objectMode ? 1 : chunk.length\n state.length -= len\n callback(\n (_state$errored = state.errored) !== null && _state$errored !== undefined\n ? _state$errored\n : new ERR_STREAM_DESTROYED('write')\n )\n }\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n var _state$errored2\n onfinishCallbacks[i](\n (_state$errored2 = state.errored) !== null && _state$errored2 !== undefined\n ? _state$errored2\n : new ERR_STREAM_DESTROYED('end')\n )\n }\n resetBuffer(state)\n}\n\n// If there's something in the buffer waiting, then process it.\nfunction clearBuffer(stream, state) {\n if (state.corked || state.bufferProcessing || state.destroyed || !state.constructed) {\n return\n }\n const { buffered, bufferedIndex, objectMode } = state\n const bufferedLength = buffered.length - bufferedIndex\n if (!bufferedLength) {\n return\n }\n let i = bufferedIndex\n state.bufferProcessing = true\n if (bufferedLength > 1 && stream._writev) {\n state.pendingcb -= bufferedLength - 1\n const callback = state.allNoop\n ? nop\n : (err) => {\n for (let n = i; n < buffered.length; ++n) {\n buffered[n].callback(err)\n }\n }\n // Make a copy of `buffered` if it's going to be used by `callback` above,\n // since `doWrite` will mutate the array.\n const chunks = state.allNoop && i === 0 ? buffered : ArrayPrototypeSlice(buffered, i)\n chunks.allBuffers = state.allBuffers\n doWrite(stream, state, true, state.length, chunks, '', callback)\n resetBuffer(state)\n } else {\n do {\n const { chunk, encoding, callback } = buffered[i]\n buffered[i++] = null\n const len = objectMode ? 1 : chunk.length\n doWrite(stream, state, false, len, chunk, encoding, callback)\n } while (i < buffered.length && !state.writing)\n if (i === buffered.length) {\n resetBuffer(state)\n } else if (i > 256) {\n buffered.splice(0, i)\n state.bufferedIndex = 0\n } else {\n state.bufferedIndex = i\n }\n }\n state.bufferProcessing = false\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n if (this._writev) {\n this._writev(\n [\n {\n chunk,\n encoding\n }\n ],\n cb\n )\n } else {\n throw new ERR_METHOD_NOT_IMPLEMENTED('_write()')\n }\n}\nWritable.prototype._writev = null\nWritable.prototype.end = function (chunk, encoding, cb) {\n const state = this._writableState\n if (typeof chunk === 'function') {\n cb = chunk\n chunk = null\n encoding = null\n } else if (typeof encoding === 'function') {\n cb = encoding\n encoding = null\n }\n let err\n if (chunk !== null && chunk !== undefined) {\n const ret = _write(this, chunk, encoding)\n if (ret instanceof Error) {\n err = ret\n }\n }\n\n // .end() fully uncorks.\n if (state.corked) {\n state.corked = 1\n this.uncork()\n }\n if (err) {\n // Do nothing...\n } else if (!state.errored && !state.ending) {\n // This is forgiving in terms of unnecessary calls to end() and can hide\n // logic errors. However, usually such errors are harmless and causing a\n // hard error can be disproportionately destructive. It is not always\n // trivial for the user to determine whether end() needs to be called\n // or not.\n\n state.ending = true\n finishMaybe(this, state, true)\n state.ended = true\n } else if (state.finished) {\n err = new ERR_STREAM_ALREADY_FINISHED('end')\n } else if (state.destroyed) {\n err = new ERR_STREAM_DESTROYED('end')\n }\n if (typeof cb === 'function') {\n if (err || state.finished) {\n process.nextTick(cb, err)\n } else {\n state[kOnFinished].push(cb)\n }\n }\n return this\n}\nfunction needFinish(state) {\n return (\n state.ending &&\n !state.destroyed &&\n state.constructed &&\n state.length === 0 &&\n !state.errored &&\n state.buffered.length === 0 &&\n !state.finished &&\n !state.writing &&\n !state.errorEmitted &&\n !state.closeEmitted\n )\n}\nfunction callFinal(stream, state) {\n let called = false\n function onFinish(err) {\n if (called) {\n errorOrDestroy(stream, err !== null && err !== undefined ? err : ERR_MULTIPLE_CALLBACK())\n return\n }\n called = true\n state.pendingcb--\n if (err) {\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i](err)\n }\n errorOrDestroy(stream, err, state.sync)\n } else if (needFinish(state)) {\n state.prefinished = true\n stream.emit('prefinish')\n // Backwards compat. Don't check state.sync here.\n // Some streams assume 'finish' will be emitted\n // asynchronously relative to _final callback.\n state.pendingcb++\n process.nextTick(finish, stream, state)\n }\n }\n state.sync = true\n state.pendingcb++\n try {\n stream._final(onFinish)\n } catch (err) {\n onFinish(err)\n }\n state.sync = false\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.finalCalled = true\n callFinal(stream, state)\n } else {\n state.prefinished = true\n stream.emit('prefinish')\n }\n }\n}\nfunction finishMaybe(stream, state, sync) {\n if (needFinish(state)) {\n prefinish(stream, state)\n if (state.pendingcb === 0) {\n if (sync) {\n state.pendingcb++\n process.nextTick(\n (stream, state) => {\n if (needFinish(state)) {\n finish(stream, state)\n } else {\n state.pendingcb--\n }\n },\n stream,\n state\n )\n } else if (needFinish(state)) {\n state.pendingcb++\n finish(stream, state)\n }\n }\n }\n}\nfunction finish(stream, state) {\n state.pendingcb--\n state.finished = true\n const onfinishCallbacks = state[kOnFinished].splice(0)\n for (let i = 0; i < onfinishCallbacks.length; i++) {\n onfinishCallbacks[i]()\n }\n stream.emit('finish')\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well.\n const rState = stream._readableState\n const autoDestroy =\n !rState ||\n (rState.autoDestroy &&\n // We don't expect the readable to ever 'end'\n // if readable is explicitly set to false.\n (rState.endEmitted || rState.readable === false))\n if (autoDestroy) {\n stream.destroy()\n }\n }\n}\nObjectDefineProperties(Writable.prototype, {\n closed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.closed : false\n }\n },\n destroyed: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.destroyed : false\n },\n set(value) {\n // Backward compatibility, the user is explicitly managing destroyed.\n if (this._writableState) {\n this._writableState.destroyed = value\n }\n }\n },\n writable: {\n __proto__: null,\n get() {\n const w = this._writableState\n // w.writable === false means that this is part of a Duplex stream\n // where the writable side was disabled upon construction.\n // Compat. The user might manually disable writable side through\n // deprecated setter.\n return !!w && w.writable !== false && !w.destroyed && !w.errored && !w.ending && !w.ended\n },\n set(val) {\n // Backwards compatible.\n if (this._writableState) {\n this._writableState.writable = !!val\n }\n }\n },\n writableFinished: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.finished : false\n }\n },\n writableObjectMode: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.objectMode : false\n }\n },\n writableBuffer: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.getBuffer()\n }\n },\n writableEnded: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.ending : false\n }\n },\n writableNeedDrain: {\n __proto__: null,\n get() {\n const wState = this._writableState\n if (!wState) return false\n return !wState.destroyed && !wState.ending && wState.needDrain\n }\n },\n writableHighWaterMark: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.highWaterMark\n }\n },\n writableCorked: {\n __proto__: null,\n get() {\n return this._writableState ? this._writableState.corked : 0\n }\n },\n writableLength: {\n __proto__: null,\n get() {\n return this._writableState && this._writableState.length\n }\n },\n errored: {\n __proto__: null,\n enumerable: false,\n get() {\n return this._writableState ? this._writableState.errored : null\n }\n },\n writableAborted: {\n __proto__: null,\n enumerable: false,\n get: function () {\n return !!(\n this._writableState.writable !== false &&\n (this._writableState.destroyed || this._writableState.errored) &&\n !this._writableState.finished\n )\n }\n }\n})\nconst destroy = destroyImpl.destroy\nWritable.prototype.destroy = function (err, cb) {\n const state = this._writableState\n\n // Invoke pending callbacks.\n if (!state.destroyed && (state.bufferedIndex < state.buffered.length || state[kOnFinished].length)) {\n process.nextTick(errorBuffer, state)\n }\n destroy.call(this, err, cb)\n return this\n}\nWritable.prototype._undestroy = destroyImpl.undestroy\nWritable.prototype._destroy = function (err, cb) {\n cb(err)\n}\nWritable.prototype[EE.captureRejectionSymbol] = function (err) {\n this.destroy(err)\n}\nlet webStreamsAdapters\n\n// Lazy to avoid circular references\nfunction lazyWebStreams() {\n if (webStreamsAdapters === undefined) webStreamsAdapters = {}\n return webStreamsAdapters\n}\nWritable.fromWeb = function (writableStream, options) {\n return lazyWebStreams().newStreamWritableFromWritableStream(writableStream, options)\n}\nWritable.toWeb = function (streamWritable) {\n return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)\n}\n","/* eslint jsdoc/require-jsdoc: \"error\" */\n\n'use strict'\n\nconst {\n ArrayIsArray,\n ArrayPrototypeIncludes,\n ArrayPrototypeJoin,\n ArrayPrototypeMap,\n NumberIsInteger,\n NumberIsNaN,\n NumberMAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER,\n NumberParseInt,\n ObjectPrototypeHasOwnProperty,\n RegExpPrototypeExec,\n String,\n StringPrototypeToUpperCase,\n StringPrototypeTrim\n} = require('../ours/primordials')\nconst {\n hideStackFrames,\n codes: { ERR_SOCKET_BAD_PORT, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE, ERR_UNKNOWN_SIGNAL }\n} = require('../ours/errors')\nconst { normalizeEncoding } = require('../ours/util')\nconst { isAsyncFunction, isArrayBufferView } = require('../ours/util').types\nconst signals = {}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isInt32(value) {\n return value === (value | 0)\n}\n\n/**\n * @param {*} value\n * @returns {boolean}\n */\nfunction isUint32(value) {\n return value === value >>> 0\n}\nconst octalReg = /^[0-7]+$/\nconst modeDesc = 'must be a 32-bit unsigned integer or an octal string'\n\n/**\n * Parse and validate values that will be converted into mode_t (the S_*\n * constants). Only valid numbers and octal strings are allowed. They could be\n * converted to 32-bit unsigned integers or non-negative signed integers in the\n * C++ land, but any value higher than 0o777 will result in platform-specific\n * behaviors.\n * @param {*} value Values to be validated\n * @param {string} name Name of the argument\n * @param {number} [def] If specified, will be returned for invalid values\n * @returns {number}\n */\nfunction parseFileMode(value, name, def) {\n if (typeof value === 'undefined') {\n value = def\n }\n if (typeof value === 'string') {\n if (RegExpPrototypeExec(octalReg, value) === null) {\n throw new ERR_INVALID_ARG_VALUE(name, value, modeDesc)\n }\n value = NumberParseInt(value, 8)\n }\n validateUint32(value, name)\n return value\n}\n\n/**\n * @callback validateInteger\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInteger} */\nconst validateInteger = hideStackFrames((value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n})\n\n/**\n * @callback validateInt32\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateInt32} */\nconst validateInt32 = hideStackFrames((value, name, min = -2147483648, max = 2147483647) => {\n // The defaults for min and max correspond to the limits of 32-bit integers.\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateUint32\n * @param {*} value\n * @param {string} name\n * @param {number|boolean} [positive=false]\n * @returns {asserts value is number}\n */\n\n/** @type {validateUint32} */\nconst validateUint32 = hideStackFrames((value, name, positive = false) => {\n if (typeof value !== 'number') {\n throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n if (!NumberIsInteger(value)) {\n throw new ERR_OUT_OF_RANGE(name, 'an integer', value)\n }\n const min = positive ? 1 : 0\n // 2 ** 32 === 4294967296\n const max = 4294967295\n if (value < min || value > max) {\n throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value)\n }\n})\n\n/**\n * @callback validateString\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string}\n */\n\n/** @type {validateString} */\nfunction validateString(value, name) {\n if (typeof value !== 'string') throw new ERR_INVALID_ARG_TYPE(name, 'string', value)\n}\n\n/**\n * @callback validateNumber\n * @param {*} value\n * @param {string} name\n * @param {number} [min]\n * @param {number} [max]\n * @returns {asserts value is number}\n */\n\n/** @type {validateNumber} */\nfunction validateNumber(value, name, min = undefined, max) {\n if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value)\n if (\n (min != null && value < min) ||\n (max != null && value > max) ||\n ((min != null || max != null) && NumberIsNaN(value))\n ) {\n throw new ERR_OUT_OF_RANGE(\n name,\n `${min != null ? `>= ${min}` : ''}${min != null && max != null ? ' && ' : ''}${max != null ? `<= ${max}` : ''}`,\n value\n )\n }\n}\n\n/**\n * @callback validateOneOf\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} oneOf\n */\n\n/** @type {validateOneOf} */\nconst validateOneOf = hideStackFrames((value, name, oneOf) => {\n if (!ArrayPrototypeIncludes(oneOf, value)) {\n const allowed = ArrayPrototypeJoin(\n ArrayPrototypeMap(oneOf, (v) => (typeof v === 'string' ? `'${v}'` : String(v))),\n ', '\n )\n const reason = 'must be one of: ' + allowed\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateBoolean\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean}\n */\n\n/** @type {validateBoolean} */\nfunction validateBoolean(value, name) {\n if (typeof value !== 'boolean') throw new ERR_INVALID_ARG_TYPE(name, 'boolean', value)\n}\n\n/**\n * @param {any} options\n * @param {string} key\n * @param {boolean} defaultValue\n * @returns {boolean}\n */\nfunction getOwnPropertyValueOrDefault(options, key, defaultValue) {\n return options == null || !ObjectPrototypeHasOwnProperty(options, key) ? defaultValue : options[key]\n}\n\n/**\n * @callback validateObject\n * @param {*} value\n * @param {string} name\n * @param {{\n * allowArray?: boolean,\n * allowFunction?: boolean,\n * nullable?: boolean\n * }} [options]\n */\n\n/** @type {validateObject} */\nconst validateObject = hideStackFrames((value, name, options = null) => {\n const allowArray = getOwnPropertyValueOrDefault(options, 'allowArray', false)\n const allowFunction = getOwnPropertyValueOrDefault(options, 'allowFunction', false)\n const nullable = getOwnPropertyValueOrDefault(options, 'nullable', false)\n if (\n (!nullable && value === null) ||\n (!allowArray && ArrayIsArray(value)) ||\n (typeof value !== 'object' && (!allowFunction || typeof value !== 'function'))\n ) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Object', value)\n }\n})\n\n/**\n * @callback validateDictionary - We are using the Web IDL Standard definition\n * of \"dictionary\" here, which means any value\n * whose Type is either Undefined, Null, or\n * Object (which includes functions).\n * @param {*} value\n * @param {string} name\n * @see https://webidl.spec.whatwg.org/#es-dictionary\n * @see https://tc39.es/ecma262/#table-typeof-operator-results\n */\n\n/** @type {validateDictionary} */\nconst validateDictionary = hideStackFrames((value, name) => {\n if (value != null && typeof value !== 'object' && typeof value !== 'function') {\n throw new ERR_INVALID_ARG_TYPE(name, 'a dictionary', value)\n }\n})\n\n/**\n * @callback validateArray\n * @param {*} value\n * @param {string} name\n * @param {number} [minLength]\n * @returns {asserts value is any[]}\n */\n\n/** @type {validateArray} */\nconst validateArray = hideStackFrames((value, name, minLength = 0) => {\n if (!ArrayIsArray(value)) {\n throw new ERR_INVALID_ARG_TYPE(name, 'Array', value)\n }\n if (value.length < minLength) {\n const reason = `must be longer than ${minLength}`\n throw new ERR_INVALID_ARG_VALUE(name, value, reason)\n }\n})\n\n/**\n * @callback validateStringArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is string[]}\n */\n\n/** @type {validateStringArray} */\nfunction validateStringArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateString(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateBooleanArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is boolean[]}\n */\n\n/** @type {validateBooleanArray} */\nfunction validateBooleanArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n validateBoolean(value[i], `${name}[${i}]`)\n }\n}\n\n/**\n * @callback validateAbortSignalArray\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is AbortSignal[]}\n */\n\n/** @type {validateAbortSignalArray} */\nfunction validateAbortSignalArray(value, name) {\n validateArray(value, name)\n for (let i = 0; i < value.length; i++) {\n const signal = value[i]\n const indexedName = `${name}[${i}]`\n if (signal == null) {\n throw new ERR_INVALID_ARG_TYPE(indexedName, 'AbortSignal', signal)\n }\n validateAbortSignal(signal, indexedName)\n }\n}\n\n/**\n * @param {*} signal\n * @param {string} [name='signal']\n * @returns {asserts signal is keyof signals}\n */\nfunction validateSignalName(signal, name = 'signal') {\n validateString(signal, name)\n if (signals[signal] === undefined) {\n if (signals[StringPrototypeToUpperCase(signal)] !== undefined) {\n throw new ERR_UNKNOWN_SIGNAL(signal + ' (signals must use all capital letters)')\n }\n throw new ERR_UNKNOWN_SIGNAL(signal)\n }\n}\n\n/**\n * @callback validateBuffer\n * @param {*} buffer\n * @param {string} [name='buffer']\n * @returns {asserts buffer is ArrayBufferView}\n */\n\n/** @type {validateBuffer} */\nconst validateBuffer = hideStackFrames((buffer, name = 'buffer') => {\n if (!isArrayBufferView(buffer)) {\n throw new ERR_INVALID_ARG_TYPE(name, ['Buffer', 'TypedArray', 'DataView'], buffer)\n }\n})\n\n/**\n * @param {string} data\n * @param {string} encoding\n */\nfunction validateEncoding(data, encoding) {\n const normalizedEncoding = normalizeEncoding(encoding)\n const length = data.length\n if (normalizedEncoding === 'hex' && length % 2 !== 0) {\n throw new ERR_INVALID_ARG_VALUE('encoding', encoding, `is invalid for data of length ${length}`)\n }\n}\n\n/**\n * Check that the port number is not NaN when coerced to a number,\n * is an integer and that it falls within the legal range of port numbers.\n * @param {*} port\n * @param {string} [name='Port']\n * @param {boolean} [allowZero=true]\n * @returns {number}\n */\nfunction validatePort(port, name = 'Port', allowZero = true) {\n if (\n (typeof port !== 'number' && typeof port !== 'string') ||\n (typeof port === 'string' && StringPrototypeTrim(port).length === 0) ||\n +port !== +port >>> 0 ||\n port > 0xffff ||\n (port === 0 && !allowZero)\n ) {\n throw new ERR_SOCKET_BAD_PORT(name, port, allowZero)\n }\n return port | 0\n}\n\n/**\n * @callback validateAbortSignal\n * @param {*} signal\n * @param {string} name\n */\n\n/** @type {validateAbortSignal} */\nconst validateAbortSignal = hideStackFrames((signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n})\n\n/**\n * @callback validateFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validateFunction} */\nconst validateFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validatePlainFunction\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is Function}\n */\n\n/** @type {validatePlainFunction} */\nconst validatePlainFunction = hideStackFrames((value, name) => {\n if (typeof value !== 'function' || isAsyncFunction(value)) throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n})\n\n/**\n * @callback validateUndefined\n * @param {*} value\n * @param {string} name\n * @returns {asserts value is undefined}\n */\n\n/** @type {validateUndefined} */\nconst validateUndefined = hideStackFrames((value, name) => {\n if (value !== undefined) throw new ERR_INVALID_ARG_TYPE(name, 'undefined', value)\n})\n\n/**\n * @template T\n * @param {T} value\n * @param {string} name\n * @param {T[]} union\n */\nfunction validateUnion(value, name, union) {\n if (!ArrayPrototypeIncludes(union, value)) {\n throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value)\n }\n}\n\n/*\n The rules for the Link header field are described here:\n https://www.rfc-editor.org/rfc/rfc8288.html#section-3\n\n This regex validates any string surrounded by angle brackets\n (not necessarily a valid URI reference) followed by zero or more\n link-params separated by semicolons.\n*/\nconst linkValueRegExp = /^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/\n\n/**\n * @param {any} value\n * @param {string} name\n */\nfunction validateLinkHeaderFormat(value, name) {\n if (typeof value === 'undefined' || !RegExpPrototypeExec(linkValueRegExp, value)) {\n throw new ERR_INVALID_ARG_VALUE(\n name,\n value,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n }\n}\n\n/**\n * @param {any} hints\n * @return {string}\n */\nfunction validateLinkHeaderValue(hints) {\n if (typeof hints === 'string') {\n validateLinkHeaderFormat(hints, 'hints')\n return hints\n } else if (ArrayIsArray(hints)) {\n const hintsLength = hints.length\n let result = ''\n if (hintsLength === 0) {\n return result\n }\n for (let i = 0; i < hintsLength; i++) {\n const link = hints[i]\n validateLinkHeaderFormat(link, 'hints')\n result += link\n if (i !== hintsLength - 1) {\n result += ', '\n }\n }\n return result\n }\n throw new ERR_INVALID_ARG_VALUE(\n 'hints',\n hints,\n 'must be an array or string of format \"; rel=preload; as=style\"'\n )\n}\nmodule.exports = {\n isInt32,\n isUint32,\n parseFileMode,\n validateArray,\n validateStringArray,\n validateBooleanArray,\n validateAbortSignalArray,\n validateBoolean,\n validateBuffer,\n validateDictionary,\n validateEncoding,\n validateFunction,\n validateInt32,\n validateInteger,\n validateNumber,\n validateObject,\n validateOneOf,\n validatePlainFunction,\n validatePort,\n validateSignalName,\n validateString,\n validateUint32,\n validateUndefined,\n validateUnion,\n validateAbortSignal,\n validateLinkHeaderValue\n}\n","'use strict'\n\nconst CustomStream = require('../stream')\nconst promises = require('../stream/promises')\nconst originalDestroy = CustomStream.Readable.destroy\nmodule.exports = CustomStream.Readable\n\n// Explicit export naming is needed for ESM\nmodule.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer\nmodule.exports._isUint8Array = CustomStream._isUint8Array\nmodule.exports.isDisturbed = CustomStream.isDisturbed\nmodule.exports.isErrored = CustomStream.isErrored\nmodule.exports.isReadable = CustomStream.isReadable\nmodule.exports.Readable = CustomStream.Readable\nmodule.exports.Writable = CustomStream.Writable\nmodule.exports.Duplex = CustomStream.Duplex\nmodule.exports.Transform = CustomStream.Transform\nmodule.exports.PassThrough = CustomStream.PassThrough\nmodule.exports.addAbortSignal = CustomStream.addAbortSignal\nmodule.exports.finished = CustomStream.finished\nmodule.exports.destroy = CustomStream.destroy\nmodule.exports.destroy = originalDestroy\nmodule.exports.pipeline = CustomStream.pipeline\nmodule.exports.compose = CustomStream.compose\nObject.defineProperty(CustomStream, 'promises', {\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nmodule.exports.Stream = CustomStream.Stream\n\n// Allow default importing\nmodule.exports.default = module.exports\n","'use strict'\n\nconst { format, inspect, AggregateError: CustomAggregateError } = require('./util')\n\n/*\n This file is a reduced and adapted version of the main lib/internal/errors.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/errors.js\n\n Don't try to replace with the original file and keep it up to date (starting from E(...) definitions)\n with the upstream file.\n*/\n\nconst AggregateError = globalThis.AggregateError || CustomAggregateError\nconst kIsNodeError = Symbol('kIsNodeError')\nconst kTypes = [\n 'string',\n 'function',\n 'number',\n 'object',\n // Accept 'Function' and 'Object' as alternative to the lower cased version.\n 'Function',\n 'Object',\n 'boolean',\n 'bigint',\n 'symbol'\n]\nconst classRegExp = /^([A-Z][a-z0-9]*)+$/\nconst nodeInternalPrefix = '__node_internal_'\nconst codes = {}\nfunction assert(value, message) {\n if (!value) {\n throw new codes.ERR_INTERNAL_ASSERTION(message)\n }\n}\n\n// Only use this for integers! Decimal numbers do not work with this function.\nfunction addNumericalSeparator(val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\nfunction getMessage(key, msg, args) {\n if (typeof msg === 'function') {\n assert(\n msg.length <= args.length,\n // Default options do not count.\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`\n )\n return msg(...args)\n }\n const expectedLength = (msg.match(/%[dfijoOs]/g) || []).length\n assert(\n expectedLength === args.length,\n `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`\n )\n if (args.length === 0) {\n return msg\n }\n return format(msg, ...args)\n}\nfunction E(code, message, Base) {\n if (!Base) {\n Base = Error\n }\n class NodeError extends Base {\n constructor(...args) {\n super(getMessage(code, message, args))\n }\n toString() {\n return `${this.name} [${code}]: ${this.message}`\n }\n }\n Object.defineProperties(NodeError.prototype, {\n name: {\n value: Base.name,\n writable: true,\n enumerable: false,\n configurable: true\n },\n toString: {\n value() {\n return `${this.name} [${code}]: ${this.message}`\n },\n writable: true,\n enumerable: false,\n configurable: true\n }\n })\n NodeError.prototype.code = code\n NodeError.prototype[kIsNodeError] = true\n codes[code] = NodeError\n}\nfunction hideStackFrames(fn) {\n // We rename the functions that will be hidden to cut off the stacktrace\n // at the outermost one\n const hidden = nodeInternalPrefix + fn.name\n Object.defineProperty(fn, 'name', {\n value: hidden\n })\n return fn\n}\nfunction aggregateTwoErrors(innerError, outerError) {\n if (innerError && outerError && innerError !== outerError) {\n if (Array.isArray(outerError.errors)) {\n // If `outerError` is already an `AggregateError`.\n outerError.errors.push(innerError)\n return outerError\n }\n const err = new AggregateError([outerError, innerError], outerError.message)\n err.code = outerError.code\n return err\n }\n return innerError || outerError\n}\nclass AbortError extends Error {\n constructor(message = 'The operation was aborted', options = undefined) {\n if (options !== undefined && typeof options !== 'object') {\n throw new codes.ERR_INVALID_ARG_TYPE('options', 'Object', options)\n }\n super(message, options)\n this.code = 'ABORT_ERR'\n this.name = 'AbortError'\n }\n}\nE('ERR_ASSERTION', '%s', Error)\nE(\n 'ERR_INVALID_ARG_TYPE',\n (name, expected, actual) => {\n assert(typeof name === 'string', \"'name' must be a string\")\n if (!Array.isArray(expected)) {\n expected = [expected]\n }\n let msg = 'The '\n if (name.endsWith(' argument')) {\n // For cases like 'first argument'\n msg += `${name} `\n } else {\n msg += `\"${name}\" ${name.includes('.') ? 'property' : 'argument'} `\n }\n msg += 'must be '\n const types = []\n const instances = []\n const other = []\n for (const value of expected) {\n assert(typeof value === 'string', 'All expected entries have to be of type string')\n if (kTypes.includes(value)) {\n types.push(value.toLowerCase())\n } else if (classRegExp.test(value)) {\n instances.push(value)\n } else {\n assert(value !== 'object', 'The value \"object\" should be written as \"Object\"')\n other.push(value)\n }\n }\n\n // Special handle `object` in case other instances are allowed to outline\n // the differences between each other.\n if (instances.length > 0) {\n const pos = types.indexOf('object')\n if (pos !== -1) {\n types.splice(types, pos, 1)\n instances.push('Object')\n }\n }\n if (types.length > 0) {\n switch (types.length) {\n case 1:\n msg += `of type ${types[0]}`\n break\n case 2:\n msg += `one of type ${types[0]} or ${types[1]}`\n break\n default: {\n const last = types.pop()\n msg += `one of type ${types.join(', ')}, or ${last}`\n }\n }\n if (instances.length > 0 || other.length > 0) {\n msg += ' or '\n }\n }\n if (instances.length > 0) {\n switch (instances.length) {\n case 1:\n msg += `an instance of ${instances[0]}`\n break\n case 2:\n msg += `an instance of ${instances[0]} or ${instances[1]}`\n break\n default: {\n const last = instances.pop()\n msg += `an instance of ${instances.join(', ')}, or ${last}`\n }\n }\n if (other.length > 0) {\n msg += ' or '\n }\n }\n switch (other.length) {\n case 0:\n break\n case 1:\n if (other[0].toLowerCase() !== other[0]) {\n msg += 'an '\n }\n msg += `${other[0]}`\n break\n case 2:\n msg += `one of ${other[0]} or ${other[1]}`\n break\n default: {\n const last = other.pop()\n msg += `one of ${other.join(', ')}, or ${last}`\n }\n }\n if (actual == null) {\n msg += `. Received ${actual}`\n } else if (typeof actual === 'function' && actual.name) {\n msg += `. Received function ${actual.name}`\n } else if (typeof actual === 'object') {\n var _actual$constructor\n if (\n (_actual$constructor = actual.constructor) !== null &&\n _actual$constructor !== undefined &&\n _actual$constructor.name\n ) {\n msg += `. Received an instance of ${actual.constructor.name}`\n } else {\n const inspected = inspect(actual, {\n depth: -1\n })\n msg += `. Received ${inspected}`\n }\n } else {\n let inspected = inspect(actual, {\n colors: false\n })\n if (inspected.length > 25) {\n inspected = `${inspected.slice(0, 25)}...`\n }\n msg += `. Received type ${typeof actual} (${inspected})`\n }\n return msg\n },\n TypeError\n)\nE(\n 'ERR_INVALID_ARG_VALUE',\n (name, value, reason = 'is invalid') => {\n let inspected = inspect(value)\n if (inspected.length > 128) {\n inspected = inspected.slice(0, 128) + '...'\n }\n const type = name.includes('.') ? 'property' : 'argument'\n return `The ${type} '${name}' ${reason}. Received ${inspected}`\n },\n TypeError\n)\nE(\n 'ERR_INVALID_RETURN_VALUE',\n (input, name, value) => {\n var _value$constructor\n const type =\n value !== null &&\n value !== undefined &&\n (_value$constructor = value.constructor) !== null &&\n _value$constructor !== undefined &&\n _value$constructor.name\n ? `instance of ${value.constructor.name}`\n : `type ${typeof value}`\n return `Expected ${input} to be returned from the \"${name}\"` + ` function but got ${type}.`\n },\n TypeError\n)\nE(\n 'ERR_MISSING_ARGS',\n (...args) => {\n assert(args.length > 0, 'At least one arg needs to be specified')\n let msg\n const len = args.length\n args = (Array.isArray(args) ? args : [args]).map((a) => `\"${a}\"`).join(' or ')\n switch (len) {\n case 1:\n msg += `The ${args[0]} argument`\n break\n case 2:\n msg += `The ${args[0]} and ${args[1]} arguments`\n break\n default:\n {\n const last = args.pop()\n msg += `The ${args.join(', ')}, and ${last} arguments`\n }\n break\n }\n return `${msg} must be specified`\n },\n TypeError\n)\nE(\n 'ERR_OUT_OF_RANGE',\n (str, range, input) => {\n assert(range, 'Missing \"range\" argument')\n let received\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > 2n ** 32n || input < -(2n ** 32n)) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n } else {\n received = inspect(input)\n }\n return `The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`\n },\n RangeError\n)\nE('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times', Error)\nE('ERR_METHOD_NOT_IMPLEMENTED', 'The %s method is not implemented', Error)\nE('ERR_STREAM_ALREADY_FINISHED', 'Cannot call %s after a stream was finished', Error)\nE('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable', Error)\nE('ERR_STREAM_DESTROYED', 'Cannot call %s after a stream was destroyed', Error)\nE('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError)\nE('ERR_STREAM_PREMATURE_CLOSE', 'Premature close', Error)\nE('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF', Error)\nE('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event', Error)\nE('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error)\nE('ERR_UNKNOWN_ENCODING', 'Unknown encoding: %s', TypeError)\nmodule.exports = {\n AbortError,\n aggregateTwoErrors: hideStackFrames(aggregateTwoErrors),\n hideStackFrames,\n codes\n}\n","'use strict'\n\n/*\n This file is a reduced and adapted version of the main lib/internal/per_context/primordials.js file defined at\n\n https://github.com/nodejs/node/blob/master/lib/internal/per_context/primordials.js\n\n Don't try to replace with the original file and keep it up to date with the upstream file.\n*/\nmodule.exports = {\n ArrayIsArray(self) {\n return Array.isArray(self)\n },\n ArrayPrototypeIncludes(self, el) {\n return self.includes(el)\n },\n ArrayPrototypeIndexOf(self, el) {\n return self.indexOf(el)\n },\n ArrayPrototypeJoin(self, sep) {\n return self.join(sep)\n },\n ArrayPrototypeMap(self, fn) {\n return self.map(fn)\n },\n ArrayPrototypePop(self, el) {\n return self.pop(el)\n },\n ArrayPrototypePush(self, el) {\n return self.push(el)\n },\n ArrayPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n Error,\n FunctionPrototypeCall(fn, thisArgs, ...args) {\n return fn.call(thisArgs, ...args)\n },\n FunctionPrototypeSymbolHasInstance(self, instance) {\n return Function.prototype[Symbol.hasInstance].call(self, instance)\n },\n MathFloor: Math.floor,\n Number,\n NumberIsInteger: Number.isInteger,\n NumberIsNaN: Number.isNaN,\n NumberMAX_SAFE_INTEGER: Number.MAX_SAFE_INTEGER,\n NumberMIN_SAFE_INTEGER: Number.MIN_SAFE_INTEGER,\n NumberParseInt: Number.parseInt,\n ObjectDefineProperties(self, props) {\n return Object.defineProperties(self, props)\n },\n ObjectDefineProperty(self, name, prop) {\n return Object.defineProperty(self, name, prop)\n },\n ObjectGetOwnPropertyDescriptor(self, name) {\n return Object.getOwnPropertyDescriptor(self, name)\n },\n ObjectKeys(obj) {\n return Object.keys(obj)\n },\n ObjectSetPrototypeOf(target, proto) {\n return Object.setPrototypeOf(target, proto)\n },\n Promise,\n PromisePrototypeCatch(self, fn) {\n return self.catch(fn)\n },\n PromisePrototypeThen(self, thenFn, catchFn) {\n return self.then(thenFn, catchFn)\n },\n PromiseReject(err) {\n return Promise.reject(err)\n },\n PromiseResolve(val) {\n return Promise.resolve(val)\n },\n ReflectApply: Reflect.apply,\n RegExpPrototypeTest(self, value) {\n return self.test(value)\n },\n SafeSet: Set,\n String,\n StringPrototypeSlice(self, start, end) {\n return self.slice(start, end)\n },\n StringPrototypeToLowerCase(self) {\n return self.toLowerCase()\n },\n StringPrototypeToUpperCase(self) {\n return self.toUpperCase()\n },\n StringPrototypeTrim(self) {\n return self.trim()\n },\n Symbol,\n SymbolFor: Symbol.for,\n SymbolAsyncIterator: Symbol.asyncIterator,\n SymbolHasInstance: Symbol.hasInstance,\n SymbolIterator: Symbol.iterator,\n SymbolDispose: Symbol.dispose || Symbol('Symbol.dispose'),\n SymbolAsyncDispose: Symbol.asyncDispose || Symbol('Symbol.asyncDispose'),\n TypedArrayPrototypeSet(self, buf, len) {\n return self.set(buf, len)\n },\n Boolean: Boolean,\n Uint8Array\n}\n","'use strict'\n\nconst bufferModule = require('buffer')\nconst { kResistStopPropagation, SymbolDispose } = require('./primordials')\nconst AbortSignal = globalThis.AbortSignal || require('abort-controller').AbortSignal\nconst AbortController = globalThis.AbortController || require('abort-controller').AbortController\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor\nconst Blob = globalThis.Blob || bufferModule.Blob\n/* eslint-disable indent */\nconst isBlob =\n typeof Blob !== 'undefined'\n ? function isBlob(b) {\n // eslint-disable-next-line indent\n return b instanceof Blob\n }\n : function isBlob(b) {\n return false\n }\n/* eslint-enable indent */\n\nconst validateAbortSignal = (signal, name) => {\n if (signal !== undefined && (signal === null || typeof signal !== 'object' || !('aborted' in signal))) {\n throw new ERR_INVALID_ARG_TYPE(name, 'AbortSignal', signal)\n }\n}\nconst validateFunction = (value, name) => {\n if (typeof value !== 'function') throw new ERR_INVALID_ARG_TYPE(name, 'Function', value)\n}\n\n// This is a simplified version of AggregateError\nclass AggregateError extends Error {\n constructor(errors) {\n if (!Array.isArray(errors)) {\n throw new TypeError(`Expected input to be an Array, got ${typeof errors}`)\n }\n let message = ''\n for (let i = 0; i < errors.length; i++) {\n message += ` ${errors[i].stack}\\n`\n }\n super(message)\n this.name = 'AggregateError'\n this.errors = errors\n }\n}\nmodule.exports = {\n AggregateError,\n kEmptyObject: Object.freeze({}),\n once(callback) {\n let called = false\n return function (...args) {\n if (called) {\n return\n }\n called = true\n callback.apply(this, args)\n }\n },\n createDeferredPromise: function () {\n let resolve\n let reject\n\n // eslint-disable-next-line promise/param-names\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n return {\n promise,\n resolve,\n reject\n }\n },\n promisify(fn) {\n return new Promise((resolve, reject) => {\n fn((err, ...args) => {\n if (err) {\n return reject(err)\n }\n return resolve(...args)\n })\n })\n },\n debuglog() {\n return function () {}\n },\n format(format, ...args) {\n // Simplified version of https://nodejs.org/api/util.html#utilformatformat-args\n return format.replace(/%([sdifj])/g, function (...[_unused, type]) {\n const replacement = args.shift()\n if (type === 'f') {\n return replacement.toFixed(6)\n } else if (type === 'j') {\n return JSON.stringify(replacement)\n } else if (type === 's' && typeof replacement === 'object') {\n const ctor = replacement.constructor !== Object ? replacement.constructor.name : ''\n return `${ctor} {}`.trim()\n } else {\n return replacement.toString()\n }\n })\n },\n inspect(value) {\n // Vastly simplified version of https://nodejs.org/api/util.html#utilinspectobject-options\n switch (typeof value) {\n case 'string':\n if (value.includes(\"'\")) {\n if (!value.includes('\"')) {\n return `\"${value}\"`\n } else if (!value.includes('`') && !value.includes('${')) {\n return `\\`${value}\\``\n }\n }\n return `'${value}'`\n case 'number':\n if (isNaN(value)) {\n return 'NaN'\n } else if (Object.is(value, -0)) {\n return String(value)\n }\n return value\n case 'bigint':\n return `${String(value)}n`\n case 'boolean':\n case 'undefined':\n return String(value)\n case 'object':\n return '{}'\n }\n },\n types: {\n isAsyncFunction(fn) {\n return fn instanceof AsyncFunction\n },\n isArrayBufferView(arr) {\n return ArrayBuffer.isView(arr)\n }\n },\n isBlob,\n deprecate(fn, message) {\n return fn\n },\n addAbortListener:\n require('events').addAbortListener ||\n function addAbortListener(signal, listener) {\n if (signal === undefined) {\n throw new ERR_INVALID_ARG_TYPE('signal', 'AbortSignal', signal)\n }\n validateAbortSignal(signal, 'signal')\n validateFunction(listener, 'listener')\n let removeEventListener\n if (signal.aborted) {\n queueMicrotask(() => listener())\n } else {\n signal.addEventListener('abort', listener, {\n __proto__: null,\n once: true,\n [kResistStopPropagation]: true\n })\n removeEventListener = () => {\n signal.removeEventListener('abort', listener)\n }\n }\n return {\n __proto__: null,\n [SymbolDispose]() {\n var _removeEventListener\n ;(_removeEventListener = removeEventListener) === null || _removeEventListener === undefined\n ? undefined\n : _removeEventListener()\n }\n }\n },\n AbortSignalAny:\n AbortSignal.any ||\n function AbortSignalAny(signals) {\n // Fast path if there is only one signal.\n if (signals.length === 1) {\n return signals[0]\n }\n const ac = new AbortController()\n const abort = () => ac.abort()\n signals.forEach((signal) => {\n validateAbortSignal(signal, 'signals')\n signal.addEventListener('abort', abort, {\n once: true\n })\n })\n ac.signal.addEventListener(\n 'abort',\n () => {\n signals.forEach((signal) => signal.removeEventListener('abort', abort))\n },\n {\n once: true\n }\n )\n return ac.signal\n }\n}\nmodule.exports.promisify.custom = Symbol.for('nodejs.util.promisify.custom')\n","/* replacement start */\n\nconst { Buffer } = require('buffer')\n\n/* replacement end */\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n;('use strict')\nconst { ObjectDefineProperty, ObjectKeys, ReflectApply } = require('./ours/primordials')\nconst {\n promisify: { custom: customPromisify }\n} = require('./ours/util')\nconst { streamReturningOperators, promiseReturningOperators } = require('./internal/streams/operators')\nconst {\n codes: { ERR_ILLEGAL_CONSTRUCTOR }\n} = require('./ours/errors')\nconst compose = require('./internal/streams/compose')\nconst { setDefaultHighWaterMark, getDefaultHighWaterMark } = require('./internal/streams/state')\nconst { pipeline } = require('./internal/streams/pipeline')\nconst { destroyer } = require('./internal/streams/destroy')\nconst eos = require('./internal/streams/end-of-stream')\nconst internalBuffer = {}\nconst promises = require('./stream/promises')\nconst utils = require('./internal/streams/utils')\nconst Stream = (module.exports = require('./internal/streams/legacy').Stream)\nStream.isDestroyed = utils.isDestroyed\nStream.isDisturbed = utils.isDisturbed\nStream.isErrored = utils.isErrored\nStream.isReadable = utils.isReadable\nStream.isWritable = utils.isWritable\nStream.Readable = require('./internal/streams/readable')\nfor (const key of ObjectKeys(streamReturningOperators)) {\n const op = streamReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return Stream.Readable.from(ReflectApply(op, this, args))\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nfor (const key of ObjectKeys(promiseReturningOperators)) {\n const op = promiseReturningOperators[key]\n function fn(...args) {\n if (new.target) {\n throw ERR_ILLEGAL_CONSTRUCTOR()\n }\n return ReflectApply(op, this, args)\n }\n ObjectDefineProperty(fn, 'name', {\n __proto__: null,\n value: op.name\n })\n ObjectDefineProperty(fn, 'length', {\n __proto__: null,\n value: op.length\n })\n ObjectDefineProperty(Stream.Readable.prototype, key, {\n __proto__: null,\n value: fn,\n enumerable: false,\n configurable: true,\n writable: true\n })\n}\nStream.Writable = require('./internal/streams/writable')\nStream.Duplex = require('./internal/streams/duplex')\nStream.Transform = require('./internal/streams/transform')\nStream.PassThrough = require('./internal/streams/passthrough')\nStream.pipeline = pipeline\nconst { addAbortSignal } = require('./internal/streams/add-abort-signal')\nStream.addAbortSignal = addAbortSignal\nStream.finished = eos\nStream.destroy = destroyer\nStream.compose = compose\nStream.setDefaultHighWaterMark = setDefaultHighWaterMark\nStream.getDefaultHighWaterMark = getDefaultHighWaterMark\nObjectDefineProperty(Stream, 'promises', {\n __proto__: null,\n configurable: true,\n enumerable: true,\n get() {\n return promises\n }\n})\nObjectDefineProperty(pipeline, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.pipeline\n }\n})\nObjectDefineProperty(eos, customPromisify, {\n __proto__: null,\n enumerable: true,\n get() {\n return promises.finished\n }\n})\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream\nStream._isUint8Array = function isUint8Array(value) {\n return value instanceof Uint8Array\n}\nStream._uint8ArrayToBuffer = function _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)\n}\n","'use strict'\n\nconst { ArrayPrototypePop, Promise } = require('../ours/primordials')\nconst { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils')\nconst { pipelineImpl: pl } = require('../internal/streams/pipeline')\nconst { finished } = require('../internal/streams/end-of-stream')\nrequire('../../lib/stream.js')\nfunction pipeline(...streams) {\n return new Promise((resolve, reject) => {\n let signal\n let end\n const lastArg = streams[streams.length - 1]\n if (\n lastArg &&\n typeof lastArg === 'object' &&\n !isNodeStream(lastArg) &&\n !isIterable(lastArg) &&\n !isWebStream(lastArg)\n ) {\n const options = ArrayPrototypePop(streams)\n signal = options.signal\n end = options.end\n }\n pl(\n streams,\n (err, value) => {\n if (err) {\n reject(err)\n } else {\n resolve(value)\n }\n },\n {\n signal,\n end\n }\n )\n })\n}\nmodule.exports = {\n finished,\n pipeline\n}\n","/* jshint esversion: 6 */\n/* jslint node: true */\n'use strict';\n\nmodule.exports = function serialize (object) {\n if (object === null || typeof object !== 'object' || object.toJSON != null) {\n return JSON.stringify(object);\n }\n\n if (Array.isArray(object)) {\n return '[' + object.reduce((t, cv, ci) => {\n const comma = ci === 0 ? '' : ',';\n const value = cv === undefined || typeof cv === 'symbol' ? null : cv;\n return t + comma + serialize(value);\n }, '') + ']';\n }\n\n return '{' + Object.keys(object).sort().reduce((t, cv, ci) => {\n if (object[cv] === undefined ||\n typeof object[cv] === 'symbol') {\n return t;\n }\n const comma = t.length === 0 ? '' : ',';\n return t + comma + serialize(cv) + ':' + serialize(object[cv]);\n }, '') + '}';\n};\n","(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(typeof self !== 'undefined' ? self : this);\n","'use strict'\n\nvar COMPATIBLE_ENCODING_PATTERN = /^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i\nvar WS_TRIM_PATTERN = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g\nvar WS_CHAR_PATTERN = /\\s|\\uFEFF|\\xA0/\nvar WS_FOLD_PATTERN = /\\r?\\n[\\x20\\x09]+/g\nvar DELIMITER_PATTERN = /[;,\"]/\nvar WS_DELIMITER_PATTERN = /[;,\"]|\\s/\n\n/**\n * Token character pattern\n * @type {RegExp}\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n */\nvar TOKEN_PATTERN = /^[!#$%&'*+\\-\\.^_`|~\\da-zA-Z]+$/\n\nvar STATE = {\n IDLE: 1 << 0,\n URI: 1 << 1,\n ATTR: 1 << 2,\n}\n\nfunction trim( value ) {\n return value.replace( WS_TRIM_PATTERN, '' )\n}\n\nfunction hasWhitespace( value ) {\n return WS_CHAR_PATTERN.test( value )\n}\n\nfunction skipWhitespace( value, offset ) {\n while( hasWhitespace( value[offset] ) ) {\n offset++\n }\n return offset\n}\n\nfunction needsQuotes( value ) {\n return WS_DELIMITER_PATTERN.test( value ) ||\n !TOKEN_PATTERN.test( value )\n}\n\n/**\n * Shallow compares two objects to check if their properties match.\n * @param {object} object1 First object to compare.\n * @param {object} object2 Second object to compare.\n * @returns {boolean} Do the objects have matching properties.\n */\nfunction shallowCompareObjects( object1, object2 ) {\n return (\n Object.keys( object1 ).length === Object.keys( object2 ).length &&\n Object.keys( object1 ).every(\n ( key ) => key in object2 && object1[ key ] === object2[ key ]\n )\n );\n}\n\nclass Link {\n\n /**\n * Link\n * @constructor\n * @param {String} [value]\n * @returns {Link}\n */\n constructor( value ) {\n\n /** @type {Array} URI references */\n this.refs = []\n\n if( value ) {\n this.parse( value )\n }\n\n }\n\n /**\n * Get refs with given relation type\n * @param {String} value\n * @returns {Array