rxjs-rails 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +19 -0
  4. data/README.md +14 -0
  5. data/lib/rxjs/rails/engine.rb +7 -0
  6. data/lib/rxjs/rails/railtie.rb +7 -0
  7. data/lib/rxjs/rails/version.rb +7 -0
  8. data/lib/rxjs/rails.rb +8 -0
  9. data/lib/rxjs.rb +1 -0
  10. data/rxjs-rails.gemspec +22 -0
  11. data/vendor/assets/javascripts/rx.aggregates.js +687 -0
  12. data/vendor/assets/javascripts/rx.aggregates.min.js +1 -0
  13. data/vendor/assets/javascripts/rx.async.compat.js +376 -0
  14. data/vendor/assets/javascripts/rx.async.compat.min.js +1 -0
  15. data/vendor/assets/javascripts/rx.async.js +306 -0
  16. data/vendor/assets/javascripts/rx.async.min.js +1 -0
  17. data/vendor/assets/javascripts/rx.binding.js +561 -0
  18. data/vendor/assets/javascripts/rx.binding.min.js +1 -0
  19. data/vendor/assets/javascripts/rx.coincidence.js +691 -0
  20. data/vendor/assets/javascripts/rx.coincidence.min.js +1 -0
  21. data/vendor/assets/javascripts/rx.compat.js +4351 -0
  22. data/vendor/assets/javascripts/rx.compat.min.js +2 -0
  23. data/vendor/assets/javascripts/rx.experimental.js +453 -0
  24. data/vendor/assets/javascripts/rx.experimental.min.js +1 -0
  25. data/vendor/assets/javascripts/rx.joinpatterns.js +418 -0
  26. data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -0
  27. data/vendor/assets/javascripts/rx.lite.compat.js +5188 -0
  28. data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -0
  29. data/vendor/assets/javascripts/rx.lite.js +5000 -0
  30. data/vendor/assets/javascripts/rx.lite.min.js +2 -0
  31. data/vendor/assets/javascripts/rx.min.js +2 -0
  32. data/vendor/assets/javascripts/rx.node.js +143 -0
  33. data/vendor/assets/javascripts/rx.testing.js +503 -0
  34. data/vendor/assets/javascripts/rx.testing.min.js +1 -0
  35. data/vendor/assets/javascripts/rx.time.js +1166 -0
  36. data/vendor/assets/javascripts/rx.time.min.js +1 -0
  37. data/vendor/assets/javascripts/rx.virtualtime.js +336 -0
  38. data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -0
  39. metadata +101 -0
@@ -0,0 +1,2 @@
1
+ (function(a){function b(){}function c(a){return a}function d(a,b){return R(a,b)}function e(a,b){return a-b}function f(a){return a.toString()}function g(a){throw a}function h(){if(this.isDisposed)throw new Error(D)}function i(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function j(a){return a&&"object"==typeof a?N.call(a)==E:!1}function k(a){return"function"==typeof a}function l(a,b,c,d){var e;if(a===b)return 0!==a||1/a==1/b;var f=typeof a,g=typeof b;if(!(a!==a||a&&s[f]||b&&s[g]))return!1;if(null==a||null==b)return a===b;var h=N.call(a),m=N.call(b);if(h==E&&(h=K),m==E&&(m=K),h!=m)return!1;switch(h){case G:case H:return+a==+b;case J:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case L:case M:return a==String(b)}var n=h==F;if(!n){if(h!=K||!y&&(i(a)||i(b)))return!1;var o=!P&&j(a)?Object:a.constructor,p=!P&&j(b)?Object:b.constructor;if(o!=p&&!(k(o)&&o instanceof o&&k(p)&&p instanceof p))return!1}for(var q=c.length;q--;)if(c[q]==a)return d[q]==b;var r=0;if(e=!0,c.push(a),d.push(b),n){for(q=a.length,r=b.length,e=r==a.length;r--;){var t=b[r];if(!(e=l(a[r],t,c,d)))break}return e}for(var u in b)if(O.call(b,u))return r++,e=O.call(a,u)&&l(a[u],b[u],c,d);if(e)for(var u in a)if(O.call(a,u))return e=--r>-1;return c.pop(),d.pop(),e}function m(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:S.call(a)}function n(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function o(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function p(a,b){return new Vb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return c.onError(g),void 0}d=new fb,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e})}function q(a,b){var c=this;return new Vb(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return d.onError(i),void 0}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))})}function r(a){return this.select(a).mergeObservable()}var s={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},t=s[typeof window]&&window||this,u=s[typeof exports]&&exports&&!exports.nodeType&&exports,v=s[typeof module]&&module&&!module.nodeType&&module,w=v&&v.exports===u&&u,x=s[typeof global]&&global;!x||x.global!==x&&x.window!==x||(t=x);var y,z={Internals:{}},A=function(){return Date.now?Date.now:function(){return+new Date}}(),B="Sequence contains no elements.",C="Argument out of range",D="Object has been disposed",s={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},E="[object Arguments]",F="[object Array]",G="[object Boolean]",H="[object Date]",I="[object Function]",J="[object Number]",K="[object Object]",L="[object RegExp]",M="[object String]",N=Object.prototype.toString,O=Object.prototype.hasOwnProperty,P=N.call(arguments)==E;try{y=!(N.call(document)==K&&!({toString:0}+""))}catch(Q){y=!0}P||(j=function(a){return a&&"object"==typeof a?O.call(a,"callee"):!1}),k(/x/)&&(k=function(a){return"function"==typeof a&&N.call(a)==I});var R=z.Internals.isEqual=function(a,b){return l(a,b,[],[])},S=Array.prototype.slice,T=({}.hasOwnProperty,this.inherits=z.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),U=z.Internals.addProperties=function(a){for(var b=S.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},V=z.Internals.addRef=function(a,b){return new Vb(function(c){return new _(b.getDisposable(),a.subscribe(c))})};Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=S.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(S.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(S.call(arguments)))};return d});var W=Object("a"),X="a"!=W[0]||!(0 in W);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=X&&"[object String]"=={}.toString.call(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!={}.toString.call(a))throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=X&&"[object String]"=={}.toString.call(this)?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if("[object Function]"!={}.toString.call(a))throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!=d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1});var Y=function(a,b){this.id=a,this.value=b};Y.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Z=z.Internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},$=Z.prototype;$.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},$.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},$.heapify=function(b){if(b===a&&(b=0),!(b>=this.length||0>b)){var c=2*b+1,d=2*b+2,e=b;if(c<this.length&&this.isHigherPriority(c,e)&&(e=c),d<this.length&&this.isHigherPriority(d,e)&&(e=d),e!==b){var f=this.items[b];this.items[b]=this.items[e],this.items[e]=f,this.heapify(e)}}},$.peek=function(){return this.items[0].value},$.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},$.dequeue=function(){var a=this.peek();return this.removeAt(0),a},$.enqueue=function(a){var b=this.length++;this.items[b]=new Y(Z.count++,a),this.percolate(b)},$.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},Z.count=0;var _=z.CompositeDisposable=function(){this.disposables=m(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},ab=_.prototype;ab.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},ab.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},ab.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},ab.clear=function(){var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()},ab.contains=function(a){return-1!==this.disposables.indexOf(a)},ab.toArray=function(){return this.disposables.slice(0)};var bb=z.Disposable=function(a){this.isDisposed=!1,this.action=a||b};bb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var cb=bb.create=function(a){return new bb(a)},db=bb.empty={dispose:b},eb=function(){function a(a){this.isSingle=a,this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){if(this.current&&this.isSingle)throw new Error("Disposable has already been assigned");var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),fb=z.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return T(b,a),b}(eb),gb=z.SerialDisposable=function(a){function b(){a.call(this,!1)}return T(b,a),b}(eb),hb=z.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?db:new a(this)},b}();o.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var ib=z.Internals.ScheduledItem=function(a,b,c,d,f){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=f||e,this.disposable=new fb};ib.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},ib.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},ib.prototype.isCancelled=function(){return this.disposable.isDisposed},ib.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var jb,kb=z.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){var c=b.first,d=b.second,e=new _,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),db});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new _,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),db});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){return b(),db}var e=a.prototype;return e.catchException=e["catch"]=function(a){return new sb(this,a)},e.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,function(){b()})},e.schedulePeriodicWithState=function(a,b,c){var d=a,e=setInterval(function(){d=c(d)},b);return cb(function(){clearInterval(e)})},e.schedule=function(a){return this._schedule(a,d)},e.scheduleWithState=function(a,b){return this._schedule(a,b)},e.scheduleWithRelative=function(a,b){return this._scheduleRelative(b,a,d)},e.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},e.scheduleWithAbsolute=function(a,b){return this._scheduleAbsolute(b,a,d)},e.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},e.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},e.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},function(a,c){return b(a,c)})},e.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},e.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})},a.now=A,a.normalize=function(a){return 0>a&&(a=0),a},a}(),lb=kb.normalize,mb=(z.Internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new fb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),kb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=lb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new kb(A,a,b,c)}()),nb=kb.currentThread=function(){function a(){e=new Z(4)}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f,g=this.now()+lb(c),h=new ib(this,b,d,g);if(e)e.enqueue(h);else{f=new a;try{e.enqueue(h),f.run()}catch(i){throw i}finally{f.dispose()}}return h.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e;a.prototype.dispose=function(){e=null},a.prototype.run=function(){for(var a;e.length>0;)if(a=e.dequeue(),!a.isCancelled()){for(;a.dueTime-kb.now()>0;);a.isCancelled()||a.invoke()}};var f=new kb(A,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),ob=RegExp("^"+String(N).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),pb="function"==typeof(pb=x&&w&&x.setImmediate)&&!ob.test(pb)&&pb,qb="function"==typeof(qb=x&&w&&x.clearImmediate)&&!ob.test(qb)&&qb,rb=b;!function(){function a(){if(!t.postMessage||t.importScripts)return!1;var a=!1,b=t.onmessage;return t.onmessage=function(){a=!0},t.postMessage("","*"),t.onmessage=b,a}function b(a){if("string"==typeof a.data&&a.data.substring(0,c.length)===c){var b=a.data.substring(c.length),e=d[b];e(),delete d[b]}}if("function"==typeof pb)jb=pb,rb=qb;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))jb=process.nextTick;else if(a()){var c="ms.rx.schedule"+Math.random(),d={},e=0;t.addEventListener?t.addEventListener("message",b,!1):t.attachEvent("onmessage",b,!1),jb=function(a){var b=e++;d[b]=a,t.postMessage(c+b,"*")}}else if(t.MessageChannel){var f=new t.MessageChannel,g={},h=0;f.port1.onmessage=function(a){var b=a.data,c=g[b];c(),delete g[b]},jb=function(a){var b=h++;g[b]=a,f.port2.postMessage(b)}}else"document"in t&&"onreadystatechange"in t.document.createElement("script")?jb=function(a){var b=t.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},t.document.documentElement.appendChild(b)}:(jb=function(a){return setTimeout(a,0)},rb=clearTimeout)}();var sb=(kb.timeout=function(){function a(a,b){var c=this,d=new fb,e=jb(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){rb(e)}))}function b(a,b,c){var d=this,e=kb.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new fb,g=setTimeout(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new _(f,cb(function(){clearTimeout(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new kb(A,a,b,c)}(),function(a){function b(){return this._scheduler.now()}function c(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function d(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function e(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function f(f,g){this._scheduler=f,this._handler=g,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,b,c,d,e)}return T(f,a),f.prototype._clone=function(a){return new f(a,this._handler)},f.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return db}}},f.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},f.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new fb;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},f}(kb)),tb=z.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}var b=a.prototype;return b.accept=function(a,b,c){return 1===arguments.length&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},b.toObservable=function(a){var b=this;return a||(a=mb),new Vb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),ub=tb.createOnNext=function(){function a(a){return a(this.value)}function b(a){return a.onNext(this.value)}function c(){return"OnNext("+this.value+")"}return function(d){var e=new tb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),vb=tb.createOnError=function(){function a(a,b){return b(this.exception)}function b(a){return a.onError(this.exception)}function c(){return"OnError("+this.exception+")"}return function(d){var e=new tb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),wb=tb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new tb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),xb=z.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},yb=xb.create=function(a,b){var c=!1;return new xb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},zb=z.Internals.Enumerable=function(a){this.getEnumerator=a};zb.prototype.concat=function(){var a=this;return new Vb(function(b){var c,d=a.getEnumerator(),e=new gb,f=mb.scheduleRecursive(function(a){var f,g;if(!c){try{g=d.moveNext(),g&&(f=d.getCurrent())}catch(h){return b.onError(h),void 0}if(!g)return b.onCompleted(),void 0;var i=new fb;e.setDisposable(i),i.setDisposable(f.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new _(e,f,cb(function(){c=!0}))})},zb.prototype.catchException=function(){var a=this;return new Vb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=mb.scheduleRecursive(function(a){var g,h;if(!c){try{h=e.moveNext(),h&&(g=e.getCurrent())}catch(i){return b.onError(i),void 0}if(!h)return d?b.onError(d):b.onCompleted(),void 0;var j=new fb;f.setDisposable(j),j.setDisposable(g.subscribe(b.onNext.bind(b),function(b){d=b,a()},b.onCompleted.bind(b)))}});return new _(f,g,cb(function(){c=!0}))})};var Ab=zb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new zb(function(){var c,d=b;return yb(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},Bb=zb.forEach=function(a,b,d){return b||(b=c),new zb(function(){var c,e=-1;return yb(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},Cb=z.Observer=function(){};Cb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Cb.prototype.asObserver=function(){return new Gb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Cb.prototype.checked=function(){return new Hb(this)};var Db=Cb.create=function(a,c,d){return a||(a=b),c||(c=g),d||(d=b),new Gb(a,c,d)};Cb.fromNotifier=function(a){return new Gb(function(b){return a(ub(b))},function(b){return a(vb(b))},function(){return a(wb())})},Cb.notifyOn=function(a){return new Jb(a,this)};var Eb,Fb=z.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return T(b,a),b.prototype.onNext=function(a){this.isStopped||this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a),!0)},b}(Cb),Gb=z.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return T(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Fb),Hb=function(a){function b(b){a.call(this),this._observer=b,this._state=0}T(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();try{this._observer.onNext(a)}catch(b){throw b}finally{this._state=0}},c.onError=function(a){this.checkAccess();try{this._observer.onError(a)}catch(b){throw b}finally{this._state=2}},c.onCompleted=function(){this.checkAccess();try{this._observer.onCompleted()}catch(a){throw a}finally{this._state=2}},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Cb),Ib=z.Internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new gb}return T(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return b.isAcquired=!1,void 0;c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Fb),Jb=function(a){function b(){a.apply(this,arguments)}return T(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b}(Ib),Kb=z.Observable=function(){function a(a){this._subscribe=a}return Eb=a.prototype,Eb.finalValue=function(){var a=this;return new Vb(function(b){var c,d=!1;return a.subscribe(function(a){d=!0,c=a},b.onError.bind(b),function(){d?(b.onNext(c),b.onCompleted()):b.onError(new Error(B))})})},Eb.subscribe=Eb.forEach=function(a,b,c){var d;return d="object"==typeof a?a:Db(a,b,c),this._subscribe(d)},Eb.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}();Eb.observeOn=function(a){var b=this;return new Vb(function(c){return b.subscribe(new Jb(a,c))})},Eb.subscribeOn=function(a){var b=this;return new Vb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new o(a,b.subscribe(c)))})),e})},Kb.create=Kb.createWithDisposable=function(a){return new Vb(a)};var Lb=(Kb.defer=function(a){return new Vb(function(b){var c;try{c=a()}catch(d){return Pb(d).subscribe(b)}return c.subscribe(b)})},Kb.empty=function(a){return a||(a=mb),new Vb(function(b){return a.schedule(function(){b.onCompleted()})})}),Mb=Kb.fromArray=function(a,b){return b||(b=nb),new Vb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Kb.generate=function(a,b,c,d,e){return e||(e=nb),new Vb(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return f.onError(j),void 0}e?(f.onNext(i),a()):f.onCompleted()})})};var Nb=Kb.never=function(){return new Vb(function(){return db})};Kb.range=function(a,b,c){return c||(c=nb),new Vb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Kb.repeat=function(a,b,c){return c||(c=nb),null==b&&(b=-1),Ob(a,c).repeat(b)};var Ob=Kb["return"]=Kb.returnValue=function(a,b){return b||(b=mb),new Vb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Pb=Kb["throw"]=Kb.throwException=function(a,b){return b||(b=mb),new Vb(function(c){return b.schedule(function(){c.onError(a)})})};Kb.using=function(a,b){return new Vb(function(c){var d,e,f=db;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new _(Pb(g).subscribe(c),f)}return new _(e.subscribe(c),f)})},Eb.amb=function(a){var b=this;return new Vb(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new fb,j=new fb;return i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new _(i,j)})},Kb.amb=function(){function a(a,b){return a.amb(b)}for(var b=Nb(),c=m(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Eb["catch"]=Eb.catchException=function(a){return"function"==typeof a?p(this,a):Qb([this,a])};var Qb=Kb.catchException=Kb["catch"]=function(){var a=m(arguments,0);return Bb(a).catchException()};Eb.combineLatest=function(){var a=S.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Rb.apply(this,a)};var Rb=Kb.combineLatest=function(){var a=S.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Vb(function(d){function e(a){var e;if(i[a]=!0,j||(j=i.every(c))){try{e=b.apply(null,l)}catch(f){return d.onError(f),void 0}d.onNext(e)}else k.filter(function(b,c){return c!==a}).every(c)&&d.onCompleted()}function f(a){k[a]=!0,k.every(c)&&d.onCompleted()}for(var g=function(){return!1},h=a.length,i=n(h,g),j=!1,k=n(h,g),l=new Array(h),m=new Array(h),o=0;h>o;o++)!function(b){m[b]=new fb,m[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(m)})};Eb.concat=function(){var a=S.call(arguments,0);return a.unshift(this),Sb.apply(this,a)};var Sb=Kb.concat=function(){var a=m(arguments,0);return Bb(a).concat()};Eb.concatObservable=Eb.concatAll=function(){return this.merge(1)},Eb.merge=function(a){if("number"!=typeof a)return Tb(this,a);var b=this;return new Vb(function(c){var d=0,e=new _,f=!1,g=[],h=function(a){var b=new fb;e.add(b),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){var a;e.remove(b),g.length>0?(a=g.shift(),h(a)):(d--,f&&0===d&&c.onCompleted())}))};return e.add(b.subscribe(function(b){a>d?(d++,h(b)):g.push(b)},c.onError.bind(c),function(){f=!0,0===d&&c.onCompleted()})),e})};var Tb=Kb.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=S.call(arguments,1)):(a=mb,b=S.call(arguments,0)):(a=mb,b=S.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Mb(b,a).mergeObservable()};Eb.mergeObservable=Eb.mergeAll=function(){var a=this;return new Vb(function(b){var c=new _,d=!1,e=new fb;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new fb;c.add(e),e.setDisposable(a.subscribe(function(a){b.onNext(a)},b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c})},Eb.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return Ub([this,a])};var Ub=Kb.onErrorResumeNext=function(){var a=m(arguments,0);return new Vb(function(b){var c=0,d=new gb,e=mb.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],g=new fb,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),function(){e()},function(){e()}))):b.onCompleted()});return new _(d,e)})};Eb.skipUntil=function(a){var b=this;return new Vb(function(c){var d=!1,e=new _(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()})),f=new fb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e})},Eb["switch"]=Eb.switchLatest=function(){var a=this;return new Vb(function(b){var c=!1,d=new gb,e=!1,f=0,g=a.subscribe(function(a){var g=new fb,h=++f;c=!0,d.setDisposable(g),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,c||b.onCompleted()});return new _(g,d)})},Eb.takeUntil=function(a){var c=this;return new Vb(function(d){return new _(c.subscribe(d),a.subscribe(d.onCompleted.bind(d),d.onError.bind(d),b))})},Eb.zip=function(){if(Array.isArray(arguments[0]))return q.apply(this,arguments);var a=this,b=S.call(arguments),d=b.pop();return b.unshift(a),new Vb(function(e){function f(a){i[a]=!0,i.every(function(a){return a})&&e.onCompleted()}for(var g=b.length,h=n(g,function(){return[]}),i=n(g,function(){return!1}),j=function(b){var f,g;if(h.every(function(a){return a.length>0})){try{g=h.map(function(a){return a.shift()}),f=d.apply(a,g)}catch(j){return e.onError(j),void 0}e.onNext(f)}else i.filter(function(a,c){return c!==b}).every(c)&&e.onCompleted()},k=new Array(g),l=0;g>l;l++)!function(a){k[a]=new fb,k[a].setDisposable(b[a].subscribe(function(b){h[a].push(b),j(a)},e.onError.bind(e),function(){f(a)}))}(l);return new _(k)})},Kb.zip=function(){var a=S.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Kb.zipArray=function(){var a=S.call(arguments);return new Vb(function(b){function d(a){if(g.every(function(a){return a.length>0})){var d=g.map(function(a){return a.shift()});b.onNext(d)}else if(h.filter(function(b,c){return c!==a}).every(c))return b.onCompleted(),void 0}function e(a){return h[a]=!0,h.every(c)?(b.onCompleted(),void 0):void 0}for(var f=a.length,g=n(f,function(){return[]}),h=n(f,function(){return!1}),i=new Array(f),j=0;f>j;j++)!function(c){i[c]=new fb,i[c].setDisposable(a[c].subscribe(function(a){g[c].push(a),d(c)},b.onError.bind(b),function(){e(c)}))}(j);var k=new _(i);return k.add(cb(function(){for(var a=0,b=g.length;b>a;a++)g[a]=[]})),k})},Eb.asObservable=function(){var a=this;return new Vb(function(b){return a.subscribe(b)})},Eb.bufferWithCount=function(a,b){return 1===arguments.length&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Eb.dematerialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Eb.distinctUntilChanged=function(a,b){var e=this;return a||(a=c),b||(b=d),new Vb(function(c){var d,f=!1;return e.subscribe(function(e){var g,h=!1;try{g=a(e)}catch(i){return c.onError(i),void 0}if(f)try{h=b(d,g)}catch(i){return c.onError(i),void 0}f&&h||(f=!0,d=g,c.onNext(e))},c.onError.bind(c),c.onCompleted.bind(c))})},Eb["do"]=Eb.doAction=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Vb(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b){try{b(c)}catch(d){a.onError(d)}a.onError(c)}else a.onError(c)},function(){if(c){try{c()}catch(b){a.onError(b)}a.onCompleted()}else a.onCompleted()})})},Eb["finally"]=Eb.finallyAction=function(a){var b=this;return new Vb(function(c){var d=b.subscribe(c);return cb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Eb.ignoreElements=function(){var a=this;return new Vb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Eb.materialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){b.onNext(ub(a))},function(a){b.onNext(vb(a)),b.onCompleted()},function(){b.onNext(wb()),b.onCompleted()})})},Eb.repeat=function(a){return Ab(this,a).concat()},Eb.retry=function(a){return Ab(this,a).catchException()},Eb.scan=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,a=arguments[0],b=arguments[1]):b=arguments[0],new Vb(function(e){var f,g,h;return d.subscribe(function(d){try{h||(h=!0),f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return e.onError(i),void 0}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})})},Eb.skipLast=function(a){var b=this;return new Vb(function(c){var d=[];
2
+ return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=mb,a=S.call(arguments,c),Bb([Mb(a,b),this]).concat()},Eb.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Mb(a,b)})},Eb.takeLastBuffer=function(a){var b=this;return new Vb(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){c.onNext(d),c.onCompleted()})})},Eb.windowWithCount=function(a,b){var c=this;if(0>=a)throw new Error(C);if(1===arguments.length&&(b=a),0>=b)throw new Error(C);return new Vb(function(d){var e=new fb,f=new hb(e),g=0,h=[],i=function(){var a=new Zb;h.push(a),d.onNext(V(a,f))};return i(),e.setDisposable(c.subscribe(function(c){for(var d,e=0,f=h.length;f>e;e++)h[e].onNext(c);var j=g-a+1;j>=0&&j%b===0&&(d=h.shift(),d.onCompleted()),g++,g%b===0&&i()},function(a){for(;h.length>0;)h.shift().onError(a);d.onError(a)},function(){for(;h.length>0;)h.shift().onCompleted();d.onCompleted()})),f})},Eb.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Vb(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},a.onError.bind(a),function(){d||a.onNext(b),a.onCompleted()})})},Eb.distinct=function(a,b){var d=this;return a||(a=c),b||(b=f),new Vb(function(c){var e={};return d.subscribe(function(d){var f,g,h,i=!1;try{f=a(d),g=b(f)}catch(j){return c.onError(j),void 0}for(h in e)if(g===h){i=!0;break}i||(e[g]=null,c.onNext(d))},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.groupBy=function(a,b,c){return this.groupByUntil(a,b,function(){return Nb()},c)},Eb.groupByUntil=function(a,d,e,g){var h=this;return d||(d=c),g||(g=f),new Vb(function(c){var f={},i=new _,j=new hb(i);return i.add(h.subscribe(function(h){var k,l,m,n,o,p,q,r,s,t;try{p=a(h),q=g(p)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}n=!1;try{s=f[q],s||(s=new Zb,f[q]=s,n=!0)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}if(n){o=new Xb(p,s,j),l=new Xb(p,s);try{k=e(l)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}c.onNext(o),r=new fb,i.add(r);var v=function(){q in f&&(delete f[q],s.onCompleted()),i.remove(r)};r.setDisposable(k.take(1).subscribe(b,function(a){for(t in f)f[t].onError(a);c.onError(a)},function(){v()}))}try{m=d(h)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}s.onNext(m)},function(a){for(var b in f)f[b].onError(a);c.onError(a)},function(){for(var a in f)f[a].onCompleted();c.onCompleted()})),j})},Eb.select=Eb.map=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.pluck=function(a){return this.select(function(b){return b[a]})},Eb.selectMany=Eb.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?r.call(this,a):r.call(this,function(){return a})},Eb.selectSwitch=Eb.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Eb.skip=function(a){if(0>a)throw new Error(C);var b=this;return new Vb(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.skipWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.take=function(a,b){if(0>a)throw new Error(C);if(0===a)return Lb(b);var c=this;return new Vb(function(b){var d=a;return c.subscribe(function(a){d>0&&(d--,b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))})},Eb.takeWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.where=Eb.filter=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))})};var Vb=z.Internals.AnonymousObservable=function(a){function b(a){return"undefined"==typeof a?a=db:"function"==typeof a&&(a=cb(a)),a}function c(d){function e(a){var c=new Wb(a);if(nb.scheduleRequired())nb.schedule(function(){try{c.setDisposable(b(d(c)))}catch(a){if(!c.fail(a))throw a}});else try{c.setDisposable(b(d(c)))}catch(e){if(!c.fail(e))throw e}return c}return this instanceof c?(a.call(this,e),void 0):new c(d)}return T(c,a),c}(Kb),Wb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}T(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{b||this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.disposable=function(a){return arguments.length?this.getDisposable():setDisposable(a)},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Fb),Xb=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new Vb(function(a){return new _(e.getDisposable(),d.subscribe(a))}):d}return T(c,a),c}(Kb),Yb=function(a,b){this.subject=a,this.observer=b};Yb.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};var Zb=z.Subject=function(a){function b(a){return h.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Yb(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return T(c,a),U(c.prototype,Cb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(h.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(h.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(h.call(this),!this.isStopped)for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),c.create=function(a,b){return new $b(a,b)},c}(Kb),$b=(z.AsyncSubject=function(a){function b(a){if(h.call(this),!this.isStopped)return this.observers.push(a),new Yb(this,a);var b=this.exception,c=this.hasValue,d=this.value;return b?a.onError(b):c?(a.onNext(d),a.onCompleted()):a.onCompleted(),db}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return T(c,a),U(c.prototype,Cb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){var a,b,c;if(h.call(this),!this.isStopped){var d=this.observers.slice(0);this.isStopped=!0;var e=this.value,f=this.hasValue;if(f)for(b=0,c=d.length;c>b;b++)a=d[b],a.onNext(e),a.onCompleted();else for(b=0,c=d.length;c>b;b++)d[b].onCompleted();this.observers=[]}},onError:function(a){if(h.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){h.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),c}(Kb),function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){a.call(this,b),this.observer=c,this.observable=d}return T(c,a),U(c.prototype,Cb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Kb));"function"==typeof define&&"object"==typeof define.amd&&define.amd?(t.Rx=z,define(function(){return z})):u&&v?w?(v.exports=z).Rx=z:u.Rx=z:t.Rx=z}).call(this);
@@ -0,0 +1,453 @@
1
+ // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
+
3
+ ;(function (factory) {
4
+ var objectTypes = {
5
+ 'boolean': false,
6
+ 'function': true,
7
+ 'object': true,
8
+ 'number': false,
9
+ 'string': false,
10
+ 'undefined': false
11
+ };
12
+
13
+ var root = (objectTypes[typeof window] && window) || this,
14
+ freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
15
+ freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
16
+ moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
17
+ freeGlobal = objectTypes[typeof global] && global;
18
+
19
+ if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
20
+ root = freeGlobal;
21
+ }
22
+
23
+ // Because of build optimizers
24
+ if (typeof define === 'function' && define.amd) {
25
+ define(['rx', 'exports'], function (Rx, exports) {
26
+ root.Rx = factory(root, exports, Rx);
27
+ return root.Rx;
28
+ });
29
+ } else if (typeof module === 'object' && module && module.exports === freeExports) {
30
+ module.exports = factory(root, module.exports, require('./rx'));
31
+ } else {
32
+ root.Rx = factory(root, {}, root.Rx);
33
+ }
34
+ }.call(this, function (root, exp, Rx, undefined) {
35
+
36
+ // Aliases
37
+ var Observable = Rx.Observable,
38
+ observableProto = Observable.prototype,
39
+ AnonymousObservable = Rx.Internals.AnonymousObservable,
40
+ observableConcat = Observable.concat,
41
+ observableDefer = Observable.defer,
42
+ observableEmpty = Observable.empty,
43
+ disposableEmpty = Rx.Disposable.empty,
44
+ BinaryObserver = Rx.Internals.BinaryObserver,
45
+ CompositeDisposable = Rx.CompositeDisposable,
46
+ SerialDisposable = Rx.SerialDisposable,
47
+ SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,
48
+ enumeratorCreate = Rx.Internals.Enumerator.create,
49
+ Enumerable = Rx.Internals.Enumerable,
50
+ enumerableForEach = Enumerable.forEach,
51
+ immediateScheduler = Rx.Scheduler.immediate,
52
+ currentThreadScheduler = Rx.Scheduler.currentThread,
53
+ slice = Array.prototype.slice,
54
+ AsyncSubject = Rx.AsyncSubject,
55
+ Observer = Rx.Observer,
56
+ inherits = Rx.Internals.inherits,
57
+ addProperties = Rx.Internals.addProperties;
58
+
59
+ // Utilities
60
+ function nothing () { }
61
+ function argsOrArray(args, idx) {
62
+ return args.length === 1 && Array.isArray(args[idx]) ?
63
+ args[idx] :
64
+ slice.call(args);
65
+ }
66
+
67
+ function enumerableWhile(condition, source) {
68
+ return new Enumerable(function () {
69
+ var current;
70
+ return enumeratorCreate(function () {
71
+ if (condition()) {
72
+ current = source;
73
+ return true;
74
+ }
75
+ return false;
76
+ }, function () { return current; });
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.
82
+ * This operator allows for a fluent style of writing queries that use the same sequence multiple times.
83
+ *
84
+ * @param {Function} selector Selector function which can use the source sequence as many times as needed, without sharing subscriptions to the source sequence.
85
+ * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.
86
+ */
87
+ observableProto.letBind = observableProto['let'] = function (func) {
88
+ return func(this);
89
+ };
90
+
91
+ /**
92
+ * Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
93
+ *
94
+ * @example
95
+ * 1 - res = Rx.Observable.if(condition, obs1);
96
+ * 2 - res = Rx.Observable.if(condition, obs1, obs2);
97
+ * 3 - res = Rx.Observable.if(condition, obs1, scheduler);
98
+ * @param {Function} condition The condition which determines if the thenSource or elseSource will be run.
99
+ * @param {Observable} thenSource The observable sequence that will be run if the condition function returns true.
100
+ * @param {Observable} [elseSource] The observable sequence that will be run if the condition function returns false. If this is not provided, it defaults to Rx.Observabe.Empty with the specified scheduler.
101
+ * @returns {Observable} An observable sequence which is either the thenSource or elseSource.
102
+ */
103
+ Observable['if'] = Observable.ifThen = function (condition, thenSource, elseSourceOrScheduler) {
104
+ return observableDefer(function () {
105
+ elseSourceOrScheduler || (elseSourceOrScheduler = observableEmpty());
106
+ if (elseSourceOrScheduler.now) {
107
+ var scheduler = elseSourceOrScheduler;
108
+ elseSourceOrScheduler = observableEmpty(scheduler);
109
+ }
110
+ return condition() ? thenSource : elseSourceOrScheduler;
111
+ });
112
+ };
113
+
114
+ /**
115
+ * Concatenates the observable sequences obtained by running the specified result selector for each element in source.
116
+ * There is an alias for this method called 'forIn' for browsers <IE9
117
+ * @param {Array} sources An array of values to turn into an observable sequence.
118
+ * @param {Function} resultSelector A function to apply to each item in the sources array to turn it into an observable sequence.
119
+ * @returns {Observable} An observable sequence from the concatenated observable sequences.
120
+ */
121
+ Observable['for'] = Observable.forIn = function (sources, resultSelector) {
122
+ return enumerableForEach(sources, resultSelector).concat();
123
+ };
124
+
125
+ /**
126
+ * Repeats source as long as condition holds emulating a while loop.
127
+ * There is an alias for this method called 'whileDo' for browsers <IE9
128
+ *
129
+ * @param {Function} condition The condition which determines if the source will be repeated.
130
+ * @param {Observable} source The observable sequence that will be run if the condition function returns true.
131
+ * @returns {Observable} An observable sequence which is repeated as long as the condition holds.
132
+ */
133
+ var observableWhileDo = Observable['while'] = Observable.whileDo = function (condition, source) {
134
+ return enumerableWhile(condition, source).concat();
135
+ };
136
+
137
+ /**
138
+ * Repeats source as long as condition holds emulating a do while loop.
139
+ *
140
+ * @param {Function} condition The condition which determines if the source will be repeated.
141
+ * @param {Observable} source The observable sequence that will be run if the condition function returns true.
142
+ * @returns {Observable} An observable sequence which is repeated as long as the condition holds.
143
+ */
144
+ observableProto.doWhile = function (condition) {
145
+ return observableConcat([this, observableWhileDo(condition, this)]);
146
+ };
147
+
148
+ /**
149
+ * Uses selector to determine which source in sources to use.
150
+ * There is an alias 'switchCase' for browsers <IE9.
151
+ *
152
+ * @example
153
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 });
154
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0);
155
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, scheduler);
156
+ *
157
+ * @param {Function} selector The function which extracts the value for to test in a case statement.
158
+ * @param {Array} sources A object which has keys which correspond to the case statement labels.
159
+ * @param {Observable} [elseSource] The observable sequence that will be run if the sources are not matched. If this is not provided, it defaults to Rx.Observabe.Empty with the specified scheduler.
160
+ *
161
+ * @returns {Observable} An observable sequence which is determined by a case statement.
162
+ */
163
+ Observable['case'] = Observable.switchCase = function (selector, sources, defaultSourceOrScheduler) {
164
+ return observableDefer(function () {
165
+ defaultSourceOrScheduler || (defaultSourceOrScheduler = observableEmpty());
166
+ if (defaultSourceOrScheduler.now) {
167
+ var scheduler = defaultSourceOrScheduler;
168
+ defaultSourceOrScheduler = observableEmpty(scheduler);
169
+ }
170
+ var result = sources[selector()];
171
+ return result !== undefined ? result : defaultSourceOrScheduler;
172
+ });
173
+ };
174
+
175
+ /**
176
+ * Expands an observable sequence by recursively invoking selector.
177
+ *
178
+ * @param {Function} selector Selector function to invoke for each produced element, resulting in another sequence to which the selector will be invoked recursively again.
179
+ * @param {Scheduler} [scheduler] Scheduler on which to perform the expansion. If not provided, this defaults to the current thread scheduler.
180
+ * @returns {Observable} An observable sequence containing all the elements produced by the recursive expansion.
181
+ */
182
+ observableProto.expand = function (selector, scheduler) {
183
+ scheduler || (scheduler = immediateScheduler);
184
+ var source = this;
185
+ return new AnonymousObservable(function (observer) {
186
+ var q = [],
187
+ m = new SerialDisposable(),
188
+ d = new CompositeDisposable(m),
189
+ activeCount = 0,
190
+ isAcquired = false;
191
+
192
+ var ensureActive = function () {
193
+ var isOwner = false;
194
+ if (q.length > 0) {
195
+ isOwner = !isAcquired;
196
+ isAcquired = true;
197
+ }
198
+ if (isOwner) {
199
+ m.setDisposable(scheduler.scheduleRecursive(function (self) {
200
+ var work;
201
+ if (q.length > 0) {
202
+ work = q.shift();
203
+ } else {
204
+ isAcquired = false;
205
+ return;
206
+ }
207
+ var m1 = new SingleAssignmentDisposable();
208
+ d.add(m1);
209
+ m1.setDisposable(work.subscribe(function (x) {
210
+ observer.onNext(x);
211
+ var result = null;
212
+ try {
213
+ result = selector(x);
214
+ } catch (e) {
215
+ observer.onError(e);
216
+ }
217
+ q.push(result);
218
+ activeCount++;
219
+ ensureActive();
220
+ }, observer.onError.bind(observer), function () {
221
+ d.remove(m1);
222
+ activeCount--;
223
+ if (activeCount === 0) {
224
+ observer.onCompleted();
225
+ }
226
+ }));
227
+ self();
228
+ }));
229
+ }
230
+ };
231
+
232
+ q.push(source);
233
+ activeCount++;
234
+ ensureActive();
235
+ return d;
236
+ });
237
+ };
238
+
239
+ /**
240
+ * Runs all observable sequences in parallel and collect their last elements.
241
+ *
242
+ * @example
243
+ * 1 - res = Rx.Observable.forkJoin([obs1, obs2]);
244
+ * 1 - res = Rx.Observable.forkJoin(obs1, obs2, ...);
245
+ * @returns {Observable} An observable sequence with an array collecting the last elements of all the input sequences.
246
+ */
247
+ Observable.forkJoin = function () {
248
+ var allSources = argsOrArray(arguments, 0);
249
+ return new AnonymousObservable(function (subscriber) {
250
+ var count = allSources.length;
251
+ if (count === 0) {
252
+ subscriber.onCompleted();
253
+ return disposableEmpty;
254
+ }
255
+ var group = new CompositeDisposable(),
256
+ finished = false,
257
+ hasResults = new Array(count),
258
+ hasCompleted = new Array(count),
259
+ results = new Array(count);
260
+
261
+ for (var idx = 0; idx < count; idx++) {
262
+ (function (i) {
263
+ var source = allSources[i];
264
+ group.add(source.subscribe(function (value) {
265
+ if (!finished) {
266
+ hasResults[i] = true;
267
+ results[i] = value;
268
+ }
269
+ }, function (e) {
270
+ finished = true;
271
+ subscriber.onError(e);
272
+ group.dispose();
273
+ }, function () {
274
+ if (!finished) {
275
+ if (!hasResults[i]) {
276
+ subscriber.onCompleted();
277
+ return;
278
+ }
279
+ hasCompleted[i] = true;
280
+ for (var ix = 0; ix < count; ix++) {
281
+ if (!hasCompleted[ix]) {
282
+ return;
283
+ }
284
+ }
285
+ finished = true;
286
+ subscriber.onNext(results);
287
+ subscriber.onCompleted();
288
+ }
289
+ }));
290
+ })(idx);
291
+ }
292
+
293
+ return group;
294
+ });
295
+ };
296
+
297
+ /**
298
+ * Runs two observable sequences in parallel and combines their last elemenets.
299
+ *
300
+ * @param {Observable} second Second observable sequence.
301
+ * @param {Function} resultSelector Result selector function to invoke with the last elements of both sequences.
302
+ * @returns {Observable} An observable sequence with the result of calling the selector function with the last elements of both input sequences.
303
+ */
304
+ observableProto.forkJoin = function (second, resultSelector) {
305
+ var first = this;
306
+
307
+ return new AnonymousObservable(function (observer) {
308
+ var leftStopped = false, rightStopped = false,
309
+ hasLeft = false, hasRight = false,
310
+ lastLeft, lastRight,
311
+ leftSubscription = new SingleAssignmentDisposable(), rightSubscription = new SingleAssignmentDisposable();
312
+
313
+ leftSubscription.setDisposable(
314
+ first.subscribe(function (left) {
315
+ hasLeft = true;
316
+ lastLeft = left;
317
+ }, function (err) {
318
+ rightSubscription.dispose();
319
+ observer.onError(err);
320
+ }, function () {
321
+ leftStopped = true;
322
+ if (rightStopped) {
323
+ if (!hasLeft) {
324
+ observer.onCompleted();
325
+ } else if (!hasRight) {
326
+ observer.onCompleted();
327
+ } else {
328
+ var result;
329
+ try {
330
+ result = resultSelector(lastLeft, lastRight);
331
+ } catch (e) {
332
+ observer.onError(e);
333
+ return;
334
+ }
335
+ observer.onNext(result);
336
+ observer.onCompleted();
337
+ }
338
+ }
339
+ })
340
+ );
341
+
342
+ rightSubscription.setDisposable(
343
+ second.subscribe(function (right) {
344
+ hasRight = true;
345
+ lastRight = right;
346
+ }, function (err) {
347
+ leftSubscription.dispose();
348
+ observer.onError(err);
349
+ }, function () {
350
+ rightStopped = true;
351
+ if (leftStopped) {
352
+ if (!hasLeft) {
353
+ observer.onCompleted();
354
+ } else if (!hasRight) {
355
+ observer.onCompleted();
356
+ } else {
357
+ var result;
358
+ try {
359
+ result = resultSelector(lastLeft, lastRight);
360
+ } catch (e) {
361
+ observer.onError(e);
362
+ return;
363
+ }
364
+ observer.onNext(result);
365
+ observer.onCompleted();
366
+ }
367
+ }
368
+ })
369
+ );
370
+
371
+ return new CompositeDisposable(leftSubscription, rightSubscription);
372
+ });
373
+ };
374
+
375
+ /**
376
+ * Comonadic bind operator.
377
+ * @param {Function} selector A transform function to apply to each element.
378
+ * @param {Object} scheduler Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.
379
+ * @returns {Observable} An observable sequence which results from the comonadic bind operation.
380
+ */
381
+ observableProto.manySelect = function (selector, scheduler) {
382
+ scheduler || (scheduler = immediateScheduler);
383
+ var source = this;
384
+ return observableDefer(function () {
385
+ var chain;
386
+
387
+ return source
388
+ .select(
389
+ function (x) {
390
+ var curr = new ChainObservable(x);
391
+ if (chain) {
392
+ chain.onNext(x);
393
+ }
394
+ chain = curr;
395
+
396
+ return curr;
397
+ })
398
+ .doAction(
399
+ nothing,
400
+ function (e) {
401
+ if (chain) {
402
+ chain.onError(e);
403
+ }
404
+ },
405
+ function () {
406
+ if (chain) {
407
+ chain.onCompleted();
408
+ }
409
+ })
410
+ .observeOn(scheduler)
411
+ .select(function (x, i, o) { return selector(x, i, o); });
412
+ });
413
+ };
414
+
415
+ var ChainObservable = (function (_super) {
416
+
417
+ function subscribe (observer) {
418
+ var self = this, g = new CompositeDisposable();
419
+ g.add(currentThreadScheduler.schedule(function () {
420
+ observer.onNext(self.head);
421
+ g.add(self.tail.mergeObservable().subscribe(observer));
422
+ }));
423
+
424
+ return g;
425
+ }
426
+
427
+ inherits(ChainObservable, _super);
428
+
429
+ function ChainObservable(head) {
430
+ _super.call(this, subscribe);
431
+ this.head = head;
432
+ this.tail = new AsyncSubject();
433
+ }
434
+
435
+ addProperties(ChainObservable.prototype, Observer, {
436
+ onCompleted: function () {
437
+ this.onNext(Observable.empty());
438
+ },
439
+ onError: function (e) {
440
+ this.onNext(Observable.throwException(e));
441
+ },
442
+ onNext: function (v) {
443
+ this.tail.onNext(v);
444
+ this.tail.onCompleted();
445
+ }
446
+ });
447
+
448
+ return ChainObservable;
449
+
450
+ }(Observable));
451
+
452
+ return Rx;
453
+ }));
@@ -0,0 +1 @@
1
+ (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(){}function f(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:w.call(a)}function g(a,b){return new s(function(){var c;return r(function(){return a()?(c=b,!0):!1},function(){return c})})}var h=c.Observable,i=h.prototype,j=c.Internals.AnonymousObservable,k=h.concat,l=h.defer,m=h.empty,n=c.Disposable.empty,o=(c.Internals.BinaryObserver,c.CompositeDisposable),p=c.SerialDisposable,q=c.SingleAssignmentDisposable,r=c.Internals.Enumerator.create,s=c.Internals.Enumerable,t=s.forEach,u=c.Scheduler.immediate,v=c.Scheduler.currentThread,w=Array.prototype.slice,x=c.AsyncSubject,y=c.Observer,z=c.Internals.inherits,A=c.Internals.addProperties;i.letBind=i.let=function(a){return a(this)},h["if"]=h.ifThen=function(a,b,c){return l(function(){if(c||(c=m()),c.now){var d=c;c=m(d)}return a()?b:c})},h["for"]=h.forIn=function(a,b){return t(a,b).concat()};var B=h["while"]=h.whileDo=function(a,b){return g(a,b).concat()};i.doWhile=function(a){return k([this,B(a,this)])},h["case"]=h.switchCase=function(a,b,c){return l(function(){if(c||(c=m()),c.now){var e=c;c=m(e)}var f=b[a()];return f!==d?f:c})},i.expand=function(a,b){b||(b=u);var c=this;return new j(function(d){var e=[],f=new p,g=new o(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return i=!1,void 0;c=e.shift();var f=new q;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g})},h.forkJoin=function(){var a=f(arguments,0);return new j(function(b){var c=a.length;if(0===c)return b.onCompleted(),n;for(var d=new o,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return b.onCompleted(),void 0;g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},i.forkJoin=function(a,b){var c=this;return new j(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new q,l=new q;return k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return d.onError(c),void 0}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return d.onError(c),void 0}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new o(k,l)})},i.manySelect=function(a,b){b||(b=u);var c=this;return l(function(){var d;return c.select(function(a){var b=new C(a);return d&&d.onNext(a),d=b,b}).doAction(e,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).select(function(b,c,d){return a(b,c,d)})})};var C=function(a){function b(a){var b=this,c=new o;return c.add(v.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeObservable().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new x}return z(c,a),A(c.prototype,y,{onCompleted:function(){this.onNext(h.empty())},onError:function(a){this.onNext(h.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(h);return c});