VimŸUnDoå‘Ñž%×*#–/À-Ž•ª§Mn) õtõ9-‡2g)var streamer = require('../streamer.js'), #ÀÀÀÀN_YÔc_Ð ÿÿÿÿNõ ! õ  5�_ÐÿÿÿÿNõ ! function stream()5�_ÐÿÿÿÿNõ ! function stream() {}5�_ÐÿÿÿÿNõ " function stream() {5�_ÐÿÿÿÿN!õ# õ"5�_Ð ÿÿÿÿN(õ $ õ #5�_ÐÿÿÿÿN4õ $ ''5�_Ð ÿÿÿÿN:õ $ stopped = 05�_Ð  ÿÿÿÿN?õ% õ$5�_Ð ÿÿÿÿvNÌõ test(assert, done, list(), [])5�_Ð  ÿÿÿÿvNÏõ%õ$5�_Ð ÿÿÿÿvNÒõ &õ %5�_Ðÿÿÿÿ vNÜõ streamõ' õ&5�_Ðÿÿÿÿ"vNõ ( var stopped = 05�_Ðÿÿÿÿ"vNõ ( function fixtrue()5�_Ðÿÿÿÿ"vNõ ( function fixtrue(options)5�_Ðÿÿÿÿ"vNõ ( function fixtrue(options) {}5�_Ðÿÿÿÿ#vNõ) }5�_Ðÿÿÿÿ#vN-õ) var length = options.length;5�_Ð!ÿÿÿÿ#vN0õ)" var elements = options.length;5�_Ð"ÿÿÿÿ#vN2õ*$ var elements = options.elements;õ* õ)5�_Ðÿÿÿÿ#vN<õ* õ)5�_Ðÿÿÿÿ$vNCõ* function stream(next, stop) {5�_Ðÿÿÿÿ$vNFõ* stopped ++;5�_Ðÿÿÿÿ$vNKõ* stopped ++;5�_Ðÿÿÿÿ$vNMõ* stop()5�_Ðÿÿÿÿ$vNOõ* }5�_Ðÿÿÿÿ$vNWõ* 5�_Ð ÿÿÿÿ$vN]õ whileõ* var i ] []5�_Ð!  ÿÿÿÿ%vNdõ+ while()5�_Ð "! ÿÿÿÿ%vNqõ+ while(i < elements.length)5�_Ð!#"&ÿÿÿÿ%vNsõ+' while(i < elements.length) next()5�_Ð"$#/ÿÿÿÿ%vNuõ+1 while(i < elements.length) next(elements[])5�_Ð#%$2ÿÿÿÿ%vNvõ+2 while(i < elements.length) next(elements[i])5�_Ð$&% ÿÿÿÿ%vN­õ ,õ +5�_Ð%'& ÿÿÿÿ&vN±õ ,function pipe()5�_Ð&(' ÿÿÿÿ&vNµõ ,function pipe(next, stop)5�_Ð')( ÿÿÿÿ&vN¶õ ,function pipe(next, stop) {}5�_Ð(*) ÿÿÿÿ'vNºõ . õ -5�_Ð)+* ÿÿÿÿ(vNÉõ . return func5�_Ð*,+ ÿÿÿÿ(vNÊõ . return {}5�_Ð+-,ÿÿÿÿ(vNÚõ.5�_Ð,.-ÿÿÿÿ)vNîõ function fixtrue(options) {5�_Ð-/.ÿÿÿÿ(vNîõ$ var elements = options.elements;5�_Ð.0/ÿÿÿÿ'vNîõ options.stops = 0;5�_Ð/10ÿÿÿÿ&vNïõ( return function stream(next, stop) {5�_Ð021ÿÿÿÿ%vNïõ var i = 0;5�_Ð132ÿÿÿÿ$vNïõ3 while(i < elements.length) next(elements[i]);5�_Ð243ÿÿÿÿ#vNðõ stop()5�_Ð354ÿÿÿÿ"vNðõ }5�_Ð465ÿÿÿÿ!vNñõ5�_Ð576ÿÿÿÿ vNòõ stream()5�_Ð687ÿÿÿÿvNóõ& õ%5�_Ð798 ÿÿÿÿ vNõ &)var list = require('../streamer.js').list5�_Ð8:9 ÿÿÿÿ vNõ &(var hum = require('../streamer.js').list5�_Ð9;: (ÿÿÿÿ vNõ &(var hub = require('../streamer.js').list5�_Ð:<;ÿÿÿÿ vNõ& var stream = str5�_Ð;><ÿÿÿÿ vN!õ& var stream = hub()5�_Ð<?=> ÿÿÿÿ vNjõ& var stream = hub(pipe)5�_Ð>@? ÿÿÿÿ vN�õ &function pipe(next, stop) {5�_Ð?A@ ÿÿÿÿ vN’õ &# return { next: next, stop: stop }5�_Ð@BAÿÿÿÿ!vN–õ' next: next, stop: stop }5�_ÐACB ÿÿÿÿ!vN™õ ' return {5�_ÐBDCÿÿÿÿ!vNŸõ ' return function stream()5�_ÐCED&ÿÿÿÿ!vN¤õ '' return function stream(next, stop) {}5�_ÐDFE%ÿÿÿÿ!vN¥õ( õ'5�_ÐEGFÿÿÿÿ"vN¯õ) õ(5�_ÐFHGÿÿÿÿvNõ) var stream = hub(pipe)5�_ÐGIHÿÿÿÿvNõ) var stream = stream()5�_ÐHJIÿÿÿÿvNõ* õ)5�_ÐIKJÿÿÿÿvNõ* hub()5�_ÐJLKÿÿÿÿvN7õ* hub(steam)5�_ÐKMLÿÿÿÿvN^õ* var hub(steam)5�_ÐLNMÿÿÿÿvNyõ* var h = hub(steam)5�_ÐMONÿÿÿÿvÿÿÿN‰õ streamõ+ õ*5�_ÐNPO ÿÿÿÿvÿÿÿNŒõ, stream()5�_ÐOQPÿÿÿÿvÿÿÿN‘õ, stream.next()5�_ÐPRQÿÿÿÿvÿÿÿN“õ stream.nextõ, stream.next(1)5�_ÐQSRÿÿÿÿvÿÿÿNšõ- stream.next()5�_ÐRTSÿÿÿÿvÿÿÿN õ- stream.next('')5�_ÐSUTÿÿÿÿvÿÿÿN¨õ. õ-5�_ÐTVUÿÿÿÿvÿÿÿN·õ function copyõ0õ/5�_ÐUWVÿÿÿÿvÿÿÿN¾õ1function copy()5�_ÐVXWÿÿÿÿvÿÿÿN¿õ1function copy() {}5�_ÐWYXÿÿÿÿvÿÿÿNÂõ2function copy() {5�_ÐXZYÿÿÿÿvÿÿÿNÅõ3 õ25�_ÐY[ZÿÿÿÿvÿÿÿNÔõ4 õ35�_ÐZ\[ ÿÿÿÿvÿÿÿNöõ4 source()5�_Ð[]\ÿÿÿÿvÿÿÿNõ4 source(function onNext())5�_Ð\^]ÿÿÿÿvÿÿÿNõ4 source(function onNext() {})5�_Ð]_^ÿÿÿÿvÿÿÿNõ5 source(function onNext() {5�_Ð^`_ÿÿÿÿvÿÿÿNõ5 source(function onElement() {5�_Ð_a`"ÿÿÿÿvÿÿÿNõ6 õ55�_Ð`baÿÿÿÿvÿÿÿNõ6 buffer.push()5�_ÐacbÿÿÿÿvÿÿÿN!õ6 })5�_ÐbdcÿÿÿÿvÿÿÿN)õ6 }, function onStop())5�_ÐcedÿÿÿÿvÿÿÿN)õ6 }, function onStop() {})5�_ÐdfeÿÿÿÿvÿÿÿN,õ7 }, function onStop() {5�_ÐegfÿÿÿÿvÿÿÿNfõ7 }, function onStop(element) {5�_ÐfhgÿÿÿÿvÿÿÿNiõ7 var buffer = []5�_ÐgihÿÿÿÿvÿÿÿNsõ7 var buffer = [], reason5�_ÐhjiÿÿÿÿvÿÿÿNzõ8 õ75�_ÐikjÿÿÿÿvÿÿÿNÊõ8 }, function onStop(error) {5�_ÐjlkÿÿÿÿvÿÿÿNÎõ 5�_ÐkmlÿÿÿÿvÿÿÿNÏõ })5�_ÐlnmÿÿÿÿvÿÿÿNÛõ65�_ÐmonÿÿÿÿvÿÿÿNßõ7 })5�_ÐnpoÿÿÿÿvÿÿÿNãõ7 }, function onStop())5�_ÐoqpÿÿÿÿvÿÿÿNäõ7 }, function onStop() {})5�_ÐprqÿÿÿÿvÿÿÿNçõ8 }, function onStop() {5�_ÐqsrÿÿÿÿvÿÿÿNèõ9 õ85�_Ðrvs%ÿÿÿÿ  vÿÿÿNìõ9% var buffer = [], reason, isStopped;5�_Ðswtvÿÿÿÿ  vÿÿÿNùõ: õ95�_Ðvxwÿÿÿÿ!!vÿÿÿNõ: return function stream()5�_Ðwyx&ÿÿÿÿ!!vÿÿÿNõ:' return function stream(stop, next) {}5�_Ðxzyÿÿÿÿ""vÿÿÿN õ;& return function stream(stop, next) {5�_Ðy{zÿÿÿÿ""vÿÿÿN õ; return function stream(next) {5�_Ðz|{ÿÿÿÿ""vÿÿÿNõ5�_Ð{}|ÿÿÿÿ!!vÿÿÿNõ while õ; õ:5�_Ð|~} ÿÿÿÿ##vÿÿÿN'õ< while ()5�_Ð}~"ÿÿÿÿ##vÿÿÿN0õ<" while (index <= buffer.length)5�_Ð~€ÿÿÿÿ##vÿÿÿNCõ<# while (index <= buffer.length) 5�_Ð�€"ÿÿÿÿ##vÿÿÿNGõ<" while (index < buffer.length) 5�_Ѐ‚�ÿÿÿÿ##vÿÿÿNIõ< var index = 05�_Ð�ƒ‚ÿÿÿÿ##vÿÿÿNPõ<" while (index < buffer.length) 5�_Ђ„ƒÿÿÿÿ##vÿÿÿNXõ< while (index < length) 5�_Ѓ…„ ÿÿÿÿ##vÿÿÿN^õ<! while (index < length) next()5�_Є†…'ÿÿÿÿ##vÿÿÿNbõ<) while (index < length) next(buffer[])5�_Ð…‡†-ÿÿÿÿ##vÿÿÿNfõ= õ<5�_Іˆ‡ÿÿÿÿ$$vÿÿÿNjõ= if ()5�_Ї‰ˆ ÿÿÿÿ$$vÿÿÿNlõ= if (stop)5�_ÐˆŠ‰ÿÿÿÿ$$vÿÿÿNwõ= if (stop) stop()5�_Љ‹Šÿÿÿÿ$$vÿÿÿN~õ= if (stop) stop(failure)5�_ЊŒ‹&ÿÿÿÿ$$vÿÿÿNžõ&(> õ&(=5�_Ћ�Œ$ÿÿÿÿ$$vÿÿÿN¡õ$&? õ$&>5�_ÐŒŽ�(ÿÿÿÿ$$vÿÿÿN¬õ')? 5�_Ð��Ž(ÿÿÿÿ$$vÿÿÿN±õ')? copies.push()5�_ÐŽ��(ÿÿÿÿ$$vÿÿÿN´õ')? copies.push(copy())5�_Ð�‘�$ÿÿÿÿ$$vÿÿÿNºõ#%? var h = hub(stream)5�_Ð�’‘(ÿÿÿÿ$$vÿÿÿNÀõ')? copies.push(copy(h))5�_Б“’*ÿÿÿÿ$$vÿÿÿNÄõ)+?5�_Ð’”“*ÿÿÿÿ$$vÿÿÿNÊõ)+? copies.push()5�_Г•”*ÿÿÿÿ$$vÿÿÿNÍõ)+? copies.push(copy())5�_Д–•*ÿÿÿÿ$$vÿÿÿNÜõ*,@ õ*,?5�_Е—–ÿÿÿÿ$$vÿÿÿN+õ@ stream.stop = stop5�_Ж˜—!ÿÿÿÿ$$vÿÿÿN0õ@! stream.stop = function stop()5�_З™˜#ÿÿÿÿ$$vÿÿÿN1õ@$ stream.stop = function stop() {}5�_Иš™ÿÿÿÿ%%vÿÿÿN2õB õA5�_Й›šÿÿÿÿ&&vÿÿÿN6õB# stream.stop = function stop() {5�_Кœ› ÿÿÿÿ&&vÿÿÿN8õB stop5�_Л�œ ÿÿÿÿ&&vÿÿÿN>õB5�_Мž�ÿÿÿÿ''vÿÿÿNAõC stream.stop = function() {5�_Ð�Ÿž ÿÿÿÿ''vÿÿÿNDõC stop()5�_О Ÿÿÿÿÿ''vÿÿÿNHõC5�_П¡ ÿÿÿÿ''vÿÿÿNWõD õC5�_Р¢¡ÿÿÿÿvNbõD stream.next = next5�_С£¢ÿÿÿÿvNcõ 5�_Т¤£ÿÿÿÿvNcõD õC5�_У¥¤/ÿÿÿÿvNnõ.0D stream.push()5�_Ф¦¥/ÿÿÿÿvNpõ.0D stream.push('')5�_Ð¥§¦/ÿÿÿÿvNsõ.0D stream.push(4)5�_Ц¨§/ÿÿÿÿvNuõ.0D stream.push('')5�_Ч©¨/ÿÿÿÿvN|õ/1E õ/1D5�_Шª© ÿÿÿÿvN½õ Efunction pipe() {5�_Щ«ªÿÿÿÿvNÈõE stream.stops = 05�_Ъ¬« ÿÿÿÿvNÕõ F õ E5�_Ы­¬$ÿÿÿÿvNàõF$ stream.stop = function(reason) {5�_Ь®­ÿÿÿÿvNåõ stream.stops ++5�_Э¯®ÿÿÿÿvNåõ stop(reason)5�_Ю°¯ÿÿÿÿvNæõ }5�_Я±°.ÿÿÿÿvNîõ/1 assert.equalõ.1D õ.0C5�_а²±$ÿÿÿÿvNõ$&F õ$&E5�_б³²%ÿÿÿÿvN õ$&F var counts = 5�_в´³&ÿÿÿÿvNõ%'F var stream = pipe()5�_гµ´% ÿÿÿÿvN#õ$&F var counts = {}5�_д¶µ%ÿÿÿÿvN+õ$&F var readers = {}5�_е·¶&ÿÿÿÿ%% v N0õ%'F var stream = pipe(counts)5�_ж¸· ÿÿÿÿ%% v N6õ Ffunction pipe(options) {5�_з¹¸ÿÿÿÿ%% v N9õ  options.open = 05�_иº¹ÿÿÿÿ$$ v N<õE options.open ++5�_й»ºÿÿÿÿ$$ v NPõE readers.push()5�_к¾»ÿÿÿÿ$$ v NQõE readers.push({})5�_л¿¼¾ÿÿÿÿ$$ v Nuõ stream.next = next5�_оÀ¿ÿÿÿÿ## v Nvõ stream.stop = stop5�_пÁÀ#ÿÿÿÿ##vN—õ"$C var stream = pipe(readers)5�_ÐÀÂÁ$ÿÿÿÿ##vN˜õ#%C var source = hub(stream)5�_ÐÁÃÂ#ÿÿÿÿ##vNšõ"# var stream = 5�_ÐÂÄÃ#ÿÿÿÿ##vN�õ#%C õ#%B5�_ÐÃÅÄ$ÿÿÿÿ##vN£õ#%C var stream = readers[]5�_ÐÄÆÅ%ÿÿÿÿ%%vN¨õ$&C var copies = []5�_ÐÅÇÆ"ÿÿÿÿ%%vN©õ!#C var readers = []5�_ÐÆÈÇ%ÿÿÿÿ%%vN¬õ$% var 5�_ÐÇÉÈ$ÿÿÿÿ%%vN®õ"$B! var source = hub(pipe(readers))stream = readers[0]õ#%B var stream = readers[0]5�_ÐÈÊÉ,ÿÿÿÿ$$vN¾õ+-A assert.equal()5�_ÐÉËÊ,#ÿÿÿÿ$$vNÆõ+-A% assert.equal(readers.length, 1, "")5�_ÐÊÌË,=ÿÿÿÿ$$vNÍõ,.B õ,.A5�_ÐËÍÌ-ÿÿÿÿ$$vN×õ,.B test()5�_ÐÌÎÍ-ÿÿÿÿ$$vNîõ,- test(assert, )5�_ÐÍÏÎ-ÿÿÿÿ$$vNïõ,-5�_ÐÎÐÏ) ÿÿÿÿ$$vN 2 õ(*@ stream.push('last')5�_ÐÏÑÐ, ÿÿÿÿ$$vN <õ,.A õ,.@5�_ÐÐÒÑ-ÿÿÿÿ$$vN Lõ,.A test5�_ÐÑÓÒ-ÿÿÿÿ$$vN Lõ,.A test()5�_ÐÒÔÓ-ÿÿÿÿ$$vN gõ,.A test(assert, copies[])5�_ÐÓÕÔ-ÿÿÿÿ$$vN iõ,.A test(assert, copies[0])5�_ÐÔÖÕ-ÿÿÿÿ$$vN tõ,.A test(assert, copies[0], [])5�_ÐÕ×Ö-ÿÿÿÿ$$vN uõ,.A test(assert, copies[0], [ ''])5�_ÐÖØ×-ÿÿÿÿ$$vN xõ,.A! test(assert, copies[0], [ 'a'])5�_Ð×ÙØ-"ÿÿÿÿ$$vN yõ,.A% test(assert, copies[0], [ 'a', ''])5�_ÐØÚÙ-ÿÿÿÿ$$vN } õ,.A) test(assert, copies[0], [ 'a', 'last'])5�_ÐÙÛÚ,ÿÿÿÿ$$vN ” õA. while (index < length) next(buffer[index])5�_ÐÚáÛ-ÿÿÿÿ$$vN ¡ õ,.A/ test(assert, done, copies[0], [ 'a', 'last'])5�_ÐÛâÜá-ÿÿÿÿ$$vN Ö õ,.A) test(assert, copies[0], [ 'a', 'last'])5�_Ðáãâ-ÿÿÿÿ$$vN Úõ,.A/ test(assert, done, copies[0], [ 'a', 'last'])5�_Ðâäã-ÿÿÿÿ$$vN èõ-/B õ-/A5�_Ðãåä.ÿÿÿÿ$$vN ëõ-/B test()5�_Ðäæå.ÿÿÿÿ$$vN ôõ-/B test(assert, done, copies[])5�_Ðåçæ.ÿÿÿÿ$$vN õõ-/B test(assert, done, copies[1])5�_Ðæèç.!ÿÿÿÿ$$vN ÷õ-/B# test(assert, done, copies[1], [])5�_Ðçéè.#ÿÿÿÿ$$vN ÷õ-/B& test(assert, done, copies[1], [ ''])5�_Ðèêé.(ÿÿÿÿ$$vN ùõ-/B* test(assert, done, copies[1], [ 'last'])5�_Ðéëê'ÿÿÿÿ$$vN! õ')C õ')B5�_Ðêìë(ÿÿÿÿ$$vN! õ')C stream.next()5�_Ðëíì(ÿÿÿÿ$$vN! õ')C stream.next('')5�_Ðìîí.)ÿÿÿÿ$$vN!õ-/C1 test(assert, Object, copies[0], [ 'a', 'last'])5�_Ðíïî.,ÿÿÿÿ$$vN!õ-/C3 test(assert, Object, copies[0], [ 'a', 'b'last'])5�_Ðîðï..ÿÿÿÿ$$vN!õ-/C5 test(assert, Object, copies[0], [ 'a', 'b', last'])5�_Ðïñð)ÿÿÿÿ$$vN!õ)+D õ)+C5�_Ððòñ*ÿÿÿÿ$$vN!õ)+D stream.next()5�_Ðñóò/-ÿÿÿÿ$$vN!,õ.0D6 test(assert, Object, copies[0], [ 'a', 'b', 'last'])5�_Ðòôó0"ÿÿÿÿ$$vN!/õ/1D+ test(assert, done, copies[1], [ 'last' ])5�_Ðóõô,ÿÿÿÿ$$vN!?õ,.E õ,.D5�_Ðôöõ-ÿÿÿÿ$$vN!Cõ,.E copies.push()5�_Ðõ÷ö-ÿÿÿÿ$$vN!Gõ,.E copies.push(copy())5�_Ðöø÷1ÿÿÿÿ$$vN!eõ13F õ13E5�_Ð÷ùø2ÿÿÿÿ$$vN!iõ13F tes5�_Ðøúù2ÿÿÿÿ$$vN!jõ13F tes5�_Ðùûú2ÿÿÿÿ$$vN!kõ13F test()5�_Ðúüû1ÿÿÿÿ$$vN!oõ02F. test(assert, done, copies[1], [ 2, 'last' ])5�_Ðûýü2ÿÿÿÿ$$vN!rõ13F test(assert, )5�_Ðüþý2ÿÿÿÿ$$vN!xõ13F test(assert, done, copies[])5�_Ðýÿþ2ÿÿÿÿ$$vN!yõ13F test(assert, done, copies[2])5�_Ðþÿ!ÿÿÿÿ$$vN!™õ "F5exports['test empty list'] = function(assert, done) {5�_Ðÿ!ÿÿÿÿ$$vN!œõ "F3exports['test hub list'] = function(assert, done) {5�_Ð4ÿÿÿÿ!3vN!²õ4HGõ46F5�_Ð5ÿÿÿÿ!3vN"9õ46Y?exports['test hub with normal stop'] = function(assert, done) {5�_Ð@ÿÿÿÿ!3vN"Bõ?AY stream.stop()5�_Ð@ÿÿÿÿ!3vN"Gõ?AY stream.stop(new Error())5�_Ð@ÿÿÿÿ!3vN"Gõ?AY stream.stop(new Error(''))5�_ÐD9ÿÿÿÿ@@vN"ÕõCEY9 test(assert, Object, copies[0], [ 'a', 'b', 2, 'last'])5�_ÐE0ÿÿÿÿ@@vN"ÙõDFY0 test(assert, Object, copies[1], [ 2, 'last' ])5�_Ð 6ÿÿÿÿ@@vN#õ57Y var readers = [], copies = []5�_Ð  6/ÿÿÿÿ@@vN# õ57Y/ var readers = [], copies = [], error = new Er5�_Ð   63ÿÿÿÿ@@vN# õ57Y4 var readers = [], copies = [], error = new Error()5�_Ð   64ÿÿÿÿ@@vN# õ57Y6 var readers = [], copies = [], error = new Error('')5�_Ð   @ÿÿÿÿ@@vN#õ?AY stream.stop(new Error('Boom'))5�_Ð  DLÿÿÿÿ@@vN#õCEYL test(assert, Object, copies[0], [ 'a', 'b', 2, 'last'], new Error('Boom'))5�_Ð EBÿÿÿÿ@@vN#õDFYC test(assert, Object, copies[1], [ 2, 'last' ], new Error('Boom'))5�_ÐF"ÿÿÿÿ@@vN#-õEGY# test(assert, done, copies[2], [])5�_ÐGÿÿÿÿ@@vNczõHJexportsõGJZõGIY5�_ÐIÿÿÿÿ@@vNc}õHJ[ exports''5�_ÐIÿÿÿÿ@@vNc~õHJ[ exports[]5�_ÐI ÿÿÿÿ@@vNc~õHJ[ exports['']5�_ÐI"ÿÿÿÿ@@vNcŽõHJ["exports['test hub with interrupt']5�_ÐI/ÿÿÿÿ@@vNc’õHJ[0exports['test hub with interrupt'] = function ()5�_ÐI<ÿÿÿÿ@@vNc•õHJ[ÿÿÿÿ@@vNc–õHK[?exports['test hub with interrupt'] = function (assert, done) {}5�_ÐIÿÿÿÿ68vNcªõIN] õIK\5�_ÐLÿÿÿÿ68vNcÊõKN`5�_ÐLÿÿÿÿ68vNcÌõKMa 5�_ÐMÿÿÿÿ68vNcÎõLNa var5�_ÐM ÿÿÿÿ68vNcÑõLNa source()5�_ÐMÿÿÿÿ68vNcÓõLNa source(function ())5�_ÐMÿÿÿÿ68vNcÔõLOa source(function () {})5�_Ð Kÿÿÿÿ68vNcÝõKMc õKMb5�_Ð! J!ÿÿÿÿ68vNcéõIKc: var readers = [], copies = [], error = new Error('boom')5�_Ð "!Lÿÿÿÿ68vNcïõKL var stops = []5�_Ð!#"Nÿÿÿÿ68vNcòõMOb })5�_Ð"$#Nÿÿÿÿ68vNcöõMOb }, stops.push())5�_Ð#%$Nÿÿÿÿ68vNcøõMOb }, stops.push.bind())5�_Ð$&%Mÿÿÿÿ68vNd õLNb source(function () {5�_Ð%'&Mÿÿÿÿ68vNd!õMOb5�_Ð&('J ÿÿÿÿ68vNd(õIKcF var readers = [], copies = [], stops = [], error = new Error('boom')5�_Ð')(Jÿÿÿÿ68vNd/õIKcE var readers = [], buffer = [] stops = [], error = new Error('boom')5�_Ð(*)Jÿÿÿÿ68vNd2õIKcF var readers = [], buffer = [], stops = [], error = new Error('boom')5�_Ð)+*Mÿÿÿÿ68vNd3õMOd õMOc5�_Ð*,+Lÿÿÿÿ68vNd6õLNeõLNd5�_Ð+-,M ÿÿÿÿ68vNd;õLNe buffers[]5�_Ð,.-M ÿÿÿÿ68vNd<õLNe buffers[0]5�_Ð-/.O ÿÿÿÿ68vNd@õNPe buffer5�_Ð.0/O ÿÿÿÿ68vNd@õNPe buffer[]5�_Ð/10O ÿÿÿÿ68vNdEõNPe buffers[]5�_Ð021O ÿÿÿÿ68vNdFõNPe buffers[]5�_Ð132Oÿÿÿÿ68vNdGõNPe buffers[0]5�_Ð243Oÿÿÿÿ68vNdIõNPe buffers[0].push()5�_Ð354Oÿÿÿÿ68vNdNõOQf õOQe5�_Ð465Pÿÿÿÿ68vNdQõOQf if ()5�_Ð586Pÿÿÿÿ68vNd]õOQf if (buffers.length === 3)5�_Ð6:78Pÿÿÿÿ68vNdjõOQf if (buffers.length === 3) r5�_Ð8;9:UÿÿÿÿU`vNdyõTVf /*6exports['test number list'] = function(assert, done) {0 test(assert, done, list(1, 2, 3), [ 1, 2, 3 ])}5exports['test mixed list'] = function(assert, done) {P var object = {}, func = function() {}, exp = /foo/, error = new Error('Boom!')D test(assert, done, list('a', 2, 'b', 4, object, func, exp, error),5 [ 'a', 2, 'b', 4, object, func, exp, error ])}*/5�_Ð:<;QÿÿÿÿUUvNd{õPQ5�_Ð;=<I;ÿÿÿÿTTvNdõHJY>exports['test hub with interrupt'] = function (assert, done) {5�_Ð<>=I6ÿÿÿÿTTvNd€õHJY9exports['test hub with interrupt'] = function (assert,) {5�_Ð=?>K4ÿÿÿÿTTvNdŒõKNZ õKMY5�_Ð>@?M ÿÿÿÿVVvNd¯õLN[ stream.push5�_Ð?A@MÿÿÿÿVVvNd±õLN[ stream.push()5�_Ð@BAMÿÿÿÿVVvNd³õLN[ stream.push('')5�_ÐACBMÿÿÿÿVVvNd¶õMO\ õMO[5�_ÐBDCNÿÿÿÿWWvNd¼õMO\ stream.push()5�_ÐCEDNÿÿÿÿWWvNd½õMO\ stream.push('')5�_ÐDFETÿÿÿÿWWvNdÀõUW stream.pushõTW] õTV\5�_ÐEGFVÿÿÿÿYYvNdÄõUW^ stream.push()5�_ÐFHGVÿÿÿÿYYvNdÅõUW^ stream.push('')5�_ÐGIHVÿÿÿÿYYvNdÈõUW^ stream.push('b')5�_ÐHJIVÿÿÿÿYYvNdËõVX_ õVX^5�_ÐIKJWÿÿÿÿZZvNdÐõVX_ stream.push()5�_ÐJLKWÿÿÿÿZZvNdÐõVX_ stream.push('')5�_ÐKMLWÿÿÿÿPUvNdÙõX`a õWZ` õWY_5�_ÐLNMY ÿÿÿÿPUvNdêõXZg buffers[0] = []5�_ÐMON\ÿÿÿÿPUvNdðõ[]g* if (buffers.length === 3) return false5�_ÐNPO^ÿÿÿÿPUvNdòõ^`hõ^`g5�_ÐOQP_ÿÿÿÿPUvNdøõ^`h stream.push()5�_ÐPRQ_ÿÿÿÿPUvNdùõ^`h stream.push('')5�_ÐQSR_ÿÿÿÿPUvNdùõ_ai õ_ah5�_ÐRTS`ÿÿÿÿPUvNdþõ_ai stream.push()5�_ÐSUT`ÿÿÿÿPUvNeõ_ai stream.push('')5�_ÐTVU_ÿÿÿÿPUvNeõ_bj õ_ai5�_ÐUWV`ÿÿÿÿY^vNeõ`hlõ`bk5�_ÐVXWaÿÿÿÿY^vNe õ`brbuffers[1] = []5�_ÐWYXa ÿÿÿÿY^vNe õ`br buffers[1] = []5�_ÐXZYc ÿÿÿÿY^vNeõbdr buffers[0].push(element)5�_ÐY[ZdÿÿÿÿY^vNeõcer* if (buffers.length === 4) return false5�_ÐZ\[JGÿÿÿÿY^vNeõIKrG var readers = [], buffers = [], stops = [], error = new Error('boom')5�_Ð[]\iÿÿÿÿY^vNe(õikr5�_Ð\^]dÿÿÿÿY^vNe-õces* if (buffers.length === 2) return false5�_Ð]_^iÿÿÿÿY^vNe0õikt õiks5�_Ð^`_jÿÿÿÿY^vNe6õikt stream.push()5�_Ð_a`jÿÿÿÿY^vNe8õikt stream.push('')5�_Ð`bajÿÿÿÿY^vNe9õjlu õjlt5�_ÐacbkÿÿÿÿY^vNe>õjlu stream.push()5�_ÐbdckÿÿÿÿY^vNe@õjlu stream.push('')5�_ÐcedkÿÿÿÿY^vNeFõkmv õkmu5�_ÐdfemÿÿÿÿY^vNe^õmowõmov5�_ÐegfnÿÿÿÿY^vNedõmow assert.equal()5�_ÐfhgnÿÿÿÿY^vNeiõmow assert.deepEqual())5�_ÐgihnÿÿÿÿY^vNemõmow assert.deepEqual()5�_ÐhjinÿÿÿÿY^vNerõmow assert.deepEqual(buffers[])5�_ÐikjdÿÿÿÿY^vNevõcew* if (buffers.length === 4) return false5�_ÐjlkdÿÿÿÿY^vNevõcew, if (buffers[].length === 4) return false5�_Ðkml\ÿÿÿÿY^vNeyõ[]w* if (buffers.length === 4) return false5�_Ðlnm\ÿÿÿÿY^vNezõ[]w, if (buffers[].length === 4) return false5�_Ðmon[ ÿÿÿÿY^vNe|õZ\w buffers[0].push(element)5�_ÐnpoSÿÿÿÿY^vNeõRTw* if (buffers.length === 3) return false5�_ÐoqpSÿÿÿÿY^vNe õRTw, if (buffers[].length === 3) return false5�_ÐprqnÿÿÿÿY^vNe‡õmow assert.deepEqual(buffers[0])5�_Ðqsrn ÿÿÿÿY^vNeˆõmow" assert.deepEqual(buffers[0], [])5�_Ðrtsn"ÿÿÿÿY^vNe‰õmow% assert.deepEqual(buffers[0], [ ''])5�_Ðsutn#ÿÿÿÿY^vNeŠõmow& assert.deepEqual(buffers[0], [ 'a'])5�_Ðtvun$ÿÿÿÿY^vNe�õmow& assert.deepEqual(buffers[0], [ 'c'])5�_Ðuwvn'ÿÿÿÿY^vNeŽõmow* assert.deepEqual(buffers[0], [ 'c', ''])5�_Ðvxwn)ÿÿÿÿY^vNeŽõmow+ assert.deepEqual(buffers[0], [ 'c', 'd'])5�_Ðwyxn,ÿÿÿÿY^vNe�õmow/ assert.deepEqual(buffers[0], [ 'c', 'd', ''])5�_Ðxzyn.ÿÿÿÿY^vNe•õmow0 assert.deepEqual(buffers[0], [ 'c', 'd', 'e'])5�_Ðy{zn1ÿÿÿÿY^vNe—õmow1 assert.deepEqual(buffers[0], [ 'c', 'd', 'e' ])5�_Ðz|{n3ÿÿÿÿY^vNešõmow4 assert.deepEqual(buffers[0], [ 'c', 'd', 'e' ], ''5�_Ð{}|nPÿÿÿÿY^vNe¡õmowP assert.deepEqual(buffers[0], [ 'c', 'd', 'e' ], 'interrupted after 3 elements'5�_Ð|~}n2ÿÿÿÿY^vNe£õmpwQ assert.deepEqual(buffers[0], [ 'c', 'd', 'e' ], 'interrupted after 3 elements')5�_Ð}~oÿÿÿÿY^vNe¨õoqy õoqx5�_Ð~€pÿÿÿÿY^vNe®õoqy assert.deepEqual()5�_Ð�€pÿÿÿÿY^vNe®õoqy assert.deepEqual('')5�_Ѐ‚�pÿÿÿÿY^vNe³õoqy assert.deepEqual(buffers[])5�_Ð�ƒ‚pÿÿÿÿY^vNeµõoqy assert.deepEqual(buffers[1])5�_Ђ„ƒp ÿÿÿÿY^vNe¶õoqy" assert.deepEqual(buffers[1], [])5�_Ѓ…„p"ÿÿÿÿY^vNe½õoqy% assert.deepEqual(buffers[1], [ ''])5�_Є†…p$ÿÿÿÿY^vNe¾õoqy& assert.deepEqual(buffers[1], [ 'e'])5�_Ð…‡†p'ÿÿÿÿY^vNe¿õoqy* assert.deepEqual(buffers[1], [ 'e', ''])5�_Іˆ‡p)ÿÿÿÿY^vNeÀõoqy+ assert.deepEqual(buffers[1], [ 'e', 'f'])5�_Ї‰ˆp,ÿÿÿÿY^vNeÁõoqy/ assert.deepEqual(buffers[1], [ 'e', 'f', ''])5�_ÐˆŠ‰p.ÿÿÿÿY^vNeÂõoqy0 assert.deepEqual(buffers[1], [ 'e', 'f', 'g'])5�_Љ‹Šp1ÿÿÿÿY^vNeÃõoqy4 assert.deepEqual(buffers[1], [ 'e', 'f', 'g', ''])5�_ЊŒ‹p3ÿÿÿÿY^vNeÄõoqy5 assert.deepEqual(buffers[1], [ 'e', 'f', 'g', 'h'])5�_Ћ�Œp5ÿÿÿÿY^vNeÅõpr )õory6 assert.deepEqual(buffers[1], [ 'e', 'f', 'g', 'h' ])5�_ÐŒŽ�qÿÿÿÿY^vNeÈõprz '')5�_Ð��Žq.ÿÿÿÿY^vNeÔõqs{ õqsz5�_ÐŽ��rÿÿÿÿY^vNeÚõqs{ assert.deepEqual()5�_Ð�‘�rÿÿÿÿY^vNeÛõqs{ assert.deepEqual('')5�_Ð�’‘rÿÿÿÿY^vNeÞõqs{ assert.deepEqual(buffers[])5�_Б“’rÿÿÿÿY^vNeßõqs{ assert.deepEqual(buffers[2])5�_Ð’”“r ÿÿÿÿY^vNeàõqs{" assert.deepEqual(buffers[2], [])5�_Г•”r"ÿÿÿÿY^vNeâõqs{% assert.deepEqual(buffers[2], [ ''])5�_Д–•r$ÿÿÿÿY^vNeäõqs{& assert.deepEqual(buffers[2], [ 'f'])5�_Е—–r'ÿÿÿÿY^vNeåõqs{* assert.deepEqual(buffers[2], [ 'f', ''])5�_Ж˜—r(ÿÿÿÿY^vNeæõqs{+ assert.deepEqual(buffers[2], [ 'f', 'f'])5�_З™˜r)ÿÿÿÿY^vNeèõqs{+ assert.deepEqual(buffers[2], [ 'f', 'g'])5�_Иš™r*ÿÿÿÿY^vNeèõqs{- assert.deepEqual(buffers[2], [ 'f', 'g'''])5�_Й›šr,ÿÿÿÿY^vNeêõqs{/ assert.deepEqual(buffers[2], [ 'f', 'g', ''])5�_Кœ›r.ÿÿÿÿY^vNeëõqs{0 assert.deepEqual(buffers[2], [ 'f', 'g', 'h'])5�_Л�œr0ÿÿÿÿY^vNeíõrt )õqt{1 assert.deepEqual(buffers[2], [ 'f', 'g', 'h' ])5�_Мž�sÿÿÿÿY^vNeñõrt| '')5�_Ð�ŸžtÿÿÿÿY^vNeùõsu|5�_О ŸtÿÿÿÿY^vNeÿõsu| assert.deepEqual()5�_П¡ tÿÿÿÿY^vNfõsu| assert.deepEqual(stops, [])5�_Р¢¡t%ÿÿÿÿY^vNfõsu|& assert.deepEqual(stops, [undefined])5�_С£¢t(ÿÿÿÿY^vNf õsu|* assert.deepEqual(stops, [undefined], '')5�_Т¤£tBÿÿÿÿY^vNf"õsu|D assert.deepEqual(stops, [undefined], 'one stream reader stopped ')5�_У¥¤M ÿÿÿÿY^vNfNõLN| stream.push('a')5�_Ф¦¥N ÿÿÿÿY^vNfOõMO| stream.push('b')5�_Ð¥§¦V ÿÿÿÿY^vNfTõUW| stream.push('c')5�_Ц¨§W ÿÿÿÿY^vNfVõVX| stream.push('d')5�_Ч©¨_ ÿÿÿÿY^vNfYõ^`| stream.push('e')5�_Шª©i ÿÿÿÿY^vNf_õhj| stream.push('f')5�_Щ±ªj ÿÿÿÿY^vNf`'õik| stream.push('g')5�_Ъ²«±]ÿÿÿÿY^vNieõ]_} õ]_|5�_б³²^ÿÿÿÿY_vNih(õ]^ console.lo5�_в´³mÿÿÿÿY^vNilõmo}õmo|5�_гµ´nÿÿÿÿY^vNiq)õmo} console.log()5�_дºµk ÿÿÿÿY^vNiˆ-õjl} stream.push('h')5�_е»¹ºnÿÿÿÿWWvNj�/õmn console.log(buffers)5�_к¼» ÿÿÿÿWWvNEqõ |'var hub = require('../streamer.js').hub5�_л½¼ ,ÿÿÿÿWWvNEu0õ |,var streamer = require('../streamer.js').hub5�_м¾½ÿÿÿÿXXvNE”õ function pipe(readers) {5�_н¿¾ÿÿÿÿWWvNE•õ & return function stream(next, stop) {5�_оÀ¿ÿÿÿÿVVvNE•õ , readers.push({ next: next, stop: stop })5�_пÁÀÿÿÿÿUUvNE•õ  }5�_ÐÀÂÁÿÿÿÿTTvNE–õ }5�_ÐÁÃÂÿÿÿÿSSvNE˜õ 5�_ÐÂÄÃÿÿÿÿRRvNEšõ function copy(source) { var buffer = [], reason;& source(function onElement(element) { buffer.push(element) }, function onStop(error) { reason = error })& return function stream(next, stop) {) var index = 0, length = buffer.length0 while (index < length) next(buffer[index++]) if (stop) stop(reason) }}5�_ÐÃÅÄÿÿÿÿDDvNEžõ ?exports['test hub with normal stop'] = function(assert, done) { var readers = [], copies = []6 var source = hub(pipe(readers)), stream = readers[0] stream.next(1) copies.push(copy(source)) stream.next('a') stream.next('b') copies.push(copy(source)) stream.next(2) stream.next('last') stream.stop() copies.push(copy(source))5�_ÐÄÆÅÿÿÿÿ66vNE¢õ > assert.equal(readers.length, 1, "stream was read only once")9 test(assert, Object, copies[0], [ 'a', 'b', 2, 'last'])0 test(assert, Object, copies[1], [ 2, 'last' ])# test(assert, done, copies[2], [])}>exports['test hub with error stop'] = function(assert, done) {: var readers = [], copies = [], error = new Error('boom')6 var source = hub(pipe(readers)), stream = readers[0] stream.next(1) copies.push(copy(source)) stream.next('a') stream.next('b') copies.push(copy(source)) stream.next(2) stream.next('last') stream.stop(error) copies.push(copy(source))> assert.equal(readers.length, 1, "stream was read only once")@ test(assert, Object, copies[0], [ 'a', 'b', 2, 'last'], error)7 test(assert, Object, copies[1], [ 2, 'last' ], error)* test(assert, done, copies[2], [], error)}8exports['test hub with interrupt'] = function (assert) {, var readers = [], buffers = [], stops = []6 var source = hub(pipe(readers)), stream = readers[0]5�_ÐÅÇÆÿÿÿÿvNE¦õ  stream.next('a') stream.next('b') buffers[0] = [] source(function (element) { buffers[0].push(element)- if (buffers[0].length === 3) return false }, stops.push.bind(stops)) stream.next('c') stream.next('d') buffers[1] = [] source(function (element) { buffers[1].push(element)- if (buffers[1].length === 4) return false }, stops.push.bind(stops)) stream.next('e') buffers[2] = [] source(function (element) { buffers[2].push(element)- if (buffers[2].length === 4) return false }, stops.push.bind(stops)) stream.next('f') stream.next('g')5�_ÐÆÊÇÿÿÿÿvNE©2õ   stream.next('h') stream.stop()1 assert.deepEqual(buffers[0], [ 'c', 'd', 'e' ],2 'interrupted after 3 elements')6 assert.deepEqual(buffers[1], [ 'e', 'f', 'g', 'h' ],1 'interrupted after 4 elemens')1 assert.deepEqual(buffers[2], [ 'f', 'g', 'h' ],1 'read all remaining elements')C assert.deepEqual(stops, [undefined], 'one stream reader stopped')}5�_ÐÇËÈÊ ÿÿÿÿvNEÊõ exportsõ õ 5�_ÐÊÌËÿÿÿÿvNEÐõ  exports[]5�_ÐËÍÌ ÿÿÿÿvNEÐõ  exports['']5�_ÐÌÎÍÿÿÿÿvNEØõ exports['test cache']5�_ÐÍÏÎÿÿÿÿvNEÜõ exports['test cached ']5�_ÐÎÐÏÿÿÿÿvNEßõ exports['test cache a stream']5�_ÐÏÑÐ+ÿÿÿÿvNEãõ ,exports['test cache a stream'] = function ()5�_ÐÐÒÑ0ÿÿÿÿvNEäõ 0exports['test cache a stream'] = function (test)5�_ÐÑÓÒ2ÿÿÿÿvNEåõ 3exports['test cache a stream'] = function (test) {}5�_ÐÒÔÓÿÿÿÿvNEéõ 2exports['test cache a stream'] = function (test) {5�_ÐÓÕÔ!ÿÿÿÿvNEë4õ 7exports['test cache a list stream'] = function (test) {5�_ÐÔÖÕÿÿÿÿvNEòõ õ5�_ÐÕ×ÖÿÿÿÿvNEø5õ var stream = list()5�_ÐÖØ×ÿÿÿÿvNF6õ5�_Ð×ÙØÿÿÿÿvNFõ5�_ÐØÚÙÿÿÿÿvNF7õ test5�_ÐÙÛÚ ÿÿÿÿvNFõ õ õ 5�_ÐÚÜÛÿÿÿÿvNFõ 5exports['test empty list'] = function(assert, done) {5�_ÐÛÝÜÿÿÿÿvNFõ ;exports['test cache empty list'] = function(assert, done) {5�_ÐÜÞÝÿÿÿÿvNFõ >exports['test cache an empty list'] = function(assert, done) {õ õ5�_ÐÝßÞÿÿÿÿvNF$õ test(assert, done, list(), [])5�_ÐÞàß!ÿÿÿÿvNF'8õ& test(assert, done, cache(list(), [])5�_ÐßáàÿÿÿÿvNF4õõ0exports['test cache a list'] = function (test) { var stream = list(1, 2, 3, 4) test(assert, done, list(), [])}5�_ÐàâáÿÿÿÿvNF8õ0 test(assert, done, list(1, 2, 3), [ 1, 2, 3 ])5�_Ðáãâ(ÿÿÿÿvNF<9õ6 test(assert, done, cache(list(1, 2, 3), [ 1, 2, 3 ])5�_ÐâäãÿÿÿÿvNFDõõõ5�_ÐãåäÿÿÿÿvNFLõ D test(assert, done, list('a', 2, 'b', 4, object, func, exp, error),5�_ÐäæåIÿÿÿÿvNFT;õ J test(assert, done, cache(list('a', 2, 'b', 4, object, func, exp, error),5�_Ðåçæÿÿÿÿ 0vÿÿÿN\Tõexportsõ!õ 5�_Ðæèçÿÿÿÿ 0vÿÿÿN\Zõ" exports[]5�_Ðçéèÿÿÿÿ 0vÿÿÿN\\õ exports['']5�_Ðèêéÿÿÿÿ 0vÿÿÿN\\õ(!5�_Ðéëê'ÿÿÿÿ 0vÿÿÿN\_<õ'),5�_Ðêìëÿÿÿÿ 0vÿÿÿN\nõexportsõ.õ-5�_Ðëíìÿÿÿÿ 0vÿÿÿN\qõ/ exports[]5�_Ðìîí ÿÿÿÿ 0vÿÿÿN\qõ/ exports['']5�_Ðíïîÿÿÿÿ 0vÿÿÿN\uõ/exports['test async cache']5�_Ðîðï'ÿÿÿÿ 0vÿÿÿN\xõ/(exports['test async cache'] = function()5�_Ðïñð4ÿÿÿÿ 0vÿÿÿN\{õ/4exports['test async cache'] = function(assert, done)5�_Ððòñ6ÿÿÿÿ 0vÿÿÿN\|õ/7exports['test async cache'] = function(assert, done) {}5�_Ðñóòÿÿÿÿ 0vÿÿÿN\õ05�_Ðòôóÿÿÿÿ 0vÿÿÿN\‚õ15�_Ðóõôÿÿÿÿ 0vÿÿÿN\�õ$1 var 5�_Ðôöõÿÿÿÿ 0vÿÿÿN\�>õ7/*global define: true */5�_Ðõ÷ö& ÿÿÿÿ 0vÿÿÿN\¬?õ%'73exports['test interrupt read'] = function(assert) {5�_Ðöø÷"ÿÿÿÿ 0vÿÿÿN\²õ!#7 }, 0)5�_Ð÷ùø"ÿÿÿÿ 0vÿÿÿN\´õ!#7 }, 5)5�_Ðøúùÿÿÿÿ 0vÿÿÿN\Àõ76exports['test async cache'] = function(assert, done) {5�_Ðùûúÿÿÿÿ 0vÿÿÿN\Â@õ75exports['test read cache'] = function(assert, done) {5�_Ðúüûÿÿÿÿ 0vÿÿÿN\Ôõ var x = 35�_Ðûýüÿÿÿÿ 0vÿÿÿN\Ôõ% setTimeout(function onTimeout() {5�_Ðüþýÿÿÿÿ 0vÿÿÿN\Õõ- if (!x) return stop(new Error('Boom!'))5�_Ðýÿþÿÿÿÿ 0vÿÿÿN\Õõ7 if (false !== next(x--)) setTimeout(onTimeout, 0)5�_Ðþÿÿÿÿÿ 0vÿÿÿN\Öõ }, 3)5�_Ðÿÿÿÿÿ 0vÿÿÿN\×õ function stream(next, stop) {5�_Ð ÿÿÿÿ 0vÿÿÿN]¾õ 1%var test = require('./utils.js').test5�_Ð &ÿÿÿÿ 0vÿÿÿN]ÁCõ 1&var utils = require('./utils.js').test5�_Ðÿÿÿÿ 0vÿÿÿN]óõ2 }5�_Ðÿÿÿÿ 0vÿÿÿN^õ 2 var readers = []5�_Ðÿÿÿÿ 0vÿÿÿN^ õ 35�_Ð ÿÿÿÿ 0vÿÿÿN^õ 36 var source = hub(pipe(readers)), stream = readers[0]5�_Ð  ÿÿÿÿ 0vÿÿÿN^Dõ 32 var source = pipe(readers)), stream = readers[0]5�_Ð   ÿÿÿÿ 0vÿÿÿN^7õ 31 var source = pipe(readers), stream = readers[0]5�_Ð   "ÿÿÿÿ 0vÿÿÿN^;Eõ 37 var source = cache(pipe(readers), stream = readers[0]5�_Ð    ÿÿÿÿ 0vÿÿÿN^@õ 38 var source = cache(pipe(readers)), stream = readers[0]5�_Ð  +ÿÿÿÿ 0vÿÿÿN^DFõ 38 var stream = cache(pipe(readers)), stream = readers[0]5�_Ð *ÿÿÿÿ 0vÿÿÿN^Jõ"4 õ!35�_Ð!ÿÿÿÿ 0vÿÿÿN^Põ "55�_Ð!ÿÿÿÿ 0vÿÿÿN^Uõ "5 source.next()5�_Ð!ÿÿÿÿ 0vÿÿÿN^Uõ "5 source.next('')5�_Ð!ÿÿÿÿ 0vÿÿÿN^Xõ #5 source.next('a')5�_Ð ÿÿÿÿ 0vÿÿÿN^\õ "7õ "65�_Ð!ÿÿÿÿ 0vÿÿÿN^Øõ "7 5�_Ð!ÿÿÿÿ 0vÿÿÿN^ãõ "7 var 5�_Ð (ÿÿÿÿ 0vÿÿÿN^ýGõ 7( test = utils.test, pipe = utils.pipe5�_Ðÿÿÿÿ 0vÿÿÿN_ õ7 var readers = []5�_Ðÿÿÿÿ 0vÿÿÿN_õ7 var readers = [], stops5�_Ð! ÿÿÿÿ 0vÿÿÿN_õ "7 var buf1 = 5�_Ð!ÿÿÿÿ 0vÿÿÿN_õ "7 var buf1 = read()5�_Ð!*ÿÿÿÿ 0vÿÿÿN_$õ "7, var buf1 = read(stream, stops.push.bind())5�_Ð ÿÿÿÿ 0vÿÿÿN_(õ "8õ "75�_Ð#ÿÿÿÿ 0vÿÿÿN_6õ#%9 õ#%85�_Ð$ÿÿÿÿ 0vÿÿÿN_9õ#%9 source.next()5�_Ð $ÿÿÿÿ 0vÿÿÿN_9õ#%9 source.next('')5�_Ð! $ÿÿÿÿ 0vÿÿÿN_;õ%' var buf = readõ#'9 source.next('b')5�_Ð "!&ÿÿÿÿ 0vÿÿÿN_Bõ%'; var buf = read()5�_Ð!#"&$ÿÿÿÿ 0vÿÿÿN_Lõ%';& var buf = read(stream, stops.push())5�_Ð"$#&)ÿÿÿÿ 0vÿÿÿN_Xõ%';+ var buf = read(stream, stops.push.bind())5�_Ð#%$& ÿÿÿÿ 0vÿÿÿN__õ%';0 var buf = read(stream, stops.push.bind(stops))5�_Ð$&%& ÿÿÿÿ 0vÿÿÿN_`õ%';1 var buf, = read(stream, stops.push.bind(stops))5�_Ð%'&%ÿÿÿÿ 0vÿÿÿN_aõ%'<õ%';5�_Ð&('!8ÿÿÿÿ 0vÿÿÿN_rõ "<8 // Start reading before there is anything being cached5�_Ð')(&,ÿÿÿÿ 0vÿÿÿN_{õ%'<, // Start reading before source is stopped 5�_Ð(*)'+ÿÿÿÿ 0vÿÿÿN_}õ(* source.nextõ'*= õ')<5�_Ð)+*)ÿÿÿÿ 0vÿÿÿN_‚õ(*> source.next()5�_Ð*,+)ÿÿÿÿ 0vÿÿÿN_ƒõ(*> source.next('')5�_Ð+-,)ÿÿÿÿ 0vÿÿÿN_„õ)+? õ)+>5�_Ð,.-*ÿÿÿÿ 0vÿÿÿN_‰õ)+? source.next()5�_Ð-/.*ÿÿÿÿ 0vÿÿÿN_‰õ)+? source.next('')5�_Ð.0/*ÿÿÿÿ 0vÿÿÿN_‹õ*,@ õ*,?5�_Ð/10+ÿÿÿÿ 0vÿÿÿN_�õ*,@ source.stop()5�_Ð021+ÿÿÿÿ 0vÿÿÿN_�õ*,@ source.stop('')5�_Ð132+ÿÿÿÿ 0vÿÿÿN_–õ,. var buf3 = readõ+.A õ+-@5�_Ð243-ÿÿÿÿ 0vÿÿÿN_žõ,.B var buf3 = read()5�_Ð354-*ÿÿÿÿ 0vÿÿÿN_²õ,.B, var buf3 = read(stream, stops.push.bind())5�_Ð465,ÿÿÿÿ 0vÿÿÿN_¶Hõ,.Cõ,.B5�_Ð576.*ÿÿÿÿ 0vÿÿÿN_Âõ/1 assert.deepEqualõ.1D õ.0C5�_Ð6870ÿÿÿÿ 0vÿÿÿN_Êõ/1E assert.deepEqual()5�_Ð7980ÿÿÿÿ 0vÿÿÿN_Îõ/1E assert.deepEqual(stops, '')5�_Ð8:90ÿÿÿÿ 0vÿÿÿN_Ïõ/1E assert.deepEqual(stops, [])5�_Ð9;:0ÿÿÿÿ 0vÿÿÿN_Ñõ/1E assert.deepEqual(stops, [ ''])5�_Ð:<;0!ÿÿÿÿ 0vÿÿÿN_Ôõ/1E$ assert.deepEqual(stops, [ 'Boom'])5�_Ð;=<0"ÿÿÿÿ 0vÿÿÿN_Õõ/1E% assert.deepEqual(stops, [ 'Boom1'])5�_Ð<>=0#ÿÿÿÿ00"v"N_Úõ/1E% assert.deepEqual(stops, [ 'Boom!'])5�_Ð=?>07ÿÿÿÿ00"v"N_ßõ/1E8 assert.deepEqual(stops, [ 'Boom!', 'Boom!', 'Boom!' ])5�_Ð>@?0:ÿÿÿÿ00"v"N_àõ/1E< assert.deepEqual(stops, [ 'Boom!', 'Boom!', 'Boom!' ], "")5�_Ð?A@0:ÿÿÿÿ00"v"N_áõ/1E< assert.deepEqual(stops, [ 'Boom!', 'Boom!', 'Boom!' ], '')5�_Ð@BA09ÿÿÿÿ00"v"N_æõ/2EL assert.deepEqual(stops, [ 'Boom!', 'Boom!', 'Boom!' ], 'All streams were')5�_ÐACB1$ÿÿÿÿ00"v"N_ëIõ02F& 'All streams were')5�_ÐBDC1>ÿÿÿÿ00"v"N_ñõ13G õ13F5�_ÐCED2ÿÿÿÿ00"v"N_ýõ13G assert.deepEqual()5�_ÐDFE2ÿÿÿÿ00"v"N`õ13G assert.deepEqual(buf1, [])5�_ÐEGF2ÿÿÿÿ00"v"N`õ13G assert.deepEqual(buf1, [''])5�_ÐFHG2ÿÿÿÿ00"v"N`õ13G assert.deepEqual(buf1, ['a'])5�_ÐGIH2 ÿÿÿÿ00"v"N`õ13G# assert.deepEqual(buf1, ['a', ''])5�_ÐHJI2"ÿÿÿÿ00"v"N`õ13G$ assert.deepEqual(buf1, ['a', 'b'])5�_ÐIKJ2%ÿÿÿÿ00"v"N`õ13G( assert.deepEqual(buf1, ['a', 'b', ''])5�_ÐJLK2'ÿÿÿÿ00"v"N` õ13G) assert.deepEqual(buf1, ['a', 'b', 'c'])5�_ÐKML2*ÿÿÿÿ00"v"N` õ13G- assert.deepEqual(buf1, ['a', 'b', 'c', ''])5�_ÐLNM2,ÿÿÿÿ00"v"N`õ13G. assert.deepEqual(buf1, ['a', 'b', 'c', 'd'])5�_ÐMON2.ÿÿÿÿ00"v"N`õ24 )õ14G/ assert.deepEqual(buf1, ['a', 'b', 'c', 'd' ])5�_ÐNPO3ÿÿÿÿ00"v"N`õ24H '')5�_ÐOQP3Cÿÿÿÿ00"v"N`&õ24HE 'Cached stream includes all elements from sourec')5�_ÐPRQ2.ÿÿÿÿ00"v"N`.Jõ13H. assert.deepEqual(buf1, ['a', 'b', 'c', 'd' ]5�_ÐQSR3.ÿÿÿÿ00"v"N`/õ35I õ35H5�_ÐRTS4ÿÿÿÿ00"v"N`3õ35I assert.deepEqual()5�_ÐSUT4 ÿÿÿÿ00"v"N`:õ35I" assert.deepEqual(buf1, buf2, '')5�_ÐTVU4Pÿÿÿÿ00"v"N`Rõ35IR assert.deepEqual(buf1, buf2, 'reading cached stream from start and from middel')5�_ÐUWV4Oÿÿÿÿ00"v"N`Tõ35IS assert.deepEqual(buf1, buf2, 'reading cached stream from start and from middele')5�_ÐVXW4ÿÿÿÿ00"v"N`Võ36IR assert.deepEqual(buf1, buf2, 'reading cached stream from start and from middle')5�_ÐWYX5ÿÿÿÿ00"v"N`^õ46JF 'reading cached stream from start and from middle')5�_ÐXZY5!ÿÿÿÿ00"v"N`dõ46JK 'reading from cached stream from start and from middle')5�_ÐY[Z5"ÿÿÿÿ00"v"N`fõ46JF 'reading cached stream from start and from middle')5�_ÐZ\[5)ÿÿÿÿ00"v"N`hõ46JE 'reading cache stream from start and from middle')5�_Ð[]\5<ÿÿÿÿ00"v"N`jKõ46J> 'reading cache from start and from middle')5�_Ð\^]5Cÿÿÿÿ00"v"N`mõ57K õ57J5�_Ð]_^6ÿÿÿÿ00"v"N`qõ57K assert.deepEqual()5�_Ð^`_6ÿÿÿÿ00"v"N`uõ68 )õ58K assert.deepEqual(buf1, buf3)5�_Ð_a`7ÿÿÿÿ00"v"N`yõ68L '')5�_Ð`ba7,ÿÿÿÿ00"v"N`}õ68L- 'reading cache before it')5�_Ðacb5&ÿÿÿÿ00"v"N`�õ46LF 'reading cache from start and from middle is same')5�_Ðbdc5.ÿÿÿÿ00"v"N`”õ46LH 'reading cache before start and from middle is same')5�_Ðced50ÿÿÿÿ00"v"N`–õ46LF 'reading cache before and and from middle is same')5�_Ðdfe5Lÿÿÿÿ00"v"N`›Lõ46LU 'reading cache before and while it is cached from middle is same')5�_ÐegfKÿÿÿÿ00"v"N`°MõLNexports['test read cache before source is stopped'] = function(assert, done) {5�_Ðfhg; ÿÿÿÿ00"v"N`Îõ:<L4exports['-test interrupt read'] = function(assert) {5�_Ðgih;ÿÿÿÿ00"v"N`Ðõ:<L1exportstest interrupt read'] = function(assert) {5�_Ðhji;ÿÿÿÿ00"v"N`ÓNõ:<L3exports['test interrupt read'] = function(assert) {5�_Ðikj/ÿÿÿÿ7HvHN`óõ/1Mõ/1L5�_Ðjlk0ÿÿÿÿ8HvHN`úõ/1M assert.equal()5�_Ðknl0 ÿÿÿÿ8HvHN`ÿOõ/1M" assert.equal(readers.length, '')5�_Ðlomn<@ÿÿÿÿG<@v@NaPõ;ZB@exports['test interrupt reading from cache'] = function(assert) õ;=M Aexports['test interrupt reading from cache'] = function(assert) {" var stream = list(0, 1, 2, 3, 4) var read = [] stream(function (element) { read.push(element) return read.length !== 2 }, function stop() {0 assert.ok(false, 'stream shount be stopped') })H assert.deepEqual(read, [ 0, 1 ], 'stream stopped once false returned')}5�_ÐnpoA0ÿÿÿÿ<@<@v@NaÏQõ@B_1 var buf1 = read(stream, stops.push.bind(stops))5�_ÐoqpJÿÿÿÿ<@<@v@NaÚõIK_ source.stop('Boom!')5�_ÐprqM0ÿÿÿÿ<@<@v@NaàRõLN_1 var buf3 = read(stream, stops.push.bind(stops))5�_ÐqtrOÿÿÿÿ<@<@v@NaçõNP_A assert.equal(readers.length, 'source stream is read only once')5�_Ðrust0ÿÿÿÿ<@<@v@NaùSõ/1_A assert.equal(readers.length, 'source stream is read only once')5�_Ðt|uP5ÿÿÿÿ<@<@v@NbTõOQ_8 assert.deepEqual(stops, [ 'Boom!', 'Boom!', 'Boom!' ],5�_Ðu~v|P%ÿÿÿÿ<@<@v@Nb7WõOQ_( assert.deepEqual(stops, [ undefined ],5�_Ð|}~@2ÿÿÿÿ<@<@v@NbEõ@B` // õ@B_5�_Ð~€AÿÿÿÿB B3v3NbSõ@B` var subbuf1 = 5�_Ð�€AÿÿÿÿB B3v3NbTõ@B` var subbuf1 = 5�_Ѐ‚�A5ÿÿÿÿB B3v3NbWõ@B`7 var subbuf1 = read(stream, stops.push.bind(stops), 3)5�_Ð�ƒ‚A ÿÿÿÿB B3v3NbZõ@B`4 var subbuf1 = read(stream, stops.push.bind(stops))5�_Ђ„ƒA ÿÿÿÿB B3v3Nb\õ@B`0 var buf = read(stream, stops.push.bind(stops))5�_Ѓ…„B ÿÿÿÿB B3v3Nb^õAC`4 var buf1 = read(stream, stops.push.bind(stops), 3)5�_Є†…GÿÿÿÿGG0v0NbeõGIa õGI`5�_Ð…‡†H0ÿÿÿÿGG0v0NbjõGIa1 var buf2 = read(stream, stops.push.bind(stops))5�_Іˆ‡H ÿÿÿÿGG0v0NbpõGIa4 var buf2 = read(stream, stops.push.bind(stops), 2)5�_Ї‰ˆO ÿÿÿÿGG0v0NbvõOQb õOQa5�_ÐˆŠ‰PÿÿÿÿO O3v3Nb}õOQb var buf3sub = 5�_Љ‹ŠO3ÿÿÿÿO O3v3Nb�XõNPb4 var buf3 = read(stream, stops.push.bind(stops), 4)5�_ЊŒ‹[ÿÿÿÿO O3v3NbŒõ[]cõ[]b5�_Ћ�Œ\ÿÿÿÿO O3v3Nb“õ[]c assert.deepEqual()5�_ÐŒŽ�\ÿÿÿÿO O3v3Nb—õ[]c assert.deepEqual(buf1sub, [])5�_Ð��Ž\ÿÿÿÿO O3v3Nb™õ[]c" assert.deepEqual(buf1sub, [ ''])5�_ÐŽ��\!ÿÿÿÿO O3v3Nbšõ[]c# assert.deepEqual(buf1sub, [ 'a'])5�_Ð�‘�\$ÿÿÿÿO O3v3Nb›õ[]c' assert.deepEqual(buf1sub, [ 'a', ''])5�_Ð�’‘\&ÿÿÿÿO O3v3Nb�õ[]c( assert.deepEqual(buf1sub, [ 'a', 'b'])5�_Б“’\)ÿÿÿÿO O3v3Nb�õ[]c, assert.deepEqual(buf1sub, [ 'a', 'b', ''])5�_Ð’”“\+ÿÿÿÿO O3v3NbŸõ[]c- assert.deepEqual(buf1sub, [ 'a', 'b', 'c'])5�_Г•”\-ÿÿÿÿO O3v3Nb¡õ\^ )õ[^c. assert.deepEqual(buf1sub, [ 'a', 'b', 'c' ])5�_Д–•]ÿÿÿÿO O3v3Nb§õ\^d "")5�_Е—–]ÿÿÿÿO O3v3Nb§õ\^d '')5�_Ж˜—VÿÿÿÿO O3v3NbºõUWdE 'Cached stream includes all elements from source')5�_З™˜4ÿÿÿÿO O3v3NbÀõ35dE 'Cached stream includes all elements from source')5�_Иš™4ÿÿÿÿO O3v3NbÁõ35dE 'cached stream includes all elements from source')5�_Й›š41ÿÿÿÿO O3v3NbÖYõ35dT 'reading before cached stream includes all elements from source')5�_Кœ›V"ÿÿÿÿO O3v3NbäZõUWdE 'cached stream includes all elements from source')5�_Л�œV(ÿÿÿÿO O3v3NbîõUWdL 'reading before cache includes all elements from source')5�_Мž�V)ÿÿÿÿO O3v3Nbð[õUWdN 'reading before cacheed includes all elements from source')5�_Ð�Ÿž]!ÿÿÿÿO O3v3Nbõõ\^d# 'Cached stream')5�_О Ÿ])ÿÿÿÿO O3v3Nbþõ\^d+ 'reading before cache ')5�_П¡ \-ÿÿÿÿO O3v3Ncõ[]d- assert.deepEqual(buf1sub, [ 'a', 'b', 'c' ]5�_Р¢¡]ÿÿÿÿ\]EvÿÿÿNc õ]ae õ]_d5�_С£¢_"ÿÿÿÿ\]EvÿÿÿNcõ^`gE 'reading before cache includes all read elements')5�_Т¤£_!ÿÿÿÿ\]EvÿÿÿNcõ^`gD 'reading while cache includes all read elements')5�_У¥¤](ÿÿÿÿ\]EvÿÿÿNcõ\^gE 'reading before cache includes all read elements')5�_Ф¦¥_(ÿÿÿÿ\]EvÿÿÿNc\õ^`gE 'reading during cache includes all read elements')5�_Ð¥§¦^+ÿÿÿÿ\]EvÿÿÿNc#õ]_g. assert.deepEqual(buf1sub, [ 'a', 'b', 'c' ],5�_Ц¨§_%ÿÿÿÿ\]EvÿÿÿNc%õ_ah õ_ag5�_Ч©¨`ÿÿÿÿ\]EvÿÿÿNc*õ_ah assert.deepEqual()5�_Шª©^ÿÿÿÿ\]EvÿÿÿNc3õ]_h) assert.deepEqual(buf1sub, [ 'a', 'b' ],5�_Щ«ª`ÿÿÿÿ\]EvÿÿÿNc6õ_ah assert.deepEqual(buf3sub, )5�_Ъ¬«`ÿÿÿÿ\]EvÿÿÿNc6õ_ah assert.deepEqual(buf3sub, [])5�_Ы­¬`ÿÿÿÿ\]EvÿÿÿNc7õ_ah" assert.deepEqual(buf3sub, [ ''])5�_Ь®­`!ÿÿÿÿ\]EvÿÿÿNc9õ_ah# assert.deepEqual(buf3sub, [ 'a'])5�_Э¯®`$ÿÿÿÿ\]EvÿÿÿNc:õ_ah' assert.deepEqual(buf3sub, [ 'a', ''])5�_Ю°¯`&ÿÿÿÿ\]EvÿÿÿNc;õ_ah( assert.deepEqual(buf3sub, [ 'a', 'b'])5�_Я±°`)ÿÿÿÿ\]EvÿÿÿNc;õ_ah, assert.deepEqual(buf3sub, [ 'a', 'b', ''])5�_а²±`+ÿÿÿÿ\]EvÿÿÿNc=õ_ah- assert.deepEqual(buf3sub, [ 'a', 'b', 'c'])5�_б³²`,ÿÿÿÿ\]EvÿÿÿNc>õ_ah/ assert.deepEqual(buf3sub, [ 'a', 'b', 'c'''])5�_в´³`.ÿÿÿÿ\]EvÿÿÿNc?õ_ah1 assert.deepEqual(buf3sub, [ 'a', 'b', 'c', ''])5�_гµ´`0ÿÿÿÿ\]EvÿÿÿNcAõ_ah2 assert.deepEqual(buf3sub, [ 'a', 'b', 'c', 'd'])5�_д¶µ`2ÿÿÿÿ\]EvÿÿÿNcBõ`b )õ_bh3 assert.deepEqual(buf3sub, [ 'a', 'b', 'c', 'd' ])5�_е·¶aÿÿÿÿ\]EvÿÿÿNcF]õ`bi '')5�_ж¸·bÿÿÿÿ\]EvÿÿÿNcT^õab5�_з¹¸R#ÿÿÿÿ\]EvÿÿÿNcuõRTi õRTh5�_иº¹S ÿÿÿÿ]^EvÿÿÿNc}õRTi console.log5�_й»ºSÿÿÿÿ]^EvÿÿÿNc~_õRTi console.log()5�_к¼»SÿÿÿÿAA0v0NeI`õRS" console.log(stops, stops.length)5�_л½¼ÿÿÿÿNO•Žõhˆ(typeof define === "undefined" ? function ($) { $(require, exports, module) } : define)(function (require, exports, module, undefined) {5�_м¾½hÿÿÿÿNO•‘õgh5�_н¿¾gÿÿÿÿNO•’aõf})5�_оÀ¿eÿÿÿÿNO•¨bõdfg require('test').run(exports);5�_пÀ #ÿÿÿÿN_YÓcõ g)var streamer = require('../streamer.js'),5�_Ð|~}A3ÿÿÿÿ<@<@v@NbBõ@B_1 var buf1 = read(stream, stops.push.bind(stops))5�_Ðuw|vQÿÿÿÿ<@<@v@Nb õPR_F 'Only one streams were stopped with a same reason')5�_ÐvxwQ)ÿÿÿÿ<@<@v@NbõPR_E 'Only one streams was stopped with a same reason')5�_ÐwyxQCÿÿÿÿ<@<@v@NbUõPR_2 'Only one streams was stopped')5�_ÐxzyR,ÿÿÿÿ<@<@v@NbVõQS_* assert.deepEqual(buf1, ['a', 'b', 'c' ],5�_Ðy{zS<ÿÿÿÿ<@<@v@Nb#õRT_N 'Cached stream includes all elements read elements source')5�_Ðz{SLÿÿÿÿ<@<@v@Nb&õRT_G 'Cached stream includes all elements read elements')5�_Ðrts1ÿÿÿÿ<@<@v@Naðõ02_A assert.deepEqual(stops.length, ` [ 'Boom!', 'Boom!', 'Boom!' ],5�_Ðlnm<ÿÿÿÿ8HvHNa õ;=5�_Ðÿÿÿÿ 0vÿÿÿN\ØAõ5�_Ð ÿÿÿÿ 0vÿÿÿN\îBõ 0õ 1function pipe(readers) {& return function stream(next, stop) {, readers.push({ next: next, stop: stop }) }}5�_ÐÇÉÊÈ ÿÿÿÿvNE´3õ õ 5�_ÐÈÉÿÿÿÿvNE½õ 5exports['test empty list'] = function(assert, done) { test(assert, done, list(), [])}5�_е¶º¹k ÿÿÿÿWWvNiÅõjl} stream.nextgT('h')5�_е·¹¶WÿÿÿÿWWvNi›õVX} 5�_ж¸·WÿÿÿÿWWvNi›õVX5�_з¸]ÿÿÿÿWWvNi�+õ]^|õ]_} stream.next('d')5�_Ъ¯±«k ÿÿÿÿY^vNfb%õjl| stream.next('h')5�_Ы°¬¯P ÿÿÿÿZ_vNi5õPQ| õPR} /*5�_Я°Uÿÿÿÿ[`vNi9&õUV} õUW~ */5�_Ы­¯¬_ ÿÿÿÿY^vNh½õ_`| õ_a} stream.next()5�_Ь®­`ÿÿÿÿY^vNhÀõ_a} stream.next('')5�_Э®`ÿÿÿÿY^vNhÁ$õ_a} stream.next('ee')5�_Ð8:9=ÿÿÿÿ68vNdrõ<>5�_Ð687=ÿÿÿÿ68vNdcõ<>f copies.push(copy(source))et5�_ÐÛÝáÜ-ÿÿÿÿ$$vN ¨õ,.A4 test(assert, function() copies[0], [ 'a', 'last'])5�_ÐÜÞÝ-ÿÿÿÿ$$vN ®õ,.A6 test(assert, function(){} copies[0], [ 'a', 'last'])5�_ÐÝàÞ-ÿÿÿÿ$$vN ®õ,.A3 test(assert, Function, copies[0], [ 'a', 'last'])5�_ÐÞßà-ÿÿÿÿ$$vN Çõ,.A5 test(assert, Function(), copies[0], [ 'a', 'last'])5�_ÐÞàß-ÿÿÿÿ$$vN ºõ,.A1 test(assert, Object, copies[0], [ 'a', 'last'])5�_л½¾¼ÿÿÿÿ## v NZõ5�_м½ÿÿÿÿ"" v NZõ5�_ÐsuvtÿÿÿÿvÿÿÿNðõ9reason = errorõ9, }, function onStop(error) { reason = error5�_ÐtuÿÿÿÿvÿÿÿNòõ8})õ8/ }, function onStop(error) { reason = error })5�_Ð<>=ÿÿÿÿ vN+õ& var stream = 5�_Ð ÿÿÿÿvNMõ!%5�_Ð ÿÿÿÿvNNõ5�çª