rxjs-rails 2.3.20 → 2.3.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
2
- (function(a){function b(){if(this.isDisposed)throw new Error(Hb)}function c(a,b){if(Ib&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Mb)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Mb+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return console.log(Kb,Lb,Ud),c===Kb&&d>=Lb&&Ud>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Ib)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Kb=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1}function j(a){var b=[];if(!i(a))return b;kc.nonEnumArgs&&a.length&&lc(a)&&(a=nc.call(a));var c=kc.enumPrototypes&&"function"==typeof a,d=kc.enumErrorProps&&(a===ec||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(kc.nonEnumShadows&&a!==fc){var f=a.constructor,g=-1,h=ic.length;if(a===(f&&f.prototype))var j=a===gc?ac:a===ec?Xb:bc.call(a),k=jc[j];for(;++g<h;)e=ic[g],k&&k[e]||!cc.call(a,e)||b.push(e)}return b}function k(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function l(a,b){return k(a,b,j)}function m(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function n(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=bc.call(a),h=bc.call(b);if(g==Tb&&(g=$b),h==Tb&&(h=$b),g!=h)return!1;switch(g){case Vb:case Wb:return+a==+b;case Zb:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case _b:case ac:return a==String(b)}var i=g==Ub;if(!i){if(g!=$b||!kc.nodeClass&&(m(a)||m(b)))return!1;var j=!kc.argsObject&&lc(a)?Object:a.constructor,k=!kc.argsObject&&lc(b)?Object:b.constructor;if(!(j==k||cc.call(a,"constructor")&&cc.call(b,"constructor")||Eb(j)&&j instanceof j&&Eb(k)&&k instanceof k||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var o=c.length;o--;)if(c[o]==a)return d[o]==b;var p=0,q=!0;if(c.push(a),d.push(b),i){if(o=a.length,p=b.length,q=p==o)for(;p--;){var r=b[p];if(!(q=n(a[p],r,c,d)))break}}else l(b,function(b,e,f){return cc.call(f,e)?(p++,q=cc.call(a,e)&&n(a[e],b,c,d)):void 0}),q&&l(a,function(a,b,c){return cc.call(c,b)?q=--p>-1:void 0});return c.pop(),d.pop(),q}function o(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:nc.call(a)}function p(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function q(a,b){this.id=a,this.value=b}function r(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function t(){this._s=s}function u(){this._s=s,this._l=s.length,this._i=0}function v(a){this._a=a}function w(a){this._a=a,this._l=A(a),this._i=0}function x(a){return"number"==typeof a&&pb.isFinite(a)}function y(b){var c,d=b[Nb];if(!d&&"string"==typeof b)return c=new t(b),c[Nb]();if(!d&&b.length!==a)return c=new v(b),c[Nb]();if(!d)throw new TypeError("Object is not iterable");return b[Nb]()}function z(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function A(a){var b=+a.length;return isNaN(b)?0:0!==b&&x(b)?(b=z(b)*Math.floor(Math.abs(b)),0>=b?0:b>gd?gd:b):b}function B(a,b){return wb(a)||(a=Hc),new Od(function(c){var d=0,e=b.length;return a.scheduleRecursive(function(a){e>d?(c.onNext(b[d++]),a()):c.onCompleted()})})}function C(a,b){return new Od(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return void c.onError(g)}Cb(f)&&(f=dd(f)),d=new yc,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e},a)}function D(a,b){var c=this;return new Od(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 void d.onError(i)}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))},c)}function E(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).concatAll()}function F(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function G(a){this.comparer=a,this.set=[]}function H(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).mergeAll()}function I(a,b,c){return new Od(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},d.onError.bind(d),function(){d.onNext(g),d.onCompleted()})},a)}function J(a){if(0===a.length)throw new Error(Fb);return a[0]}function K(a,b,c,d){if(0>b)throw new Error(Gb);return new Od(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},e.onError.bind(e),function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Error(Gb))})},a)}function L(a,b,c){return new Od(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function M(a,b,c){return new Od(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},d.onError.bind(d),function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Error(Fb))})},a)}function N(a,b,c){return new Od(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function O(b,c,d,e){return new Od(function(f){var g=0;return b.subscribe(function(a){var h;try{h=c.call(d,a,g,b)}catch(i){return void f.onError(i)}h?(f.onNext(e?g:a),f.onCompleted()):g++},f.onError.bind(f),function(){f.onNext(e?-1:a),f.onCompleted()})},b)}function P(a,b){return Array.isArray(a)?Q.call(b,a):U(a)?td(a.call(b)):V(a)?td(a):T(a)?R(a):Cb(a)?S(a):typeof a===rd?a:i(a)||Array.isArray(a)?Q.call(b,a):a}function Q(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=P(a,b),typeof a!==rd)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void Mc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function R(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function S(a){return function(b){a.then(function(a){b(null,a)},b)}}function T(a){return a&&typeof a.subscribe===rd}function U(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function V(a){return a&&typeof a.next===rd&&typeof a[sd]===rd}function i(a){return a&&a.constructor===Object}function W(a){a&&Mc.schedule(function(){throw a})}function X(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),wc(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function Y(a,b,c){var d=new tc;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Y(a.item(e),b,c));else a&&d.add(X(a,b,c));return d}function Z(a,b,c){return new Od(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(xb))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new tc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},d.onError.bind(d),function(){i=!0,e(!0,1)}))})}function $(a,b){return a.groupJoin(this,b,fd,function(a,b){return b})}function _(a){var b=this;return new Od(function(c){var d=new Rd,e=new tc,f=new Ac(e);return c.onNext(qc(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Cb(a)&&(a=dd(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new Rd,c.onNext(qc(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ab(a){var b=this;return new Od(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Cb(b)&&(b=dd(b));var i=new yc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(vb,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Rd,c.onNext(qc(h,g)),d()}))}var e=new zc,f=new tc(e),g=new Ac(f),h=new Rd;return c.onNext(qc(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function bb(b,c){return new Tc(function(){return new Sc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function db(a){this.patterns=a}function eb(a,b){this.expression=a,this.selector=b}function fb(a,b,c){var d=a.get(b);if(!d){var e=new Ld(b,c);return a.set(b,e),e}return d}function gb(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Kd;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function hb(a,b){return new Od(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function ib(a,b,c){return new Od(function(d){var e=0,f=a,g=Dc(b);return c.scheduleRecursiveWithAbsolute(f,function(a){if(g>0){var b=c.now();f+=g,b>=f&&(f=b+g)}d.onNext(e++),a(f)})})}function jb(a,b){return new Od(function(c){return b.scheduleWithRelative(Dc(a),function(){c.onNext(0),c.onCompleted()})})}function kb(a,b,c){return a===b?new Od(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):ed(function(){return ib(c.now()+a,b,c)})}function lb(a,b,c){return new Od(function(d){var e,f=!1,g=new zc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new yc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new tc(e,g)},a)}function mb(a,b,c){return ed(function(){return lb(a,b-c.now(),c)})}function nb(a,b){return new Od(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new tc(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var ob={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pb=ob[typeof window]&&window||this,qb=ob[typeof exports]&&exports&&!exports.nodeType&&exports,rb=ob[typeof module]&&module&&!module.nodeType&&module,sb=rb&&rb.exports===qb&&qb,tb=ob[typeof global]&&global;!tb||tb.global!==tb&&tb.window!==tb||(pb=tb);var ub={internals:{},config:{Promise:pb.Promise},helpers:{}},vb=ub.helpers.noop=function(){},wb=(ub.helpers.notDefined=function(a){return"undefined"==typeof a},ub.helpers.isScheduler=function(a){return a instanceof ub.Scheduler}),xb=ub.helpers.identity=function(a){return a},yb=(ub.helpers.pluck=function(a){return function(b){return b[a]}},ub.helpers.just=function(a){return function(){return a}},ub.helpers.defaultNow=Date.now),zb=ub.helpers.defaultComparer=function(a,b){return mc(a,b)},Ab=ub.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Bb=(ub.helpers.defaultKeySerializer=function(a){return a.toString()},ub.helpers.defaultError=function(a){throw a}),Cb=ub.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},Db=(ub.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ub.helpers.not=function(a){return!a}),Eb=ub.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==bc.call(a)}),a}(),Fb="Sequence contains no elements.",Gb="Argument out of range",Hb="Object has been disposed";ub.config.longStackSupport=!1;var Ib=!1;try{throw new Error}catch(Jb){Ib=!!Jb.stack}var Kb,Lb=g(),Mb="From previous event:",Nb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";pb.Set&&"function"==typeof(new pb.Set)["@@iterator"]&&(Nb="@@iterator");var Ob=ub.doneEnumerator={done:!0,value:a},Pb=ub.helpers.isIterable=function(b){return b[Nb]!==a},Qb=ub.helpers.isArrayLike=function(b){return b&&b.length!==a};ub.helpers.iterator=Nb;var Rb,Sb=ub.helpers.deprecate=function(){},Tb="[object Arguments]",Ub="[object Array]",Vb="[object Boolean]",Wb="[object Date]",Xb="[object Error]",Yb="[object Function]",Zb="[object Number]",$b="[object Object]",_b="[object RegExp]",ac="[object String]",bc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,dc=bc.call(arguments)==Tb,ec=Error.prototype,fc=Object.prototype,gc=String.prototype,hc=fc.propertyIsEnumerable;try{Rb=!(bc.call(document)==$b&&!({toString:0}+""))}catch(Jb){Rb=!0}var ic=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],jc={};jc[Ub]=jc[Wb]=jc[Zb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},jc[Vb]=jc[ac]={constructor:!0,toString:!0,valueOf:!0},jc[Xb]=jc[Yb]=jc[_b]={constructor:!0,toString:!0},jc[$b]={constructor:!0};var kc={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);kc.enumErrorProps=hc.call(ec,"message")||hc.call(ec,"name"),kc.enumPrototypes=hc.call(a,"prototype"),kc.nonEnumArgs=0!=c,kc.nonEnumShadows=!/valueOf/.test(b)}(1);var lc=function(a){return a&&"object"==typeof a?bc.call(a)==Tb:!1};dc||(lc=function(a){return a&&"object"==typeof a?cc.call(a,"callee"):!1});var mc=ub.internals.isEqual=function(a,b){return n(a,b,[],[])},nc=Array.prototype.slice,oc=({}.hasOwnProperty,this.inherits=ub.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),pc=ub.internals.addProperties=function(a){for(var b=nc.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},qc=ub.internals.addRef=function(a,b){return new Od(function(c){return new tc(b.getDisposable(),a.subscribe(c))})};q.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var rc=ub.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},sc=rc.prototype;sc.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},sc.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)}}},sc.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b<this.length&&this.isHigherPriority(b,d)&&(d=b),c<this.length&&this.isHigherPriority(c,d)&&(d=c),d!==a){var e=this.items[a];this.items[a]=this.items[d],this.items[d]=e,this.heapify(d)}}},sc.peek=function(){return this.items[0].value},sc.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},sc.dequeue=function(){var a=this.peek();return this.removeAt(0),a},sc.enqueue=function(a){var b=this.length++;this.items[b]=new q(rc.count++,a),this.percolate(b)},sc.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},rc.count=0;var tc=ub.CompositeDisposable=function(){this.disposables=o(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},uc=tc.prototype;uc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},uc.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},uc.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()}},uc.toArray=function(){return this.disposables.slice(0)};var vc=ub.Disposable=function(a){this.isDisposed=!1,this.action=a||vb};vc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var wc=vc.create=function(a){return new vc(a)},xc=vc.empty={dispose:vb},yc=ub.SingleAssignmentDisposable=function(){function a(){this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){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}(),zc=ub.SerialDisposable=yc,Ac=ub.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?xc:new a(this)},b}();r.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var Bc=ub.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ab,this.disposable=new yc};Bc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Bc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Bc.prototype.isCancelled=function(){return this.disposable.isDisposed},Bc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Cc=ub.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),xc}var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=yb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Dc=Cc.normalize;!function(a){function b(a,b){var c=b.first,d=b.second,e=new tc,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),xc});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new tc,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),xc});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Cc.prototype),function(){Cc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Cc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof pb.setInterval)throw new Error("Periodic scheduling not supported.");var d=a,e=pb.setInterval(function(){d=c(d)},b);return wc(function(){pb.clearInterval(e)})}}(Cc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Nc(this,a)}}(Cc.prototype);var Ec,Fc=ub.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 yc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),Gc=Cc.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=Dc(b);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Hc=Cc.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-Cc.now()>0;);b.isCancelled()||b.invoke()}}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f=this.now()+Cc.normalize(c),g=new Bc(this,b,d,f);if(e)e.enqueue(g);else{e=new rc(4),e.enqueue(g);try{a(e)}catch(h){throw h}finally{e=null}}return g.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e,f=new Cc(yb,b,c,d);return f.scheduleRequired=function(){return!e},f.ensureTrampoline=function(a){e?a():this.schedule(a)},f}(),Ic=vb,Jc=function(){var a,b=vb;if("WScript"in this)a=function(a,b){WScript.Sleep(b),a()};else{if(!pb.setTimeout)throw new Error("No concurrency detected!");a=pb.setTimeout,b=pb.clearTimeout}return{setTimeout:a,clearTimeout:b}}(),Kc=Jc.setTimeout,Lc=Jc.clearTimeout;!function(){function a(){if(!pb.postMessage||pb.importScripts)return!1;var a=!1,b=pb.onmessage;return pb.onmessage=function(){a=!0},pb.postMessage("","*"),pb.onmessage=b,a}var b=RegExp("^"+String(bc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),c="function"==typeof(c=tb&&sb&&tb.setImmediate)&&!b.test(c)&&c,d="function"==typeof(d=tb&&sb&&tb.clearImmediate)&&!b.test(d)&&d;if("function"==typeof c)Ec=c,Ic=d;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Ec=process.nextTick;else if(a()){var e="ms.rx.schedule"+Math.random(),f={},g=0,h=function(a){if("string"==typeof a.data&&a.data.substring(0,e.length)===e){var b=a.data.substring(e.length),c=f[b];c(),delete f[b]}};pb.addEventListener?pb.addEventListener("message",h,!1):pb.attachEvent("onmessage",h,!1),Ec=function(a){var b=g++;f[b]=a,pb.postMessage(e+b,"*")}}else if(pb.MessageChannel){var i=new pb.MessageChannel,j={},k=0;i.port1.onmessage=function(a){var b=a.data,c=j[b];c(),delete j[b]},Ec=function(a){var b=k++;j[b]=a,i.port2.postMessage(b)}}else"document"in pb&&"onreadystatechange"in pb.document.createElement("script")?Ec=function(a){var b=pb.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},pb.document.documentElement.appendChild(b)}:(Ec=function(a){return Kc(a,0)},Ic=Lc)}();var Mc=Cc.timeout=function(){function a(a,b){var c=this,d=new yc,e=Ec(function(){d.isDisposed||d.setDisposable(b(c,a))});return new tc(d,wc(function(){Ic(e)}))}function b(a,b,c){var d=this,e=Cc.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new yc,g=Kc(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new tc(f,wc(function(){Lc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Nc=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return oc(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.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 xc}}},e.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},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new yc;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},e}(Cc),Oc=ub.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return wb(a)||(a=Gc),new Od(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Pc=Oc.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 Oc("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Qc=Oc.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 Oc("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Rc=Oc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new Oc("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),Sc=ub.internals.Enumerator=function(a){this._next=a};Sc.prototype.next=function(){return this._next()},Sc.prototype[Nb]=function(){return this};var Tc=ub.internals.Enumerable=function(a){this._iterator=a};Tc.prototype[Nb]=function(){return this._iterator()},Tc.prototype.concat=function(){var a=this;return new Od(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f=new zc,g=Gc.scheduleRecursive(function(a){var d;if(!e){try{d=c.next()}catch(g){return void b.onError(g)}if(d.done)return void b.onCompleted();var h=d.value;Cb(h)&&(h=dd(h));var i=new yc;f.setDisposable(i),i.setDisposable(h.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new tc(f,g,wc(function(){e=!0}))})},Tc.prototype.catchError=function(){var a=this;return new Od(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f,g=new zc,h=Gc.scheduleRecursive(function(a){if(!e){var d;try{d=c.next()}catch(h){return void b.onError(h)}if(d.done)return void(f?b.onError(f):b.onCompleted());var i=d.value;Cb(i)&&(i=dd(i));var j=new yc;g.setDisposable(j),j.setDisposable(i.subscribe(b.onNext.bind(b),function(b){f=b,a()},b.onCompleted.bind(b)))}});return new tc(g,h,wc(function(){e=!0}))})};var Uc=Tc.repeat=function(a,b){return null==b&&(b=-1),new Tc(function(){var c=b;return new Sc(function(){return 0===c?Ob:(c>0&&c--,{done:!1,value:a})})})},Vc=Tc.of=function(a,b,c){return b||(b=xb),new Tc(function(){var d=-1;return new Sc(function(){return++d<a.length?{done:!1,value:b.call(c,a[d],d,a)}:Ob})})},Wc=ub.Observer=function(){};Wc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Wc.prototype.asObserver=function(){return new $c(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Wc.prototype.checked=function(){return new _c(this)};var Xc=Wc.create=function(a,b,c){return a||(a=vb),b||(b=Bb),c||(c=vb),new $c(a,b,c)};Wc.fromNotifier=function(a,b){return new $c(function(c){return a.call(b,Pc(c))},function(c){return a.call(b,Qc(c))},function(){return a.call(b,Rc())})},Wc.prototype.notifyOn=function(a){return new bd(a,this)};var Yc,Zc=ub.internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return oc(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}(Wc),$c=ub.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return oc(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}(Zc),_c=function(a){function b(b){a.call(this),this._observer=b,this._state=0}oc(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}(Wc),ad=ub.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 zc}return oc(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 void(b.isAcquired=!1);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}(Zc),bd=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return oc(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.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(ad),cd=ub.Observable=function(){function a(a){if(ub.config.longStackSupport&&Ib){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){b.onError=function(a){c(d,a),b.onError(a)},a(b)}}this._subscribe=a}return Yc=a.prototype,Yc.subscribe=Yc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Xc(a,b,c))},Yc.subscribeOnNext=function(a,b){return this._subscribe(Xc(2===arguments.length?function(c){a.call(b,c)
3
- }:a))},Yc.subscribeOnError=function(a,b){return this._subscribe(Xc(null,2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnCompleted=function(a,b){return this._subscribe(Xc(null,null,2===arguments.length?function(){a.call(b)}:a))},a}();Yc.observeOn=function(a){var b=this;return new Od(function(c){return b.subscribe(new bd(a,c))},b)},Yc.subscribeOn=function(a){var b=this;return new Od(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new r(a,b.subscribe(c)))})),e},b)};var dd=cd.fromPromise=function(a){return ed(function(){var b=new ub.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Yc.toPromise=function(a){if(a||(a=ub.config.Promise),!a)throw new TypeError("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Yc.toArray=function(){var a=this;return new Od(function(b){var c=[];return a.subscribe(c.push.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},cd.create=cd.createWithDisposable=function(a,b){return new Od(a,b)};var ed=cd.defer=function(a){return new Od(function(b){var c;try{c=a()}catch(d){return ld(d).subscribe(b)}return Cb(c)&&(c=dd(c)),c.subscribe(b)})},fd=cd.empty=function(a){return wb(a)||(a=Gc),new Od(function(b){return a.schedule(function(){b.onCompleted()})})},gd=Math.pow(2,53)-1;t.prototype[Nb]=function(){return new u(this._s)},u.prototype[Nb]=function(){return this},u.prototype.next=function(){if(this._i<this._l){var a=this._s.charAt(this._i++);return{done:!1,value:a}}return Ob},v.prototype[Nb]=function(){return new w(this._a)},w.prototype[Nb]=function(){return this},w.prototype.next=function(){if(this._i<this._l){var a=this._a[this._i++];return{done:!1,value:a}}return Ob};var hd=cd.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!Eb(b))throw new Error("mapFn when provided must be a function");wb(d)||(d=Hc);var e=Object(a),f=y(e);return new Od(function(a){var e=0;return d.scheduleRecursive(function(d){var g;try{g=f.next()}catch(h){return void a.onError(h)}if(g.done)return void a.onCompleted();var i=g.value;if(b&&Eb(b))try{i=b.call(c,i,e)}catch(h){return void a.onError(h)}a.onNext(i),e++,d()})})},id=cd.fromArray=function(a,b){return Sb("fromArray","from"),wb(b)||(b=Hc),new Od(function(c){var d=0,e=a.length;return b.scheduleRecursive(function(b){e>d?(c.onNext(a[d++]),b()):c.onCompleted()})})};cd.generate=function(a,b,c,d,e){return wb(e)||(e=Hc),new Od(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 void f.onError(j)}e?(f.onNext(i),a()):f.onCompleted()})})},cd.of=function(){return B(null,arguments)},cd.ofWithScheduler=function(a){return B(a,nc.call(arguments,1))};var jd=cd.never=function(){return new Od(function(){return xc})};cd.range=function(a,b,c){return wb(c)||(c=Hc),new Od(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},cd.repeat=function(a,b,c){return wb(c)||(c=Hc),kd(a,c).repeat(null==b?-1:b)};var kd=cd["return"]=cd.just=function(a,b){return wb(b)||(b=Gc),new Od(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})};cd.returnValue=function(){return Sb("returnValue","return or just"),kd.apply(null,arguments)};var ld=cd["throw"]=cd.throwException=cd.throwError=function(a,b){return wb(b)||(b=Gc),new Od(function(c){return b.schedule(function(){c.onError(a)})})};cd.using=function(a,b){return new Od(function(c){var d,e,f=xc;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new tc(ld(g).subscribe(c),f)}return new tc(e.subscribe(c),f)})},Yc.amb=function(a){var b=this;return new Od(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new yc,j=new yc;return Cb(a)&&(a=dd(a)),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 tc(i,j)})},cd.amb=function(){function a(a,b){return a.amb(b)}for(var b=jd(),c=o(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Yc["catch"]=Yc.catchError=function(a){return"function"==typeof a?C(this,a):md([this,a])},Yc.catchException=function(a){return Sb("catchException","catch or catchError"),this.catchError(a)};var md=cd.catchError=cd["catch"]=function(){return Vc(o(arguments,0)).catchError()};cd.catchException=function(){return Sb("catchException","catch or catchError"),md.apply(null,arguments)},Yc.combineLatest=function(){var a=nc.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),nd.apply(this,a)};var nd=cd.combineLatest=function(){var a=nc.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Od(function(c){function d(a){var d;if(h[a]=!0,i||(i=h.every(xb))){try{d=b.apply(null,k)}catch(e){return void c.onError(e)}c.onNext(d)}else j.filter(function(b,c){return c!==a}).every(xb)&&c.onCompleted()}function e(a){j[a]=!0,j.every(xb)&&c.onCompleted()}for(var f=function(){return!1},g=a.length,h=p(g,f),i=!1,j=p(g,f),k=new Array(g),l=new Array(g),m=0;g>m;m++)!function(b){var f=a[b],g=new yc;Cb(f)&&(f=dd(f)),g.setDisposable(f.subscribe(function(a){k[b]=a,d(b)},c.onError.bind(c),function(){e(b)})),l[b]=g}(m);return new tc(l)},this)};Yc.concat=function(){var a=nc.call(arguments,0);return a.unshift(this),od.apply(this,a)};var od=cd.concat=function(){return Vc(o(arguments,0)).concat()};Yc.concatAll=function(){return this.merge(1)},Yc.concatObservable=function(){return Sb("concatObservable","concatAll"),this.merge(1)},Yc.merge=function(a){if("number"!=typeof a)return pd(this,a);var b=this;return new Od(function(c){function d(a){var b=new yc;f.add(b),Cb(a)&&(a=dd(a)),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){f.remove(b),h.length>0?d(h.shift()):(e--,g&&0===e&&c.onCompleted())}))}var e=0,f=new tc,g=!1,h=[];return f.add(b.subscribe(function(b){a>e?(e++,d(b)):h.push(b)},c.onError.bind(c),function(){g=!0,0===e&&c.onCompleted()})),f},b)};var pd=cd.merge=function(){var a,b;return arguments[0]?wb(arguments[0])?(a=arguments[0],b=nc.call(arguments,1)):(a=Gc,b=nc.call(arguments,0)):(a=Gc,b=nc.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),B(a,b).mergeAll()};Yc.mergeAll=function(){var a=this;return new Od(function(b){var c=new tc,d=!1,e=new yc;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new yc;c.add(e),Cb(a)&&(a=dd(a)),e.setDisposable(a.subscribe(b.onNext.bind(b),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},a)},Yc.mergeObservable=function(){return Sb("mergeObservable","mergeAll"),this.mergeAll.apply(this,arguments)},Yc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return qd([this,a])};var qd=cd.onErrorResumeNext=function(){var a=o(arguments,0);return new Od(function(b){var c=0,d=new zc,e=Gc.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],Cb(f)&&(f=dd(f)),g=new yc,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new tc(d,e)})};Yc.skipUntil=function(a){var b=this;return new Od(function(c){var d=!1,e=new tc(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()}));Cb(a)&&(a=dd(a));var f=new yc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e},b)},Yc["switch"]=Yc.switchLatest=function(){var a=this;return new Od(function(b){var c=!1,d=new zc,e=!1,f=0,g=a.subscribe(function(a){var g=new yc,h=++f;c=!0,d.setDisposable(g),Cb(a)&&(a=dd(a)),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 tc(g,d)},a)},Yc.takeUntil=function(a){var b=this;return new Od(function(c){return Cb(a)&&(a=dd(a)),new tc(b.subscribe(c),a.subscribe(c.onCompleted.bind(c),c.onError.bind(c),vb))},b)},Yc.zip=function(){if(Array.isArray(arguments[0]))return D.apply(this,arguments);var a=this,b=nc.call(arguments),c=b.pop();return b.unshift(a),new Od(function(d){function e(b){var e,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),e=c.apply(a,f)}catch(g){return void d.onError(g)}d.onNext(e)}else i.filter(function(a,c){return c!==b}).every(xb)&&d.onCompleted()}function f(a){i[a]=!0,i.every(function(a){return a})&&d.onCompleted()}for(var g=b.length,h=p(g,function(){return[]}),i=p(g,function(){return!1}),j=new Array(g),k=0;g>k;k++)!function(a){var c=b[a],g=new yc;Cb(c)&&(c=dd(c)),g.setDisposable(c.subscribe(function(b){h[a].push(b),e(a)},d.onError.bind(d),function(){f(a)})),j[a]=g}(k);return new tc(j)},a)},cd.zip=function(){var a=nc.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},cd.zipArray=function(){var a=o(arguments,0);return new Od(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(xb))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(xb)?void b.onCompleted():void 0}for(var e=a.length,f=p(e,function(){return[]}),g=p(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new yc,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},b.onError.bind(b),function(){d(e)}))}(i);var j=new tc(h);return j.add(wc(function(){for(var a=0,b=f.length;b>a;a++)f[a]=[]})),j})},Yc.asObservable=function(){return new Od(this.subscribe.bind(this),this)},Yc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Yc.dematerialize=function(){var a=this;return new Od(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))},this)},Yc.distinctUntilChanged=function(a,b){var c=this;return a||(a=xb),b||(b=zb),new Od(function(d){var e,f=!1;return c.subscribe(function(c){var g,h=!1;try{g=a(c)}catch(i){return void d.onError(i)}if(f)try{h=b(e,g)}catch(i){return void d.onError(i)}f&&h||(f=!0,e=g,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc["do"]=Yc.tap=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 Od(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)},function(){if(c)try{c()}catch(b){a.onError(b)}a.onCompleted()})},this)},Yc.doAction=function(){return Sb("doAction","do or tap"),this.tap.apply(this,arguments)},Yc.doOnNext=Yc.tapOnNext=function(a,b){return this.tap(2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnError=Yc.tapOnError=function(a,b){return this.tap(vb,2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnCompleted=Yc.tapOnCompleted=function(a,b){return this.tap(vb,null,2===arguments.length?function(){a.call(b)}:a)},Yc["finally"]=Yc.ensure=function(a){var b=this;return new Od(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return wc(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Yc.finallyAction=function(a){return Sb("finallyAction","finally or ensure"),this.ensure(a)},Yc.ignoreElements=function(){var a=this;return new Od(function(b){return a.subscribe(vb,b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.materialize=function(){var a=this;return new Od(function(b){return a.subscribe(function(a){b.onNext(Pc(a))},function(a){b.onNext(Qc(a)),b.onCompleted()},function(){b.onNext(Rc()),b.onCompleted()})},a)},Yc.repeat=function(a){return Uc(this,a).concat()},Yc.retry=function(a){return Uc(this,a).catchError()},Yc.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 Od(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Yc.skipLast=function(a){var b=this;return new Od(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.startWith=function(){var a,b,c=0;return arguments.length&&wb(arguments[0])?(b=arguments[0],c=1):b=Gc,a=nc.call(arguments,c),Vc([id(a,b),this]).concat()},Yc.takeLast=function(a){var b=this;return new Od(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Yc.takeLastBuffer=function(a){var b=this;return new Od(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()})},b)},Yc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new Error(Gb);if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new Error(Gb);return new Od(function(d){function e(){var a=new Rd;i.push(a),d.onNext(qc(a,g))}var f=new yc,g=new Ac(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Yc.selectConcat=Yc.concatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.concatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})}):Eb(a)?E(this,a,c):E(this,function(){return a})},Yc.concatMapObserver=Yc.selectConcatObserver=function(a,b,c,d){var e=this;return new Od(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},this).concatAll()},Yc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Od(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()})},this)},G.prototype.push=function(a){var b=-1===F(this.set,a,this.comparer);return b&&this.set.push(a),b},Yc.distinct=function(a,b){var c=this;return b||(b=zb),new Od(function(d){var e=new G(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc.groupBy=function(a,b,c){return this.groupByUntil(a,b,jd,c)},Yc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=xb),d||(d=zb),new Od(function(f){function g(a){return function(b){b.onError(a)}}var h=new Hd(0,d),i=new tc,j=new Ac(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new Rd,h.set(e,m),l=!0),l){var n=new Qd(e,m,j),o=new Qd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new yc;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(vb,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)},Yc.select=Yc.map=function(a,b){var c=Eb(a)?a:function(){return a},d=this;return new Od(function(a){var e=0;return d.subscribe(function(f){var g;try{g=c.call(b,f,e++,d)}catch(h){return void a.onError(h)}a.onNext(g)},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.pluck=function(a){return this.map(function(b){return b[a]})},Yc.selectMany=Yc.flatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.flatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Eb(a)?H(this,a,c):H(this,function(){return a})},Yc.flatMapObserver=Yc.selectManyObserver=function(a,b,c,d){var e=this;return new Od(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Yc.selectSwitch=Yc.flatMapLatest=Yc.switchMap=function(a,b){return this.select(a,b).switchLatest()},Yc.skip=function(a){if(0>a)throw new Error(Gb);var b=this;return new Od(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.skipWhile=function(a,b){var c=this;return new Od(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 void d.onError(h)}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.take=function(a,b){if(0>a)throw new RangeError(Gb);if(0===a)return fd(b);var c=this;return new Od(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))},c)},Yc.takeWhile=function(a,b){var c=this;return new Od(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 void d.onError(h)}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.where=Yc.filter=function(a,b){var c=this;return new Od(function(d){var e=0;return c.subscribe(function(c){var f;try{f=a.call(b,c,e++,parent)}catch(g){return void d.onError(g)}f&&d.onNext(c)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.finalValue=function(){var a=this;return new Od(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(Fb))})},a)},Yc.aggregate=function(){Sb("aggregate","reduce");var a,b,c;return 2===arguments.length?(a=arguments[0],b=!0,c=arguments[1]):c=arguments[0],b?this.scan(a,c).startWith(a).finalValue():this.scan(c).finalValue()},Yc.reduce=function(a){var b,c;return 2===arguments.length&&(c=!0,b=arguments[1]),c?this.scan(b,a).startWith(b).finalValue():this.scan(a).finalValue()},Yc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new Od(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},a.onError.bind(a),function(){a.onNext(!1),a.onCompleted()})},c)},Yc.any=function(){return Sb("any","some"),this.some.apply(this,arguments)},Yc.isEmpty=function(){return this.any().map(Db)},Yc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Db)},Yc.all=function(){return Sb("all","every"),this.every.apply(this,arguments)},Yc.contains=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new Od(function(e){var f=0,g=+b||0;return 1/0===Math.abs(g)&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),xc):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},e.onError.bind(e),function(){e.onNext(!1),e.onCompleted()})},this)},Yc.count=function(a,b){return a?this.where(a,b).count():this.aggregate(0,function(a){return a+1})},Yc.indexOf=function(a,b){var c=this;return new Od(function(d){var e=0,f=+b||0;return 1/0===Math.abs(f)&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),xc):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},d.onError.bind(d),function(){d.onNext(-1),d.onCompleted()})},c)},Yc.sum=function(a,b){return a&&Eb(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},Yc.minBy=function(a,b){return b||(b=Ab),I(this,a,function(a,c){return-1*b(a,c)})},Yc.min=function(a){return this.minBy(xb,a).map(function(a){return J(a)})},Yc.maxBy=function(a,b){return b||(b=Ab),I(this,a,b)},Yc.max=function(a){return this.maxBy(xb,a).map(function(a){return J(a)})},Yc.average=function(a,b){return a&&Eb(a)?this.select(a,b).average():this.scan({sum:0,count:0},function(a,b){return{sum:a.sum+b,count:a.count+1}}).finalValue().map(function(a){if(0===a.count)throw new Error("The input sequence was empty");return a.sum/a.count})},Yc.sequenceEqual=function(a,b){var c=this;return b||(b=zb),new Od(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},d.onError.bind(d),function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(Qb(a)||Pb(a))&&(a=hd(a)),Cb(a)&&(a=dd(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},d.onError.bind(d),function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new tc(i,j)},c)},Yc.elementAt=function(a){return K(this,a,!1)},Yc.elementAtOrDefault=function(a,b){return K(this,a,!0,b)},Yc.single=function(a,b){return a&&Eb(a)?this.where(a,b).single():L(this,!1)},Yc.singleOrDefault=function(a,b,c){return a&&Eb(a)?this.where(a,c).singleOrDefault(null,b):L(this,!0,b)},Yc.first=function(a,b){return a?this.where(a,b).first():M(this,!1)},Yc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):M(this,!0,b)},Yc.last=function(a,b){return a?this.where(a,b).last():N(this,!1)},Yc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):N(this,!0,b)},Yc.find=function(a,b){return O(this,a,b,!1)},Yc.findIndex=function(a,b){return O(this,a,b,!0)},Yc.toSet=function(){if("undefined"==typeof pb.Set)throw new TypeError;var a=this;return new Od(function(b){var c=new pb.Set;return a.subscribe(c.add.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},Yc.toMap=function(a,b){if("undefined"==typeof pb.Map)throw new TypeError;var c=this;return new Od(function(d){var e=new pb.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},d.onError.bind(d),function(){d.onNext(e),d.onCompleted()})},c)};var rd="function",sd="throw",td=ub.spawn=function(a){var b=U(a);return function(c){function d(a,b){Mc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2&&(b=nc.call(arguments,1)),a)try{c=g[sd](a)}catch(h){return d(h)}if(!a)try{c=g.next(b)}catch(h){return d(h)}if(c.done)return d(null,c.value);if(c.value=P(c.value,f),typeof c.value!==rd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var i=!1;try{c.value.call(f,function(){i||(i=!0,e.apply(f,arguments))})}catch(h){Mc.schedule(function(){i||(i=!0,e.call(f,h))})}}}var f=this,g=a;if(b){var h=nc.call(arguments),i=h.length,j=i&&typeof h[i-1]===rd;c=j?h.pop():W,g=a.apply(this,h)}else c=c||W;e()}};ub.denodify=function(a){return function(){var b,c,d,e=nc.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},cd.start=function(a,b,c){return ud(a,b,c)()};var ud=cd.toAsync=function(a,b,c){return wb(c)||(c=Mc),function(){var d=arguments,e=new Sd;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};cd.fromCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Od(function(e){function f(){var a=arguments;if(c){try{a=c(a)}catch(b){return void e.onError(b)}e.onNext(a)}else a.length<=1?e.onNext.apply(e,a):e.onNext(a);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},cd.fromNodeCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Od(function(e){function f(a){if(a)return void e.onError(a);var b=nc.call(arguments,1);if(c){try{b=c(b)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},ub.config.useNativeEvents=!1;var vd=pb.angular&&angular.element?angular.element:pb.jQuery?pb.jQuery:pb.Zepto?pb.Zepto:null,wd=!!pb.Ember&&"function"==typeof pb.Ember.addListener,xd=!!pb.Backbone&&!!pb.Backbone.Marionette;cd.fromEvent=function(a,b,c){if(a.addListener)return yd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c);if(!ub.config.useNativeEvents){if(xd)return yd(function(c){a.on(b,c)},function(c){a.off(b,c)},c);if(wd)return yd(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},c);if(vd){var d=vd(a);return yd(function(a){d.on(b,a)},function(a){d.off(b,a)},c)}}return new Od(function(d){return Y(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)})}).publish().refCount()};var yd=cd.fromEventPattern=function(a,b,c){return new Od(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return wc(function(){b&&b(e,f)})}).publish().refCount()};cd.startAsync=function(a){var b;try{b=a()}catch(c){return ld(c)}return dd(b)};var zd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=xc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=xc)});return new tc(c,d,e)}function c(c,d){this.source=c,this.controller=new Rd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b)}return oc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(cd);Yc.pausable=function(a){return new zd(this,a)};var Ad=function(b){function c(b){var c,d=[],e=Z(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Rd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c)}return oc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(cd);Yc.pausableBuffered=function(a){return new Ad(this,a)},Yc.controlled=function(a){return null==a&&(a=!0),new Bd(this,a)};var Bd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b),this.subject=new Cd(d),this.source=c.multicast(this.subject).refCount()}return oc(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(cd),Cd=ub.ControlledSubject=function(a){function c(a){return this.subject.subscribe(a)}function d(b){null==b&&(b=!0),a.call(this,c),this.subject=new Rd,this.enableQueue=b,this.queue=b?[]:null,this.requestedCount=0,this.requestedDisposable=xc,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.controlledDisposable=xc}return oc(d,a),pc(d.prototype,Wc,{onCompleted:function(){b.call(this),this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length||this.subject.onCompleted()},onError:function(a){b.call(this),this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length||this.subject.onError(a)},onNext:function(a){b.call(this);var c=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(a):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),c=!0),c&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0;)this.subject.onNext(this.queue.shift()),a--;return 0!==this.queue.length?{numberOfItems:a,returnValue:!0}:{numberOfItems:a,returnValue:!1}}return this.hasFailed?(this.subject.onError(this.error),this.controlledDisposable.dispose(),this.controlledDisposable=xc):this.hasCompleted&&(this.subject.onCompleted(),this.controlledDisposable.dispose(),this.controlledDisposable=xc),{numberOfItems:a,returnValue:!1}},request:function(a){b.call(this),this.disposeCurrentRequest();var c=this,d=this._processRequest(a);return a=d.numberOfItems,d.returnValue?xc:(this.requestedCount=a,this.requestedDisposable=wc(function(){c.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=xc},dispose:function(){this.isDisposed=!0,this.error=null,this.subject.dispose(),this.requestedDisposable.dispose()}}),d}(cd);Yc.multicast=function(a,b){var c=this;return"function"==typeof a?new Od(function(d){var e=c.multicast(a());return new tc(b(e).subscribe(d),e.connect())},c):new Gd(c,a)},Yc.publish=function(a){return a&&Eb(a)?this.multicast(function(){return new Rd},a):this.multicast(new Rd)},Yc.share=function(){return this.publish().refCount()},Yc.publishLast=function(a){return a&&Eb(a)?this.multicast(function(){return new Sd},a):this.multicast(new Sd)},Yc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Ed(b)},a):this.multicast(new Ed(a))},Yc.shareValue=function(a){return this.publishValue(a).refCount()},Yc.replay=function(a,b,c,d){return a&&Eb(a)?this.multicast(function(){return new Fd(b,c,d)},a):this.multicast(new Fd(b,c,d))},Yc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Dd=function(a,b){this.subject=a,this.observer=b};Dd.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 Ed=ub.BehaviorSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Dd(this,a);var c=this.exception;return c?a.onError(c):a.onCompleted(),xc}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=this.observers.slice(0),d=c.length;d>a;a++)c[a].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.exception=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped){this.value=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(cd),Fd=ub.ReplaySubject=function(a){function c(a,b){return wc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var d=new ad(this.scheduler,a),e=c(this,d);b.call(this),this._trim(this.scheduler.now()),this.observers.push(d);for(var f=0,g=this.q.length;g>f;f++)d.onNext(this.q[f].value);return this.hasError?d.onError(this.error):this.isStopped&&d.onCompleted(),d.ensureActive(),e}function e(b,c,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==c?Number.MAX_VALUE:c,this.scheduler=e||Hc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}return oc(e,a),pc(e.prototype,Wc,{hasObservers:function(){return this.observers.length>0
4
- },_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(b.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onNext(a),g.ensureActive()}}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onError(a),g.ensureActive()}this.observers=[]}},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++){var f=c[d];f.onCompleted(),f.ensureActive()}this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(cd),Gd=ub.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new tc(f.subscribe(c),wc(function(){e=!1}))),d},a.call(this,c.subscribe.bind(c))}return oc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Od(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(cd),Hd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=a)return d;for(e=1|a;e<h[h.length-1];){if(b(e))return e;e+=2}return a}function d(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Error("out of range");a>0&&this._initialize(a),this.comparer=b||zb,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof b)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;e<b.length;++e)b[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=b[h],b[h]=g}this.buckets=b,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();Yc.join=function(a,b,c,d){var e=this;return new Od(function(f){var g=new tc,h=!1,i=!1,j=0,k=0,l=new Hd,m=new Hd;return g.add(e.subscribe(function(a){var c=j++,e=new yc;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(vb,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new yc;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(vb,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},Yc.groupJoin=function(a,b,c,d){var e=this;return new Od(function(f){function g(a){return function(b){b.onError(a)}}var h=new tc,i=new Ac(h),j=new Hd,k=new Hd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Rd,e=l++;j.add(e,c);var m;try{m=d(a,qc(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new yc;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new yc;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},Yc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?_.call(this,a):"function"==typeof a?ab.call(this,a):$.call(this,a,b)},Yc.pairwise=function(){var a=this;return new Od(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.partition=function(a,b){var c=this.publish().refCount();return[c.filter(a,b),c.filter(function(c,d,e){return!a.call(b,c,d,e)})]},Yc.letBind=Yc.let=function(a){return a(this)},cd["if"]=cd.ifThen=function(a,b,c){return ed(function(){return c||(c=fd()),Cb(b)&&(b=dd(b)),Cb(c)&&(c=dd(c)),"function"==typeof c.now&&(c=fd(c)),a()?b:c})},cd["for"]=cd.forIn=function(a,b,c){return Vc(a,b,c).concat()};var Id=cd["while"]=cd.whileDo=function(a,b){return Cb(b)&&(b=dd(b)),bb(a,b).concat()};Yc.doWhile=function(a){return od([this,Id(a,this)])},cd["case"]=cd.switchCase=function(a,b,c){return ed(function(){Cb(c)&&(c=dd(c)),c||(c=fd()),"function"==typeof c.now&&(c=fd(c));var d=b[a()];return Cb(d)&&(d=dd(d)),d||c})},Yc.expand=function(a,b){wb(b)||(b=Gc);var c=this;return new Od(function(d){var e=[],f=new zc,g=new tc(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 void(i=!1);c=e.shift();var f=new yc;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},this)},cd.forkJoin=function(){var a=o(arguments,0);return new Od(function(b){var c=a.length;if(0===c)return b.onCompleted(),xc;for(var d=new tc,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];Cb(j)&&(j=dd(j)),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 void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},Yc.forkJoin=function(a,b){var c=this;return new Od(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new yc,l=new yc;return Cb(a)&&(a=dd(a)),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 void d.onError(c)}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 void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new tc(k,l)},c)},Yc.manySelect=function(a,b){wb(b)||(b=Gc);var c=this;return ed(function(){var d;return c.map(function(a){var b=new Jd(a);return d&&d.onNext(a),d=b,b}).tap(vb,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Jd=function(a){function b(a){var b=this,c=new tc;return c.add(Hc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Sd}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.onNext(cd.empty())},onError:function(a){this.onNext(cd.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(cd),Kd=pb.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();db.prototype.and=function(a){return new db(this.patterns.concat(a))},db.prototype.thenDo=function(a){return new eb(this,a)},eb.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(fb(a,this.expression.patterns[f],b.onError.bind(b)));var h=new gb(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},gb.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},gb.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;a<d.length;a++)f.push(d[a].value);this.onNext.apply(this,f)}}};var Ld=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new yc,this.isDisposed=!1}oc(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return void this.onError(a.exception);this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=vb,c.completed=vb,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Zc);Yc.and=function(a){return new db([this,a])},Yc.thenDo=function(a){return new db([this]).thenDo(a)},cd.when=function(){var a=o(arguments,0);return new Od(function(b){var c=[],d=new Kd,e=Xc(b.onNext.bind(b),function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},b.onCompleted.bind(b));try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){ld(h).subscribe(b)}var i=new tc;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Md=cd.interval=function(a,b){return kb(a,a,wb(b)?b:Mc)},Nd=cd.timer=function(b,c,d){var e;return wb(d)||(d=Mc),c!==a&&"number"==typeof c?e=c:wb(c)&&(d=c),b instanceof Date&&e===a?hb(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ib(b.getTime(),e,d)):e===a?jb(b,d):kb(b,e,d)};Yc.delay=function(a,b){return wb(b)||(b=Mc),a instanceof Date?mb(this,a.getTime(),b):lb(this,a,b)},Yc.debounce=Yc.throttleWithTimeout=function(a,b){wb(b)||(b=Mc);var c=this;return new Od(function(d){var e,f=new zc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new yc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new tc(i,f)},this)},Yc.throttle=function(a,b){return Sb("throttle","debounce or throttleWithTimeout"),this.debounce(a,b)},Yc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),wb(c)||(c=Mc),"number"==typeof b?d=b:wb(b)&&(d=a,c=b),new Od(function(b){function f(){var a=new yc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Rd;k.push(a),b.onNext(qc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new zc,m=0;return g=new tc(l),h=new Ac(g),k.push(new Rd),b.onNext(qc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Yc.windowWithTimeOrCount=function(a,b,c){var d=this;return wb(c)||(c=Mc),new Od(function(e){function f(b){var d=new yc;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Rd,e.onNext(qc(l,i)),f(a)}}))}var g=new zc,h=new tc(g),i=new Ac(h),j=0,k=0,l=new Rd;return e.onNext(qc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Rd,e.onNext(qc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Yc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},Yc.timeInterval=function(a){var b=this;return wb(a)||(a=Mc),ed(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Yc.timestamp=function(a){return wb(a)||(a=Mc),this.map(function(b){return{value:b,timestamp:a.now()}})},Yc.sample=Yc.throttleLatest=function(a,b){return wb(b)||(b=Mc),"number"==typeof a?nb(this,Md(a,b)):nb(this,a)},Yc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=ld(new Error(b||"Timeout"))),wb(c)||(c=Mc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Cb(b)&&(b=dd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new yc,j=new zc,k=!1,l=new zc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new tc(j,l)},d)},cd.generateWithAbsoluteTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Od(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},cd.generateWithRelativeTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Od(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},Yc.delaySubscription=function(a,b){return this.delayWithSelector(Nd(a,wb(b)?b:Mc),fd)},Yc.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Od(function(a){var b=new tc,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new zc,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return void a.onError(f)}var h=new yc;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(i,a.onError.bind(a),i)):i(),new tc(h,b)},this)},Yc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=jd()),c||(c=ld(new Error("Timeout")));var d=this;return new Od(function(e){function f(a){function b(){return k===d}var d=k,f=new yc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new zc,i=new zc,j=new yc;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Cb(c)?dd(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new tc(h,i)},d)},Yc.debounceWithSelector=function(a){var b=this;return new Od(function(c){var d,e=!1,f=new zc,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Cb(h)&&(h=dd(h)),e=!0,d=b,g++;var j=g,k=new yc;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new tc(h,f)},b)},Yc.throttleWithSelector=function(){return Sb("throttleWithSelector","debounceWithSelector"),this.debounceWithSelector.apply(this,arguments)},Yc.skipLastWithTime=function(a,b){wb(b)||(b=Mc);var c=this;return new Od(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},Yc.takeLastWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},Yc.takeLastBufferWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},Yc.takeWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){return new tc(b.scheduleWithRelative(a,d.onCompleted.bind(d)),c.subscribe(d))},c)},Yc.skipWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Od(function(d){var e=!1;return new tc(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},Yc.skipUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(e){var f=!1;return new tc(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},e.onError.bind(e),e.onCompleted.bind(e)))},c)},Yc.takeUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Od(function(e){return new tc(b[d](a,e.onCompleted.bind(e)),c.subscribe(e))},c)},Yc.throttleFirst=function(a,b){wb(b)||(b=Mc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Od(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.transduce=function(a){function b(a){return{init:function(){return a},step:function(a,b){return a.onNext(b)},result:function(a){return a.onCompleted()}}}var c=this;return new Od(function(d){var e=a(b(d));return c.subscribe(function(a){try{e.step(d,a)}catch(b){d.onError(b)}},d.onError.bind(d),function(){e.result(d)})},c)},Yc.exclusive=function(){var a=this;return new Od(function(b){var c=!1,d=!1,e=new yc,f=new tc;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Cb(a)&&(a=dd(a));var e=new yc;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},Yc.exclusiveMap=function(a,b){var c=this;return new Od(function(d){var e=0,f=!1,g=!0,h=new yc,i=new tc;return i.add(h),h.setDisposable(c.subscribe(function(c){f||(f=!0,innerSubscription=new yc,i.add(innerSubscription),Cb(c)&&(c=dd(c)),innerSubscription.setDisposable(c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}d.onNext(g)},d.onError.bind(d),function(){i.remove(innerSubscription),f=!1,g&&1===i.length&&d.onCompleted()})))},d.onError.bind(d),function(){g=!0,1!==i.length||f||d.onCompleted()})),i},this)},ub.VirtualTimeScheduler=function(a){function b(){throw new Error("Not implemented")}function c(){return this.toDateTimeOffset(this.clock)}function d(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function f(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function g(a,b){return b(),xc}function h(b,g){this.clock=b,this.comparer=g,this.isEnabled=!1,this.queue=new rc(1024),a.call(this,c,d,e,f)}oc(h,a);var i=h.prototype;return i.add=b,i.toDateTimeOffset=b,i.toRelative=b,i.schedulePeriodicWithState=function(a,b,c){var d=new Fc(this,a,b,c);return d.start()},i.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},i.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,g)},i.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},i.stop=function(){this.isEnabled=!1},i.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Error(Gb);if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},i.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Error(Gb);0!==c&&this.advanceTo(b)},i.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Error(Gb);this.clock=b},i.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},i.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,g)},i.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Bc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},h}(Cc),ub.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ab;a.call(this,d,e)}oc(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(ub.VirtualTimeScheduler);var Od=ub.AnonymousObservable=function(a){function b(a){return a&&"function"==typeof a.dispose?a:"function"==typeof a?wc(a):xc}function c(d,e){function f(a){var c=function(){try{e.setDisposable(b(d(e)))}catch(a){if(!e.fail(a))throw a}},e=new Pd(a);return Hc.scheduleRequired()?Hc.schedule(c):c(),e}return this.source=e,this instanceof c?void a.call(this,f):new c(d)}return oc(c,a),c}(cd),Pd=function(a){function b(b){a.call(this),this.observer=b,this.m=new yc}oc(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.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Zc),Qd=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 Od(function(a){return new tc(e.getDisposable(),d.subscribe(a))}):d}return oc(c,a),c}(cd),Rd=ub.Subject=function(a){function c(a){return b.call(this),this.isStopped?this.exception?(a.onError(this.exception),xc):(a.onCompleted(),xc):(this.observers.push(a),new Dd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var c=0,d=a.length;d>c;c++)a[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped)for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)c[d].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Td(a,b)},d}(cd),Sd=ub.AsyncSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),new Dd(this,a);var c=this.exception,d=this.hasValue,e=this.value;return c?a.onError(c):d?(a.onNext(e),a.onCompleted()):a.onCompleted(),xc}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return b.call(this),this.observers.length>0},onCompleted:function(){var a,c,d;if(b.call(this),!this.isStopped){this.isStopped=!0;var e=this.observers.slice(0),f=this.value,g=this.hasValue;if(g)for(c=0,d=e.length;d>c;c++)a=e[c],a.onNext(f),a.onCompleted();else for(c=0,d=e.length;d>c;c++)e[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){b.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(cd),Td=ub.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this,this.observable.subscribe.bind(this.observable))}return oc(b,a),pc(b.prototype,Wc,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(cd);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(pb.Rx=ub,define(function(){return ub})):qb&&rb?sb?(rb.exports=ub).Rx=ub:qb.Rx=ub:pb.Rx=ub;var Ud=g()}).call(this);
2
+ (function(a){function b(){if(this.isDisposed)throw new Error(Hb)}function c(a,b){if(Ib&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Mb)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Mb+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===Kb&&d>=Lb&&Wd>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Ib)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Kb=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1}function j(a){var b=[];if(!i(a))return b;kc.nonEnumArgs&&a.length&&lc(a)&&(a=nc.call(a));var c=kc.enumPrototypes&&"function"==typeof a,d=kc.enumErrorProps&&(a===ec||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(kc.nonEnumShadows&&a!==fc){var f=a.constructor,g=-1,h=ic.length;if(a===(f&&f.prototype))var j=a===gc?ac:a===ec?Xb:bc.call(a),k=jc[j];for(;++g<h;)e=ic[g],k&&k[e]||!cc.call(a,e)||b.push(e)}return b}function k(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function l(a,b){return k(a,b,j)}function m(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function n(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=bc.call(a),h=bc.call(b);if(g==Tb&&(g=$b),h==Tb&&(h=$b),g!=h)return!1;switch(g){case Vb:case Wb:return+a==+b;case Zb:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case _b:case ac:return a==String(b)}var i=g==Ub;if(!i){if(g!=$b||!kc.nodeClass&&(m(a)||m(b)))return!1;var j=!kc.argsObject&&lc(a)?Object:a.constructor,k=!kc.argsObject&&lc(b)?Object:b.constructor;if(!(j==k||cc.call(a,"constructor")&&cc.call(b,"constructor")||Eb(j)&&j instanceof j&&Eb(k)&&k instanceof k||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var o=c.length;o--;)if(c[o]==a)return d[o]==b;var p=0,q=!0;if(c.push(a),d.push(b),i){if(o=a.length,p=b.length,q=p==o)for(;p--;){var r=b[p];if(!(q=n(a[p],r,c,d)))break}}else l(b,function(b,e,f){return cc.call(f,e)?(p++,q=cc.call(a,e)&&n(a[e],b,c,d)):void 0}),q&&l(a,function(a,b,c){return cc.call(c,b)?q=--p>-1:void 0});return c.pop(),d.pop(),q}function o(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:nc.call(a)}function p(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function q(a,b){this.id=a,this.value=b}function r(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function t(){this._s=s}function u(){this._s=s,this._l=s.length,this._i=0}function v(a){this._a=a}function w(a){this._a=a,this._l=A(a),this._i=0}function x(a){return"number"==typeof a&&pb.isFinite(a)}function y(b){var c,d=b[Nb];if(!d&&"string"==typeof b)return c=new t(b),c[Nb]();if(!d&&b.length!==a)return c=new v(b),c[Nb]();if(!d)throw new TypeError("Object is not iterable");return b[Nb]()}function z(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function A(a){var b=+a.length;return isNaN(b)?0:0!==b&&x(b)?(b=z(b)*Math.floor(Math.abs(b)),0>=b?0:b>gd?gd:b):b}function B(a,b){return wb(a)||(a=Hc),new Qd(function(c){var d=0,e=b.length;return a.scheduleRecursive(function(a){e>d?(c.onNext(b[d++]),a()):c.onCompleted()})})}function C(a,b){return new Qd(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return void c.onError(g)}Cb(f)&&(f=dd(f)),d=new yc,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e},a)}function D(a,b){var c=this;return new Qd(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 void d.onError(i)}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))},c)}function E(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).concatAll()}function F(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function G(a){this.comparer=a,this.set=[]}function H(a,b,c){return a.map(function(d,e){var f=b.call(c,d,e,a);return Cb(f)&&(f=dd(f)),(Qb(f)||Pb(f))&&(f=hd(f)),f}).mergeAll()}function I(a,b,c){return new Qd(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},d.onError.bind(d),function(){d.onNext(g),d.onCompleted()})},a)}function J(a){if(0===a.length)throw new Error(Fb);return a[0]}function K(a,b,c,d){if(0>b)throw new Error(Gb);return new Qd(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},e.onError.bind(e),function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Error(Gb))})},a)}function L(a,b,c){return new Qd(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function M(a,b,c){return new Qd(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},d.onError.bind(d),function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Error(Fb))})},a)}function N(a,b,c){return new Qd(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},d.onError.bind(d),function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Error(Fb))})},a)}function O(b,c,d,e){return new Qd(function(f){var g=0;return b.subscribe(function(a){var h;try{h=c.call(d,a,g,b)}catch(i){return void f.onError(i)}h?(f.onNext(e?g:a),f.onCompleted()):g++},f.onError.bind(f),function(){f.onNext(e?-1:a),f.onCompleted()})},b)}function P(a,b){return Array.isArray(a)?Q.call(b,a):U(a)?td(a.call(b)):V(a)?td(a):T(a)?R(a):Cb(a)?S(a):typeof a===rd?a:i(a)||Array.isArray(a)?Q.call(b,a):a}function Q(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=P(a,b),typeof a!==rd)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void Mc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function R(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function S(a){return function(b){a.then(function(a){b(null,a)},b)}}function T(a){return a&&typeof a.subscribe===rd}function U(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function V(a){return a&&typeof a.next===rd&&typeof a[sd]===rd}function i(a){return a&&a.constructor===Object}function W(a){a&&Mc.schedule(function(){throw a})}function X(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),wc(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function Y(a,b,c){var d=new tc;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Y(a.item(e),b,c));else a&&d.add(X(a,b,c));return d}function Z(a,b,c){return new Qd(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(xb))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new tc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},d.onError.bind(d),function(){i=!0,e(!0,1)}))},a)}function $(a,b){return a.groupJoin(this,b,fd,function(a,b){return b})}function _(a){var b=this;return new Qd(function(c){var d=new Td,e=new tc,f=new Ac(e);return c.onNext(qc(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Cb(a)&&(a=dd(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new Td,c.onNext(qc(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ab(a){var b=this;return new Qd(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Cb(b)&&(b=dd(b));var i=new yc;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(vb,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Td,c.onNext(qc(h,g)),d()}))}var e=new zc,f=new tc(e),g=new Ac(f),h=new Td;return c.onNext(qc(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function bb(b,c){return new Tc(function(){return new Sc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function db(a){this.patterns=a}function eb(a,b){this.expression=a,this.selector=b}function fb(a,b,c){var d=a.get(b);if(!d){var e=new Nd(b,c);return a.set(b,e),e}return d}function gb(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new Md;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function hb(a,b){return new Qd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function ib(a,b,c){return new Qd(function(d){var e=0,f=a,g=Dc(b);return c.scheduleRecursiveWithAbsolute(f,function(a){if(g>0){var b=c.now();f+=g,b>=f&&(f=b+g)}d.onNext(e++),a(f)})})}function jb(a,b){return new Qd(function(c){return b.scheduleWithRelative(Dc(a),function(){c.onNext(0),c.onCompleted()})})}function kb(a,b,c){return a===b?new Qd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):ed(function(){return ib(c.now()+a,b,c)})}function lb(a,b,c){return new Qd(function(d){var e,f=!1,g=new zc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new yc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new tc(e,g)},a)}function mb(a,b,c){return ed(function(){return lb(a,b-c.now(),c)})}function nb(a,b){return new Qd(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new tc(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var ob={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pb=ob[typeof window]&&window||this,qb=ob[typeof exports]&&exports&&!exports.nodeType&&exports,rb=ob[typeof module]&&module&&!module.nodeType&&module,sb=rb&&rb.exports===qb&&qb,tb=ob[typeof global]&&global;!tb||tb.global!==tb&&tb.window!==tb||(pb=tb);var ub={internals:{},config:{Promise:pb.Promise},helpers:{}},vb=ub.helpers.noop=function(){},wb=(ub.helpers.notDefined=function(a){return"undefined"==typeof a},ub.helpers.isScheduler=function(a){return a instanceof ub.Scheduler}),xb=ub.helpers.identity=function(a){return a},yb=(ub.helpers.pluck=function(a){return function(b){return b[a]}},ub.helpers.just=function(a){return function(){return a}},ub.helpers.defaultNow=Date.now),zb=ub.helpers.defaultComparer=function(a,b){return mc(a,b)},Ab=ub.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Bb=(ub.helpers.defaultKeySerializer=function(a){return a.toString()},ub.helpers.defaultError=function(a){throw a}),Cb=ub.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},Db=(ub.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ub.helpers.not=function(a){return!a}),Eb=ub.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==bc.call(a)}),a}(),Fb="Sequence contains no elements.",Gb="Argument out of range",Hb="Object has been disposed";ub.config.longStackSupport=!1;var Ib=!1;try{throw new Error}catch(Jb){Ib=!!Jb.stack}var Kb,Lb=g(),Mb="From previous event:",Nb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";pb.Set&&"function"==typeof(new pb.Set)["@@iterator"]&&(Nb="@@iterator");var Ob=ub.doneEnumerator={done:!0,value:a},Pb=ub.helpers.isIterable=function(b){return b[Nb]!==a},Qb=ub.helpers.isArrayLike=function(b){return b&&b.length!==a};ub.helpers.iterator=Nb;var Rb,Sb=ub.helpers.deprecate=function(){},Tb="[object Arguments]",Ub="[object Array]",Vb="[object Boolean]",Wb="[object Date]",Xb="[object Error]",Yb="[object Function]",Zb="[object Number]",$b="[object Object]",_b="[object RegExp]",ac="[object String]",bc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,dc=bc.call(arguments)==Tb,ec=Error.prototype,fc=Object.prototype,gc=String.prototype,hc=fc.propertyIsEnumerable;hc||(hc=fc.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1});try{Rb=!(bc.call(document)==$b&&!({toString:0}+""))}catch(Jb){Rb=!0}var ic=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],jc={};jc[Ub]=jc[Wb]=jc[Zb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},jc[Vb]=jc[ac]={constructor:!0,toString:!0,valueOf:!0},jc[Xb]=jc[Yb]=jc[_b]={constructor:!0,toString:!0},jc[$b]={constructor:!0};var kc={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);kc.enumErrorProps=hc.call(ec,"message")||hc.call(ec,"name"),kc.enumPrototypes=hc.call(a,"prototype"),kc.nonEnumArgs=0!=c,kc.nonEnumShadows=!/valueOf/.test(b)}(1);var lc=function(a){return a&&"object"==typeof a?bc.call(a)==Tb:!1};dc||(lc=function(a){return a&&"object"==typeof a?cc.call(a,"callee"):!1});var mc=ub.internals.isEqual=function(a,b){return n(a,b,[],[])},nc=Array.prototype.slice,oc=({}.hasOwnProperty,this.inherits=ub.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),pc=ub.internals.addProperties=function(a){for(var b=nc.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},qc=ub.internals.addRef=function(a,b){return new Qd(function(c){return new tc(b.getDisposable(),a.subscribe(c))})};q.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var rc=ub.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},sc=rc.prototype;sc.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},sc.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)}}},sc.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b<this.length&&this.isHigherPriority(b,d)&&(d=b),c<this.length&&this.isHigherPriority(c,d)&&(d=c),d!==a){var e=this.items[a];this.items[a]=this.items[d],this.items[d]=e,this.heapify(d)}}},sc.peek=function(){return this.items[0].value},sc.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},sc.dequeue=function(){var a=this.peek();return this.removeAt(0),a},sc.enqueue=function(a){var b=this.length++;this.items[b]=new q(rc.count++,a),this.percolate(b)},sc.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},rc.count=0;var tc=ub.CompositeDisposable=function(){this.disposables=o(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},uc=tc.prototype;uc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},uc.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},uc.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()}},uc.toArray=function(){return this.disposables.slice(0)};var vc=ub.Disposable=function(a){this.isDisposed=!1,this.action=a||vb};vc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var wc=vc.create=function(a){return new vc(a)},xc=vc.empty={dispose:vb},yc=ub.SingleAssignmentDisposable=function(){function a(){this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){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}(),zc=ub.SerialDisposable=yc,Ac=ub.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?xc:new a(this)},b}();r.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var Bc=ub.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ab,this.disposable=new yc};Bc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Bc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Bc.prototype.isCancelled=function(){return this.disposable.isDisposed},Bc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Cc=ub.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),xc}var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=yb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Dc=Cc.normalize;!function(a){function b(a,b){var c=b.first,d=b.second,e=new tc,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),xc});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new tc,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),xc});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Cc.prototype),function(){Cc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Cc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof pb.setInterval)throw new Error("Periodic scheduling not supported.");var d=a,e=pb.setInterval(function(){d=c(d)},b);return wc(function(){pb.clearInterval(e)})}}(Cc.prototype),function(a){a.catchError=a["catch"]=function(a){return new Nc(this,a)}}(Cc.prototype);var Ec,Fc=ub.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 yc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),Gc=Cc.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=Dc(b);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Hc=Cc.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-Cc.now()>0;);b.isCancelled()||b.invoke()}}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f=this.now()+Cc.normalize(c),g=new Bc(this,b,d,f);if(e)e.enqueue(g);else{e=new rc(4),e.enqueue(g);try{a(e)}catch(h){throw h}finally{e=null}}return g.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e,f=new Cc(yb,b,c,d);return f.scheduleRequired=function(){return!e},f.ensureTrampoline=function(a){e?a():this.schedule(a)},f}(),Ic=vb,Jc=function(){var a,b=vb;if("WScript"in this)a=function(a,b){WScript.Sleep(b),a()};else{if(!pb.setTimeout)throw new Error("No concurrency detected!");a=pb.setTimeout,b=pb.clearTimeout}return{setTimeout:a,clearTimeout:b}}(),Kc=Jc.setTimeout,Lc=Jc.clearTimeout;!function(){function a(){if(!pb.postMessage||pb.importScripts)return!1;var a=!1,b=pb.onmessage;return pb.onmessage=function(){a=!0},pb.postMessage("","*"),pb.onmessage=b,a}var b=RegExp("^"+String(bc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),c="function"==typeof(c=tb&&sb&&tb.setImmediate)&&!b.test(c)&&c,d="function"==typeof(d=tb&&sb&&tb.clearImmediate)&&!b.test(d)&&d;if("function"==typeof c)Ec=c,Ic=d;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Ec=process.nextTick;else if(a()){var e="ms.rx.schedule"+Math.random(),f={},g=0,h=function(a){if("string"==typeof a.data&&a.data.substring(0,e.length)===e){var b=a.data.substring(e.length),c=f[b];c(),delete f[b]}};pb.addEventListener?pb.addEventListener("message",h,!1):pb.attachEvent("onmessage",h,!1),Ec=function(a){var b=g++;f[b]=a,pb.postMessage(e+b,"*")}}else if(pb.MessageChannel){var i=new pb.MessageChannel,j={},k=0;i.port1.onmessage=function(a){var b=a.data,c=j[b];c(),delete j[b]},Ec=function(a){var b=k++;j[b]=a,i.port2.postMessage(b)}}else"document"in pb&&"onreadystatechange"in pb.document.createElement("script")?Ec=function(a){var b=pb.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},pb.document.documentElement.appendChild(b)}:(Ec=function(a){return Kc(a,0)},Ic=Lc)}();var Mc=Cc.timeout=function(){function a(a,b){var c=this,d=new yc,e=Ec(function(){d.isDisposed||d.setDisposable(b(c,a))});return new tc(d,wc(function(){Ic(e)}))}function b(a,b,c){var d=this,e=Cc.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new yc,g=Kc(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new tc(f,wc(function(){Lc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Cc(yb,a,b,c)}(),Nc=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return oc(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.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 xc}}},e.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},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new yc;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},e}(Cc),Oc=ub.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return wb(a)||(a=Gc),new Qd(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Pc=Oc.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 Oc("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Qc=Oc.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 Oc("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Rc=Oc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new Oc("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),Sc=ub.internals.Enumerator=function(a){this._next=a};Sc.prototype.next=function(){return this._next()},Sc.prototype[Nb]=function(){return this};var Tc=ub.internals.Enumerable=function(a){this._iterator=a};Tc.prototype[Nb]=function(){return this._iterator()},Tc.prototype.concat=function(){var a=this;return new Qd(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f=new zc,g=Gc.scheduleRecursive(function(a){var d;if(!e){try{d=c.next()}catch(g){return void b.onError(g)}if(d.done)return void b.onCompleted();var h=d.value;Cb(h)&&(h=dd(h));var i=new yc;f.setDisposable(i),i.setDisposable(h.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new tc(f,g,wc(function(){e=!0}))})},Tc.prototype.catchError=function(){var a=this;return new Qd(function(b){var c;try{c=a[Nb]()}catch(d){return void b.onError(d)}var e,f,g=new zc,h=Gc.scheduleRecursive(function(a){if(!e){var d;try{d=c.next()}catch(h){return void b.onError(h)}if(d.done)return void(f?b.onError(f):b.onCompleted());var i=d.value;Cb(i)&&(i=dd(i));var j=new yc;g.setDisposable(j),j.setDisposable(i.subscribe(b.onNext.bind(b),function(b){f=b,a()},b.onCompleted.bind(b)))}});return new tc(g,h,wc(function(){e=!0}))})};var Uc=Tc.repeat=function(a,b){return null==b&&(b=-1),new Tc(function(){var c=b;return new Sc(function(){return 0===c?Ob:(c>0&&c--,{done:!1,value:a})})})},Vc=Tc.of=function(a,b,c){return b||(b=xb),new Tc(function(){var d=-1;return new Sc(function(){return++d<a.length?{done:!1,value:b.call(c,a[d],d,a)}:Ob})})},Wc=ub.Observer=function(){};Wc.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Wc.prototype.asObserver=function(){return new $c(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Wc.prototype.checked=function(){return new _c(this)};var Xc=Wc.create=function(a,b,c){return a||(a=vb),b||(b=Bb),c||(c=vb),new $c(a,b,c)};Wc.fromNotifier=function(a,b){return new $c(function(c){return a.call(b,Pc(c))},function(c){return a.call(b,Qc(c))},function(){return a.call(b,Rc())})},Wc.prototype.notifyOn=function(a){return new bd(a,this)};var Yc,Zc=ub.internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return oc(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}(Wc),$c=ub.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return oc(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}(Zc),_c=function(a){function b(b){a.call(this),this._observer=b,this._state=0}oc(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}(Wc),ad=ub.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 zc}return oc(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 void(b.isAcquired=!1);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}(Zc),bd=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return oc(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.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(ad),cd=ub.Observable=function(){function a(a){if(ub.config.longStackSupport&&Ib){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){var e=b.onError.bind(b);return b.onError=function(a){c(a,d),e(a)},a(b)}}else this._subscribe=a}return Yc=a.prototype,Yc.subscribe=Yc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Xc(a,b,c))
3
+ },Yc.subscribeOnNext=function(a,b){return this._subscribe(Xc(2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnError=function(a,b){return this._subscribe(Xc(null,2===arguments.length?function(c){a.call(b,c)}:a))},Yc.subscribeOnCompleted=function(a,b){return this._subscribe(Xc(null,null,2===arguments.length?function(){a.call(b)}:a))},a}();Yc.observeOn=function(a){var b=this;return new Qd(function(c){return b.subscribe(new bd(a,c))},b)},Yc.subscribeOn=function(a){var b=this;return new Qd(function(c){var d=new yc,e=new zc;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new r(a,b.subscribe(c)))})),e},b)};var dd=cd.fromPromise=function(a){return ed(function(){var b=new ub.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Yc.toPromise=function(a){if(a||(a=ub.config.Promise),!a)throw new TypeError("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Yc.toArray=function(){var a=this;return new Qd(function(b){var c=[];return a.subscribe(c.push.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},cd.create=cd.createWithDisposable=function(a,b){return new Qd(a,b)};var ed=cd.defer=function(a){return new Qd(function(b){var c;try{c=a()}catch(d){return ld(d).subscribe(b)}return Cb(c)&&(c=dd(c)),c.subscribe(b)})},fd=cd.empty=function(a){return wb(a)||(a=Gc),new Qd(function(b){return a.schedule(function(){b.onCompleted()})})},gd=Math.pow(2,53)-1;t.prototype[Nb]=function(){return new u(this._s)},u.prototype[Nb]=function(){return this},u.prototype.next=function(){if(this._i<this._l){var a=this._s.charAt(this._i++);return{done:!1,value:a}}return Ob},v.prototype[Nb]=function(){return new w(this._a)},w.prototype[Nb]=function(){return this},w.prototype.next=function(){if(this._i<this._l){var a=this._a[this._i++];return{done:!1,value:a}}return Ob};var hd=cd.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!Eb(b))throw new Error("mapFn when provided must be a function");wb(d)||(d=Hc);var e=Object(a),f=y(e);return new Qd(function(a){var e=0;return d.scheduleRecursive(function(d){var g;try{g=f.next()}catch(h){return void a.onError(h)}if(g.done)return void a.onCompleted();var i=g.value;if(b&&Eb(b))try{i=b.call(c,i,e)}catch(h){return void a.onError(h)}a.onNext(i),e++,d()})})},id=cd.fromArray=function(a,b){return Sb("fromArray","from"),wb(b)||(b=Hc),new Qd(function(c){var d=0,e=a.length;return b.scheduleRecursive(function(b){e>d?(c.onNext(a[d++]),b()):c.onCompleted()})})};cd.generate=function(a,b,c,d,e){return wb(e)||(e=Hc),new Qd(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 void f.onError(j)}e?(f.onNext(i),a()):f.onCompleted()})})},cd.of=function(){return B(null,arguments)},cd.ofWithScheduler=function(a){return B(a,nc.call(arguments,1))};var jd=cd.never=function(){return new Qd(function(){return xc})};cd.range=function(a,b,c){return wb(c)||(c=Hc),new Qd(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},cd.repeat=function(a,b,c){return wb(c)||(c=Hc),kd(a,c).repeat(null==b?-1:b)};var kd=cd["return"]=cd.just=function(a,b){return wb(b)||(b=Gc),new Qd(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})};cd.returnValue=function(){return Sb("returnValue","return or just"),kd.apply(null,arguments)};var ld=cd["throw"]=cd.throwException=cd.throwError=function(a,b){return wb(b)||(b=Gc),new Qd(function(c){return b.schedule(function(){c.onError(a)})})};cd.using=function(a,b){return new Qd(function(c){var d,e,f=xc;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new tc(ld(g).subscribe(c),f)}return new tc(e.subscribe(c),f)})},Yc.amb=function(a){var b=this;return new Qd(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new yc,j=new yc;return Cb(a)&&(a=dd(a)),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 tc(i,j)})},cd.amb=function(){function a(a,b){return a.amb(b)}for(var b=jd(),c=o(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Yc["catch"]=Yc.catchError=function(a){return"function"==typeof a?C(this,a):md([this,a])},Yc.catchException=function(a){return Sb("catchException","catch or catchError"),this.catchError(a)};var md=cd.catchError=cd["catch"]=function(){return Vc(o(arguments,0)).catchError()};cd.catchException=function(){return Sb("catchException","catch or catchError"),md.apply(null,arguments)},Yc.combineLatest=function(){var a=nc.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),nd.apply(this,a)};var nd=cd.combineLatest=function(){var a=nc.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Qd(function(c){function d(a){var d;if(h[a]=!0,i||(i=h.every(xb))){try{d=b.apply(null,k)}catch(e){return void c.onError(e)}c.onNext(d)}else j.filter(function(b,c){return c!==a}).every(xb)&&c.onCompleted()}function e(a){j[a]=!0,j.every(xb)&&c.onCompleted()}for(var f=function(){return!1},g=a.length,h=p(g,f),i=!1,j=p(g,f),k=new Array(g),l=new Array(g),m=0;g>m;m++)!function(b){var f=a[b],g=new yc;Cb(f)&&(f=dd(f)),g.setDisposable(f.subscribe(function(a){k[b]=a,d(b)},c.onError.bind(c),function(){e(b)})),l[b]=g}(m);return new tc(l)},this)};Yc.concat=function(){var a=nc.call(arguments,0);return a.unshift(this),od.apply(this,a)};var od=cd.concat=function(){return Vc(o(arguments,0)).concat()};Yc.concatAll=function(){return this.merge(1)},Yc.concatObservable=function(){return Sb("concatObservable","concatAll"),this.merge(1)},Yc.merge=function(a){if("number"!=typeof a)return pd(this,a);var b=this;return new Qd(function(c){function d(a){var b=new yc;f.add(b),Cb(a)&&(a=dd(a)),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){f.remove(b),h.length>0?d(h.shift()):(e--,g&&0===e&&c.onCompleted())}))}var e=0,f=new tc,g=!1,h=[];return f.add(b.subscribe(function(b){a>e?(e++,d(b)):h.push(b)},c.onError.bind(c),function(){g=!0,0===e&&c.onCompleted()})),f},b)};var pd=cd.merge=function(){var a,b;return arguments[0]?wb(arguments[0])?(a=arguments[0],b=nc.call(arguments,1)):(a=Gc,b=nc.call(arguments,0)):(a=Gc,b=nc.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),B(a,b).mergeAll()};Yc.mergeAll=function(){var a=this;return new Qd(function(b){var c=new tc,d=!1,e=new yc;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new yc;c.add(e),Cb(a)&&(a=dd(a)),e.setDisposable(a.subscribe(b.onNext.bind(b),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},a)},Yc.mergeObservable=function(){return Sb("mergeObservable","mergeAll"),this.mergeAll.apply(this,arguments)},Yc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return qd([this,a])};var qd=cd.onErrorResumeNext=function(){var a=o(arguments,0);return new Qd(function(b){var c=0,d=new zc,e=Gc.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],Cb(f)&&(f=dd(f)),g=new yc,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new tc(d,e)})};Yc.skipUntil=function(a){var b=this;return new Qd(function(c){var d=!1,e=new tc(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()}));Cb(a)&&(a=dd(a));var f=new yc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e},b)},Yc["switch"]=Yc.switchLatest=function(){var a=this;return new Qd(function(b){var c=!1,d=new zc,e=!1,f=0,g=a.subscribe(function(a){var g=new yc,h=++f;c=!0,d.setDisposable(g),Cb(a)&&(a=dd(a)),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 tc(g,d)},a)},Yc.takeUntil=function(a){var b=this;return new Qd(function(c){return Cb(a)&&(a=dd(a)),new tc(b.subscribe(c),a.subscribe(c.onCompleted.bind(c),c.onError.bind(c),vb))},b)},Yc.zip=function(){if(Array.isArray(arguments[0]))return D.apply(this,arguments);var a=this,b=nc.call(arguments),c=b.pop();return b.unshift(a),new Qd(function(d){function e(b){var e,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),e=c.apply(a,f)}catch(g){return void d.onError(g)}d.onNext(e)}else i.filter(function(a,c){return c!==b}).every(xb)&&d.onCompleted()}function f(a){i[a]=!0,i.every(function(a){return a})&&d.onCompleted()}for(var g=b.length,h=p(g,function(){return[]}),i=p(g,function(){return!1}),j=new Array(g),k=0;g>k;k++)!function(a){var c=b[a],g=new yc;Cb(c)&&(c=dd(c)),g.setDisposable(c.subscribe(function(b){h[a].push(b),e(a)},d.onError.bind(d),function(){f(a)})),j[a]=g}(k);return new tc(j)},a)},cd.zip=function(){var a=nc.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},cd.zipArray=function(){var a=o(arguments,0);return new Qd(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(xb))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(xb)?void b.onCompleted():void 0}for(var e=a.length,f=p(e,function(){return[]}),g=p(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new yc,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},b.onError.bind(b),function(){d(e)}))}(i);var j=new tc(h);return j.add(wc(function(){for(var a=0,b=f.length;b>a;a++)f[a]=[]})),j})},Yc.asObservable=function(){return new Qd(this.subscribe.bind(this),this)},Yc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Yc.dematerialize=function(){var a=this;return new Qd(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))},this)},Yc.distinctUntilChanged=function(a,b){var c=this;return a||(a=xb),b||(b=zb),new Qd(function(d){var e,f=!1;return c.subscribe(function(c){var g,h=!1;try{g=a(c)}catch(i){return void d.onError(i)}if(f)try{h=b(e,g)}catch(i){return void d.onError(i)}f&&h||(f=!0,e=g,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc["do"]=Yc.tap=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 Qd(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)},function(){if(c)try{c()}catch(b){a.onError(b)}a.onCompleted()})},this)},Yc.doAction=function(){return Sb("doAction","do or tap"),this.tap.apply(this,arguments)},Yc.doOnNext=Yc.tapOnNext=function(a,b){return this.tap(2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnError=Yc.tapOnError=function(a,b){return this.tap(vb,2===arguments.length?function(c){a.call(b,c)}:a)},Yc.doOnCompleted=Yc.tapOnCompleted=function(a,b){return this.tap(vb,null,2===arguments.length?function(){a.call(b)}:a)},Yc["finally"]=Yc.ensure=function(a){var b=this;return new Qd(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return wc(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Yc.finallyAction=function(a){return Sb("finallyAction","finally or ensure"),this.ensure(a)},Yc.ignoreElements=function(){var a=this;return new Qd(function(b){return a.subscribe(vb,b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.materialize=function(){var a=this;return new Qd(function(b){return a.subscribe(function(a){b.onNext(Pc(a))},function(a){b.onNext(Qc(a)),b.onCompleted()},function(){b.onNext(Rc()),b.onCompleted()})},a)},Yc.repeat=function(a){return Uc(this,a).concat()},Yc.retry=function(a){return Uc(this,a).catchError()},Yc.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 Qd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Yc.skipLast=function(a){var b=this;return new Qd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.startWith=function(){var a,b,c=0;return arguments.length&&wb(arguments[0])?(b=arguments[0],c=1):b=Gc,a=nc.call(arguments,c),Vc([id(a,b),this]).concat()},Yc.takeLast=function(a){var b=this;return new Qd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Yc.takeLastBuffer=function(a){var b=this;return new Qd(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()})},b)},Yc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new Error(Gb);if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new Error(Gb);return new Qd(function(d){function e(){var a=new Td;i.push(a),d.onNext(qc(a,g))}var f=new yc,g=new Ac(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},Yc.selectConcat=Yc.concatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.concatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})}):Eb(a)?E(this,a,c):E(this,function(){return a})},Yc.concatMapObserver=Yc.selectConcatObserver=function(a,b,c,d){var e=this;return new Qd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},this).concatAll()},Yc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Qd(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()})},this)},G.prototype.push=function(a){var b=-1===F(this.set,a,this.comparer);return b&&this.set.push(a),b},Yc.distinct=function(a,b){var c=this;return b||(b=zb),new Qd(function(d){var e=new G(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},d.onError.bind(d),d.onCompleted.bind(d))},this)},Yc.groupBy=function(a,b,c){return this.groupByUntil(a,b,jd,c)},Yc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=xb),d||(d=zb),new Qd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Jd(0,d),i=new tc,j=new Ac(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new Td,h.set(e,m),l=!0),l){var n=new Sd(e,m,j),o=new Sd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new yc;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(vb,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)},Yc.select=Yc.map=function(a,b){var c=Eb(a)?a:function(){return a},d=this;return new Qd(function(a){var e=0;return d.subscribe(function(f){var g;try{g=c.call(b,f,e++,d)}catch(h){return void a.onError(h)}a.onNext(g)},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.pluck=function(a){return this.map(function(b){return b[a]})},Yc.selectMany=Yc.flatMap=function(a,b,c){return Eb(a)&&Eb(b)?this.flatMap(function(c,d){var e=a(c,d);return Cb(e)&&(e=dd(e)),(Qb(e)||Pb(e))&&(e=hd(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Eb(a)?H(this,a,c):H(this,function(){return a})},Yc.flatMapObserver=Yc.selectManyObserver=function(a,b,c,d){var e=this;return new Qd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Cb(c)&&(c=dd(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Cb(a)&&(a=dd(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},Yc.selectSwitch=Yc.flatMapLatest=Yc.switchMap=function(a,b){return this.select(a,b).switchLatest()},Yc.skip=function(a){if(0>a)throw new Error(Gb);var b=this;return new Qd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))},b)},Yc.skipWhile=function(a,b){var c=this;return new Qd(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 void d.onError(h)}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.take=function(a,b){if(0>a)throw new RangeError(Gb);if(0===a)return fd(b);var c=this;return new Qd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))},c)},Yc.takeWhile=function(a,b){var c=this;return new Qd(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 void d.onError(h)}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.where=Yc.filter=function(a,b){var c=this;return new Qd(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))},c)},Yc.finalValue=function(){var a=this;return new Qd(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(Fb))})},a)},Yc.aggregate=function(){Sb("aggregate","reduce");var a,b,c;return 2===arguments.length?(a=arguments[0],b=!0,c=arguments[1]):c=arguments[0],b?this.scan(a,c).startWith(a).finalValue():this.scan(c).finalValue()},Yc.reduce=function(a){var b,c;return 2===arguments.length&&(c=!0,b=arguments[1]),c?this.scan(b,a).startWith(b).finalValue():this.scan(a).finalValue()},Yc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new Qd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},a.onError.bind(a),function(){a.onNext(!1),a.onCompleted()})},c)},Yc.any=function(){return Sb("any","some"),this.some.apply(this,arguments)},Yc.isEmpty=function(){return this.any().map(Db)},Yc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Db)},Yc.all=function(){return Sb("all","every"),this.every.apply(this,arguments)},Yc.contains=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new Qd(function(e){var f=0,g=+b||0;return 1/0===Math.abs(g)&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),xc):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},e.onError.bind(e),function(){e.onNext(!1),e.onCompleted()})},this)},Yc.count=function(a,b){return a?this.where(a,b).count():this.aggregate(0,function(a){return a+1})},Yc.indexOf=function(a,b){var c=this;return new Qd(function(d){var e=0,f=+b||0;return 1/0===Math.abs(f)&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),xc):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},d.onError.bind(d),function(){d.onNext(-1),d.onCompleted()})},c)},Yc.sum=function(a,b){return a&&Eb(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},Yc.minBy=function(a,b){return b||(b=Ab),I(this,a,function(a,c){return-1*b(a,c)})},Yc.min=function(a){return this.minBy(xb,a).map(function(a){return J(a)})},Yc.maxBy=function(a,b){return b||(b=Ab),I(this,a,b)},Yc.max=function(a){return this.maxBy(xb,a).map(function(a){return J(a)})},Yc.average=function(a,b){return a&&Eb(a)?this.select(a,b).average():this.scan({sum:0,count:0},function(a,b){return{sum:a.sum+b,count:a.count+1}}).finalValue().map(function(a){if(0===a.count)throw new Error("The input sequence was empty");return a.sum/a.count})},Yc.sequenceEqual=function(a,b){var c=this;return b||(b=zb),new Qd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},d.onError.bind(d),function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(Qb(a)||Pb(a))&&(a=hd(a)),Cb(a)&&(a=dd(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},d.onError.bind(d),function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new tc(i,j)},c)},Yc.elementAt=function(a){return K(this,a,!1)},Yc.elementAtOrDefault=function(a,b){return K(this,a,!0,b)},Yc.single=function(a,b){return a&&Eb(a)?this.where(a,b).single():L(this,!1)},Yc.singleOrDefault=function(a,b,c){return a&&Eb(a)?this.where(a,c).singleOrDefault(null,b):L(this,!0,b)},Yc.first=function(a,b){return a?this.where(a,b).first():M(this,!1)},Yc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):M(this,!0,b)},Yc.last=function(a,b){return a?this.where(a,b).last():N(this,!1)},Yc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):N(this,!0,b)},Yc.find=function(a,b){return O(this,a,b,!1)},Yc.findIndex=function(a,b){return O(this,a,b,!0)},Yc.toSet=function(){if("undefined"==typeof pb.Set)throw new TypeError;var a=this;return new Qd(function(b){var c=new pb.Set;return a.subscribe(c.add.bind(c),b.onError.bind(b),function(){b.onNext(c),b.onCompleted()})},a)},Yc.toMap=function(a,b){if("undefined"==typeof pb.Map)throw new TypeError;var c=this;return new Qd(function(d){var e=new pb.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},d.onError.bind(d),function(){d.onNext(e),d.onCompleted()})},c)};var rd="function",sd="throw",td=ub.spawn=function(a){var b=U(a);return function(c){function d(a,b){Mc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2&&(b=nc.call(arguments,1)),a)try{c=g[sd](a)}catch(h){return d(h)}if(!a)try{c=g.next(b)}catch(h){return d(h)}if(c.done)return d(null,c.value);if(c.value=P(c.value,f),typeof c.value!==rd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var i=!1;try{c.value.call(f,function(){i||(i=!0,e.apply(f,arguments))})}catch(h){Mc.schedule(function(){i||(i=!0,e.call(f,h))})}}}var f=this,g=a;if(b){var h=nc.call(arguments),i=h.length,j=i&&typeof h[i-1]===rd;c=j?h.pop():W,g=a.apply(this,h)}else c=c||W;e()}};ub.denodify=function(a){return function(){var b,c,d,e=nc.call(arguments);return e.push(function(){b=arguments,d&&!c&&(c=!0,cb.apply(this,b))}),a.apply(this,e),function(a){d=a,b&&!c&&(c=!0,a.apply(this,b))}}},cd.start=function(a,b,c){return ud(a,b,c)()};var ud=cd.toAsync=function(a,b,c){return wb(c)||(c=Mc),function(){var d=arguments,e=new Ud;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};cd.fromCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Qd(function(e){function f(){var a=arguments;if(c){try{a=c(a)}catch(b){return void e.onError(b)}e.onNext(a)}else a.length<=1?e.onNext.apply(e,a):e.onNext(a);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},cd.fromNodeCallback=function(a,b,c){return function(){var d=nc.call(arguments,0);return new Qd(function(e){function f(a){if(a)return void e.onError(a);var b=nc.call(arguments,1);if(c){try{b=c(b)}catch(d){return void e.onError(d)}e.onNext(b)}else b.length<=1?e.onNext.apply(e,b):e.onNext(b);e.onCompleted()}d.push(f),a.apply(b,d)}).publishLast().refCount()}},ub.config.useNativeEvents=!1;var vd=pb.angular&&angular.element?angular.element:pb.jQuery?pb.jQuery:pb.Zepto?pb.Zepto:null,wd=!!pb.Ember&&"function"==typeof pb.Ember.addListener,xd=!!pb.Backbone&&!!pb.Backbone.Marionette;cd.fromEvent=function(a,b,c){if(a.addListener)return yd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c);if(!ub.config.useNativeEvents){if(xd)return yd(function(c){a.on(b,c)},function(c){a.off(b,c)},c);if(wd)return yd(function(c){Ember.addListener(a,b,c)},function(c){Ember.removeListener(a,b,c)},c);if(vd){var d=vd(a);return yd(function(a){d.on(b,a)},function(a){d.off(b,a)},c)}}return new Qd(function(d){return Y(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)})}).publish().refCount()};var yd=cd.fromEventPattern=function(a,b,c){return new Qd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return void d.onError(e)}d.onNext(b)}var f=a(e);return wc(function(){b&&b(e,f)})}).publish().refCount()};cd.startAsync=function(a){var b;try{b=a()}catch(c){return ld(c)}return dd(b)};var zd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=xc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=xc)});return new tc(c,d,e)}function c(c,d){this.source=c,this.controller=new Td,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return oc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(cd);Yc.pausable=function(a){return new zd(this,a)};var Ad=function(b){function c(b){var c,d=[],e=Z(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Td,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return oc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(cd);Yc.pausableBuffered=function(a){return new Ad(this,a)};var Bd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new Cd(d),this.source=c.multicast(this.subject).refCount()}return oc(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(cd),Cd=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Td,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=xc,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.controlledDisposable=xc}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.hasCompleted=!0,(!this.enableQueue||0===this.queue.length)&&this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,(!this.enableQueue||0===this.queue.length)&&this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(a):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0;)this.subject.onNext(this.queue.shift()),a--;return 0!==this.queue.length?{numberOfItems:a,returnValue:!0}:{numberOfItems:a,returnValue:!1}}return this.hasFailed?(this.subject.onError(this.error),this.controlledDisposable.dispose(),this.controlledDisposable=xc):this.hasCompleted&&(this.subject.onCompleted(),this.controlledDisposable.dispose(),this.controlledDisposable=xc),{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?xc:(this.requestedCount=a,this.requestedDisposable=wc(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=xc}}),c}(cd);Yc.controlled=function(a){return null==a&&(a=!0),new Bd(this,a)};var Dd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return Mc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}oc(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}oc(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;Mc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(Zc);return c}(cd);Bd.prototype.stopAndWait=function(){return new Dd(this)};var Ed=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return Mc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}oc(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}oc(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;Mc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(Zc);return c}(cd);Bd.prototype.windowed=function(a){return new Ed(this,a)},Yc.multicast=function(a,b){var c=this;return"function"==typeof a?new Qd(function(d){var e=c.multicast(a());return new tc(b(e).subscribe(d),e.connect())},c):new Id(c,a)},Yc.publish=function(a){return a&&Eb(a)?this.multicast(function(){return new Td},a):this.multicast(new Td)},Yc.share=function(){return this.publish().refCount()},Yc.publishLast=function(a){return a&&Eb(a)?this.multicast(function(){return new Ud},a):this.multicast(new Ud)},Yc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gd(b)},a):this.multicast(new Gd(a))},Yc.shareValue=function(a){return this.publishValue(a).refCount()},Yc.replay=function(a,b,c,d){return a&&Eb(a)?this.multicast(function(){return new Hd(b,c,d)},a):this.multicast(new Hd(b,c,d))},Yc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Fd=function(a,b){this.subject=a,this.observer=b};Fd.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}};
4
+ var Gd=ub.BehaviorSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Fd(this,a);var c=this.exception;return c?a.onError(c):a.onCompleted(),xc}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=this.observers.slice(0),d=c.length;d>a;a++)c[a].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.exception=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped){this.value=a;for(var c=0,d=this.observers.slice(0),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(cd),Hd=ub.ReplaySubject=function(a){function c(a,b){return wc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var d=new ad(this.scheduler,a),e=c(this,d);b.call(this),this._trim(this.scheduler.now()),this.observers.push(d);for(var f=0,g=this.q.length;g>f;f++)d.onNext(this.q[f].value);return this.hasError?d.onError(this.error):this.isStopped&&d.onCompleted(),d.ensureActive(),e}function e(b,c,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==c?Number.MAX_VALUE:c,this.scheduler=e||Hc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}return oc(e,a),pc(e.prototype,Wc,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(b.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onNext(a),g.ensureActive()}}},onError:function(a){if(b.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++){var g=d[e];g.onError(a),g.ensureActive()}this.observers=[]}},onCompleted:function(){if(b.call(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++){var f=c[d];f.onCompleted(),f.ensureActive()}this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(cd),Id=ub.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new tc(f.subscribe(c),wc(function(){e=!1}))),d},a.call(this,c.subscribe.bind(c))}return oc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Qd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(cd),Jd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c<h.length;++c)if(d=h[c],d>=a)return d;for(e=1|a;e<h[h.length-1];){if(b(e))return e;e+=2}return a}function d(a){var b=757602046;if(!a.length)return b;for(var c=0,d=a.length;d>c;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Error("out of range");a>0&&this._initialize(a),this.comparer=b||zb,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof b)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;e<b.length;++e)b[e]=-1;var d=new Array(a);for(e=0;e<this.size;++e)d[e]=this.entries[e];for(var e=this.size;a>e;++e)d[e]=f();for(var g=0;g<this.size;++g){var h=d[g].hashCode%a;d[g].next=b[h],b[h]=g}this.buckets=b,this.entries=d},l.remove=function(a){if(this.buckets)for(var b=2147483647&k(a),c=b%this.buckets.length,d=-1,e=this.buckets[c];e>=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a<this.size;++a)this.entries[a]=f();this.freeList=-1,this.size=0}},l._findEntry=function(a){if(this.buckets)for(var b=2147483647&k(a),c=this.buckets[b%this.buckets.length];c>=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c<this.size;c++)this.entries[c].hashCode>=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();Yc.join=function(a,b,c,d){var e=this;return new Qd(function(f){var g=new tc,h=!1,i=!1,j=0,k=0,l=new Jd,m=new Jd;return g.add(e.subscribe(function(a){var c=j++,e=new yc;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(vb,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new yc;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(vb,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},Yc.groupJoin=function(a,b,c,d){var e=this;return new Qd(function(f){function g(a){return function(b){b.onError(a)}}var h=new tc,i=new Ac(h),j=new Jd,k=new Jd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Td,e=l++;j.add(e,c);var m;try{m=d(a,qc(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new yc;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new yc;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(vb,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},Yc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?_.call(this,a):"function"==typeof a?ab.call(this,a):$.call(this,a,b)},Yc.pairwise=function(){var a=this;return new Qd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},Yc.partition=function(a,b){var c=this.publish().refCount();return[c.filter(a,b),c.filter(function(c,d,e){return!a.call(b,c,d,e)})]},Yc.letBind=Yc.let=function(a){return a(this)},cd["if"]=cd.ifThen=function(a,b,c){return ed(function(){return c||(c=fd()),Cb(b)&&(b=dd(b)),Cb(c)&&(c=dd(c)),"function"==typeof c.now&&(c=fd(c)),a()?b:c})},cd["for"]=cd.forIn=function(a,b,c){return Vc(a,b,c).concat()};var Kd=cd["while"]=cd.whileDo=function(a,b){return Cb(b)&&(b=dd(b)),bb(a,b).concat()};Yc.doWhile=function(a){return od([this,Kd(a,this)])},cd["case"]=cd.switchCase=function(a,b,c){return ed(function(){Cb(c)&&(c=dd(c)),c||(c=fd()),"function"==typeof c.now&&(c=fd(c));var d=b[a()];return Cb(d)&&(d=dd(d)),d||c})},Yc.expand=function(a,b){wb(b)||(b=Gc);var c=this;return new Qd(function(d){var e=[],f=new zc,g=new tc(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 void(i=!1);c=e.shift();var f=new yc;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},this)},cd.forkJoin=function(){var a=o(arguments,0);return new Qd(function(b){var c=a.length;if(0===c)return b.onCompleted(),xc;for(var d=new tc,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];Cb(j)&&(j=dd(j)),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 void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},Yc.forkJoin=function(a,b){var c=this;return new Qd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new yc,l=new yc;return Cb(a)&&(a=dd(a)),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 void d.onError(c)}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 void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new tc(k,l)},c)},Yc.manySelect=function(a,b){wb(b)||(b=Gc);var c=this;return ed(function(){var d;return c.map(function(a){var b=new Ld(a);return d&&d.onNext(a),d=b,b}).tap(vb,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var Ld=function(a){function b(a){var b=this,c=new tc;return c.add(Hc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Ud}return oc(c,a),pc(c.prototype,Wc,{onCompleted:function(){this.onNext(cd.empty())},onError:function(a){this.onNext(cd.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(cd),Md=pb.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();db.prototype.and=function(a){return new db(this.patterns.concat(a))},db.prototype.thenDo=function(a){return new eb(this,a)},eb.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(fb(a,this.expression.patterns[f],b.onError.bind(b)));var h=new gb(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},gb.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},gb.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;a<d.length;a++)f.push(d[a].value);this.onNext.apply(this,f)}}};var Nd=function(a){function b(b,c){a.call(this),this.source=b,this.onError=c,this.queue=[],this.activePlans=[],this.subscription=new yc,this.isDisposed=!1}oc(b,a);var c=b.prototype;return c.next=function(a){if(!this.isDisposed){if("E"===a.kind)return void this.onError(a.exception);this.queue.push(a);for(var b=this.activePlans.slice(0),c=0,d=b.length;d>c;c++)b[c].match()}},c.error=vb,c.completed=vb,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(Zc);Yc.and=function(a){return new db([this,a])},Yc.thenDo=function(a){return new db([this]).thenDo(a)},cd.when=function(){var a=o(arguments,0);return new Qd(function(b){var c=[],d=new Md,e=Xc(b.onNext.bind(b),function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},b.onCompleted.bind(b));try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){ld(h).subscribe(b)}var i=new tc;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};var Od=cd.interval=function(a,b){return kb(a,a,wb(b)?b:Mc)},Pd=cd.timer=function(b,c,d){var e;return wb(d)||(d=Mc),c!==a&&"number"==typeof c?e=c:wb(c)&&(d=c),b instanceof Date&&e===a?hb(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ib(b.getTime(),e,d)):e===a?jb(b,d):kb(b,e,d)};Yc.delay=function(a,b){return wb(b)||(b=Mc),a instanceof Date?mb(this,a.getTime(),b):lb(this,a,b)},Yc.debounce=Yc.throttleWithTimeout=function(a,b){wb(b)||(b=Mc);var c=this;return new Qd(function(d){var e,f=new zc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new yc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new tc(i,f)},this)},Yc.throttle=function(a,b){return Sb("throttle","debounce or throttleWithTimeout"),this.debounce(a,b)},Yc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),wb(c)||(c=Mc),"number"==typeof b?d=b:wb(b)&&(d=a,c=b),new Qd(function(b){function f(){var a=new yc,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Td;k.push(a),b.onNext(qc(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new zc,m=0;return g=new tc(l),h=new Ac(g),k.push(new Td),b.onNext(qc(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},Yc.windowWithTimeOrCount=function(a,b,c){var d=this;return wb(c)||(c=Mc),new Qd(function(e){function f(b){var d=new yc;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Td,e.onNext(qc(l,i)),f(a)}}))}var g=new zc,h=new tc(g),i=new Ac(h),j=0,k=0,l=new Td;return e.onNext(qc(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Td,e.onNext(qc(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},Yc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},Yc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},Yc.timeInterval=function(a){var b=this;return wb(a)||(a=Mc),ed(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Yc.timestamp=function(a){return wb(a)||(a=Mc),this.map(function(b){return{value:b,timestamp:a.now()}})},Yc.sample=Yc.throttleLatest=function(a,b){return wb(b)||(b=Mc),"number"==typeof a?nb(this,Od(a,b)):nb(this,a)},Yc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=ld(new Error(b||"Timeout"))),wb(c)||(c=Mc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Cb(b)&&(b=dd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new yc,j=new zc,k=!1,l=new zc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new tc(j,l)},d)},cd.generateWithAbsoluteTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Qd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},cd.generateWithRelativeTime=function(a,b,c,d,e,f){return wb(f)||(f=Mc),new Qd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},Yc.delaySubscription=function(a,b){return this.delayWithSelector(Pd(a,wb(b)?b:Mc),fd)},Yc.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Qd(function(a){var b=new tc,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new zc,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return void a.onError(f)}var h=new yc;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(i,a.onError.bind(a),i)):i(),new tc(h,b)},this)},Yc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=jd()),c||(c=ld(new Error("Timeout")));var d=this;return new Qd(function(e){function f(a){function b(){return k===d}var d=k,f=new yc;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new zc,i=new zc,j=new yc;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Cb(c)?dd(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new tc(h,i)},d)},Yc.debounceWithSelector=function(a){var b=this;return new Qd(function(c){var d,e=!1,f=new zc,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Cb(h)&&(h=dd(h)),e=!0,d=b,g++;var j=g,k=new yc;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new tc(h,f)},b)},Yc.throttleWithSelector=function(){return Sb("throttleWithSelector","debounceWithSelector"),this.debounceWithSelector.apply(this,arguments)},Yc.skipLastWithTime=function(a,b){wb(b)||(b=Mc);var c=this;return new Qd(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},Yc.takeLastWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},Yc.takeLastBufferWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},Yc.takeWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){return new tc(b.scheduleWithRelative(a,d.onCompleted.bind(d)),c.subscribe(d))},c)},Yc.skipWithTime=function(a,b){var c=this;return wb(b)||(b=Mc),new Qd(function(d){var e=!1;return new tc(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},Yc.skipUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(e){var f=!1;return new tc(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},e.onError.bind(e),e.onCompleted.bind(e)))},c)},Yc.takeUntilWithTime=function(a,b){wb(b)||(b=Mc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Qd(function(e){return new tc(b[d](a,e.onCompleted.bind(e)),c.subscribe(e))},c)},Yc.throttleFirst=function(a,b){wb(b)||(b=Mc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Qd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},a.onError.bind(a),a.onCompleted.bind(a))},d)},Yc.transduce=function(a){function b(a){return{init:function(){return a},step:function(a,b){return a.onNext(b)},result:function(a){return a.onCompleted()}}}var c=this;return new Qd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e.step(d,a)}catch(b){d.onError(b)}},d.onError.bind(d),function(){e.result(d)})},c)},Yc.exclusive=function(){var a=this;return new Qd(function(b){var c=!1,d=!1,e=new yc,f=new tc;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Cb(a)&&(a=dd(a));var e=new yc;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},Yc.exclusiveMap=function(a,b){var c=this;return new Qd(function(d){var e=0,f=!1,g=!0,h=new yc,i=new tc;return i.add(h),h.setDisposable(c.subscribe(function(c){f||(f=!0,innerSubscription=new yc,i.add(innerSubscription),Cb(c)&&(c=dd(c)),innerSubscription.setDisposable(c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return void d.onError(h)}d.onNext(g)},d.onError.bind(d),function(){i.remove(innerSubscription),f=!1,g&&1===i.length&&d.onCompleted()})))},d.onError.bind(d),function(){g=!0,1!==i.length||f||d.onCompleted()})),i},this)},ub.VirtualTimeScheduler=function(a){function b(){throw new Error("Not implemented")}function c(){return this.toDateTimeOffset(this.clock)}function d(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function f(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function g(a,b){return b(),xc}function h(b,g){this.clock=b,this.comparer=g,this.isEnabled=!1,this.queue=new rc(1024),a.call(this,c,d,e,f)}oc(h,a);var i=h.prototype;return i.add=b,i.toDateTimeOffset=b,i.toRelative=b,i.schedulePeriodicWithState=function(a,b,c){var d=new Fc(this,a,b,c);return d.start()},i.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},i.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,g)},i.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},i.stop=function(){this.isEnabled=!1},i.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Error(Gb);if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},i.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Error(Gb);0!==c&&this.advanceTo(b)},i.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Error(Gb);this.clock=b},i.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},i.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,g)},i.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Bc(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},h}(Cc),ub.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ab;a.call(this,d,e)}oc(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(ub.VirtualTimeScheduler);var Qd=ub.AnonymousObservable=function(a){function b(a){return a&&"function"==typeof a.dispose?a:"function"==typeof a?wc(a):xc}function c(d,e){function f(a){var c=function(){try{e.setDisposable(b(d(e)))}catch(a){if(!e.fail(a))throw a}},e=new Rd(a);return Hc.scheduleRequired()?Hc.schedule(c):c(),e}return this.source=e,this instanceof c?void a.call(this,f):new c(d)}return oc(c,a),c}(cd),Rd=function(a){function b(b){a.call(this),this.observer=b,this.m=new yc}oc(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.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Zc),Sd=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 Qd(function(a){return new tc(e.getDisposable(),d.subscribe(a))}):d}return oc(c,a),c}(cd),Td=ub.Subject=function(a){function c(a){return b.call(this),this.isStopped?this.exception?(a.onError(this.exception),xc):(a.onCompleted(),xc):(this.observers.push(a),new Fd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var c=0,d=a.length;d>c;c++)a[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped)for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)c[d].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Vd(a,b)},d}(cd),Ud=ub.AsyncSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),new Fd(this,a);var c=this.exception,d=this.hasValue,e=this.value;return c?a.onError(c):d?(a.onNext(e),a.onCompleted()):a.onCompleted(),xc}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return oc(d,a),pc(d.prototype,Wc,{hasObservers:function(){return b.call(this),this.observers.length>0},onCompleted:function(){var a,c,d;if(b.call(this),!this.isStopped){this.isStopped=!0;var e=this.observers.slice(0),f=this.value,g=this.hasValue;if(g)for(c=0,d=e.length;d>c;c++)a=e[c],a.onNext(f),a.onCompleted();else for(c=0,d=e.length;d>c;c++)e[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){b.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(cd),Vd=ub.AnonymousSubject=function(a){function b(b,c){this.observer=b,this.observable=c,a.call(this,this.observable.subscribe.bind(this.observable))}return oc(b,a),pc(b.prototype,Wc,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),b}(cd);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(pb.Rx=ub,define(function(){return ub})):qb&&rb?sb?(rb.exports=ub).Rx=ub:qb.Rx=ub:pb.Rx=ub;var Wd=g()}).call(this);
5
5
  //# sourceMappingURL=rx.all.map
@@ -36,6 +36,7 @@
36
36
  var Observable = Rx.Observable,
37
37
  observableProto = Observable.prototype,
38
38
  AnonymousObservable = Rx.AnonymousObservable,
39
+ AbstractObserver = Rx.internals.AbstractObserver,
39
40
  CompositeDisposable = Rx.CompositeDisposable,
40
41
  Subject = Rx.Subject,
41
42
  Observer = Rx.Observer,
@@ -44,14 +45,15 @@
44
45
  inherits = Rx.internals.inherits,
45
46
  addProperties = Rx.internals.addProperties,
46
47
  timeoutScheduler = Rx.Scheduler.timeout,
48
+ currentThreadScheduler = Rx.Scheduler.currentThread,
47
49
  identity = Rx.helpers.identity;
48
50
 
49
51
  var objectDisposed = 'Object has been disposed';
50
52
  function checkDisposed() { if (this.isDisposed) { throw new Error(objectDisposed); } }
51
53
 
52
- var PausableObservable = (function (_super) {
54
+ var PausableObservable = (function (__super__) {
53
55
 
54
- inherits(PausableObservable, _super);
56
+ inherits(PausableObservable, __super__);
55
57
 
56
58
  function subscribe(observer) {
57
59
  var conn = this.source.publish(),
@@ -80,7 +82,7 @@
80
82
  this.pauser = this.controller;
81
83
  }
82
84
 
83
- _super.call(this, subscribe);
85
+ __super__.call(this, subscribe, source);
84
86
  }
85
87
 
86
88
  PausableObservable.prototype.pause = function () {
@@ -164,7 +166,7 @@
164
166
  next(true, 1);
165
167
  })
166
168
  );
167
- });
169
+ }, source);
168
170
  }
169
171
 
170
172
  var PausableBufferedObservable = (function (__super__) {
@@ -229,7 +231,7 @@
229
231
  this.pauser = this.controller;
230
232
  }
231
233
 
232
- __super__.call(this, subscribe);
234
+ __super__.call(this, subscribe, source);
233
235
  }
234
236
 
235
237
  PausableBufferedObservable.prototype.pause = function () {
@@ -257,29 +259,16 @@
257
259
  return new PausableBufferedObservable(this, subject);
258
260
  };
259
261
 
260
- /**
261
- * Attaches a controller to the observable sequence with the ability to queue.
262
- * @example
263
- * var source = Rx.Observable.interval(100).controlled();
264
- * source.request(3); // Reads 3 values
265
- * @param {Observable} pauser The observable sequence used to pause the underlying sequence.
266
- * @returns {Observable} The observable sequence which is paused based upon the pauser.
267
- */
268
- observableProto.controlled = function (enableQueue) {
269
- if (enableQueue == null) { enableQueue = true; }
270
- return new ControlledObservable(this, enableQueue);
271
- };
272
-
273
- var ControlledObservable = (function (_super) {
262
+ var ControlledObservable = (function (__super__) {
274
263
 
275
- inherits(ControlledObservable, _super);
264
+ inherits(ControlledObservable, __super__);
276
265
 
277
266
  function subscribe (observer) {
278
267
  return this.source.subscribe(observer);
279
268
  }
280
269
 
281
270
  function ControlledObservable (source, enableQueue) {
282
- _super.call(this, subscribe);
271
+ __super__.call(this, subscribe, source);
283
272
  this.subject = new ControlledSubject(enableQueue);
284
273
  this.source = source.multicast(this.subject).refCount();
285
274
  }
@@ -293,132 +282,265 @@
293
282
 
294
283
  }(Observable));
295
284
 
296
- var ControlledSubject = Rx.ControlledSubject = (function (_super) {
285
+ var ControlledSubject = (function (__super__) {
297
286
 
298
- function subscribe (observer) {
299
- return this.subject.subscribe(observer);
287
+ function subscribe (observer) {
288
+ return this.subject.subscribe(observer);
289
+ }
290
+
291
+ inherits(ControlledSubject, __super__);
292
+
293
+ function ControlledSubject(enableQueue) {
294
+ enableQueue == null && (enableQueue = true);
295
+
296
+ __super__.call(this, subscribe);
297
+ this.subject = new Subject();
298
+ this.enableQueue = enableQueue;
299
+ this.queue = enableQueue ? [] : null;
300
+ this.requestedCount = 0;
301
+ this.requestedDisposable = disposableEmpty;
302
+ this.error = null;
303
+ this.hasFailed = false;
304
+ this.hasCompleted = false;
305
+ this.controlledDisposable = disposableEmpty;
306
+ }
307
+
308
+ addProperties(ControlledSubject.prototype, Observer, {
309
+ onCompleted: function () {
310
+ this.hasCompleted = true;
311
+ (!this.enableQueue || this.queue.length === 0) && this.subject.onCompleted();
312
+ },
313
+ onError: function (error) {
314
+ this.hasFailed = true;
315
+ this.error = error;
316
+ (!this.enableQueue || this.queue.length === 0) && this.subject.onError(error);
317
+ },
318
+ onNext: function (value) {
319
+ var hasRequested = false;
320
+
321
+ if (this.requestedCount === 0) {
322
+ this.enableQueue && this.queue.push(value);
323
+ } else {
324
+ (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest();
325
+ hasRequested = true;
300
326
  }
327
+ hasRequested && this.subject.onNext(value);
328
+ },
329
+ _processRequest: function (numberOfItems) {
330
+ if (this.enableQueue) {
331
+ while (this.queue.length >= numberOfItems && numberOfItems > 0) {
332
+ this.subject.onNext(this.queue.shift());
333
+ numberOfItems--;
334
+ }
301
335
 
302
- inherits(ControlledSubject, _super);
336
+ return this.queue.length !== 0 ?
337
+ { numberOfItems: numberOfItems, returnValue: true } :
338
+ { numberOfItems: numberOfItems, returnValue: false };
339
+ }
303
340
 
304
- function ControlledSubject(enableQueue) {
305
- if (enableQueue == null) {
306
- enableQueue = true;
307
- }
341
+ if (this.hasFailed) {
342
+ this.subject.onError(this.error);
343
+ this.controlledDisposable.dispose();
344
+ this.controlledDisposable = disposableEmpty;
345
+ } else if (this.hasCompleted) {
346
+ this.subject.onCompleted();
347
+ this.controlledDisposable.dispose();
348
+ this.controlledDisposable = disposableEmpty;
349
+ }
350
+
351
+ return { numberOfItems: numberOfItems, returnValue: false };
352
+ },
353
+ request: function (number) {
354
+ this.disposeCurrentRequest();
355
+ var self = this, r = this._processRequest(number);
308
356
 
309
- _super.call(this, subscribe);
310
- this.subject = new Subject();
311
- this.enableQueue = enableQueue;
312
- this.queue = enableQueue ? [] : null;
313
- this.requestedCount = 0;
314
- this.requestedDisposable = disposableEmpty;
315
- this.error = null;
316
- this.hasFailed = false;
317
- this.hasCompleted = false;
318
- this.controlledDisposable = disposableEmpty;
357
+ var number = r.numberOfItems;
358
+ if (!r.returnValue) {
359
+ this.requestedCount = number;
360
+ this.requestedDisposable = disposableCreate(function () {
361
+ self.requestedCount = 0;
362
+ });
363
+
364
+ return this.requestedDisposable
365
+ } else {
366
+ return disposableEmpty;
319
367
  }
368
+ },
369
+ disposeCurrentRequest: function () {
370
+ this.requestedDisposable.dispose();
371
+ this.requestedDisposable = disposableEmpty;
372
+ }
373
+ });
320
374
 
321
- addProperties(ControlledSubject.prototype, Observer, {
322
- onCompleted: function () {
323
- checkDisposed.call(this);
324
- this.hasCompleted = true;
375
+ return ControlledSubject;
376
+ }(Observable));
325
377
 
326
- if (!this.enableQueue || this.queue.length === 0) {
327
- this.subject.onCompleted();
328
- }
329
- },
330
- onError: function (error) {
331
- checkDisposed.call(this);
332
- this.hasFailed = true;
333
- this.error = error;
378
+ /**
379
+ * Attaches a controller to the observable sequence with the ability to queue.
380
+ * @example
381
+ * var source = Rx.Observable.interval(100).controlled();
382
+ * source.request(3); // Reads 3 values
383
+ * @param {Observable} pauser The observable sequence used to pause the underlying sequence.
384
+ * @returns {Observable} The observable sequence which is paused based upon the pauser.
385
+ */
386
+ observableProto.controlled = function (enableQueue) {
387
+ if (enableQueue == null) { enableQueue = true; }
388
+ return new ControlledObservable(this, enableQueue);
389
+ };
334
390
 
335
- if (!this.enableQueue || this.queue.length === 0) {
336
- this.subject.onError(error);
337
- }
338
- },
339
- onNext: function (value) {
340
- checkDisposed.call(this);
341
- var hasRequested = false;
342
-
343
- if (this.requestedCount === 0) {
344
- if (this.enableQueue) {
345
- this.queue.push(value);
346
- }
347
- } else {
348
- if (this.requestedCount !== -1) {
349
- if (this.requestedCount-- === 0) {
350
- this.disposeCurrentRequest();
351
- }
352
- }
353
- hasRequested = true;
354
- }
391
+ var StopAndWaitObservable = (function (__super__) {
355
392
 
356
- if (hasRequested) {
357
- this.subject.onNext(value);
358
- }
359
- },
360
- _processRequest: function (numberOfItems) {
361
- if (this.enableQueue) {
362
- //console.log('queue length', this.queue.length);
363
-
364
- while (this.queue.length >= numberOfItems && numberOfItems > 0) {
365
- //console.log('number of items', numberOfItems);
366
- this.subject.onNext(this.queue.shift());
367
- numberOfItems--;
368
- }
369
-
370
- if (this.queue.length !== 0) {
371
- return { numberOfItems: numberOfItems, returnValue: true };
372
- } else {
373
- return { numberOfItems: numberOfItems, returnValue: false };
374
- }
375
- }
393
+ function subscribe (observer) {
394
+ this.subscription = this.source.subscribe(new StopAndWaitObserver(observer, this, this.subscription));
376
395
 
377
- if (this.hasFailed) {
378
- this.subject.onError(this.error);
379
- this.controlledDisposable.dispose();
380
- this.controlledDisposable = disposableEmpty;
381
- } else if (this.hasCompleted) {
382
- this.subject.onCompleted();
383
- this.controlledDisposable.dispose();
384
- this.controlledDisposable = disposableEmpty;
385
- }
396
+ var self = this;
397
+ timeoutScheduler.schedule(function () { self.source.request(1); });
386
398
 
387
- return { numberOfItems: numberOfItems, returnValue: false };
388
- },
389
- request: function (number) {
390
- checkDisposed.call(this);
391
- this.disposeCurrentRequest();
392
- var self = this,
393
- r = this._processRequest(number);
394
-
395
- number = r.numberOfItems;
396
- if (!r.returnValue) {
397
- this.requestedCount = number;
398
- this.requestedDisposable = disposableCreate(function () {
399
- self.requestedCount = 0;
400
- });
401
-
402
- return this.requestedDisposable
403
- } else {
404
- return disposableEmpty;
405
- }
406
- },
407
- disposeCurrentRequest: function () {
408
- this.requestedDisposable.dispose();
409
- this.requestedDisposable = disposableEmpty;
410
- },
399
+ return this.subscription;
400
+ }
411
401
 
412
- dispose: function () {
413
- this.isDisposed = true;
414
- this.error = null;
415
- this.subject.dispose();
416
- this.requestedDisposable.dispose();
417
- }
402
+ inherits(StopAndWaitObservable, __super__);
403
+
404
+ function StopAndWaitObservable (source) {
405
+ __super__.call(this, subscribe, source);
406
+ this.source = source;
407
+ }
408
+
409
+ var StopAndWaitObserver = (function (__sub__) {
410
+
411
+ inherits(StopAndWaitObserver, __sub__);
412
+
413
+ function StopAndWaitObserver (observer, observable, cancel) {
414
+ __sub__.call(this);
415
+ this.observer = observer;
416
+ this.observable = observable;
417
+ this.cancel = cancel;
418
+ }
419
+
420
+ var stopAndWaitObserverProto = StopAndWaitObserver.prototype;
421
+
422
+ stopAndWaitObserverProto.completed = function () {
423
+ this.observer.onCompleted();
424
+ this.dispose();
425
+ };
426
+
427
+ stopAndWaitObserverProto.error = function (error) {
428
+ this.observer.onError(error);
429
+ this.dispose();
430
+ }
431
+
432
+ stopAndWaitObserverProto.next = function (value) {
433
+ this.observer.onNext(value);
434
+
435
+ var self = this;
436
+ timeoutScheduler.schedule(function () {
437
+ self.observable.source.request(1);
418
438
  });
439
+ };
440
+
441
+ stopAndWaitObserverProto.dispose = function () {
442
+ this.observer = null;
443
+ if (this.cancel) {
444
+ this.cancel.dispose();
445
+ this.cancel = null;
446
+ }
447
+ __sub__.prototype.dispose.call(this);
448
+ };
449
+
450
+ return StopAndWaitObserver;
451
+ }(AbstractObserver));
452
+
453
+ return StopAndWaitObservable;
454
+ }(Observable));
455
+
456
+
457
+ /**
458
+ * Attaches a stop and wait observable to the current observable.
459
+ * @returns {Observable} A stop and wait observable.
460
+ */
461
+ ControlledObservable.prototype.stopAndWait = function () {
462
+ return new StopAndWaitObservable(this);
463
+ };
419
464
 
420
- return ControlledSubject;
421
- }(Observable));
465
+ var WindowedObservable = (function (__super__) {
466
+
467
+ function subscribe (observer) {
468
+ this.subscription = this.source.subscribe(new WindowedObserver(observer, this, this.subscription));
469
+
470
+ var self = this;
471
+ timeoutScheduler.schedule(function () {
472
+ self.source.request(self.windowSize);
473
+ });
474
+
475
+ return this.subscription;
476
+ }
477
+
478
+ inherits(WindowedObservable, __super__);
479
+
480
+ function WindowedObservable(source, windowSize) {
481
+ __super__.call(this, subscribe, source);
482
+ this.source = source;
483
+ this.windowSize = windowSize;
484
+ }
485
+
486
+ var WindowedObserver = (function (__sub__) {
487
+
488
+ inherits(WindowedObserver, __sub__);
489
+
490
+ function WindowedObserver(observer, observable, cancel) {
491
+ this.observer = observer;
492
+ this.observable = observable;
493
+ this.cancel = cancel;
494
+ this.received = 0;
495
+ }
496
+
497
+ var windowedObserverPrototype = WindowedObserver.prototype;
498
+
499
+ windowedObserverPrototype.completed = function () {
500
+ this.observer.onCompleted();
501
+ this.dispose();
502
+ };
503
+
504
+ windowedObserverPrototype.error = function (error) {
505
+ this.observer.onError(error);
506
+ this.dispose();
507
+ };
508
+
509
+ windowedObserverPrototype.next = function (value) {
510
+ this.observer.onNext(value);
511
+
512
+ this.received = ++this.received % this.observable.windowSize;
513
+ if (this.received === 0) {
514
+ var self = this;
515
+ timeoutScheduler.schedule(function () {
516
+ self.observable.source.request(self.observable.windowSize);
517
+ });
518
+ }
519
+ };
520
+
521
+ windowedObserverPrototype.dispose = function () {
522
+ this.observer = null;
523
+ if (this.cancel) {
524
+ this.cancel.dispose();
525
+ this.cancel = null;
526
+ }
527
+ __sub__.prototype.dispose.call(this);
528
+ };
529
+
530
+ return WindowedObserver;
531
+ }(AbstractObserver));
532
+
533
+ return WindowedObservable;
534
+ }(Observable));
535
+
536
+ /**
537
+ * Creates a sliding windowed observable based upon the window size.
538
+ * @param {Number} windowSize The number of items in the window
539
+ * @returns {Observable} A windowed observable based upon the window size.
540
+ */
541
+ ControlledObservable.prototype.windowed = function (windowSize) {
542
+ return new WindowedObservable(this, windowSize);
543
+ };
422
544
 
423
545
  return Rx;
424
546
  }));