{"version":3,"sources":["webpack:///./node_modules/readable-stream/duplex-browser.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/readable-stream/writable-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/readable-stream/passthrough.js","webpack:///./node_modules/readable-stream/transform.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/readable-stream/readable-browser.js"],"names":["module","exports","__webpack_require__","Transform","Duplex","util","afterTransform","er","data","ts","this","_transformState","transforming","cb","writecb","emit","Error","writechunk","push","rs","_readableState","reading","needReadable","length","highWaterMark","_read","options","call","bind","needTransform","writeencoding","sync","transform","_transform","flush","_flush","on","prefinish","_this","done","stream","_writableState","inherits","prototype","chunk","encoding","_write","n","_destroy","err","_this2","err2","EventEmitter","pna","destroy","readableDestroyed","destroyed","writableDestroyed","errorEmitted","nextTick","emitErrorNT","undestroy","ended","endEmitted","ending","finished","self","_classCallCheck","instance","Constructor","TypeError","Buffer","copyBuffer","src","target","offset","copy","BufferList","head","tail","v","entry","next","unshift","shift","ret","clear","join","s","p","concat","alloc","allocUnsafe","i","inspect","custom","obj","constructor","name","PassThrough","global","process","Readable","isArray","ReadableState","EElistenerCount","emitter","type","listeners","Stream","OurUint8Array","Uint8Array","_uint8ArrayToBuffer","from","_isUint8Array","isBuffer","debugUtil","debug","debuglog","StringDecoder","destroyImpl","kProxyEvents","prependListener","event","fn","_events","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","Math","floor","buffer","pipes","pipesCount","flowing","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrain","readingMore","decoder","readable","read","readableAddChunk","addToFront","skipChunkCheck","state","onEofChunk","chunkInvalid","Object","getPrototypeOf","addChunk","write","maybeReadMore","needMoreData","emitReadable","undefined","defineProperty","get","set","value","_undestroy","isPaused","setEncoding","enc","MAX_HWM","computeNewHighWaterMark","howMuchToRead","end","emitReadable_","flow","maybeReadMore_","len","pipeOnDrain","nReadingNextTick","resume","resume_","fromList","fromListPartial","list","hasStrings","slice","copyFromBufferString","copyFromBuffer","c","str","nb","buf","endReadable","endReadableNT","indexOf","xs","x","l","parseInt","nOrig","doRead","pipe","dest","pipeOpts","doEnd","stdout","stderr","endFn","onend","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanup","once","ondrain","cleanedUp","removeListener","onclose","onfinish","onerror","ondata","needDrain","increasedAwaitDrain","pause","dests","index","splice","ev","res","addListener","wrap","paused","method","apply","arguments","enumerable","_fromList","objectKeys","keys","key","Writable","writable","allowHalfOpen","onEndNT","CorkedRequest","finish","onCorkedFinish","asyncWrite","browser","version","setImmediate","WritableState","internalUtil","deprecate","realHasInstance","nop","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","bufferedRequestCount","corkedRequestsFree","writev","_writev","final","_final","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","isBuf","newChunk","last","callback","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","afterWrite","onwriteDrain","Array","holder","count","allBuffers","callFinal","need","endWritable","corkReq","getBuffer","current","out","_","Symbol","hasInstance","Function","object","cork","uncork","setDefaultEncoding","toLowerCase"],"mappings":"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","file":"app/js/npm.readable-stream.5b19a21b.js","sourcesContent":["module.exports = require('./lib/_stream_duplex.js');\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\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\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\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","module.exports = require('./lib/_stream_writable.js');\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\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\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\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\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\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';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\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);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\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 var isDuplex = stream instanceof 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.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!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 var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\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 = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\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\n // has it been destroyed\n this.destroyed = 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.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (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\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(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 var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\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);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\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 (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\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 <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\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 n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\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 === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\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 var 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, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', 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 // call internal read method\n this._read(state.highWaterMark);\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\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\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\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var 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\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\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 var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\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) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\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 this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\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\n function onend() {\n debug('onend');\n dest.end();\n }\n\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 var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var 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 dest.removeListener('drain', ondrain);\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\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 (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\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 ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.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 (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\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\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 if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\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 var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\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 var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var 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 var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\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\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\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 prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","module.exports = require('./readable').PassThrough\n","module.exports = require('./readable').Transform\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';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\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 var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!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 var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\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 var noDecode = 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.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 = function (er) {\n onwrite(stream, er);\n };\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 this.bufferedRequest = null;\n this.lastBufferedRequest = null;\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 // 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 // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\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 if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\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, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var 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\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\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 (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\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\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n"],"sourceRoot":""}