rxjs-rails 0.0.1 → 2.2.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,16 +42,6 @@
42
42
  }
43
43
  }
44
44
 
45
- /** Used to determine if values are of the language type Object */
46
- var objectTypes = {
47
- 'boolean': false,
48
- 'function': true,
49
- 'object': true,
50
- 'number': false,
51
- 'string': false,
52
- 'undefined': false
53
- };
54
-
55
45
  /** `Object#toString` result shortcuts */
56
46
  var argsClass = '[object Arguments]',
57
47
  arrayClass = '[object Array]',
@@ -956,44 +946,38 @@
956
946
  var currentThreadScheduler = Scheduler.currentThread = (function () {
957
947
  var queue;
958
948
 
959
- function Trampoline() {
960
- queue = new PriorityQueue(4);
961
- }
962
-
963
- Trampoline.prototype.dispose = function () {
964
- queue = null;
965
- };
966
-
967
- Trampoline.prototype.run = function () {
949
+ function runTrampoline (q) {
968
950
  var item;
969
- while (queue.length > 0) {
970
- item = queue.dequeue();
951
+ while (q.length > 0) {
952
+ item = q.dequeue();
971
953
  if (!item.isCancelled()) {
972
- while (item.dueTime - Scheduler.now() > 0) { }
954
+ // Note, do not schedule blocking work!
955
+ while (item.dueTime - Scheduler.now() > 0) {
956
+ }
973
957
  if (!item.isCancelled()) {
974
958
  item.invoke();
975
959
  }
976
960
  }
977
- }
978
- };
961
+ }
962
+ }
979
963
 
980
964
  function scheduleNow(state, action) {
981
965
  return this.scheduleWithRelativeAndState(state, 0, action);
982
966
  }
983
967
 
984
968
  function scheduleRelative(state, dueTime, action) {
985
- var dt = this.now() + normalizeTime(dueTime),
969
+ var dt = this.now() + Scheduler.normalize(dueTime),
986
970
  si = new ScheduledItem(this, state, action, dt),
987
971
  t;
988
972
  if (!queue) {
989
- t = new Trampoline();
973
+ queue = new PriorityQueue(4);
974
+ queue.enqueue(si);
990
975
  try {
991
- queue.enqueue(si);
992
- t.run();
976
+ runTrampoline(queue);
993
977
  } catch (e) {
994
978
  throw e;
995
979
  } finally {
996
- t.dispose();
980
+ queue = null;
997
981
  }
998
982
  } else {
999
983
  queue.enqueue(si);
@@ -1048,19 +1032,22 @@
1048
1032
  }());
1049
1033
 
1050
1034
 
1051
- var reNative = RegExp('^' +
1052
- String(toString)
1053
- .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
1054
- .replace(/toString| for [^\]]+/g, '.*?') + '$'
1055
- );
1056
-
1057
- var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
1058
- !reNative.test(setImmediate) && setImmediate,
1059
- clearImmediate = typeof (clearImmediate = freeGlobal && moduleExports && freeGlobal.clearImmediate) == 'function' &&
1060
- !reNative.test(clearImmediate) && clearImmediate;
1061
-
1062
1035
  var scheduleMethod, clearMethod = noop;
1063
1036
  (function () {
1037
+
1038
+ var reNative = RegExp('^' +
1039
+ String(toString)
1040
+ .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
1041
+ .replace(/toString| for [^\]]+/g, '.*?') + '$'
1042
+ );
1043
+
1044
+ var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
1045
+ !reNative.test(setImmediate) && setImmediate,
1046
+ clearImmediate = typeof (clearImmediate = freeGlobal && moduleExports && freeGlobal.clearImmediate) == 'function' &&
1047
+ !reNative.test(clearImmediate) && clearImmediate;
1048
+
1049
+ var BrowserMutationObserver = root.MutationObserver || root.WebKitMutationObserver;
1050
+
1064
1051
  function postMessageSupported () {
1065
1052
  // Ensure not in a worker
1066
1053
  if (!root.postMessage || root.importScripts) { return false; }
@@ -1074,12 +1061,44 @@
1074
1061
  return isAsync;
1075
1062
  }
1076
1063
 
1077
- // Check for setImmediate first for Node v0.11+
1078
- if (typeof setImmediate === 'function') {
1079
- scheduleMethod = setImmediate;
1080
- clearMethod = clearImmediate;
1064
+ // Use in order, MutationObserver, nextTick, setImmediate, postMessage, MessageChannel, script readystatechanged, setTimeout
1065
+ if (!!BrowserMutationObserver) {
1066
+
1067
+ var mutationQueue = {}, mutationId = 0;
1068
+
1069
+ function drainQueue (mutations) {
1070
+ for (var i = 0, len = mutations.length; i < len; i++) {
1071
+ var id = mutations[i].target.getAttribute('drainQueue');
1072
+ mutationQueue[id]();
1073
+ delete mutationQueue[id];
1074
+ }
1075
+ }
1076
+
1077
+ var observer = new BrowserMutationObserver(drainQueue),
1078
+ elem = document.createElement('div');
1079
+ observer.observe(elem, { attributes: true });
1080
+
1081
+ root.addEventListener('unload', function () {
1082
+ observer.disconnect();
1083
+ observer = null;
1084
+ });
1085
+
1086
+ scheduleMethod = function (action) {
1087
+ var id = mutationId++;
1088
+ mutationQueue[id] = action;
1089
+ elem.setAttribute('drainQueue', id);
1090
+ return id;
1091
+ };
1092
+
1093
+ clearMethod = function (id) {
1094
+ delete mutationQueue[id];
1095
+ }
1096
+
1081
1097
  } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
1082
1098
  scheduleMethod = process.nextTick;
1099
+ } else if (typeof setImmediate === 'function') {
1100
+ scheduleMethod = setImmediate;
1101
+ clearMethod = clearImmediate;
1083
1102
  } else if (postMessageSupported()) {
1084
1103
  var MSG_PREFIX = 'ms.rx.schedule' + Math.random(),
1085
1104
  tasks = {},
@@ -2492,7 +2511,7 @@
2492
2511
  * @returns {Observable} An observable sequence containing lists of elements at corresponding indexes.
2493
2512
  */
2494
2513
  Observable.zipArray = function () {
2495
- var sources = slice.call(arguments);
2514
+ var sources = argsOrArray(arguments, 0);
2496
2515
  return new AnonymousObservable(function (observer) {
2497
2516
  var n = sources.length,
2498
2517
  queues = arrayInitialize(n, function () { return []; }),
@@ -3107,37 +3126,36 @@
3107
3126
  * @returns {Function} A function, when executed with the required parameters minus the callback, produces an Observable sequence with a single value of the arguments to the callback as an array.
3108
3127
  */
3109
3128
  Observable.fromCallback = function (func, scheduler, context, selector) {
3110
- scheduler || (scheduler = timeoutScheduler);
3129
+ scheduler || (scheduler = immediateScheduler);
3111
3130
  return function () {
3112
- var args = slice.call(arguments, 0),
3113
- subject = new AsyncSubject();
3131
+ var args = slice.call(arguments, 0);
3114
3132
 
3115
- scheduler.schedule(function () {
3116
- function handler(e) {
3117
- var results = e;
3118
-
3119
- if (selector) {
3120
- try {
3121
- results = selector(arguments);
3122
- } catch (err) {
3123
- subject.onError(err);
3124
- return;
3125
- }
3126
- } else {
3127
- if (results.length === 1) {
3128
- results = results[0];
3133
+ return new AnonymousObservable(function (observer) {
3134
+ return scheduler.schedule(function () {
3135
+ function handler(e) {
3136
+ var results = e;
3137
+
3138
+ if (selector) {
3139
+ try {
3140
+ results = selector(arguments);
3141
+ } catch (err) {
3142
+ observer.onError(err);
3143
+ return;
3144
+ }
3145
+ } else {
3146
+ if (results.length === 1) {
3147
+ results = results[0];
3148
+ }
3129
3149
  }
3130
- }
3131
3150
 
3132
- subject.onNext(results);
3133
- subject.onCompleted();
3134
- }
3151
+ observer.onNext(results);
3152
+ observer.onCompleted();
3153
+ }
3135
3154
 
3136
- args.push(handler);
3137
- func.apply(context, args);
3155
+ args.push(handler);
3156
+ func.apply(context, args);
3157
+ });
3138
3158
  });
3139
-
3140
- return subject.asObservable();
3141
3159
  };
3142
3160
  };
3143
3161
 
@@ -3150,42 +3168,42 @@
3150
3168
  * @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.
3151
3169
  */
3152
3170
  Observable.fromNodeCallback = function (func, scheduler, context, selector) {
3153
- scheduler || (scheduler = timeoutScheduler);
3171
+ scheduler || (scheduler = immediateScheduler);
3154
3172
  return function () {
3155
- var args = slice.call(arguments, 0),
3156
- subject = new AsyncSubject();
3173
+ var args = slice.call(arguments, 0);
3157
3174
 
3158
- scheduler.schedule(function () {
3159
- function handler(err) {
3160
- if (err) {
3161
- subject.onError(err);
3162
- return;
3163
- }
3164
-
3165
- var results = slice.call(arguments, 1);
3175
+ return new AnonymousObservable(function (observer) {
3176
+ return scheduler.schedule(function () {
3166
3177
 
3167
- if (selector) {
3168
- try {
3169
- results = selector(results);
3170
- } catch (e) {
3171
- subject.onError(e);
3178
+ function handler(err) {
3179
+ if (err) {
3180
+ observer.onError(err);
3172
3181
  return;
3173
3182
  }
3174
- } else {
3175
- if (results.length === 1) {
3176
- results = results[0];
3183
+
3184
+ var results = slice.call(arguments, 1);
3185
+
3186
+ if (selector) {
3187
+ try {
3188
+ results = selector(results);
3189
+ } catch (e) {
3190
+ observer.onError(e);
3191
+ return;
3192
+ }
3193
+ } else {
3194
+ if (results.length === 1) {
3195
+ results = results[0];
3196
+ }
3177
3197
  }
3178
- }
3179
3198
 
3180
- subject.onNext(results);
3181
- subject.onCompleted();
3182
- }
3199
+ observer.onNext(results);
3200
+ observer.onCompleted();
3201
+ }
3183
3202
 
3184
- args.push(handler);
3185
- func.apply(context, args);
3203
+ args.push(handler);
3204
+ func.apply(context, args);
3205
+ });
3186
3206
  });
3187
-
3188
- return subject.asObservable();
3189
3207
  };
3190
3208
  };
3191
3209
 
@@ -3288,18 +3306,40 @@
3288
3306
  * @returns {Observable} An Observable sequence which wraps the existing promise success and failure.
3289
3307
  */
3290
3308
  Observable.fromPromise = function (promise) {
3291
- var subject = new AsyncSubject();
3292
-
3293
- promise.then(
3294
- function (value) {
3295
- subject.onNext(value);
3296
- subject.onCompleted();
3297
- },
3298
- function (reason) {
3299
- subject.onError(reason);
3309
+ return new AnonymousObservable(function (observer) {
3310
+ promise.then(
3311
+ function (value) {
3312
+ observer.onNext(value);
3313
+ observer.onCompleted();
3314
+ },
3315
+ function (reason) {
3316
+ observer.onError(reason);
3317
+ });
3318
+ });
3319
+ };
3320
+ /*
3321
+ * Converts an existing observable sequence to an ES6 Compatible Promise
3322
+ * @example
3323
+ * var promise = Rx.Observable.return(42).toPromise(RSVP.Promise);
3324
+ * @param {Function} The constructor of the promise
3325
+ * @returns {Promise} An ES6 compatible promise with the last value from the observable sequence.
3326
+ */
3327
+ observableProto.toPromise = function (promiseCtor) {
3328
+ var source = this;
3329
+ return new promiseCtor(function (resolve, reject) {
3330
+ // No cancellation can be done
3331
+ var value, hasValue = false;
3332
+ source.subscribe(function (v) {
3333
+ value = v;
3334
+ hasValue = true;
3335
+ }, function (err) {
3336
+ reject(err);
3337
+ }, function () {
3338
+ if (hasValue) {
3339
+ resolve(value);
3340
+ }
3300
3341
  });
3301
-
3302
- return subject.asObservable();
3342
+ });
3303
3343
  };
3304
3344
  /**
3305
3345
  * Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each
@@ -3458,7 +3498,7 @@
3458
3498
  };
3459
3499
 
3460
3500
  /** @private */
3461
- var ConnectableObservable = (function (_super) {
3501
+ var ConnectableObservable = Rx.ConnectableObservable = (function (_super) {
3462
3502
  inherits(ConnectableObservable, _super);
3463
3503
 
3464
3504
  /**
@@ -4560,13 +4600,16 @@
4560
4600
 
4561
4601
  function subscribe(observer) {
4562
4602
  checkDisposed.call(this);
4603
+
4563
4604
  if (!this.isStopped) {
4564
4605
  this.observers.push(observer);
4565
4606
  return new InnerSubscription(this, observer);
4566
4607
  }
4567
- var ex = this.exception;
4568
- var hv = this.hasValue;
4569
- var v = this.value;
4608
+
4609
+ var ex = this.exception,
4610
+ hv = this.hasValue,
4611
+ v = this.value;
4612
+
4570
4613
  if (ex) {
4571
4614
  observer.onError(ex);
4572
4615
  } else if (hv) {
@@ -4575,6 +4618,7 @@
4575
4618
  } else {
4576
4619
  observer.onCompleted();
4577
4620
  }
4621
+
4578
4622
  return disposableEmpty;
4579
4623
  }
4580
4624
 
@@ -4587,11 +4631,11 @@
4587
4631
  function AsyncSubject() {
4588
4632
  _super.call(this, subscribe);
4589
4633
 
4590
- this.isDisposed = false,
4591
- this.isStopped = false,
4592
- this.value = null,
4593
- this.hasValue = false,
4594
- this.observers = [],
4634
+ this.isDisposed = false;
4635
+ this.isStopped = false;
4636
+ this.value = null;
4637
+ this.hasValue = false;
4638
+ this.observers = [];
4595
4639
  this.exception = null;
4596
4640
  }
4597
4641
 
@@ -4601,6 +4645,7 @@
4601
4645
  * @returns {Boolean} Indicates whether the subject has observers subscribed to it.
4602
4646
  */
4603
4647
  hasObservers: function () {
4648
+ checkDisposed.call(this);
4604
4649
  return this.observers.length > 0;
4605
4650
  },
4606
4651
  /**
@@ -4610,10 +4655,10 @@
4610
4655
  var o, i, len;
4611
4656
  checkDisposed.call(this);
4612
4657
  if (!this.isStopped) {
4613
- var os = this.observers.slice(0);
4614
4658
  this.isStopped = true;
4615
- var v = this.value;
4616
- var hv = this.hasValue;
4659
+ var os = this.observers.slice(0),
4660
+ v = this.value,
4661
+ hv = this.hasValue;
4617
4662
 
4618
4663
  if (hv) {
4619
4664
  for (i = 0, len = os.length; i < len; i++) {
@@ -1,2 +1,2 @@
1
- (function(a){function b(){}function c(a){return a}function d(a,b){return U(a,b)}function e(a,b){return a-b}function f(a){throw a}function g(){if(this.isDisposed)throw new Error(G)}function h(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function i(a){return a&&"object"==typeof a?Q.call(a)==H:!1}function j(a){return"function"==typeof a}function k(a,b,c,d){var e;if(a===b)return 0!==a||1/a==1/b;var f=typeof a,g=typeof b;if(!(a!==a||a&&v[f]||b&&v[g]))return!1;if(null==a||null==b)return a===b;var l=Q.call(a),m=Q.call(b);if(l==H&&(l=N),m==H&&(m=N),l!=m)return!1;switch(l){case J:case K:return+a==+b;case M:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case O:case P:return a==String(b)}var n=l==I;if(!n){if(l!=N||!B&&(h(a)||h(b)))return!1;var o=!S&&i(a)?Object:a.constructor,p=!S&&i(b)?Object:b.constructor;if(o!=p&&!(j(o)&&o instanceof o&&j(p)&&p instanceof p))return!1}for(var q=c.length;q--;)if(c[q]==a)return d[q]==b;var r=0;if(e=!0,c.push(a),d.push(b),n){for(q=a.length,r=b.length,e=r==a.length;r--;){var s=b[r];if(!(e=k(a[r],s,c,d)))break}return e}for(var t in b)if(R.call(b,t))return r++,e=R.call(a,t)&&k(a[t],b[t],c,d);if(e)for(var t in a)if(R.call(a,t))return e=--r>-1;return c.pop(),d.pop(),e}function l(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:V.call(a)}function m(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function n(a,b){return new Vb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return c.onError(g),void 0}d=new fb,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e})}function o(a,b){var c=this;return new Vb(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return d.onError(i),void 0}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))})}function p(a){return this.select(a).mergeObservable()}function q(a,b,c){return a.addListener?(a.addListener(b,c),cb(function(){a.removeListener(b,c)})):a.addEventListener?(a.addEventListener(b,c,!1),cb(function(){a.removeEventListener(b,c,!1)})):void 0}function r(a,b,c){var d=new _;if(a&&a.length)for(var e=0,f=a.length;f>e;e++)d.add(r(a[e],b,c));else a&&d.add(q(a,b,c));return d}function s(a,b){var c=kb(a);return new Vb(function(a){return b.scheduleWithRelative(c,function(){a.onNext(0),a.onCompleted()})})}function t(a,b,c){return a===b?new Vb(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Ib(function(){return observableTimerDateAndPeriod(c.now()+a,b,c)})}function u(a,b){return new Vb(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new _(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))})}var v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},w=v[typeof window]&&window||this,x=v[typeof exports]&&exports&&!exports.nodeType&&exports,y=v[typeof module]&&module&&!module.nodeType&&module,z=y&&y.exports===x&&x,A=v[typeof global]&&global;!A||A.global!==A&&A.window!==A||(w=A);var B,C={Internals:{}},D=Date.now,E="Sequence contains no elements.",F="Argument out of range",G="Object has been disposed",v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},H="[object Arguments]",I="[object Array]",J="[object Boolean]",K="[object Date]",L="[object Function]",M="[object Number]",N="[object Object]",O="[object RegExp]",P="[object String]",Q=Object.prototype.toString,R=Object.prototype.hasOwnProperty,S=Q.call(arguments)==H;try{B=!(Q.call(document)==N&&!({toString:0}+""))}catch(T){B=!0}S||(i=function(a){return a&&"object"==typeof a?R.call(a,"callee"):!1}),j(/x/)&&(j=function(a){return"function"==typeof a&&Q.call(a)==L});var U=C.Internals.isEqual=function(a,b){return k(a,b,[],[])},V=Array.prototype.slice,W=({}.hasOwnProperty,this.inherits=C.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),X=C.Internals.addProperties=function(a){for(var b=V.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},Y=(C.Internals.addRef=function(a,b){return new Vb(function(c){return new _(b.getDisposable(),a.subscribe(c))})},function(a,b){this.id=a,this.value=b});Y.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Z=C.Internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},$=Z.prototype;$.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},$.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},$.heapify=function(b){if(b===a&&(b=0),!(b>=this.length||0>b)){var c=2*b+1,d=2*b+2,e=b;if(c<this.length&&this.isHigherPriority(c,e)&&(e=c),d<this.length&&this.isHigherPriority(d,e)&&(e=d),e!==b){var f=this.items[b];this.items[b]=this.items[e],this.items[e]=f,this.heapify(e)}}},$.peek=function(){return this.items[0].value},$.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},$.dequeue=function(){var a=this.peek();return this.removeAt(0),a},$.enqueue=function(a){var b=this.length++;this.items[b]=new Y(Z.count++,a),this.percolate(b)},$.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},Z.count=0;var _=C.CompositeDisposable=function(){this.disposables=l(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},ab=_.prototype;ab.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},ab.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},ab.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},ab.clear=function(){var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()},ab.contains=function(a){return-1!==this.disposables.indexOf(a)},ab.toArray=function(){return this.disposables.slice(0)};var bb=C.Disposable=function(a){this.isDisposed=!1,this.action=a||b};bb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var cb=bb.create=function(a){return new bb(a)},db=bb.empty={dispose:b},eb=function(){function a(a){this.isSingle=a,this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){if(this.current&&this.isSingle)throw new Error("Disposable has already been assigned");var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),fb=C.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return W(b,a),b}(eb),gb=C.SerialDisposable=function(a){function b(){a.call(this,!1)}return W(b,a),b}(eb),hb=(C.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?db:new a(this)},b}(),C.Internals.ScheduledItem=function(a,b,c,d,f){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=f||e,this.disposable=new fb});hb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},hb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},hb.prototype.isCancelled=function(){return this.disposable.isDisposed},hb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var ib,jb=C.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){var c=b.first,d=b.second,e=new _,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),db});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new _,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),db});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){return b(),db}var e=a.prototype;return e.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,function(){b()})},e.schedulePeriodicWithState=function(a,b,c){var d=a,e=setInterval(function(){d=c(d)},b);return cb(function(){clearInterval(e)})},e.schedule=function(a){return this._schedule(a,d)},e.scheduleWithState=function(a,b){return this._schedule(a,b)},e.scheduleWithRelative=function(a,b){return this._scheduleRelative(b,a,d)},e.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},e.scheduleWithAbsolute=function(a,b){return this._scheduleAbsolute(b,a,d)},e.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},e.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},e.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},function(a,c){return b(a,c)})},e.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},e.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})},a.now=D,a.normalize=function(a){return 0>a&&(a=0),a},a}(),kb=jb.normalize,lb=jb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=kb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),mb=jb.currentThread=function(){function a(){e=new Z(4)}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f,g=this.now()+kb(c),h=new hb(this,b,d,g);if(e)e.enqueue(h);else{f=new a;try{e.enqueue(h),f.run()}catch(i){throw i}finally{f.dispose()}}return h.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e;a.prototype.dispose=function(){e=null},a.prototype.run=function(){for(var a;e.length>0;)if(a=e.dequeue(),!a.isCancelled()){for(;a.dueTime-jb.now()>0;);a.isCancelled()||a.invoke()}};var f=new jb(D,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),nb=(C.Internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new fb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),RegExp("^"+String(Q).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$")),ob="function"==typeof(ob=A&&z&&A.setImmediate)&&!nb.test(ob)&&ob,pb="function"==typeof(pb=A&&z&&A.clearImmediate)&&!nb.test(pb)&&pb,qb=b;!function(){function a(){if(!w.postMessage||w.importScripts)return!1;var a=!1,b=w.onmessage;return w.onmessage=function(){a=!0},w.postMessage("","*"),w.onmessage=b,a}function b(a){if("string"==typeof a.data&&a.data.substring(0,c.length)===c){var b=a.data.substring(c.length),e=d[b];e(),delete d[b]}}if("function"==typeof ob)ib=ob,qb=pb;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))ib=process.nextTick;else if(a()){var c="ms.rx.schedule"+Math.random(),d={},e=0;w.addEventListener?w.addEventListener("message",b,!1):w.attachEvent("onmessage",b,!1),ib=function(a){var b=e++;d[b]=a,w.postMessage(c+b,"*")}}else if(w.MessageChannel){var f=new w.MessageChannel,g={},h=0;f.port1.onmessage=function(a){var b=a.data,c=g[b];c(),delete g[b]},ib=function(a){var b=h++;g[b]=a,f.port2.postMessage(b)}}else"document"in w&&"onreadystatechange"in w.document.createElement("script")?ib=function(a){var b=w.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},w.document.documentElement.appendChild(b)}:(ib=function(a){return setTimeout(a,0)},qb=clearTimeout)}();var rb=jb.timeout=function(){function a(a,b){var c=this,d=new fb,e=ib(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){qb(e)}))}function b(a,b,c){var d=this,e=jb.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new fb,g=setTimeout(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new _(f,cb(function(){clearTimeout(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),sb=C.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}var b=a.prototype;return b.accept=function(a,b,c){return 1===arguments.length&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},b.toObservable=function(a){var b=this;return a||(a=lb),new Vb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),tb=sb.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 sb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),ub=sb.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 sb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),vb=sb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new sb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),wb=C.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},xb=wb.create=function(a,b){var c=!1;return new wb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},yb=C.Internals.Enumerable=function(a){this.getEnumerator=a};yb.prototype.concat=function(){var a=this;return new Vb(function(b){var c,d=a.getEnumerator(),e=new gb,f=lb.scheduleRecursive(function(a){var f,g;if(!c){try{g=d.moveNext(),g&&(f=d.getCurrent())}catch(h){return b.onError(h),void 0}if(!g)return b.onCompleted(),void 0;var i=new fb;e.setDisposable(i),i.setDisposable(f.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new _(e,f,cb(function(){c=!0}))})},yb.prototype.catchException=function(){var a=this;return new Vb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=lb.scheduleRecursive(function(a){var g,h;if(!c){try{h=e.moveNext(),h&&(g=e.getCurrent())}catch(i){return b.onError(i),void 0}if(!h)return d?b.onError(d):b.onCompleted(),void 0;var j=new fb;f.setDisposable(j),j.setDisposable(g.subscribe(b.onNext.bind(b),function(b){d=b,a()},b.onCompleted.bind(b)))}});return new _(f,g,cb(function(){c=!0}))})};var zb=yb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new yb(function(){var c,d=b;return xb(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},Ab=yb.forEach=function(a,b,d){return b||(b=c),new yb(function(){var c,e=-1;return xb(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},Bb=C.Observer=function(){};Bb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Bb.prototype.asObserver=function(){return new Fb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))};var Cb=Bb.create=function(a,c,d){return a||(a=b),c||(c=f),d||(d=b),new Fb(a,c,d)};Bb.fromNotifier=function(a){return new Fb(function(b){return a(tb(b))},function(b){return a(ub(b))},function(){return a(vb())})};var Db,Eb=C.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return W(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}(Bb),Fb=C.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return W(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}(Eb),Gb=C.Observable=function(){function a(a){this._subscribe=a}return Db=a.prototype,Db.finalValue=function(){var a=this;return new Vb(function(b){var c,d=!1;return a.subscribe(function(a){d=!0,c=a},b.onError.bind(b),function(){d?(b.onNext(c),b.onCompleted()):b.onError(new Error(E))})})},Db.subscribe=Db.forEach=function(a,b,c){var d;return d="object"==typeof a?a:Cb(a,b,c),this._subscribe(d)},Db.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}(),Hb=C.Internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new gb}return W(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return b.isAcquired=!1,void 0;c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Eb);Gb.create=Gb.createWithDisposable=function(a){return new Vb(a)};var Ib=Gb.defer=function(a){return new Vb(function(b){var c;try{c=a()}catch(d){return Nb(d).subscribe(b)}return c.subscribe(b)})},Jb=Gb.empty=function(a){return a||(a=lb),new Vb(function(b){return a.schedule(function(){b.onCompleted()})})},Kb=Gb.fromArray=function(a,b){return b||(b=mb),new Vb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Gb.generate=function(a,b,c,d,e){return e||(e=mb),new Vb(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return f.onError(j),void 0}e?(f.onNext(i),a()):f.onCompleted()})})};var Lb=Gb.never=function(){return new Vb(function(){return db})};Gb.range=function(a,b,c){return c||(c=mb),new Vb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Gb.repeat=function(a,b,c){return c||(c=mb),null==b&&(b=-1),Mb(a,c).repeat(b)};var Mb=Gb["return"]=Gb.returnValue=function(a,b){return b||(b=lb),new Vb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Nb=Gb["throw"]=Gb.throwException=function(a,b){return b||(b=lb),new Vb(function(c){return b.schedule(function(){c.onError(a)})})};Db["catch"]=Db.catchException=function(a){return"function"==typeof a?n(this,a):Ob([this,a])};var Ob=Gb.catchException=Gb["catch"]=function(){var a=l(arguments,0);return Ab(a).catchException()};Db.combineLatest=function(){var a=V.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Pb.apply(this,a)};var Pb=Gb.combineLatest=function(){var a=V.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Vb(function(d){function e(a){var e;if(i[a]=!0,j||(j=i.every(c))){try{e=b.apply(null,l)}catch(f){return d.onError(f),void 0}d.onNext(e)}else k.filter(function(b,c){return c!==a}).every(c)&&d.onCompleted()}function f(a){k[a]=!0,k.every(c)&&d.onCompleted()}for(var g=function(){return!1},h=a.length,i=m(h,g),j=!1,k=m(h,g),l=new Array(h),n=new Array(h),o=0;h>o;o++)!function(b){n[b]=new fb,n[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(n)})};Db.concat=function(){var a=V.call(arguments,0);return a.unshift(this),Qb.apply(this,a)};var Qb=Gb.concat=function(){var a=l(arguments,0);return Ab(a).concat()};Db.concatObservable=Db.concatAll=function(){return this.merge(1)},Db.merge=function(a){if("number"!=typeof a)return Rb(this,a);var b=this;return new Vb(function(c){var d=0,e=new _,f=!1,g=[],h=function(a){var b=new fb;e.add(b),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){var a;e.remove(b),g.length>0?(a=g.shift(),h(a)):(d--,f&&0===d&&c.onCompleted())}))};return e.add(b.subscribe(function(b){a>d?(d++,h(b)):g.push(b)},c.onError.bind(c),function(){f=!0,0===d&&c.onCompleted()})),e})};var Rb=Gb.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=V.call(arguments,1)):(a=lb,b=V.call(arguments,0)):(a=lb,b=V.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Kb(b,a).mergeObservable()};Db.mergeObservable=Db.mergeAll=function(){var a=this;return new Vb(function(b){var c=new _,d=!1,e=new fb;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new fb;c.add(e),e.setDisposable(a.subscribe(function(a){b.onNext(a)},b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c})},Db.skipUntil=function(a){var b=this;return new Vb(function(c){var d=!1,e=new _(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()})),f=new fb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e})},Db["switch"]=Db.switchLatest=function(){var a=this;return new Vb(function(b){var c=!1,d=new gb,e=!1,f=0,g=a.subscribe(function(a){var g=new fb,h=++f;c=!0,d.setDisposable(g),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,c||b.onCompleted()});return new _(g,d)})},Db.takeUntil=function(a){var c=this;return new Vb(function(d){return new _(c.subscribe(d),a.subscribe(d.onCompleted.bind(d),d.onError.bind(d),b))})},Db.zip=function(){if(Array.isArray(arguments[0]))return o.apply(this,arguments);var a=this,b=V.call(arguments),d=b.pop();return b.unshift(a),new Vb(function(e){function f(a){i[a]=!0,i.every(function(a){return a})&&e.onCompleted()}for(var g=b.length,h=m(g,function(){return[]}),i=m(g,function(){return!1}),j=function(b){var f,g;if(h.every(function(a){return a.length>0})){try{g=h.map(function(a){return a.shift()}),f=d.apply(a,g)}catch(j){return e.onError(j),void 0}e.onNext(f)}else i.filter(function(a,c){return c!==b}).every(c)&&e.onCompleted()},k=new Array(g),l=0;g>l;l++)!function(a){k[a]=new fb,k[a].setDisposable(b[a].subscribe(function(b){h[a].push(b),j(a)},e.onError.bind(e),function(){f(a)}))}(l);return new _(k)})},Gb.zip=function(){var a=V.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Gb.zipArray=function(){var a=V.call(arguments);return new Vb(function(b){function d(a){if(g.every(function(a){return a.length>0})){var d=g.map(function(a){return a.shift()});b.onNext(d)}else if(h.filter(function(b,c){return c!==a}).every(c))return b.onCompleted(),void 0}function e(a){return h[a]=!0,h.every(c)?(b.onCompleted(),void 0):void 0}for(var f=a.length,g=m(f,function(){return[]}),h=m(f,function(){return!1}),i=new Array(f),j=0;f>j;j++)!function(c){i[c]=new fb,i[c].setDisposable(a[c].subscribe(function(a){g[c].push(a),d(c)},b.onError.bind(b),function(){e(c)}))}(j);var k=new _(i);return k.add(cb(function(){for(var a=0,b=g.length;b>a;a++)g[a]=[]})),k})},Db.asObservable=function(){var a=this;return new Vb(function(b){return a.subscribe(b)})},Db.dematerialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Db.distinctUntilChanged=function(a,b){var e=this;return a||(a=c),b||(b=d),new Vb(function(c){var d,f=!1;return e.subscribe(function(e){var g,h=!1;try{g=a(e)}catch(i){return c.onError(i),void 0}if(f)try{h=b(d,g)}catch(i){return c.onError(i),void 0}f&&h||(f=!0,d=g,c.onNext(e))},c.onError.bind(c),c.onCompleted.bind(c))})},Db["do"]=Db.doAction=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Vb(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b){try{b(c)}catch(d){a.onError(d)}a.onError(c)}else a.onError(c)},function(){if(c){try{c()}catch(b){a.onError(b)}a.onCompleted()}else a.onCompleted()})})},Db["finally"]=Db.finallyAction=function(a){var b=this;return new Vb(function(c){var d=b.subscribe(c);return cb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Db.ignoreElements=function(){var a=this;return new Vb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Db.materialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){b.onNext(tb(a))},function(a){b.onNext(ub(a)),b.onCompleted()},function(){b.onNext(vb()),b.onCompleted()})})},Db.repeat=function(a){return zb(this,a).concat()},Db.retry=function(a){return zb(this,a).catchException()},Db.scan=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,a=arguments[0],b=arguments[1]):b=arguments[0],new Vb(function(e){var f,g,h;return d.subscribe(function(d){try{h||(h=!0),f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return e.onError(i),void 0}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})})},Db.skipLast=function(a){var b=this;return new Vb(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))})},Db.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=lb,a=V.call(arguments,c),Ab([Kb(a,b),this]).concat()},Db.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Kb(a,b)})},Db.takeLastBuffer=function(a){var b=this;return new Vb(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){c.onNext(d),c.onCompleted()})})},Db.select=Db.map=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Db.selectMany=Db.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?p.call(this,a):p.call(this,function(){return a})},Db.selectSwitch=Db.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Db.skip=function(a){if(0>a)throw new Error(F);var b=this;return new Vb(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Db.skipWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Db.take=function(a,b){if(0>a)throw new Error(F);if(0===a)return Jb(b);var c=this;return new Vb(function(b){var d=a;return c.subscribe(function(a){d>0&&(d--,b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))})},Db.takeWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))})},Db.where=Db.filter=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))})},Gb.fromCallback=function(a,b,c,d){return b||(b=rb),function(){var e=V.call(arguments,0),f=new Zb;return b.schedule(function(){function b(a){var b=a;if(d)try{b=d(arguments)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)}),f.asObservable()}},Gb.fromNodeCallback=function(a,b,c,d){return b||(b=rb),function(){var e=V.call(arguments,0),f=new Zb;return b.schedule(function(){function b(a){if(a)return f.onError(a),void 0;var b=V.call(arguments,1);if(d)try{b=d(b)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)}),f.asObservable()}},Gb.fromEvent=function(a,b,c){return new Vb(function(d){return r(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)})}).publish().refCount()},Gb.fromEventPattern=function(a,b,c){return new Vb(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)}var f=a(e);return cb(function(){b&&b(e,f)})}).publish().refCount()},Gb.fromPromise=function(a){var b=new Zb;return a.then(function(a){b.onNext(a),b.onCompleted()},function(a){b.onError(a)}),b.asObservable()},Db.multicast=function(a,b){var c=this;return"function"==typeof a?new Vb(function(d){var e=c.multicast(a());return new _(b(e).subscribe(d),e.connect())}):new Sb(c,a)},Db.publish=function(a){return a?this.multicast(function(){return new Yb},a):this.multicast(new Yb)},Db.share=function(){return this.publish(null).refCount()},Db.publishLast=function(a){return a?this.multicast(function(){return new Zb},a):this.multicast(new Zb)},Db.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new _b(b)},a):this.multicast(new _b(a))},Db.shareValue=function(a){return this.publishValue(a).refCount()},Db.replay=function(a,b,c,d){return a?this.multicast(function(){return new ac(b,c,d)},a):this.multicast(new ac(b,c,d))},Db.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Sb=function(a){function b(b,c){function d(a){return e.subject.subscribe(a)}var e={subject:c,source:b.asObservable(),hasSubscription:!1,subscription:null};this.connect=function(){return e.hasSubscription||(e.hasSubscription=!0,e.subscription=new _(e.source.subscribe(e.subject),cb(function(){e.hasSubscription=!1}))),e.subscription},a.call(this,d)}return W(b,a),b.prototype.connect=function(){return this.connect()},b.prototype.refCount=function(){var a=null,b=0,c=this;return new Vb(function(d){var e,f;return b++,e=1===b,f=c.subscribe(d),e&&(a=c.connect()),cb(function(){f.dispose(),b--,0===b&&a.dispose()})})},b}(Gb),Tb=Gb.interval=function(a,b){return b||(b=rb),t(a,a,b)},Ub=Gb.timer=function(b,c,d){var e;
2
- return d||(d=rb),"number"==typeof c?e=c:"object"==typeof c&&"now"in c&&(d=c),e===a?s(b,d):t(b,e,d)};Db.delay=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){var e,f=!1,g=new gb,h=null,i=[],j=!1;return e=c.materialize().timestamp(b).subscribe(function(c){var e,k;"E"===c.value.kind?(i=[],i.push(c),h=c.value.exception,k=!j):(i.push({value:c.value,timestamp:c.timestamp+a}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new fb,g.setDisposable(e),e.setDisposable(b.scheduleRecursiveWithRelative(a,function(a){var c,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-b.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-b.now())):f=!1,c=h,j=!1,null!==c?d.onError(c):k&&a(e)}}))))}),new _(e,g)})},Db.throttle=function(a,b){b||(b=rb);return this.throttleWithSelector(function(){return Ub(a,b)})},Db.timeInterval=function(a){var b=this;return a||(a=rb),Ib(function(){var c=a.now();return b.select(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Db.timestamp=function(a){return a||(a=rb),this.select(function(b){return{value:b,timestamp:a.now()}})},Db.sample=function(a,b){return b||(b=rb),"number"==typeof a?u(this,Tb(a,b)):u(this,a)},Db.timeout=function(a,b,c){var d,e=this;return b||(b=Nb(new Error("Timeout"))),c||(c=rb),d=a instanceof Date?function(a,b){c.scheduleWithAbsolute(a,b)}:function(a,b){c.scheduleWithRelative(a,b)},new Vb(function(c){var f,g=0,h=new fb,i=new gb,j=!1,k=new gb;return i.setDisposable(h),f=function(){var e=g;k.setDisposable(d(a,function(){j=g===e;var a=j;a&&i.setDisposable(b.subscribe(c))}))},f(),h.setDisposable(e.subscribe(function(a){var b=!j;b&&(g++,c.onNext(a),f())},function(a){var b=!j;b&&(g++,c.onError(a))},function(){var a=!j;a&&(g++,c.onCompleted())})),new _(i,k)})},Gb.generateWithTime=function(a,b,c,d,e,f){return f||(f=rb),new Vb(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 g.onError(f),void 0}k?a(i):g.onCompleted()})})},Db.delaySubscription=function(a,b){return b||(b=rb),this.delayWithSelector(Ub(a,b),function(){return Jb()})},Db.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Vb(function(a){var b=new _,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new gb,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return a.onError(f),void 0}var h=new fb;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(function(){i()},a.onError.bind(a),function(){i()})):i(),new _(h,b)})},Db.timeoutWithSelector=function(a,b,c){if(1===arguments.length){b=a;var a=Lb()}c||(c=Nb(new Error("Timeout")));var d=this;return new Vb(function(e){var f=new gb,g=new gb,h=new fb;f.setDisposable(h);var i=0,j=!1,k=function(a){var b=i,d=function(){return i===b},h=new fb;g.setDisposable(h),h.setDisposable(a.subscribe(function(){d()&&f.setDisposable(c.subscribe(e)),h.dispose()},function(a){d()&&e.onError(a)},function(){d()&&f.setDisposable(c.subscribe(e))}))};k(a);var l=function(){var a=!j;return a&&i++,a};return h.setDisposable(d.subscribe(function(a){if(l()){e.onNext(a);var c;try{c=b(a)}catch(d){return e.onError(d),void 0}k(c)}},function(a){l()&&e.onError(a)},function(){l()&&e.onCompleted()})),new _(f,g)})},Db.throttleWithSelector=function(a){var b=this;return new Vb(function(c){var d,e=!1,f=new gb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return c.onError(i),void 0}e=!0,d=b,g++;var j=g,k=new fb;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 _(h,f)})},Db.skipLastWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(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()})})},Db.takeLastWithTime=function(a,b,c){return this.takeLastBufferWithTime(a,b).selectMany(function(a){return Kb(a,c)})},Db.takeLastBufferWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(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()})})},Db.takeWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(function(d){var e=b.scheduleWithRelative(a,function(){d.onCompleted()});return new _(e,c.subscribe(d))})},Db.skipWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(function(d){var e=!1,f=b.scheduleWithRelative(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Db.skipUntilWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){var e=!1,f=b.scheduleWithAbsolute(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Db.takeUntilWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){return new _(b.scheduleWithAbsolute(a,function(){d.onCompleted()}),c.subscribe(d))})};var Vb=C.Internals.AnonymousObservable=function(a){function b(a){return"undefined"==typeof a?a=db:"function"==typeof a&&(a=cb(a)),a}function c(d){function e(a){var c=new Wb(a);if(mb.scheduleRequired())mb.schedule(function(){try{c.setDisposable(b(d(c)))}catch(a){if(!c.fail(a))throw a}});else try{c.setDisposable(b(d(c)))}catch(e){if(!c.fail(e))throw e}return c}return this instanceof c?(a.call(this,e),void 0):new c(d)}return W(c,a),c}(Gb),Wb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}W(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{b||this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.disposable=function(a){return arguments.length?this.getDisposable():setDisposable(a)},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Eb),Xb=function(a,b){this.subject=a,this.observer=b};Xb.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 Yb=C.Subject=function(a){function b(a){return g.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Xb(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(g.call(this),!this.isStopped)for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),c.create=function(a,b){return new $b(a,b)},c}(Gb),Zb=C.AsyncSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),new Xb(this,a);var b=this.exception,c=this.hasValue,d=this.value;return b?a.onError(b):c?(a.onNext(d),a.onCompleted()):a.onCompleted(),db}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){var a,b,c;if(g.call(this),!this.isStopped){var d=this.observers.slice(0);this.isStopped=!0;var e=this.value,f=this.hasValue;if(f)for(b=0,c=d.length;c>b;b++)a=d[b],a.onNext(e),a.onCompleted();else for(b=0,c=d.length;c>b;b++)d[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){g.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),c}(Gb),$b=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){a.call(this,b),this.observer=c,this.observable=d}return W(c,a),X(c.prototype,Bb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Gb),_b=C.BehaviorSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Xb(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),db}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(g.call(this),!this.isStopped){this.value=a;for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(Gb),ac=C.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new Hb(this.scheduler,a),d=new b(this,c);g.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var e=this.q.length,f=0,h=this.q.length;h>f;f++)c.onNext(this.q[f].value);return this.hasError?(e++,c.onError(this.error)):this.isStopped&&(e++,c.onCompleted()),c.ensureActive(e),d}function d(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||mb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},W(d,a),X(d.prototype,Bb,{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){var b;if(g.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++)b=d[e],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(g.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++)b=d[e],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(g.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)a=c[d],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Gb);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(w.Rx=C,define(function(){return C})):x&&y?z?(y.exports=C).Rx=C:x.Rx=C:w.Rx=C}).call(this);
1
+ (function(a){function b(){}function c(a){return a}function d(a,b){return U(a,b)}function e(a,b){return a-b}function f(a){throw a}function g(){if(this.isDisposed)throw new Error(G)}function h(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function i(a){return a&&"object"==typeof a?Q.call(a)==H:!1}function j(a){return"function"==typeof a}function k(a,b,c,d){var e;if(a===b)return 0!==a||1/a==1/b;var f=typeof a,g=typeof b;if(!(a!==a||a&&v[f]||b&&v[g]))return!1;if(null==a||null==b)return a===b;var l=Q.call(a),m=Q.call(b);if(l==H&&(l=N),m==H&&(m=N),l!=m)return!1;switch(l){case J:case K:return+a==+b;case M:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case O:case P:return a==String(b)}var n=l==I;if(!n){if(l!=N||!B&&(h(a)||h(b)))return!1;var o=!S&&i(a)?Object:a.constructor,p=!S&&i(b)?Object:b.constructor;if(o!=p&&!(j(o)&&o instanceof o&&j(p)&&p instanceof p))return!1}for(var q=c.length;q--;)if(c[q]==a)return d[q]==b;var r=0;if(e=!0,c.push(a),d.push(b),n){for(q=a.length,r=b.length,e=r==a.length;r--;){var s=b[r];if(!(e=k(a[r],s,c,d)))break}return e}for(var t in b)if(R.call(b,t))return r++,e=R.call(a,t)&&k(a[t],b[t],c,d);if(e)for(var t in a)if(R.call(a,t))return e=--r>-1;return c.pop(),d.pop(),e}function l(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:V.call(a)}function m(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function n(a,b){return new Sb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return c.onError(g),void 0}d=new fb,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e})}function o(a,b){var c=this;return new Sb(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return d.onError(i),void 0}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))})}function p(a){return this.select(a).mergeObservable()}function q(a,b,c){return a.addListener?(a.addListener(b,c),cb(function(){a.removeListener(b,c)})):a.addEventListener?(a.addEventListener(b,c,!1),cb(function(){a.removeEventListener(b,c,!1)})):void 0}function r(a,b,c){var d=new _;if(a&&a.length)for(var e=0,f=a.length;f>e;e++)d.add(r(a[e],b,c));else a&&d.add(q(a,b,c));return d}function s(a,b){var c=kb(a);return new Sb(function(a){return b.scheduleWithRelative(c,function(){a.onNext(0),a.onCompleted()})})}function t(a,b,c){return a===b?new Sb(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Fb(function(){return observableTimerDateAndPeriod(c.now()+a,b,c)})}function u(a,b){return new Sb(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new _(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))})}var v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},w=v[typeof window]&&window||this,x=v[typeof exports]&&exports&&!exports.nodeType&&exports,y=v[typeof module]&&module&&!module.nodeType&&module,z=y&&y.exports===x&&x,A=v[typeof global]&&global;!A||A.global!==A&&A.window!==A||(w=A);var B,C={Internals:{}},D=Date.now,E="Sequence contains no elements.",F="Argument out of range",G="Object has been disposed",H="[object Arguments]",I="[object Array]",J="[object Boolean]",K="[object Date]",L="[object Function]",M="[object Number]",N="[object Object]",O="[object RegExp]",P="[object String]",Q=Object.prototype.toString,R=Object.prototype.hasOwnProperty,S=Q.call(arguments)==H;try{B=!(Q.call(document)==N&&!({toString:0}+""))}catch(T){B=!0}S||(i=function(a){return a&&"object"==typeof a?R.call(a,"callee"):!1}),j(/x/)&&(j=function(a){return"function"==typeof a&&Q.call(a)==L});var U=C.Internals.isEqual=function(a,b){return k(a,b,[],[])},V=Array.prototype.slice,W=({}.hasOwnProperty,this.inherits=C.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),X=C.Internals.addProperties=function(a){for(var b=V.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},Y=(C.Internals.addRef=function(a,b){return new Sb(function(c){return new _(b.getDisposable(),a.subscribe(c))})},function(a,b){this.id=a,this.value=b});Y.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Z=C.Internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},$=Z.prototype;$.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},$.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},$.heapify=function(b){if(b===a&&(b=0),!(b>=this.length||0>b)){var c=2*b+1,d=2*b+2,e=b;if(c<this.length&&this.isHigherPriority(c,e)&&(e=c),d<this.length&&this.isHigherPriority(d,e)&&(e=d),e!==b){var f=this.items[b];this.items[b]=this.items[e],this.items[e]=f,this.heapify(e)}}},$.peek=function(){return this.items[0].value},$.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},$.dequeue=function(){var a=this.peek();return this.removeAt(0),a},$.enqueue=function(a){var b=this.length++;this.items[b]=new Y(Z.count++,a),this.percolate(b)},$.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},Z.count=0;var _=C.CompositeDisposable=function(){this.disposables=l(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},ab=_.prototype;ab.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},ab.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},ab.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},ab.clear=function(){var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()},ab.contains=function(a){return-1!==this.disposables.indexOf(a)},ab.toArray=function(){return this.disposables.slice(0)};var bb=C.Disposable=function(a){this.isDisposed=!1,this.action=a||b};bb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var cb=bb.create=function(a){return new bb(a)},db=bb.empty={dispose:b},eb=function(){function a(a){this.isSingle=a,this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){if(this.current&&this.isSingle)throw new Error("Disposable has already been assigned");var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),fb=C.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return W(b,a),b}(eb),gb=C.SerialDisposable=function(a){function b(){a.call(this,!1)}return W(b,a),b}(eb),hb=(C.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?db:new a(this)},b}(),C.Internals.ScheduledItem=function(a,b,c,d,f){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=f||e,this.disposable=new fb});hb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},hb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},hb.prototype.isCancelled=function(){return this.disposable.isDisposed},hb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var ib,jb=C.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){var c=b.first,d=b.second,e=new _,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),db});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new _,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),db});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){return b(),db}var e=a.prototype;return e.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,function(){b()})},e.schedulePeriodicWithState=function(a,b,c){var d=a,e=setInterval(function(){d=c(d)},b);return cb(function(){clearInterval(e)})},e.schedule=function(a){return this._schedule(a,d)},e.scheduleWithState=function(a,b){return this._schedule(a,b)},e.scheduleWithRelative=function(a,b){return this._scheduleRelative(b,a,d)},e.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},e.scheduleWithAbsolute=function(a,b){return this._scheduleAbsolute(b,a,d)},e.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},e.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},e.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},function(a,c){return b(a,c)})},e.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},e.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})},a.now=D,a.normalize=function(a){return 0>a&&(a=0),a},a}(),kb=jb.normalize,lb=jb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=kb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),mb=jb.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-jb.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()+jb.normalize(c),g=new hb(this,b,d,f);if(e)e.enqueue(g);else{e=new Z(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 jb(D,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),nb=(C.Internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new fb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),b);!function(){function a(){if(!w.postMessage||w.importScripts)return!1;var a=!1,b=w.onmessage;return w.onmessage=function(){a=!0},w.postMessage("","*"),w.onmessage=b,a}function b(a){for(var b=0,c=a.length;c>b;b++){var d=a[b].target.getAttribute("drainQueue");h[d](),delete h[d]}}function c(a){if("string"==typeof a.data&&a.data.substring(0,l.length)===l){var b=a.data.substring(l.length),c=m[b];c(),delete m[b]}}var d=RegExp("^"+String(Q).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),e="function"==typeof(e=A&&z&&A.setImmediate)&&!d.test(e)&&e,f="function"==typeof(f=A&&z&&A.clearImmediate)&&!d.test(f)&&f,g=w.MutationObserver||w.WebKitMutationObserver;if(g){var h={},i=0,j=new g(b),k=document.createElement("div");j.observe(k,{attributes:!0}),w.addEventListener("unload",function(){j.disconnect(),j=null}),ib=function(a){var b=i++;return h[b]=a,k.setAttribute("drainQueue",b),b},nb=function(a){delete h[a]}}else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))ib=process.nextTick;else if("function"==typeof e)ib=e,nb=f;else if(a()){var l="ms.rx.schedule"+Math.random(),m={},n=0;w.addEventListener?w.addEventListener("message",c,!1):w.attachEvent("onmessage",c,!1),ib=function(a){var b=n++;m[b]=a,w.postMessage(l+b,"*")}}else if(w.MessageChannel){var o=new w.MessageChannel,p={},q=0;o.port1.onmessage=function(a){var b=a.data,c=p[b];c(),delete p[b]},ib=function(a){var b=q++;p[b]=a,o.port2.postMessage(b)}}else"document"in w&&"onreadystatechange"in w.document.createElement("script")?ib=function(a){var b=w.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},w.document.documentElement.appendChild(b)}:(ib=function(a){return setTimeout(a,0)},nb=clearTimeout)}();var ob=jb.timeout=function(){function a(a,b){var c=this,d=new fb,e=ib(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){nb(e)}))}function b(a,b,c){var d=this,e=jb.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new fb,g=setTimeout(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new _(f,cb(function(){clearTimeout(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),pb=C.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}var b=a.prototype;return b.accept=function(a,b,c){return 1===arguments.length&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},b.toObservable=function(a){var b=this;return a||(a=lb),new Sb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),qb=pb.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 pb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),rb=pb.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 pb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),sb=pb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new pb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),tb=C.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},ub=tb.create=function(a,b){var c=!1;return new tb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},vb=C.Internals.Enumerable=function(a){this.getEnumerator=a};vb.prototype.concat=function(){var a=this;return new Sb(function(b){var c,d=a.getEnumerator(),e=new gb,f=lb.scheduleRecursive(function(a){var f,g;if(!c){try{g=d.moveNext(),g&&(f=d.getCurrent())}catch(h){return b.onError(h),void 0}if(!g)return b.onCompleted(),void 0;var i=new fb;e.setDisposable(i),i.setDisposable(f.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new _(e,f,cb(function(){c=!0}))})},vb.prototype.catchException=function(){var a=this;return new Sb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=lb.scheduleRecursive(function(a){var g,h;if(!c){try{h=e.moveNext(),h&&(g=e.getCurrent())}catch(i){return b.onError(i),void 0}if(!h)return d?b.onError(d):b.onCompleted(),void 0;var j=new fb;f.setDisposable(j),j.setDisposable(g.subscribe(b.onNext.bind(b),function(b){d=b,a()},b.onCompleted.bind(b)))}});return new _(f,g,cb(function(){c=!0}))})};var wb=vb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new vb(function(){var c,d=b;return ub(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},xb=vb.forEach=function(a,b,d){return b||(b=c),new vb(function(){var c,e=-1;return ub(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},yb=C.Observer=function(){};yb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},yb.prototype.asObserver=function(){return new Cb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))};var zb=yb.create=function(a,c,d){return a||(a=b),c||(c=f),d||(d=b),new Cb(a,c,d)};yb.fromNotifier=function(a){return new Cb(function(b){return a(qb(b))},function(b){return a(rb(b))},function(){return a(sb())})};var Ab,Bb=C.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return W(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}(yb),Cb=C.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return W(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}(Bb),Db=C.Observable=function(){function a(a){this._subscribe=a}return Ab=a.prototype,Ab.finalValue=function(){var a=this;return new Sb(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(E))})})},Ab.subscribe=Ab.forEach=function(a,b,c){var d;return d="object"==typeof a?a:zb(a,b,c),this._subscribe(d)},Ab.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}(),Eb=C.Internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new gb}return W(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return b.isAcquired=!1,void 0;c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Bb);Db.create=Db.createWithDisposable=function(a){return new Sb(a)};var Fb=Db.defer=function(a){return new Sb(function(b){var c;try{c=a()}catch(d){return Kb(d).subscribe(b)}return c.subscribe(b)})},Gb=Db.empty=function(a){return a||(a=lb),new Sb(function(b){return a.schedule(function(){b.onCompleted()})})},Hb=Db.fromArray=function(a,b){return b||(b=mb),new Sb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Db.generate=function(a,b,c,d,e){return e||(e=mb),new Sb(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return f.onError(j),void 0}e?(f.onNext(i),a()):f.onCompleted()})})};var Ib=Db.never=function(){return new Sb(function(){return db})};Db.range=function(a,b,c){return c||(c=mb),new Sb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Db.repeat=function(a,b,c){return c||(c=mb),null==b&&(b=-1),Jb(a,c).repeat(b)};var Jb=Db["return"]=Db.returnValue=function(a,b){return b||(b=lb),new Sb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Kb=Db["throw"]=Db.throwException=function(a,b){return b||(b=lb),new Sb(function(c){return b.schedule(function(){c.onError(a)})})};Ab["catch"]=Ab.catchException=function(a){return"function"==typeof a?n(this,a):Lb([this,a])};var Lb=Db.catchException=Db["catch"]=function(){var a=l(arguments,0);return xb(a).catchException()};Ab.combineLatest=function(){var a=V.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Mb.apply(this,a)};var Mb=Db.combineLatest=function(){var a=V.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Sb(function(d){function e(a){var e;if(i[a]=!0,j||(j=i.every(c))){try{e=b.apply(null,l)}catch(f){return d.onError(f),void 0}d.onNext(e)}else k.filter(function(b,c){return c!==a}).every(c)&&d.onCompleted()}function f(a){k[a]=!0,k.every(c)&&d.onCompleted()}for(var g=function(){return!1},h=a.length,i=m(h,g),j=!1,k=m(h,g),l=new Array(h),n=new Array(h),o=0;h>o;o++)!function(b){n[b]=new fb,n[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(n)})};Ab.concat=function(){var a=V.call(arguments,0);return a.unshift(this),Nb.apply(this,a)};var Nb=Db.concat=function(){var a=l(arguments,0);return xb(a).concat()};Ab.concatObservable=Ab.concatAll=function(){return this.merge(1)},Ab.merge=function(a){if("number"!=typeof a)return Ob(this,a);var b=this;return new Sb(function(c){var d=0,e=new _,f=!1,g=[],h=function(a){var b=new fb;e.add(b),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){var a;e.remove(b),g.length>0?(a=g.shift(),h(a)):(d--,f&&0===d&&c.onCompleted())}))};return e.add(b.subscribe(function(b){a>d?(d++,h(b)):g.push(b)},c.onError.bind(c),function(){f=!0,0===d&&c.onCompleted()})),e})};var Ob=Db.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=V.call(arguments,1)):(a=lb,b=V.call(arguments,0)):(a=lb,b=V.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Hb(b,a).mergeObservable()};Ab.mergeObservable=Ab.mergeAll=function(){var a=this;return new Sb(function(b){var c=new _,d=!1,e=new fb;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new fb;c.add(e),e.setDisposable(a.subscribe(function(a){b.onNext(a)},b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c})},Ab.skipUntil=function(a){var b=this;return new Sb(function(c){var d=!1,e=new _(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()})),f=new fb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e})},Ab["switch"]=Ab.switchLatest=function(){var a=this;return new Sb(function(b){var c=!1,d=new gb,e=!1,f=0,g=a.subscribe(function(a){var g=new fb,h=++f;c=!0,d.setDisposable(g),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,c||b.onCompleted()});return new _(g,d)})},Ab.takeUntil=function(a){var c=this;return new Sb(function(d){return new _(c.subscribe(d),a.subscribe(d.onCompleted.bind(d),d.onError.bind(d),b))})},Ab.zip=function(){if(Array.isArray(arguments[0]))return o.apply(this,arguments);var a=this,b=V.call(arguments),d=b.pop();return b.unshift(a),new Sb(function(e){function f(a){i[a]=!0,i.every(function(a){return a})&&e.onCompleted()}for(var g=b.length,h=m(g,function(){return[]}),i=m(g,function(){return!1}),j=function(b){var f,g;if(h.every(function(a){return a.length>0})){try{g=h.map(function(a){return a.shift()}),f=d.apply(a,g)}catch(j){return e.onError(j),void 0}e.onNext(f)}else i.filter(function(a,c){return c!==b}).every(c)&&e.onCompleted()},k=new Array(g),l=0;g>l;l++)!function(a){k[a]=new fb,k[a].setDisposable(b[a].subscribe(function(b){h[a].push(b),j(a)},e.onError.bind(e),function(){f(a)}))}(l);return new _(k)})},Db.zip=function(){var a=V.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Db.zipArray=function(){var a=l(arguments,0);return new Sb(function(b){function d(a){if(g.every(function(a){return a.length>0})){var d=g.map(function(a){return a.shift()});b.onNext(d)}else if(h.filter(function(b,c){return c!==a}).every(c))return b.onCompleted(),void 0}function e(a){return h[a]=!0,h.every(c)?(b.onCompleted(),void 0):void 0}for(var f=a.length,g=m(f,function(){return[]}),h=m(f,function(){return!1}),i=new Array(f),j=0;f>j;j++)!function(c){i[c]=new fb,i[c].setDisposable(a[c].subscribe(function(a){g[c].push(a),d(c)},b.onError.bind(b),function(){e(c)}))}(j);var k=new _(i);return k.add(cb(function(){for(var a=0,b=g.length;b>a;a++)g[a]=[]})),k})},Ab.asObservable=function(){var a=this;return new Sb(function(b){return a.subscribe(b)})},Ab.dematerialize=function(){var a=this;return new Sb(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Ab.distinctUntilChanged=function(a,b){var e=this;return a||(a=c),b||(b=d),new Sb(function(c){var d,f=!1;return e.subscribe(function(e){var g,h=!1;try{g=a(e)}catch(i){return c.onError(i),void 0}if(f)try{h=b(d,g)}catch(i){return c.onError(i),void 0}f&&h||(f=!0,d=g,c.onNext(e))},c.onError.bind(c),c.onCompleted.bind(c))})},Ab["do"]=Ab.doAction=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Sb(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b){try{b(c)}catch(d){a.onError(d)}a.onError(c)}else a.onError(c)},function(){if(c){try{c()}catch(b){a.onError(b)}a.onCompleted()}else a.onCompleted()})})},Ab["finally"]=Ab.finallyAction=function(a){var b=this;return new Sb(function(c){var d=b.subscribe(c);return cb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Ab.ignoreElements=function(){var a=this;return new Sb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Ab.materialize=function(){var a=this;return new Sb(function(b){return a.subscribe(function(a){b.onNext(qb(a))},function(a){b.onNext(rb(a)),b.onCompleted()},function(){b.onNext(sb()),b.onCompleted()})})},Ab.repeat=function(a){return wb(this,a).concat()},Ab.retry=function(a){return wb(this,a).catchException()},Ab.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 Sb(function(e){var f,g,h;return d.subscribe(function(d){try{h||(h=!0),f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return e.onError(i),void 0}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})})},Ab.skipLast=function(a){var b=this;return new Sb(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))})},Ab.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=lb,a=V.call(arguments,c),xb([Hb(a,b),this]).concat()},Ab.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Hb(a,b)})},Ab.takeLastBuffer=function(a){var b=this;return new Sb(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()})})},Ab.select=Ab.map=function(a,b){var c=this;return new Sb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Ab.selectMany=Ab.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?p.call(this,a):p.call(this,function(){return a})},Ab.selectSwitch=Ab.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Ab.skip=function(a){if(0>a)throw new Error(F);var b=this;return new Sb(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Ab.skipWhile=function(a,b){var c=this;return new Sb(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Ab.take=function(a,b){if(0>a)throw new Error(F);if(0===a)return Gb(b);var c=this;return new Sb(function(b){var d=a;return c.subscribe(function(a){d>0&&(d--,b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))})},Ab.takeWhile=function(a,b){var c=this;return new Sb(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))})},Ab.where=Ab.filter=function(a,b){var c=this;return new Sb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))})},Db.fromCallback=function(a,b,c,d){return b||(b=lb),function(){var e=V.call(arguments,0);return new Sb(function(f){return b.schedule(function(){function b(a){var b=a;if(d)try{b=d(arguments)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}},Db.fromNodeCallback=function(a,b,c,d){return b||(b=lb),function(){var e=V.call(arguments,0);return new Sb(function(f){return b.schedule(function(){function b(a){if(a)return f.onError(a),void 0;var b=V.call(arguments,1);if(d)try{b=d(b)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}},Db.fromEvent=function(a,b,c){return new Sb(function(d){return r(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)})}).publish().refCount()},Db.fromEventPattern=function(a,b,c){return new Sb(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)}var f=a(e);return cb(function(){b&&b(e,f)})}).publish().refCount()},Db.fromPromise=function(a){return new Sb(function(b){a.then(function(a){b.onNext(a),b.onCompleted()},function(a){b.onError(a)})})},Ab.toPromise=function(a){var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},function(a){c(a)},function(){e&&a(d)})})},Ab.multicast=function(a,b){var c=this;return"function"==typeof a?new Sb(function(d){var e=c.multicast(a());return new _(b(e).subscribe(d),e.connect())}):new Pb(c,a)},Ab.publish=function(a){return a?this.multicast(function(){return new Vb},a):this.multicast(new Vb)},Ab.share=function(){return this.publish(null).refCount()},Ab.publishLast=function(a){return a?this.multicast(function(){return new Wb},a):this.multicast(new Wb)},Ab.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Yb(b)},a):this.multicast(new Yb(a))},Ab.shareValue=function(a){return this.publishValue(a).refCount()},Ab.replay=function(a,b,c,d){return a?this.multicast(function(){return new Zb(b,c,d)},a):this.multicast(new Zb(b,c,d))},Ab.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Pb=C.ConnectableObservable=function(a){function b(b,c){function d(a){return e.subject.subscribe(a)}var e={subject:c,source:b.asObservable(),hasSubscription:!1,subscription:null};this.connect=function(){return e.hasSubscription||(e.hasSubscription=!0,e.subscription=new _(e.source.subscribe(e.subject),cb(function(){e.hasSubscription=!1
2
+ }))),e.subscription},a.call(this,d)}return W(b,a),b.prototype.connect=function(){return this.connect()},b.prototype.refCount=function(){var a=null,b=0,c=this;return new Sb(function(d){var e,f;return b++,e=1===b,f=c.subscribe(d),e&&(a=c.connect()),cb(function(){f.dispose(),b--,0===b&&a.dispose()})})},b}(Db),Qb=Db.interval=function(a,b){return b||(b=ob),t(a,a,b)},Rb=Db.timer=function(b,c,d){var e;return d||(d=ob),"number"==typeof c?e=c:"object"==typeof c&&"now"in c&&(d=c),e===a?s(b,d):t(b,e,d)};Ab.delay=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){var e,f=!1,g=new gb,h=null,i=[],j=!1;return e=c.materialize().timestamp(b).subscribe(function(c){var e,k;"E"===c.value.kind?(i=[],i.push(c),h=c.value.exception,k=!j):(i.push({value:c.value,timestamp:c.timestamp+a}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new fb,g.setDisposable(e),e.setDisposable(b.scheduleRecursiveWithRelative(a,function(a){var c,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-b.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-b.now())):f=!1,c=h,j=!1,null!==c?d.onError(c):k&&a(e)}}))))}),new _(e,g)})},Ab.throttle=function(a,b){b||(b=ob);return this.throttleWithSelector(function(){return Rb(a,b)})},Ab.timeInterval=function(a){var b=this;return a||(a=ob),Fb(function(){var c=a.now();return b.select(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Ab.timestamp=function(a){return a||(a=ob),this.select(function(b){return{value:b,timestamp:a.now()}})},Ab.sample=function(a,b){return b||(b=ob),"number"==typeof a?u(this,Qb(a,b)):u(this,a)},Ab.timeout=function(a,b,c){var d,e=this;return b||(b=Kb(new Error("Timeout"))),c||(c=ob),d=a instanceof Date?function(a,b){c.scheduleWithAbsolute(a,b)}:function(a,b){c.scheduleWithRelative(a,b)},new Sb(function(c){var f,g=0,h=new fb,i=new gb,j=!1,k=new gb;return i.setDisposable(h),f=function(){var e=g;k.setDisposable(d(a,function(){j=g===e;var a=j;a&&i.setDisposable(b.subscribe(c))}))},f(),h.setDisposable(e.subscribe(function(a){var b=!j;b&&(g++,c.onNext(a),f())},function(a){var b=!j;b&&(g++,c.onError(a))},function(){var a=!j;a&&(g++,c.onCompleted())})),new _(i,k)})},Db.generateWithTime=function(a,b,c,d,e,f){return f||(f=ob),new Sb(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 g.onError(f),void 0}k?a(i):g.onCompleted()})})},Ab.delaySubscription=function(a,b){return b||(b=ob),this.delayWithSelector(Rb(a,b),function(){return Gb()})},Ab.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Sb(function(a){var b=new _,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new gb,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return a.onError(f),void 0}var h=new fb;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(function(){i()},a.onError.bind(a),function(){i()})):i(),new _(h,b)})},Ab.timeoutWithSelector=function(a,b,c){if(1===arguments.length){b=a;var a=Ib()}c||(c=Kb(new Error("Timeout")));var d=this;return new Sb(function(e){var f=new gb,g=new gb,h=new fb;f.setDisposable(h);var i=0,j=!1,k=function(a){var b=i,d=function(){return i===b},h=new fb;g.setDisposable(h),h.setDisposable(a.subscribe(function(){d()&&f.setDisposable(c.subscribe(e)),h.dispose()},function(a){d()&&e.onError(a)},function(){d()&&f.setDisposable(c.subscribe(e))}))};k(a);var l=function(){var a=!j;return a&&i++,a};return h.setDisposable(d.subscribe(function(a){if(l()){e.onNext(a);var c;try{c=b(a)}catch(d){return e.onError(d),void 0}k(c)}},function(a){l()&&e.onError(a)},function(){l()&&e.onCompleted()})),new _(f,g)})},Ab.throttleWithSelector=function(a){var b=this;return new Sb(function(c){var d,e=!1,f=new gb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return c.onError(i),void 0}e=!0,d=b,g++;var j=g,k=new fb;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 _(h,f)})},Ab.skipLastWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(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()})})},Ab.takeLastWithTime=function(a,b,c){return this.takeLastBufferWithTime(a,b).selectMany(function(a){return Hb(a,c)})},Ab.takeLastBufferWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(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()})})},Ab.takeWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(function(d){var e=b.scheduleWithRelative(a,function(){d.onCompleted()});return new _(e,c.subscribe(d))})},Ab.skipWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(function(d){var e=!1,f=b.scheduleWithRelative(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Ab.skipUntilWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){var e=!1,f=b.scheduleWithAbsolute(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Ab.takeUntilWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){return new _(b.scheduleWithAbsolute(a,function(){d.onCompleted()}),c.subscribe(d))})};var Sb=C.Internals.AnonymousObservable=function(a){function b(a){return"undefined"==typeof a?a=db:"function"==typeof a&&(a=cb(a)),a}function c(d){function e(a){var c=new Tb(a);if(mb.scheduleRequired())mb.schedule(function(){try{c.setDisposable(b(d(c)))}catch(a){if(!c.fail(a))throw a}});else try{c.setDisposable(b(d(c)))}catch(e){if(!c.fail(e))throw e}return c}return this instanceof c?(a.call(this,e),void 0):new c(d)}return W(c,a),c}(Db),Tb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}W(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{b||this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.disposable=function(a){return arguments.length?this.getDisposable():setDisposable(a)},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Bb),Ub=function(a,b){this.subject=a,this.observer=b};Ub.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 Vb=C.Subject=function(a){function b(a){return g.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Ub(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return W(c,a),X(c.prototype,yb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(g.call(this),!this.isStopped)for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),c.create=function(a,b){return new Xb(a,b)},c}(Db),Wb=C.AsyncSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),new Ub(this,a);var b=this.exception,c=this.hasValue,d=this.value;return b?a.onError(b):c?(a.onNext(d),a.onCompleted()):a.onCompleted(),db}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return W(c,a),X(c.prototype,yb,{hasObservers:function(){return g.call(this),this.observers.length>0},onCompleted:function(){var a,b,c;if(g.call(this),!this.isStopped){this.isStopped=!0;var d=this.observers.slice(0),e=this.value,f=this.hasValue;if(f)for(b=0,c=d.length;c>b;b++)a=d[b],a.onNext(e),a.onCompleted();else for(b=0,c=d.length;c>b;b++)d[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){g.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),c}(Db),Xb=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){a.call(this,b),this.observer=c,this.observable=d}return W(c,a),X(c.prototype,yb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Db),Yb=C.BehaviorSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Ub(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),db}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return W(c,a),X(c.prototype,yb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(g.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(g.call(this),!this.isStopped){this.value=a;for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),c}(Db),Zb=C.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new Eb(this.scheduler,a),d=new b(this,c);g.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var e=this.q.length,f=0,h=this.q.length;h>f;f++)c.onNext(this.q[f].value);return this.hasError?(e++,c.onError(this.error)):this.isStopped&&(e++,c.onCompleted()),c.ensureActive(e),d}function d(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||mb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},W(d,a),X(d.prototype,yb,{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){var b;if(g.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++)b=d[e],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(g.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++)b=d[e],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(g.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)a=c[d],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Db);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(w.Rx=C,define(function(){return C})):x&&y?z?(y.exports=C).Rx=C:x.Rx=C:w.Rx=C}).call(this);