From c1486cc0fe0b8df2c3737a3b32505725833b98c2 Mon Sep 17 00:00:00 2001 From: Matthew Podwysocki Date: Sat, 11 Apr 2015 13:59:30 -0400 Subject: [PATCH] Version bump to 2.5.2 --- bower.json | 2 +- dist/rx.all.compat.js | 77 ++++++++++-------- dist/rx.all.compat.map | 2 +- dist/rx.all.compat.min.js | 4 +- dist/rx.all.js | 77 ++++++++++-------- dist/rx.all.map | 2 +- dist/rx.all.min.js | 4 +- dist/rx.backpressure.js | 79 +++++++++++-------- dist/rx.backpressure.map | 2 +- dist/rx.backpressure.min.js | 2 +- dist/rx.lite.compat.js | 77 ++++++++++-------- dist/rx.lite.compat.map | 2 +- dist/rx.lite.compat.min.js | 5 +- dist/rx.lite.js | 77 ++++++++++-------- dist/rx.lite.map | 2 +- dist/rx.lite.min.js | 4 +- .../rx-lite-aggregates-compat/package.json | 2 +- modules/rx-lite-aggregates/package.json | 2 +- modules/rx-lite-async-compat/package.json | 2 +- modules/rx-lite-async/package.json | 2 +- .../rx-lite-backpressure-compat/package.json | 2 +- .../rx.lite.backpressure.compat.js | 2 + .../rx.lite.backpressure.compat.map | 2 +- .../rx.lite.backpressure.compat.min.js | 2 +- modules/rx-lite-backpressure/package.json | 2 +- .../rx.lite.backpressure.js | 2 + .../rx.lite.backpressure.map | 2 +- .../rx.lite.backpressure.min.js | 2 +- .../rx-lite-coincidence-compat/package.json | 2 +- modules/rx-lite-coincidence/package.json | 2 +- modules/rx-lite-compat/package.json | 2 +- modules/rx-lite-compat/rx.lite.compat.js | 77 ++++++++++-------- modules/rx-lite-compat/rx.lite.compat.map | 2 +- modules/rx-lite-compat/rx.lite.compat.min.js | 5 +- .../rx-lite-experimental-compat/package.json | 2 +- modules/rx-lite-experimental/package.json | 2 +- modules/rx-lite-extras-compat/package.json | 2 +- modules/rx-lite-extras/package.json | 2 +- .../rx-lite-joinpatterns-compat/package.json | 2 +- modules/rx-lite-joinpatterns/package.json | 2 +- modules/rx-lite-testing-compat/package.json | 2 +- modules/rx-lite-testing/package.json | 2 +- modules/rx-lite-time-compat/package.json | 2 +- modules/rx-lite-time/package.json | 2 +- .../rx-lite-virtualtime-compat/package.json | 2 +- modules/rx-lite-virtualtime/package.json | 2 +- modules/rx-lite/package.json | 2 +- modules/rx-lite/rx.lite.js | 77 ++++++++++-------- modules/rx-lite/rx.lite.map | 2 +- modules/rx-lite/rx.lite.min.js | 4 +- package.json | 2 +- src/core/backpressure/controlled.js | 41 +++++----- src/core/headers/backpressureheader.js | 4 +- tests/observable/controlled.js | 2 +- 54 files changed, 372 insertions(+), 318 deletions(-) diff --git a/bower.json b/bower.json index f5a74b339..76a7bc461 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "rxjs", - "version": "2.5.1", + "version": "2.5.2", "main": [ "dist/rx.all.js", "dist/rx.all.map", diff --git a/dist/rx.all.compat.js b/dist/rx.all.compat.js index 23ef2366c..de3edfc8c 100644 --- a/dist/rx.all.compat.js +++ b/dist/rx.all.compat.js @@ -6694,15 +6694,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -6717,7 +6716,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -6729,29 +6728,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -6764,37 +6766,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -6810,12 +6810,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; var StopAndWaitObservable = (function (__super__) { diff --git a/dist/rx.all.compat.map b/dist/rx.all.compat.map index b69954a8a..bcdff417e 100644 --- a/dist/rx.all.compat.map +++ b/dist/rx.all.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.all.compat.min.js","sources":["rx.all.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","arrayInitialize","count","factory","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","ToArrayObserver","observer","isStopped","StringIterable","_s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","MapObserver","flatMap","mergeAll","FilterObserver","predicate","extremaBy","keySelector","hasValue","lastKey","list","comparison","ex1","firstOnly","EmptyError","elementAtOrDefault","hasDefault","defaultValue","ArgumentOutOfRangeError","singleOrDefaultAsync","seenValue","firstOrDefaultAsync","lastOrDefaultAsync","findValue","yieldIndex","shouldRun","toThunk","obj","ctx","isArray","objectToThunk","isGeneratorFunction","observableSpawn","isGenerator","isObservable","observableToThunk","promiseToThunk","fnString","done","run","finished","results","pending","err","res","keys","timeoutScheduler","schedule","v","promise","then","name","next","throwString","handleError","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","combineLatestSource","subject","values","hasValueAll","every","identity","isDone","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","r","RefCountDisposable","addRef","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","m","take","noop","enumerableWhile","condition","Enumerable","Enumerator","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","atEnd","newValue","bind","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","not","asArray","isFn","longStackSupport","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","sources","idx","ln","prop","xs","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","t","searchElement","n","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","current","old","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","scheduleWithState","ScheduledItem","state","invoke","invokeCore","isCancelled","Scheduler","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeout","__super__","_wrap","_handler","_recursiveOriginal","_recursiveWrapper","_clone","_getRecursiveWrapper","wrapper","failed","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","_next","_iterator","currentItem","currentValue","lastException","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","cancel","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","observeOn","subscribeOn","fromPromise","AsyncSubject","toPromise","promiseCtor","resolve","reject","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","sink","FromObservable","iterable","mapper","FromSink","loopRecursive","pow","charAt","from","mapFn","observableFromArray","fromArray","generate","initialState","iterate","hasResult","ofWithScheduler","NeverObservable","observableNever","never","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","using","resourceFactory","resource","amb","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","previous","acc","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","onErrorResumeNext","pos","skipUntil","isOpen","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","bufferWithCount","skip","windowWithCount","selectMany","where","dematerialize","distinctUntilChanged","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","takeLastBuffer","createWindow","refCountDisposable","selectConcat","selectorResult","i2","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","defaultIfEmpty","found","retValue","distinct","hashSet","groupBy","elementSelector","groupByUntil","durationSelector","Dictionary","groupDisposable","getValues","fireNewMapEntry","writer","tryGetValue","GroupedObservable","durationGroup","duration","md","expire","MapObservable","internalMap","select","currentProp","flatMapObserver","selectManyObserver","selectSwitch","flatMapLatest","switchMap","remaining","skipWhile","takeWhile","FilterObservable","internalFilter","shouldYield","aggregate","reduce","some","any","isEmpty","all","includes","fromIndex","contains","sum","prev","curr","minBy","min","maxBy","average","cur","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","elementAt","single","singleOrDefault","firstOrDefault","last","lastOrDefault","find","findIndex","toSet","toMap","spawn","isGenFun","exit","ret","gen","called","hasCallback","context","observableToAsync","toAsync","fromCallback","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","conn","connection","pausable","pauser","connect","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","stopAndWaitObserverProto","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed","pipe","dest","onDrain","write","emit","_isStdio","end","subjectOrSubjectSelector","connectable","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","hasError","getValue","hasObservers","os","createRemovableDisposable","so","_trim","interval","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","isPrime","candidate","num1","sqrt","num2","getPrime","num","primes","stringHashFn","str","hash","character","charCodeAt","numberHashFn","c2","newEntry","hashCode","_initialize","freeCount","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","dictionaryProto","prime","buckets","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","clear","_findEntry","containskey","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","buffer","windowOpeningsOrClosingSelector","pairwise","hasPrevious","partition","letBind","ifThen","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","switchCase","defaultSourceOrScheduler","expand","forkJoin","allSources","hasResults","ix","lastLeft","lastRight","leftStopped","rightStopped","hasLeft","hasRight","manySelect","chain","ChainObservable","head","tail","_keys","_values","and","thenDo","activate","deactivate","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","observableinterval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","windowWithTime","timeShiftOrScheduler","timeShift","createTimer","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","timeInterval","span","sample","throttleLatest","intervalOrSampler","schedulerMethod","myId","original","switched","generateWithAbsoluteTime","timeSelector","generateWithRelativeTime","delaySubscription","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","delays","timeoutWithSelector","firstTimeout","timeoutdurationSelector","setTimer","timerWins","observerWins","debounceWithSelector","currentid","throttleWithSelector","skipLastWithTime","takeLastWithTime","takeLastBufferWithTime","takeWithTime","skipWithTime","open","skipUntilWithTime","startTime","takeUntilWithTime","endTime","throttleFirst","windowDuration","RangeError","lastOnNext","exclusive","hasCurrent","exclusiveMap","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","VirtualTimeScheduler","localNow","toDateTimeOffset","clock","scheduleAbsoluteWithState","scheduleRelativeWithState","toRelative","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","AutoDetachObserverPrototype","underlyingObservable","mergedDisposable","AnonymousSubject","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.all.compat.min.js","sources":["rx.all.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","arrayInitialize","count","factory","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","ToArrayObserver","observer","isStopped","StringIterable","_s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","MapObserver","flatMap","mergeAll","FilterObserver","predicate","extremaBy","keySelector","hasValue","lastKey","list","comparison","ex1","firstOnly","EmptyError","elementAtOrDefault","hasDefault","defaultValue","ArgumentOutOfRangeError","singleOrDefaultAsync","seenValue","firstOrDefaultAsync","lastOrDefaultAsync","findValue","yieldIndex","shouldRun","toThunk","obj","ctx","isArray","objectToThunk","isGeneratorFunction","observableSpawn","isGenerator","isObservable","observableToThunk","promiseToThunk","fnString","done","run","finished","results","pending","err","res","keys","timeoutScheduler","schedule","v","promise","then","name","next","throwString","handleError","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","combineLatestSource","subject","values","hasValueAll","every","identity","isDone","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","r","RefCountDisposable","addRef","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","m","take","noop","enumerableWhile","condition","Enumerable","Enumerator","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","atEnd","newValue","bind","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","not","asArray","isFn","longStackSupport","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","sources","idx","ln","prop","xs","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","t","searchElement","n","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","current","old","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","scheduleWithState","ScheduledItem","state","invoke","invokeCore","isCancelled","Scheduler","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeout","__super__","_wrap","_handler","_recursiveOriginal","_recursiveWrapper","_clone","_getRecursiveWrapper","wrapper","failed","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","_next","_iterator","currentItem","currentValue","lastException","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","cancel","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","observeOn","subscribeOn","fromPromise","AsyncSubject","toPromise","promiseCtor","resolve","reject","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","sink","FromObservable","iterable","mapper","FromSink","loopRecursive","pow","charAt","from","mapFn","observableFromArray","fromArray","generate","initialState","iterate","hasResult","ofWithScheduler","NeverObservable","observableNever","never","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","using","resourceFactory","resource","amb","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","previous","acc","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","onErrorResumeNext","pos","skipUntil","isOpen","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","bufferWithCount","skip","windowWithCount","selectMany","where","dematerialize","distinctUntilChanged","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","takeLastBuffer","createWindow","refCountDisposable","selectConcat","selectorResult","i2","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","defaultIfEmpty","found","retValue","distinct","hashSet","groupBy","elementSelector","groupByUntil","durationSelector","Dictionary","groupDisposable","getValues","fireNewMapEntry","writer","tryGetValue","GroupedObservable","durationGroup","duration","md","expire","MapObservable","internalMap","select","currentProp","flatMapObserver","selectManyObserver","selectSwitch","flatMapLatest","switchMap","remaining","skipWhile","takeWhile","FilterObservable","internalFilter","shouldYield","aggregate","reduce","some","any","isEmpty","all","includes","fromIndex","contains","sum","prev","curr","minBy","min","maxBy","average","cur","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","elementAt","single","singleOrDefault","firstOrDefault","last","lastOrDefault","find","findIndex","toSet","toMap","spawn","isGenFun","exit","ret","gen","called","hasCallback","context","observableToAsync","toAsync","fromCallback","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","startAsync","functionAsync","PausableObservable","conn","connection","pausable","pauser","connect","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","stopAndWaitObserverProto","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed","pipe","dest","onDrain","write","emit","_isStdio","end","subjectOrSubjectSelector","connectable","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","hasError","getValue","hasObservers","os","createRemovableDisposable","so","_trim","interval","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","isPrime","candidate","num1","sqrt","num2","getPrime","num","primes","stringHashFn","str","hash","character","charCodeAt","numberHashFn","c2","newEntry","hashCode","_initialize","freeCount","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","dictionaryProto","prime","buckets","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","clear","_findEntry","containskey","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","buffer","windowOpeningsOrClosingSelector","pairwise","hasPrevious","partition","letBind","ifThen","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","switchCase","defaultSourceOrScheduler","expand","forkJoin","allSources","hasResults","ix","lastLeft","lastRight","leftStopped","rightStopped","hasLeft","hasRight","manySelect","chain","ChainObservable","head","tail","_keys","_values","and","thenDo","activate","deactivate","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","observableinterval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","windowWithTime","timeShiftOrScheduler","timeShift","createTimer","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","timeInterval","span","sample","throttleLatest","intervalOrSampler","schedulerMethod","myId","original","switched","generateWithAbsoluteTime","timeSelector","generateWithRelativeTime","delaySubscription","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","delays","timeoutWithSelector","firstTimeout","timeoutdurationSelector","setTimer","timerWins","observerWins","debounceWithSelector","currentid","throttleWithSelector","skipLastWithTime","takeLastWithTime","takeLastBufferWithTime","takeWithTime","skipWithTime","open","skipUntilWithTime","startTime","takeUntilWithTime","endTime","throttleFirst","windowDuration","RangeError","lastOnNext","exclusive","hasCurrent","exclusiveMap","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","VirtualTimeScheduler","localNow","toDateTimeOffset","clock","scheduleAbsoluteWithState","scheduleRelativeWithState","toRelative","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","AutoDetachObserverPrototype","underlyingObservable","mergedDisposable","AnonymousSubject","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.all.compat.min.js b/dist/rx.all.compat.min.js index ddccb748b..d58866537 100644 --- a/dist/rx.all.compat.min.js +++ b/dist/rx.all.compat.min.js @@ -2,6 +2,6 @@ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(Oa&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Sa)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Sa+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===Qa&&d>=Ra&&Fd>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Oa)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Qa=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!zb(a))return b;yb.nonEnumArgs&&a.length&&Ab(a)&&(a=Db.call(a));var c=yb.enumPrototypes&&"function"==typeof a,d=yb.enumErrorProps&&(a===tb||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(yb.nonEnumShadows&&a!==ub){var f=a.constructor,g=-1,h=fb;if(a===(f&&f.prototype))var i=a===vb?pb:a===tb?kb:qb.call(a),j=xb[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function o(){try{return Bb.apply(this,arguments)}catch(a){return Hb.e=a,Hb}}function p(a){if(!Na(a))throw new TypeError("fn must be a function");return Bb=a,o}function q(a){throw a}function r(a,b){this.id=a,this.value=b}function t(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function u(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function v(a){this.observer=a,this.a=[],this.isStopped=!1}function w(){this._s=s}function x(){this._s=s,this._l=s.length,this._i=0}function y(a){this._a=a}function z(a){this._a=a,this._l=D(a),this._i=0}function A(a){return"number"==typeof a&&za.isFinite(a)}function B(b){var c,d=b[$a];if(!d&&"string"==typeof b)return c=new w(b),c[$a]();if(!d&&b.length!==a)return c=new y(b),c[$a]();if(!d)throw new TypeError("Object is not iterable");return b[$a]()}function C(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function D(a){var b=+a.length;return isNaN(b)?0:0!==b&&A(b)?(b=C(b)*Math.floor(Math.abs(b)),0>=b?0:b>Hc?Hc:b):b}function E(a,b){this.observer=a,this.parent=b}function F(a,b){return Zb(a)||(a=cc),new Jc(b,a)}function G(a,b){this.observer=a,this.parent=b}function H(a,b){this.observer=a,this.parent=b}function I(a,b){return new zd(function(c){var d=new Tb,e=new Ub;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}La(d)&&(d=Ac(d));var g=new Tb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function J(a,b){var c=this;return new zd(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function K(){return!1}function L(){return[]}function M(a,b,c){var d=db(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return La(e)&&(e=Ac(e)),(bb(e)||ab(e))&&(e=Ic(e)),e}).concatAll()}function N(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function O(a){this.comparer=a,this.set=[]}function P(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function Q(a,b,c){var d=db(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return La(e)&&(e=Ac(e)),(bb(e)||ab(e))&&(e=Ic(e)),e}).mergeAll()}function R(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function S(a,b,c){return new zd(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},function(a){d.onError(a)},function(){d.onNext(g),d.onCompleted()})},a)}function T(a){if(0===a.length)throw new Ta;return a[0]}function U(a,b,c,d){if(0>b)throw new Va;return new zd(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},function(a){e.onError(a)},function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Va)})},a)}function V(a,b,c){return new zd(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},function(a){d.onError(a)},function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Ta)})},a)}function W(a,b,c){return new zd(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},function(a){d.onError(a)},function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Ta)})},a)}function X(a,b,c){return new zd(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},function(a){d.onError(a)},function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Ta)})},a)}function Y(b,c,d,e){var f=db(c,d,3);return new zd(function(c){var d=0;return b.subscribe(function(a){var g;try{g=f(a,d,b)}catch(h){return void c.onError(h)}g?(c.onNext(e?d:a),c.onCompleted()):d++},function(a){c.onError(a)},function(){c.onNext(e?-1:a),c.onCompleted()})},b)}function Z(a,b){return Array.isArray(a)?$.call(b,a):ca(a)?gd(a.call(b)):da(a)?gd(a):ba(a)?_(a):La(a)?aa(a):typeof a===ed?a:zb(a)||Array.isArray(a)?$.call(b,a):a}function $(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=Z(a,b),typeof a!==ed)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void gc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function _(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function aa(a){return function(b){a.then(function(a){b(null,a)},b)}}function ba(a){return a&&typeof a.subscribe===ed}function ca(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function da(a){return a&&typeof a.next===ed&&typeof a[fd]===ed}function ea(a){a&&gc.schedule(function(){throw a})}function fa(a){var b=function(){this.cancelBubble=!0},c=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(a||(a=za.event),!a.target)switch(a.target=a.target||a.srcElement,"mouseover"==a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=b,a.preventDefault=c),a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10==d?(d=0,a.keyCode=13):13==d||27==d?d=0:3==d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}return a}function ga(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),Pb(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var d=function(a){c(fa(a))};return a.attachEvent("on"+b,d),Pb(function(){a.detachEvent("on"+b,d)})}return a["on"+b]=c,Pb(function(){a["on"+b]=null})}function ha(a,b,c){var d=new Mb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(ha(a.item(e),b,c));else a&&d.add(ga(a,b,c));return d}function ia(a,b,c){return new zd(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(Ga))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new Mb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}function ja(a,b){return a.groupJoin(this,b,Ec,function(a,b){return b})}function ka(a){var b=this;return new zd(function(c){var d=new Cd,e=new Mb,f=new Vb(e);return c.onNext(Gb(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),La(a)&&(a=Ac(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new Cd,c.onNext(Gb(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function la(a){var b=this;return new zd(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}La(b)&&(b=Ac(b));var i=new Tb;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(Fa,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new Cd,c.onNext(Gb(h,g)),d()}))}var e=new Ub,f=new Mb(e),g=new Vb(f),h=new Cd;return c.onNext(Gb(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function ma(b,c){return new nc(function(){return new mc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function na(a){this.patterns=a}function oa(a,b){this.expression=a,this.selector=b}function pa(a,b,c){var d=a.get(b);if(!d){var e=new xd(b,c);return a.set(b,e),e}return d}function qa(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new wd;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function ra(a,b){return new zd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function sa(a,b,c){return new zd(function(d){var e=a,f=Yb(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function ta(a,b){return new zd(function(c){return b.scheduleWithRelative(Yb(a),function(){c.onNext(0),c.onCompleted()})})}function ua(a,b,c){return a===b?new zd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Cc(function(){return sa(c.now()+a,b,c)})}function va(a,b,c){return new zd(function(d){var e,f=!1,g=new Ub,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new Tb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new Mb(e,g)},a)}function wa(a,b,c){return Cc(function(){return va(a,b-c.now(),c)})}function xa(a,b){return new zd(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new Mb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var ya={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},za=ya[typeof window]&&window||this,Aa=ya[typeof exports]&&exports&&!exports.nodeType&&exports,Ba=ya[typeof module]&&module&&!module.nodeType&&module,Ca=Ba&&Ba.exports===Aa&&Aa,Da=ya[typeof global]&&global;!Da||Da.global!==Da&&Da.window!==Da||(za=Da);var Ea={internals:{},config:{Promise:za.Promise},helpers:{}},Fa=Ea.helpers.noop=function(){},Ga=(Ea.helpers.notDefined=function(a){return"undefined"==typeof a},Ea.helpers.identity=function(a){return a}),Ha=(Ea.helpers.pluck=function(a){return function(b){return b[a]}},Ea.helpers.just=function(a){return function(){return a}},Ea.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}()),Ia=Ea.helpers.defaultComparer=function(a,b){return Cb(a,b)},Ja=Ea.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Ka=(Ea.helpers.defaultKeySerializer=function(a){return a.toString()},Ea.helpers.defaultError=function(a){throw a}),La=Ea.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},Ma=(Ea.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},Ea.helpers.not=function(a){return!a}),Na=Ea.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==qb.call(a)}),a}();Ea.config.longStackSupport=!1;var Oa=!1;try{throw new Error}catch(Pa){Oa=!!Pa.stack}var Qa,Ra=g(),Sa="From previous event:",Ta=Ea.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};Ta.prototype=Error.prototype;var Ua=Ea.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};Ua.prototype=Error.prototype;var Va=Ea.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};Va.prototype=Error.prototype;var Wa=Ea.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};Wa.prototype=Error.prototype;var Xa=Ea.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};Xa.prototype=Error.prototype;var Ya=Ea.helpers.notImplemented=function(){throw new Xa},Za=Ea.helpers.notSupported=function(){throw new Wa},$a="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";za.Set&&"function"==typeof(new za.Set)["@@iterator"]&&($a="@@iterator");var _a=Ea.doneEnumerator={done:!0,value:a},ab=Ea.helpers.isIterable=function(b){return b[$a]!==a},bb=Ea.helpers.isArrayLike=function(b){return b&&b.length!==a};Ea.helpers.iterator=$a;var cb,db=Ea.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},eb=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],fb=eb.length,gb="[object Arguments]",hb="[object Array]",ib="[object Boolean]",jb="[object Date]",kb="[object Error]",lb="[object Function]",mb="[object Number]",nb="[object Object]",ob="[object RegExp]",pb="[object String]",qb=Object.prototype.toString,rb=Object.prototype.hasOwnProperty,sb=qb.call(arguments)==gb,tb=Error.prototype,ub=Object.prototype,vb=String.prototype,wb=ub.propertyIsEnumerable;try{cb=!(qb.call(document)==nb&&!({toString:0}+""))}catch(Pa){cb=!0}var xb={};xb[hb]=xb[jb]=xb[mb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},xb[ib]=xb[pb]={constructor:!0,toString:!0,valueOf:!0},xb[kb]=xb[lb]=xb[ob]={constructor:!0,toString:!0},xb[nb]={constructor:!0};var yb={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);yb.enumErrorProps=wb.call(tb,"message")||wb.call(tb,"name"),yb.enumPrototypes=wb.call(a,"prototype"),yb.nonEnumArgs=0!=c,yb.nonEnumShadows=!/valueOf/.test(b)}(1);var zb=Ea.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},Ab=function(a){return a&&"object"==typeof a?qb.call(a)==gb:!1};sb||(Ab=function(a){return a&&"object"==typeof a?rb.call(a,"callee"):!1});var Bb,Cb=Ea.internals.isEqual=function(a,b){return m(a,b,[],[])},Db=({}.hasOwnProperty,Array.prototype.slice),Eb=this.inherits=Ea.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},Fb=Ea.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}},Gb=Ea.internals.addRef=function(a,b){return new zd(function(c){return new Mb(b.getDisposable(),a.subscribe(c))})},Hb={e:{}};Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Db.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(Db.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(Db.call(arguments)))};return d}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var Ib=Object("a"),Jb="a"!=Ib[0]||!(0 in Ib);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=Jb&&{}.toString.call(this)==pb?this.split(""):b,d=c.length>>>0,e=arguments[1];if({}.toString.call(a)!=lb)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=Jb&&{}.toString.call(this)==pb?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if({}.toString.call(a)!=lb)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return{}.toString.call(a)==hb}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&d!=1/0&&d!==-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;fb>e;e++)a.call(c,eb[e])&&f.push(eb[e]);return f}}()),r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Kb=Ea.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},Lb=Kb.prototype;Lb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},Lb.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)}}},Lb.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!Rb(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},Nb=Mb.prototype;Nb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},Nb.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},Nb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var Ob=Ea.Disposable=function(a){this.isDisposed=!1,this.action=a||Fa};Ob.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var Pb=Ob.create=function(a){return new Ob(a)},Qb=Ob.empty={dispose:Fa},Rb=Ob.isDisposable=function(a){return a&&Na(a.dispose)},Sb=Ob.checkDisposed=function(a){if(a.isDisposed)throw new Ua},Tb=Ea.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};Tb.prototype.getDisposable=function(){return this.current},Tb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},Tb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var Ub=Ea.SerialDisposable=function(){this.isDisposed=!1,this.current=null};Ub.prototype.getDisposable=function(){return this.current},Ub.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},Ub.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var Vb=Ea.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?Qb:new a(this)},b}();t.prototype.dispose=function(){this.scheduler.scheduleWithState(this,u)};var Wb=Ea.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ja,this.disposable=new Tb};Wb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Wb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Wb.prototype.isCancelled=function(){return this.disposable.isDisposed},Wb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Xb=Ea.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),Qb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=Ha,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Yb=Xb.normalize,Zb=Xb.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),Qb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new Mb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),Qb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new Mb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Xb.prototype),function(){Xb.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Xb.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof za.setInterval)throw new Wa;b=Yb(b);var d=a,e=za.setInterval(function(){d=c(d)},b);return Pb(function(){za.clearInterval(e)})}}(Xb.prototype),function(a){a.catchError=a["catch"]=function(a){return new hc(this,a)}}(Xb.prototype);var $b,_b,ac=Ea.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 Tb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),bc=Xb.immediate=function(){function a(a,b){return b(this,a)}return new Xb(Ha,a,Za,Za)}(),cc=Xb.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new Wb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new Kb(4),c.enqueue(e);var f=p(a)();if(c=null,f===Hb)return q(f.e)}return e.disposable}var c,d=new Xb(Ha,b,Za,Za);return d.scheduleRequired=function(){return!c},d}(),dc=function(){var a,b=Fa;if(za.setTimeout)a=za.setTimeout,b=za.clearTimeout;else{if(!za.WScript)throw new Wa;a=function(a,b){za.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}(),ec=dc.setTimeout,fc=dc.clearTimeout;!function(){function a(b){if(f)ec(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=p(c)();if(_b(b),f=!1,d===Hb)return q(d.e)}}}function b(){if(!za.postMessage||za.importScripts)return!1;var a=!1,b=za.onmessage;return za.onmessage=function(){a=!0},za.postMessage("","*"),za.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;_b=function(a){delete e[a]};var g=RegExp("^"+String(qb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=Da&&Ca&&Da.setImmediate)&&!g.test(h)&&h;if(Na(h))$b=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))$b=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();za.addEventListener?za.addEventListener("message",c,!1):za.attachEvent?za.attachEvent("onmessage",c):za.onmessage=c,$b=function(a){var b=d++;return e[b]=a,za.postMessage(i+currentId,"*"),b}}else if(za.MessageChannel){var j=new za.MessageChannel;j.port1.onmessage=function(b){a(b.data)},$b=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else $b="document"in za&&"onreadystatechange"in za.document.createElement("script")?function(b){var c=za.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},za.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,ec(function(){a(c)},0),c}}();var gc=Xb.timeout=Xb["default"]=function(){function a(a,b){var c=this,d=new Tb,e=$b(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new Mb(d,Pb(function(){_b(e)}))}function b(a,b,c){var d=this,e=Xb.normalize(b),f=new Tb;if(0===e)return d.scheduleWithState(a,c);var g=ec(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new Mb(f,Pb(function(){fc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Xb(Ha,a,b,c)}(),hc=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return Eb(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return Qb}}},e.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new Tb;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},e}(Xb),ic=Ea.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return Zb(a)||(a=bc),new zd(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),jc=ic.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){return new ic("N",d,null,a,b,c)}}(),kc=ic.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){return new ic("E",null,d,a,b,c)}}(),lc=ic.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new ic("C",null,null,a,b,c)}}(),mc=Ea.internals.Enumerator=function(a){this._next=a};mc.prototype.next=function(){return this._next()},mc.prototype[$a]=function(){return this};var nc=Ea.internals.Enumerable=function(a){this._iterator=a};nc.prototype[$a]=function(){return this._iterator()},nc.prototype.concat=function(){ var a=this;return new zd(function(b){var c,d=a[$a](),e=new Ub,f=bc.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;La(h)&&(h=Ac(h));var i=new Tb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new Mb(e,f,Pb(function(){c=!0}))})},nc.prototype.catchError=function(){var a=this;return new zd(function(b){var c,d=a[$a](),e=new Ub,f=bc.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;La(i)&&(i=Ac(i));var j=new Tb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new Mb(e,f,Pb(function(){c=!0}))})},nc.prototype.catchErrorWhen=function(a){var b=this;return new zd(function(c){var d,e,f=new Cd,g=new Cd,h=a(f),i=h.subscribe(g),j=b[$a](),k=new Ub,l=bc.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;La(i)&&(i=Ac(i));var l=new Tb,m=new Tb;k.setDisposable(new Mb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new Mb(i,k,l,Pb(function(){d=!0}))})};var oc=nc.repeat=function(a,b){return null==b&&(b=-1),new nc(function(){var c=b;return new mc(function(){return 0===c?_a:(c>0&&c--,{done:!1,value:a})})})},pc=nc.of=function(a,b,c){if(b)var d=db(b,c,3);return new nc(function(){var c=-1;return new mc(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(tc),xc=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return Eb(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(wc),yc=Ea.Observable=function(){function a(a){if(Ea.config.longStackSupport&&Oa){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){var e=b.onError.bind(b);return b.onError=function(a){c(a,d),e(a)},a.call(d,b)}}else this._subscribe=a}return sc=a.prototype,sc.subscribe=sc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:rc(a,b,c))},sc.subscribeOnNext=function(a,b){return this._subscribe(rc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},sc.subscribeOnError=function(a,b){return this._subscribe(rc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},sc.subscribeOnCompleted=function(a,b){return this._subscribe(rc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},a}(),zc=Ea.ObservableBase=function(a){function b(a){return a&&Na(a.dispose)?a:Na(a)?Pb(a):Qb}function c(a,c){var d=c[0],e=c[1],f=p(e.subscribeCore).call(e,d);return f!==Hb||d.fail(Hb.e)?void d.setDisposable(b(f)):q(Hb.e)}function d(a){var b=new Ad(a),d=[b,this];return cc.scheduleRequired()?cc.scheduleWithState(d,c):c(null,d),b}function e(){a.call(this,d)}return Eb(e,a),e.prototype.subscribeCore=Ya,e}(yc);sc.observeOn=function(a){var b=this;return new zd(function(c){return b.subscribe(new xc(a,c))},b)},sc.subscribeOn=function(a){var b=this;return new zd(function(c){var d=new Tb,e=new Ub;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new t(a,b.subscribe(c)))})),e},b)};var Ac=yc.fromPromise=function(a){return Cc(function(){var b=new Ea.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};sc.toPromise=function(a){if(a||(a=Ea.config.Promise),!a)throw new Wa("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})};var Bc=function(a){function b(b){this.source=b,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new v(a))},b}(zc);v.prototype.onNext=function(a){this.isStopped||this.a.push(a)},v.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},v.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},v.prototype.dispose=function(){this.isStopped=!0},v.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},sc.toArray=function(){return new Bc(this)},yc.create=yc.createWithDisposable=function(a,b){return new zd(a,b)};var Cc=yc.defer=function(a){return new zd(function(b){var c;try{c=a()}catch(d){return Tc(d).subscribe(b)}return La(c)&&(c=Ac(c)),c.subscribe(b)})},Dc=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(zc),Ec=yc.empty=function(a){return Zb(a)||(a=bc),new Dc(a)},Fc=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new Gc(a,this);return b.run()},b}(zc),Gc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=B(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),Hc=Math.pow(2,53)-1;w.prototype[$a]=function(){return new x(this._s)},x.prototype[$a]=function(){return this},x.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};var Kc=yc.fromArray=function(a,b){return Zb(b)||(b=cc),new Jc(a,b)};yc.generate=function(a,b,c,d,e){return Zb(e)||(e=cc),new zd(function(f){var g=!0;return e.scheduleRecursiveWithState(a,function(a,e){var h,i;try{g?g=!1:a=c(a),h=b(a),h&&(i=d(a))}catch(j){return f.onError(j)}h?(f.onNext(i),e(a)):f.onCompleted()})})},yc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new Jc(b,cc)},yc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new Jc(c,a)};var Lc=function(a){function b(){a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(){return Qb},b}(zc),Mc=yc.never=function(){return new Lc},Nc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new G(a,this);return b.run()},b}(zc);G.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},yc.pairs=function(a,b){return b||(b=cc),new Nc(a,b)};var Oc=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new Pc(a,this);return b.run()},b}(zc),Pc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();yc.range=function(a,b,c){return Zb(c)||(c=cc),new Oc(a,b,c)};var Qc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new H(a,this);return b.run()},b}(zc);H.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},yc.repeat=function(a,b,c){return Zb(c)||(c=cc),new Qc(a,b,c)};var Rc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(zc),Sc=(yc["return"]=yc.just=yc.returnValue=function(a,b){return Zb(b)||(b=bc),new Rc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(zc)),Tc=yc["throw"]=yc.throwError=yc.throwException=function(a,b){return Zb(b)||(b=bc),new Sc(a,b)};yc.using=function(a,b){return new zd(function(c){var d,e,f=Qb;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new Mb(Tc(g).subscribe(c),f)}return new Mb(e.subscribe(c),f)})},sc.amb=function(a){var b=this;return new zd(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new Tb,j=new Tb;return La(a)&&(a=Ac(a)),i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new Mb(i,j)})},yc.amb=function(){function a(a,b){return a.amb(b)}var b=Mc(),c=[];if(Array.isArray(arguments[0]))c=arguments[0];else for(var d=0,e=arguments.length;e>d;d++)c.push(arguments[d]);for(var d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},sc["catch"]=sc.catchError=sc.catchException=function(a){return"function"==typeof a?I(this,a):Uc([this,a])};var Uc=yc.catchError=yc["catch"]=yc.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return pc(a).catchError()};sc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Vc.apply(this,b)};var Vc=yc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new zd(function(a){function c(b){if(h[b]=!0,i||(i=h.every(Ga))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(Ga)&&a.onCompleted()}function e(b){j[b]=!0,j.every(Ga)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=n(f,g),i=!1,j=n(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new Tb;La(f)&&(f=Ac(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new Mb(l)},this)};sc.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),Wc.apply(null,a)};var Wc=yc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return pc(a).concat()};sc.concatAll=sc.concatObservable=function(){return this.merge(1)};var Xc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new Mb;return b.add(this.source.subscribe(new Yc(a,this.maxConcurrent,b))),b},b}(zc),Yc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new Tb;this.g.add(c),La(a)&&(a=Ac(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();sc.merge=function(a){return"number"!=typeof a?Zc(this,a):new Xc(this,a)};var Zc=yc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(Zb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=bc,b=0;d>b;b++)c.push(arguments[b]);else for(a=bc,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),F(a,c).mergeAll()},$c=function(a){function b(b){this.source=b,a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){var b=new Mb,c=new Tb;return b.add(c),c.setDisposable(this.source.subscribe(new _c(a,b))),b},b}(zc),_c=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new Tb;this.g.add(c),La(a)&&(a=Ac(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();sc.mergeAll=sc.mergeObservable=function(){return new $c(this)};var ad=Ea.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};ad.prototype=Error.prototype,yc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=F(null,a);return new zd(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new ad(g))}var c=new Mb,e=new Tb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new Tb;c.add(e),La(d)&&(d=Ac(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},sc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return bd([this,a])};var bd=yc.onErrorResumeNext=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new zd(function(b){var c=0,d=new Ub,e=bc.scheduleRecursive(function(e){var f,g;cc;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new zd(function(a){for(var c=function(){return!1},f=b.length,g=n(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new Tb;La(d)&&(d=Ac(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(Ga)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new Tb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new Mb(j)},this)},sc.zip=function(){if(Array.isArray(arguments[0]))return J.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new zd(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(Ga)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=n(g,L),i=n(g,K),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new Tb;La(e)&&(e=Ac(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new Mb(j)},d)},yc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},yc.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new zd(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(Ga))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(Ga)?void b.onCompleted():void 0}for(var e=a.length,f=n(e,function(){return[]}),g=n(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new Tb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new Mb(h)})},sc.asObservable=function(){var a=this;return new zd(function(b){return a.subscribe(b)},this)},sc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},sc.dematerialize=function(){var a=this;return new zd(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},sc.distinctUntilChanged=function(a,b){var c=this;return b||(b=Ia),new zd(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},sc["do"]=sc.tap=sc.doAction=function(a,b,c){var d=this;return new zd(function(e){var f=!a||Na(a)?rc(a||Fa,b||Fa,c||Fa):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},sc.doOnNext=sc.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},sc.doOnError=sc.tapOnError=function(a,b){return this.tap(Fa,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},sc.doOnCompleted=sc.tapOnCompleted=function(a,b){return this.tap(Fa,null,"undefined"!=typeof b?function(){a.call(b)}:a)},sc["finally"]=sc.ensure=function(a){var b=this;return new zd(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return Pb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},sc.finallyAction=function(a){return this.ensure(a)},sc.ignoreElements=function(){var a=this;return new zd(function(b){return a.subscribe(Fa,function(a){b.onError(a)},function(){b.onCompleted()})},a)},sc.materialize=function(){var a=this;return new zd(function(b){return a.subscribe(function(a){b.onNext(jc(a))},function(a){b.onNext(kc(a)),b.onCompleted()},function(){b.onNext(lc()),b.onCompleted()})},a)},sc.repeat=function(a){return oc(this,a).concat()},sc.retry=function(a){return oc(this,a).catchError()},sc.retryWhen=function(a){return oc(this).catchErrorWhen(a)},sc.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 zd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},sc.skipLast=function(a){if(0>a)throw new Va;var b=this;return new zd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},sc.startWith=function(){var a,b=0;arguments.length&&Zb(arguments[0])?(a=arguments[0],b=1):a=bc;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return pc([Kc(c,a),this]).concat()},sc.takeLast=function(a){if(0>a)throw new Va;var b=this;return new zd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},sc.takeLastBuffer=function(a){var b=this;return new zd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){c.onNext(d),c.onCompleted()})},b)},sc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),Math.abs(a)===1/0&&(a=0),0>=a)throw new Va;if(null==b&&(b=a),+b||(b=0),Math.abs(b)===1/0&&(b=0),0>=b)throw new Va;return new zd(function(d){function e(){var a=new Cd;i.push(a),d.onNext(Gb(a,g))}var f=new Tb,g=new Vb(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},sc.selectConcat=sc.concatMap=function(a,b,c){return Na(a)&&Na(b)?this.concatMap(function(c,d){var e=a(c,d);return La(e)&&(e=Ac(e)),(bb(e)||ab(e))&&(e=Ic(e)),e.map(function(a,e){return b(c,a,d,e)})}):Na(a)?M(this,a,c):M(this,function(){return a})},sc.concatMapObserver=sc.selectConcatObserver=function(a,b,c,d){var e=this,f=db(a,d,2),g=db(b,d,1),h=db(c,d,0);return new zd(function(a){var b=0;return e.subscribe(function(c){var d;try{d=f(c,b++)}catch(e){return void a.onError(e)}La(d)&&(d=Ac(d)),a.onNext(d)},function(b){var c;try{c=g(b)}catch(d){return void a.onError(d)}La(c)&&(c=Ac(c)),a.onNext(c),a.onCompleted()},function(){var b;try{b=h()}catch(c){return void a.onError(c)}La(b)&&(b=Ac(b)),a.onNext(b),a.onCompleted()})},this).concatAll()},sc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new zd(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},function(b){a.onError(b)},function(){!d&&a.onNext(b),a.onCompleted()})},c)},O.prototype.push=function(a){var b=-1===N(this.set,a,this.comparer);return b&&this.set.push(a),b},sc.distinct=function(a,b){var c=this;return b||(b=Ia),new zd(function(d){var e=new O(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},function(a){d.onError(a)},function(){d.onCompleted()})},this)},sc.groupBy=function(a,b,c){return this.groupByUntil(a,b,Mc,c)},sc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=Ga),d||(d=Ia),new zd(function(f){function g(a){return function(b){b.onError(a)}}var h=new td(0,d),i=new Mb,j=new Vb(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new Cd,h.set(e,m),l=!0),l){var n=new Bd(e,m,j),o=new Bd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new Tb;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(Fa,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)};var cd=function(a){function b(b,c,d){this.source=b,this.selector=db(c,d,3),a.call(this)}return Eb(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new P(a,this.selector,this))},b}(zc);P.prototype.onNext=function(a){if(!this.isStopped){var b=p(this.selector).call(this,a,this.i++,this.source);return b===Hb?this.observer.onError(b.e):void this.observer.onNext(b)}},P.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},P.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},P.prototype.dispose=function(){this.isStopped=!0},P.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},sc.map=sc.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof cd?this.internalMap(c,b):new cd(this,c,b)},sc.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},sc.selectMany=sc.flatMap=function(a,b,c){return Na(a)&&Na(b)?this.flatMap(function(c,d){var e=a(c,d);return La(e)&&(e=Ac(e)),(bb(e)||ab(e))&&(e=Ic(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Na(a)?Q(this,a,c):Q(this,function(){return a})},sc.flatMapObserver=sc.selectManyObserver=function(a,b,c,d){var e=this;return new zd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}La(c)&&(c=Ac(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e); -}La(c)&&(c=Ac(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}La(a)&&(a=Ac(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},sc.selectSwitch=sc.flatMapLatest=sc.switchMap=function(a,b){return this.select(a,b).switchLatest()},sc.skip=function(a){if(0>a)throw new Va;var b=this;return new zd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},sc.skipWhile=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},sc.take=function(a,b){if(0>a)throw new Va;if(0===a)return Ec(b);var c=this;return new zd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},sc.takeWhile=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var dd=function(a){function b(b,c,d){this.source=b,this.predicate=db(c,d,3),a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new R(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(zc);R.prototype.onNext=function(a){if(!this.isStopped){var b=p(this.predicate).call(this,a,this.i++,this.source);return b===Hb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},R.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},R.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},R.prototype.dispose=function(){this.isStopped=!0},R.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},sc.filter=sc.where=function(a,b){return this instanceof dd?this.internalFilter(a,b):new dd(this,a,b)},sc.aggregate=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,b=arguments[0],a=arguments[1]):a=arguments[0],new zd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Ta),e.onCompleted()})},d)},sc.reduce=function(a){var b,c=!1,d=this;return 2===arguments.length&&(c=!0,b=arguments[1]),new zd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Ta),e.onCompleted()})},d)},sc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new zd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},function(b){a.onError(b)},function(){a.onNext(!1),a.onCompleted()})},c)},sc.any=function(){return this.some.apply(this,arguments)},sc.isEmpty=function(){return this.any().map(Ma)},sc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Ma)},sc.all=function(){return this.every.apply(this,arguments)},sc.includes=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new zd(function(e){var f=0,g=+b||0;return Math.abs(g)===1/0&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),Qb):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},function(a){e.onError(a)},function(){e.onNext(!1),e.onCompleted()})},this)},sc.contains=function(a,b){sc.includes(a,b)},sc.count=function(a,b){return a?this.filter(a,b).count():this.reduce(function(a){return a+1},0)},sc.indexOf=function(a,b){var c=this;return new zd(function(d){var e=0,f=+b||0;return Math.abs(f)===1/0&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),Qb):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},function(a){d.onError(a)},function(){d.onNext(-1),d.onCompleted()})},c)},sc.sum=function(a,b){return a&&Na(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},sc.minBy=function(a,b){return b||(b=Ja),S(this,a,function(a,c){return-1*b(a,c)})},sc.min=function(a){return this.minBy(Ga,a).map(function(a){return T(a)})},sc.maxBy=function(a,b){return b||(b=Ja),S(this,a,b)},sc.max=function(a){return this.maxBy(Ga,a).map(function(a){return T(a)})},sc.average=function(a,b){return a&&Na(a)?this.map(a,b).average():this.reduce(function(a,b){return{sum:a.sum+b,count:a.count+1}},{sum:0,count:0}).map(function(a){if(0===a.count)throw new Ta;return a.sum/a.count})},sc.sequenceEqual=function(a,b){var c=this;return b||(b=Ia),new zd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(bb(a)||ab(a))&&(a=Ic(a)),La(a)&&(a=Ac(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new Mb(i,j)},c)},sc.elementAt=function(a){return U(this,a,!1)},sc.elementAtOrDefault=function(a,b){return U(this,a,!0,b)},sc.single=function(a,b){return a&&Na(a)?this.where(a,b).single():V(this,!1)},sc.singleOrDefault=function(a,b,c){return a&&Na(a)?this.filter(a,c).singleOrDefault(null,b):V(this,!0,b)},sc.first=function(a,b){return a?this.where(a,b).first():W(this,!1)},sc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):W(this,!0,b)},sc.last=function(a,b){return a?this.where(a,b).last():X(this,!1)},sc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):X(this,!0,b)},sc.find=function(a,b){return Y(this,a,b,!1)},sc.findIndex=function(a,b){return Y(this,a,b,!0)},sc.toSet=function(){if("undefined"==typeof za.Set)throw new TypeError;var a=this;return new zd(function(b){var c=new za.Set;return a.subscribe(function(a){c.add(a)},function(a){b.onError(a)},function(){b.onNext(c),b.onCompleted()})},a)},sc.toMap=function(a,b){if("undefined"==typeof za.Map)throw new TypeError;var c=this;return new zd(function(d){var e=new za.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},function(a){d.onError(a)},function(){d.onNext(e),d.onCompleted()})},c)};var ed="function",fd="throw",zb=Ea.internals.isObject,gd=Ea.spawn=function(a){var b=ca(a);return function(c){function d(a,b){gc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2)for(var b=[],h=1,i=arguments.length;i>h;h++)b.push(arguments[h]);if(a)try{c=g[fd](a)}catch(j){return d(j)}if(!a)try{c=g.next(b)}catch(j){return d(j)}if(c.done)return d(null,c.value);if(c.value=Z(c.value,f),typeof c.value!==ed)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var k=!1;try{c.value.call(f,function(){k||(k=!0,e.apply(f,arguments))})}catch(j){gc.schedule(function(){k||(k=!0,e.call(f,j))})}}}var f=this,g=a;if(b){for(var h=[],i=0,j=arguments.length;j>i;i++)h.push(arguments[i]);var j=h.length,k=j&&typeof h[j-1]===ed;c=k?h.pop():ea,g=a.apply(this,h)}else c=c||ea;e()}};yc.start=function(a,b,c){return hd(a,b,c)()};var hd=yc.toAsync=function(a,b,c){return Zb(c)||(c=gc),function(){var d=arguments,e=new Dd;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};yc.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new zd(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},yc.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new zd(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ea.config.useNativeEvents=!1,yc.fromEvent=function(a,b,c){return a.addListener?id(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Ea.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new zd(function(d){return ha(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():id(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var id=yc.fromEventPattern=function(a,b,c){return new zd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return Pb(function(){b&&b(e,f)})}).publish().refCount()};yc.startAsync=function(a){var b;try{b=a()}catch(c){return Tc(c)}return Ac(b)};var jd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=Qb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=Qb)});return new Mb(c,d,e)}function c(c,d){this.source=c,this.controller=new Cd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return Eb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(yc);sc.pausable=function(a){return new jd(this,a)};var kd=function(b){function c(b){var c,d=[],e=ia(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Cd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return Eb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(yc);sc.pausableBuffered=function(a){return new kd(this,a)};var ld=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new md(d),this.source=c.multicast(this.subject).refCount()}return Eb(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(yc),md=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Cd,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=Qb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return Eb(c,a),Fb(c.prototype,qc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Ea.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Ea.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Ea.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?Qb:(this.requestedCount=a,this.requestedDisposable=Pb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=Qb}}),c}(yc);sc.controlled=function(a){return null==a&&(a=!0),new ld(this,a)};var nd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return gc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}Eb(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}Eb(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;gc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(tc);return c}(yc);ld.prototype.stopAndWait=function(){return new nd(this)};var od=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return gc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}Eb(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}Eb(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;gc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(tc);return c}(yc);ld.prototype.windowed=function(a){return new od(this,a)},sc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},sc.multicast=function(a,b){var c=this;return"function"==typeof a?new zd(function(d){var e=c.multicast(a());return new Mb(b(e).subscribe(d),e.connect())},c):new sd(c,a)},sc.publish=function(a){return a&&Na(a)?this.multicast(function(){return new Cd},a):this.multicast(new Cd)},sc.share=function(){return this.publish().refCount()},sc.publishLast=function(a){return a&&Na(a)?this.multicast(function(){return new Dd},a):this.multicast(new Dd)},sc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new qd(b)},a):this.multicast(new qd(a))},sc.shareValue=function(a){return this.publishValue(a).refCount()},sc.replay=function(a,b,c,d){return a&&Na(a)?this.multicast(function(){return new rd(b,c,d)},a):this.multicast(new rd(b,c,d))},sc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var pd=function(a,b){this.subject=a,this.observer=b};pd.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 qd=Ea.BehaviorSubject=function(a){function c(a){return Sb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),Qb):(this.observers.push(a),a.onNext(this.value),new pd(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc,{getValue:function(){if(Sb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Sb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(yc),rd=Ea.ReplaySubject=function(a){function c(a,b){return Pb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new wc(this.scheduler,a),d=c(this,b);Sb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||cc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return Eb(e,a),Fb(e.prototype,qc.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(Sb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(yc),sd=Ea.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new Mb(f.subscribe(c),Pb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return Eb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new zd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(yc),td=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c=a)return d;for(e=1|a;ec;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Va;a>0&&this._initialize(a),this.comparer=b||Ia,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof c)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;ee;++e)d[e]=f();for(var g=0;g=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();sc.join=function(a,b,c,d){var e=this;return new zd(function(f){var g=new Mb,h=!1,i=!1,j=0,k=0,l=new td,m=new td;return g.add(e.subscribe(function(a){var c=j++,e=new Tb;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(Fa,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new Tb;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(Fa,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},sc.groupJoin=function(a,b,c,d){var e=this;return new zd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Mb,i=new Vb(h),j=new td,k=new td,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Cd,e=l++;j.add(e,c);var m;try{m=d(a,Gb(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new Tb;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(Fa,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new Tb;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(Fa,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},sc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},sc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ka.call(this,a):"function"==typeof a?la.call(this,a):ja.call(this,a,b)},sc.pairwise=function(){var a=this;return new zd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},sc.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},sc.letBind=sc.let=function(a){return a(this)},yc["if"]=yc.ifThen=function(a,b,c){return Cc(function(){return c||(c=Ec()),La(b)&&(b=Ac(b)),La(c)&&(c=Ac(c)),"function"==typeof c.now&&(c=Ec(c)),a()?b:c})},yc["for"]=yc.forIn=function(a,b,c){return pc(a,b,c).concat()};var ud=yc["while"]=yc.whileDo=function(a,b){return La(b)&&(b=Ac(b)),ma(a,b).concat()};sc.doWhile=function(a){return Wc([this,ud(a,this)])},yc["case"]=yc.switchCase=function(a,b,c){return Cc(function(){La(c)&&(c=Ac(c)),c||(c=Ec()),"function"==typeof c.now&&(c=Ec(c));var d=b[a()];return La(d)&&(d=Ac(d)),d||c})},sc.expand=function(a,b){Zb(b)||(b=bc);var c=this;return new zd(function(d){var e=[],f=new Ub,g=new Mb(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new Tb;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},yc.forkJoin=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new zd(function(b){var c=a.length;if(0===c)return b.onCompleted(),Qb;for(var d=new Mb,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];La(j)&&(j=Ac(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},sc.forkJoin=function(a,b){var c=this;return new zd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new Tb,l=new Tb;return La(a)&&(a=Ac(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new Mb(k,l)},c)},sc.manySelect=function(a,b){Zb(b)||(b=bc);var c=this;return Cc(function(){var d;return c.map(function(a){var b=new vd(a);return d&&d.onNext(a),d=b,b}).tap(Fa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var vd=function(a){function b(a){var b=this,c=new Mb;return c.add(cc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Dd}return Eb(c,a),Fb(c.prototype,qc,{onCompleted:function(){this.onNext(yc.empty())},onError:function(a){this.onNext(yc.throwError(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(yc),wd=za.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();na.prototype.and=function(a){return new na(this.patterns.concat(a))},na.prototype.thenDo=function(a){return new oa(this,a)},oa.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(pa(a,this.expression.patterns[f],b.onError.bind(b)));var h=new qa(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},qa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},qa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Fa,c.completed=Fa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(tc);sc.and=function(a){return new na([this,a])},sc.thenDo=function(a){return new na([this]).thenDo(a)},yc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new zd(function(b){var c=[],d=new wd,e=rc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){Tc(h).subscribe(b)}var i=new Mb;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};{var yd=yc.interval=function(a,b){return ua(a,a,Zb(b)?b:gc)};yc.timer=function(b,c,d){var e;return Zb(d)||(d=gc),c!==a&&"number"==typeof c?e=c:Zb(c)&&(d=c),b instanceof Date&&e===a?ra(b.getTime(),d):b instanceof Date&&e!==a?(e=c,sa(b.getTime(),e,d)):e===a?ta(b,d):ua(b,e,d)}}sc.delay=function(a,b){return Zb(b)||(b=gc),a instanceof Date?wa(this,a.getTime(),b):va(this,a,b)},sc.debounce=sc.throttleWithTimeout=function(a,b){Zb(b)||(b=gc);var c=this;return new zd(function(d){ -var e,f=new Ub,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new Tb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new Mb(i,f)},this)},sc.throttle=function(a,b){return this.debounce(a,b)},sc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),Zb(c)||(c=gc),"number"==typeof b?d=b:Zb(b)&&(d=a,c=b),new zd(function(b){function f(){var a=new Tb,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Cd;k.push(a),b.onNext(Gb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new Ub,m=0;return g=new Mb(l),h=new Vb(g),k.push(new Cd),b.onNext(Gb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},sc.windowWithTimeOrCount=function(a,b,c){var d=this;return Zb(c)||(c=gc),new zd(function(e){function f(b){var d=new Tb;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Cd,e.onNext(Gb(l,i)),f(a)}}))}var g=new Ub,h=new Mb(g),i=new Vb(h),j=0,k=0,l=new Cd;return e.onNext(Gb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Cd,e.onNext(Gb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},sc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},sc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},sc.timeInterval=function(a){var b=this;return Zb(a)||(a=gc),Cc(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},sc.timestamp=function(a){return Zb(a)||(a=gc),this.map(function(b){return{value:b,timestamp:a.now()}})},sc.sample=sc.throttleLatest=function(a,b){return Zb(b)||(b=gc),"number"==typeof a?xa(this,yd(a,b)):xa(this,a)},sc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=Tc(new Error(b||"Timeout"))),Zb(c)||(c=gc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(La(b)&&(b=Ac(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new Tb,j=new Ub,k=!1,l=new Ub;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new Mb(j,l)},d)},yc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return Zb(f)||(f=gc),new zd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},yc.generateWithRelativeTime=function(a,b,c,d,e,f){return Zb(f)||(f=gc),new zd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},sc.delaySubscription=function(a,b){var c=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative",d=this;return Zb(b)||(b=gc),new zd(function(e){var f=new Ub;return f.setDisposable(b[c](a,function(){f.setDisposable(d.subscribe(e))})),f},this)},sc.delayWithSelector=function(a,b){var c,d,e=this;return Na(a)?d=a:(c=a,d=b),new zd(function(a){function b(){i.setDisposable(e.subscribe(function(b){var c=p(d)(b);if(c===Hb)return a.onError(c.e);var e=new Tb;g.add(e),e.setDisposable(c.subscribe(function(){a.onNext(b),g.remove(e),f()},function(b){a.onError(b)},function(){a.onNext(b),g.remove(e),f()}))},function(b){a.onError(b)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&a.onCompleted()}var g=new Mb,h=!1,i=new Ub;return c?i.setDisposable(c.subscribe(b,function(b){a.onError(b)},b)):b(),new Mb(i,g)},this)},sc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=Mc()),c||(c=Tc(new Error("Timeout")));var d=this;return new zd(function(e){function f(a){function b(){return k===d}var d=k,f=new Tb;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new Ub,i=new Ub,j=new Tb;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(La(c)?Ac(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new Mb(h,i)},d)},sc.debounceWithSelector=function(a){var b=this;return new zd(function(c){var d,e=!1,f=new Ub,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}La(h)&&(h=Ac(h)),e=!0,d=b,g++;var j=g,k=new Tb;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 Mb(h,f)},b)},sc.throttleWithSelector=function(a){return this.debounceWithSelector(a)},sc.skipLastWithTime=function(a,b){Zb(b)||(b=gc);var c=this;return new zd(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)},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},sc.takeLastWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(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()},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},sc.takeLastBufferWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(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()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},sc.takeWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(function(d){return new Mb(b.scheduleWithRelative(a,function(){d.onCompleted()}),c.subscribe(d))},c)},sc.skipWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(function(d){var e=!1;return new Mb(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},sc.skipUntilWithTime=function(a,b){Zb(b)||(b=gc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(e){var f=!1;return new Mb(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},function(a){e.onError(a)},function(){e.onCompleted()}))},c)},sc.takeUntilWithTime=function(a,b){Zb(b)||(b=gc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(e){return new Mb(b[d](a,function(){e.onCompleted()}),c.subscribe(e))},c)},sc.throttleFirst=function(a,b){Zb(b)||(b=gc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new zd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},sc.exclusive=function(){var a=this;return new zd(function(b){var c=!1,d=!1,e=new Tb,f=new Mb;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,La(a)&&(a=Ac(a));var e=new Tb;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},sc.exclusiveMap=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!1,f=!0,g=new Tb,h=new Mb;return h.add(g),g.setDisposable(c.subscribe(function(c){e||(e=!0,innerSubscription=new Tb,h.add(innerSubscription),La(c)&&(c=Ac(c)),innerSubscription.setDisposable(c.subscribe(function(e){var f;try{f=d(e,b++,c)}catch(g){return void a.onError(g)}a.onNext(f)},function(b){a.onError(b)},function(){h.remove(innerSubscription),e=!1,f&&1===h.length&&a.onCompleted()})))},function(b){a.onError(b)},function(){f=!0,1!==h.length||e||a.onCompleted()})),h},this)},sc.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new zd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)},Ea.VirtualTimeScheduler=function(a){function b(){return this.toDateTimeOffset(this.clock)}function c(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function d(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function f(a,b){return b(),Qb}function g(f,g){this.clock=f,this.comparer=g,this.isEnabled=!1,this.queue=new Kb(1024),a.call(this,b,c,d,e)}Eb(g,a);var h=g.prototype;return h.add=Ya,h.toDateTimeOffset=Ya,h.toRelative=Ya,h.schedulePeriodicWithState=function(a,b,c){var d=new ac(this,a,b,c);return d.start()},h.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},h.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,f)},h.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},h.stop=function(){this.isEnabled=!1},h.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Va;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},h.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Va;0!==c&&this.advanceTo(b)},h.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Va;this.clock=b},h.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},h.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,f)},h.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Wb(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},g}(Xb),Ea.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ja;a.call(this,d,e)}Eb(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(Ea.VirtualTimeScheduler);var zd=Ea.AnonymousObservable=function(a){function b(a){return a&&Na(a.dispose)?a:Na(a)?Pb(a):Qb}function c(a,c){var d=c[0],e=c[1],f=p(e)(d);return f!==Hb||d.fail(Hb.e)?void d.setDisposable(b(f)):q(Hb.e)}function d(b,d){function e(a){var d=new Ad(a),e=[d,b];return cc.scheduleRequired()?cc.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return Eb(d,a),d}(yc),Ad=function(a){function b(b){a.call(this),this.observer=b,this.m=new Tb}Eb(b,a);var c=b.prototype;return c.next=function(a){var b=p(this.observer.onNext).call(this.observer,a);b===Hb&&(this.dispose(),q(b.e))},c.error=function(a){var b=p(this.observer.onError).call(this.observer,a);this.dispose(),b===Hb&&q(b.e)},c.completed=function(){var a=p(this.observer.onCompleted).call(this.observer);this.dispose(),a===Hb&&q(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(tc),Bd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new zd(function(a){return new Mb(e.getDisposable(),d.subscribe(a))}):d}return Eb(c,a),c}(yc),Cd=Ea.Subject=function(a){function c(a){return Sb(this),this.isStopped?this.hasError?(a.onError(this.error),Qb):(a.onCompleted(),Qb):(this.observers.push(a),new pd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Sb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ed(a,b)},d}(yc),Dd=Ea.AsyncSubject=function(a){function c(a){return Sb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),Qb):(this.observers.push(a),new pd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc,{hasObservers:function(){return Sb(this),this.observers.length>0},onCompleted:function(){var a,c;if(Sb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){Sb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(yc),Ed=Ea.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return Eb(c,a),Fb(c.prototype,qc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(yc);Ea.Pauser=function(a){function b(){a.call(this)}return Eb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Cd),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(za.Rx=Ea,define(function(){return Ea})):Aa&&Ba?Ca?(Ba.exports=Ea).Rx=Ea:Aa.Rx=Ea:za.Rx=Ea;var Fd=g()}).call(this); +}La(c)&&(c=Ac(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}La(a)&&(a=Ac(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},sc.selectSwitch=sc.flatMapLatest=sc.switchMap=function(a,b){return this.select(a,b).switchLatest()},sc.skip=function(a){if(0>a)throw new Va;var b=this;return new zd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},sc.skipWhile=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},sc.take=function(a,b){if(0>a)throw new Va;if(0===a)return Ec(b);var c=this;return new zd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},sc.takeWhile=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var dd=function(a){function b(b,c,d){this.source=b,this.predicate=db(c,d,3),a.call(this)}return Eb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new R(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(zc);R.prototype.onNext=function(a){if(!this.isStopped){var b=p(this.predicate).call(this,a,this.i++,this.source);return b===Hb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},R.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},R.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},R.prototype.dispose=function(){this.isStopped=!0},R.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},sc.filter=sc.where=function(a,b){return this instanceof dd?this.internalFilter(a,b):new dd(this,a,b)},sc.aggregate=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,b=arguments[0],a=arguments[1]):a=arguments[0],new zd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Ta),e.onCompleted()})},d)},sc.reduce=function(a){var b,c=!1,d=this;return 2===arguments.length&&(c=!0,b=arguments[1]),new zd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Ta),e.onCompleted()})},d)},sc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new zd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},function(b){a.onError(b)},function(){a.onNext(!1),a.onCompleted()})},c)},sc.any=function(){return this.some.apply(this,arguments)},sc.isEmpty=function(){return this.any().map(Ma)},sc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(Ma)},sc.all=function(){return this.every.apply(this,arguments)},sc.includes=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new zd(function(e){var f=0,g=+b||0;return Math.abs(g)===1/0&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),Qb):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},function(a){e.onError(a)},function(){e.onNext(!1),e.onCompleted()})},this)},sc.contains=function(a,b){sc.includes(a,b)},sc.count=function(a,b){return a?this.filter(a,b).count():this.reduce(function(a){return a+1},0)},sc.indexOf=function(a,b){var c=this;return new zd(function(d){var e=0,f=+b||0;return Math.abs(f)===1/0&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),Qb):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},function(a){d.onError(a)},function(){d.onNext(-1),d.onCompleted()})},c)},sc.sum=function(a,b){return a&&Na(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},sc.minBy=function(a,b){return b||(b=Ja),S(this,a,function(a,c){return-1*b(a,c)})},sc.min=function(a){return this.minBy(Ga,a).map(function(a){return T(a)})},sc.maxBy=function(a,b){return b||(b=Ja),S(this,a,b)},sc.max=function(a){return this.maxBy(Ga,a).map(function(a){return T(a)})},sc.average=function(a,b){return a&&Na(a)?this.map(a,b).average():this.reduce(function(a,b){return{sum:a.sum+b,count:a.count+1}},{sum:0,count:0}).map(function(a){if(0===a.count)throw new Ta;return a.sum/a.count})},sc.sequenceEqual=function(a,b){var c=this;return b||(b=Ia),new zd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(bb(a)||ab(a))&&(a=Ic(a)),La(a)&&(a=Ac(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new Mb(i,j)},c)},sc.elementAt=function(a){return U(this,a,!1)},sc.elementAtOrDefault=function(a,b){return U(this,a,!0,b)},sc.single=function(a,b){return a&&Na(a)?this.where(a,b).single():V(this,!1)},sc.singleOrDefault=function(a,b,c){return a&&Na(a)?this.filter(a,c).singleOrDefault(null,b):V(this,!0,b)},sc.first=function(a,b){return a?this.where(a,b).first():W(this,!1)},sc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):W(this,!0,b)},sc.last=function(a,b){return a?this.where(a,b).last():X(this,!1)},sc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):X(this,!0,b)},sc.find=function(a,b){return Y(this,a,b,!1)},sc.findIndex=function(a,b){return Y(this,a,b,!0)},sc.toSet=function(){if("undefined"==typeof za.Set)throw new TypeError;var a=this;return new zd(function(b){var c=new za.Set;return a.subscribe(function(a){c.add(a)},function(a){b.onError(a)},function(){b.onNext(c),b.onCompleted()})},a)},sc.toMap=function(a,b){if("undefined"==typeof za.Map)throw new TypeError;var c=this;return new zd(function(d){var e=new za.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},function(a){d.onError(a)},function(){d.onNext(e),d.onCompleted()})},c)};var ed="function",fd="throw",zb=Ea.internals.isObject,gd=Ea.spawn=function(a){var b=ca(a);return function(c){function d(a,b){gc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2)for(var b=[],h=1,i=arguments.length;i>h;h++)b.push(arguments[h]);if(a)try{c=g[fd](a)}catch(j){return d(j)}if(!a)try{c=g.next(b)}catch(j){return d(j)}if(c.done)return d(null,c.value);if(c.value=Z(c.value,f),typeof c.value!==ed)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var k=!1;try{c.value.call(f,function(){k||(k=!0,e.apply(f,arguments))})}catch(j){gc.schedule(function(){k||(k=!0,e.call(f,j))})}}}var f=this,g=a;if(b){for(var h=[],i=0,j=arguments.length;j>i;i++)h.push(arguments[i]);var j=h.length,k=j&&typeof h[j-1]===ed;c=k?h.pop():ea,g=a.apply(this,h)}else c=c||ea;e()}};yc.start=function(a,b,c){return hd(a,b,c)()};var hd=yc.toAsync=function(a,b,c){return Zb(c)||(c=gc),function(){var d=arguments,e=new Dd;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};yc.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new zd(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},yc.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new zd(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ea.config.useNativeEvents=!1,yc.fromEvent=function(a,b,c){return a.addListener?id(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Ea.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new zd(function(d){return ha(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():id(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var id=yc.fromEventPattern=function(a,b,c){return new zd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return Pb(function(){b&&b(e,f)})}).publish().refCount()};yc.startAsync=function(a){var b;try{b=a()}catch(c){return Tc(c)}return Ac(b)};var jd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=Qb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=Qb)});return new Mb(c,d,e)}function c(c,d){this.source=c,this.controller=new Cd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return Eb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(yc);sc.pausable=function(a){return new jd(this,a)};var kd=function(b){function c(b){var c,d=[],e=ia(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Cd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return Eb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(yc);sc.pausableBuffered=function(a){return new kd(this,a)};var ld=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new md(d,e),this.source=c.multicast(this.subject).refCount()}return Eb(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(yc),md=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Cd,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=Qb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||cc}return Eb(c,a),Fb(c.prototype,qc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(ic.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(ic.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(ic.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=Pb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=Qb}}),c}(yc);sc.controlled=function(a,b){return a&&Zb(a)&&(b=a,a=!0),null==a&&(a=!0),new ld(this,a,b)};var nd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return gc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}Eb(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}Eb(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;gc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(tc);return c}(yc);ld.prototype.stopAndWait=function(){return new nd(this)};var od=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return gc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}Eb(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}Eb(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;gc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(tc);return c}(yc);ld.prototype.windowed=function(a){return new od(this,a)},sc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},sc.multicast=function(a,b){var c=this;return"function"==typeof a?new zd(function(d){var e=c.multicast(a());return new Mb(b(e).subscribe(d),e.connect())},c):new sd(c,a)},sc.publish=function(a){return a&&Na(a)?this.multicast(function(){return new Cd},a):this.multicast(new Cd)},sc.share=function(){return this.publish().refCount()},sc.publishLast=function(a){return a&&Na(a)?this.multicast(function(){return new Dd},a):this.multicast(new Dd)},sc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new qd(b)},a):this.multicast(new qd(a))},sc.shareValue=function(a){return this.publishValue(a).refCount()},sc.replay=function(a,b,c,d){return a&&Na(a)?this.multicast(function(){return new rd(b,c,d)},a):this.multicast(new rd(b,c,d))},sc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var pd=function(a,b){this.subject=a,this.observer=b};pd.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 qd=Ea.BehaviorSubject=function(a){function c(a){return Sb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),Qb):(this.observers.push(a),a.onNext(this.value),new pd(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc,{getValue:function(){if(Sb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Sb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(yc),rd=Ea.ReplaySubject=function(a){function c(a,b){return Pb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new wc(this.scheduler,a),d=c(this,b);Sb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||cc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return Eb(e,a),Fb(e.prototype,qc.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(Sb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(yc),sd=Ea.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new Mb(f.subscribe(c),Pb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return Eb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new zd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(yc),td=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c=a)return d;for(e=1|a;ec;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Va;a>0&&this._initialize(a),this.comparer=b||Ia,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof c)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;ee;++e)d[e]=f();for(var g=0;g=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();sc.join=function(a,b,c,d){var e=this;return new zd(function(f){var g=new Mb,h=!1,i=!1,j=0,k=0,l=new td,m=new td;return g.add(e.subscribe(function(a){var c=j++,e=new Tb;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(Fa,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new Tb;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(Fa,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},sc.groupJoin=function(a,b,c,d){var e=this;return new zd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Mb,i=new Vb(h),j=new td,k=new td,l=0,m=0;return h.add(e.subscribe(function(a){var c=new Cd,e=l++;j.add(e,c);var m;try{m=d(a,Gb(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new Tb;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(Fa,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new Tb;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(Fa,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},sc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},sc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ka.call(this,a):"function"==typeof a?la.call(this,a):ja.call(this,a,b)},sc.pairwise=function(){var a=this;return new zd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},sc.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},sc.letBind=sc.let=function(a){return a(this)},yc["if"]=yc.ifThen=function(a,b,c){return Cc(function(){return c||(c=Ec()),La(b)&&(b=Ac(b)),La(c)&&(c=Ac(c)),"function"==typeof c.now&&(c=Ec(c)),a()?b:c})},yc["for"]=yc.forIn=function(a,b,c){return pc(a,b,c).concat()};var ud=yc["while"]=yc.whileDo=function(a,b){return La(b)&&(b=Ac(b)),ma(a,b).concat()};sc.doWhile=function(a){return Wc([this,ud(a,this)])},yc["case"]=yc.switchCase=function(a,b,c){return Cc(function(){La(c)&&(c=Ac(c)),c||(c=Ec()),"function"==typeof c.now&&(c=Ec(c));var d=b[a()];return La(d)&&(d=Ac(d)),d||c})},sc.expand=function(a,b){Zb(b)||(b=bc);var c=this;return new zd(function(d){var e=[],f=new Ub,g=new Mb(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new Tb;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},yc.forkJoin=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new zd(function(b){var c=a.length;if(0===c)return b.onCompleted(),Qb;for(var d=new Mb,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];La(j)&&(j=Ac(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},sc.forkJoin=function(a,b){var c=this;return new zd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new Tb,l=new Tb;return La(a)&&(a=Ac(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new Mb(k,l)},c)},sc.manySelect=function(a,b){Zb(b)||(b=bc);var c=this;return Cc(function(){var d;return c.map(function(a){var b=new vd(a);return d&&d.onNext(a),d=b,b}).tap(Fa,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var vd=function(a){function b(a){var b=this,c=new Mb;return c.add(cc.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Dd}return Eb(c,a),Fb(c.prototype,qc,{onCompleted:function(){this.onNext(yc.empty())},onError:function(a){this.onNext(yc.throwError(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(yc),wd=za.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();na.prototype.and=function(a){return new na(this.patterns.concat(a))},na.prototype.thenDo=function(a){return new oa(this,a)},oa.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(pa(a,this.expression.patterns[f],b.onError.bind(b)));var h=new qa(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},qa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},qa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Fa,c.completed=Fa,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(tc);sc.and=function(a){return new na([this,a])},sc.thenDo=function(a){return new na([this]).thenDo(a)},yc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new zd(function(b){var c=[],d=new wd,e=rc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){Tc(h).subscribe(b)}var i=new Mb;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};{var yd=yc.interval=function(a,b){return ua(a,a,Zb(b)?b:gc)};yc.timer=function(b,c,d){var e;return Zb(d)||(d=gc),c!==a&&"number"==typeof c?e=c:Zb(c)&&(d=c),b instanceof Date&&e===a?ra(b.getTime(),d):b instanceof Date&&e!==a?(e=c,sa(b.getTime(),e,d)):e===a?ta(b,d):ua(b,e,d)}}sc.delay=function(a,b){return Zb(b)||(b=gc),a instanceof Date?wa(this,a.getTime(),b):va(this,a,b)},sc.debounce=sc.throttleWithTimeout=function(a,b){ +Zb(b)||(b=gc);var c=this;return new zd(function(d){var e,f=new Ub,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new Tb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new Mb(i,f)},this)},sc.throttle=function(a,b){return this.debounce(a,b)},sc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),Zb(c)||(c=gc),"number"==typeof b?d=b:Zb(b)&&(d=a,c=b),new zd(function(b){function f(){var a=new Tb,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new Cd;k.push(a),b.onNext(Gb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new Ub,m=0;return g=new Mb(l),h=new Vb(g),k.push(new Cd),b.onNext(Gb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},sc.windowWithTimeOrCount=function(a,b,c){var d=this;return Zb(c)||(c=gc),new zd(function(e){function f(b){var d=new Tb;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new Cd,e.onNext(Gb(l,i)),f(a)}}))}var g=new Ub,h=new Mb(g),i=new Vb(h),j=0,k=0,l=new Cd;return e.onNext(Gb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new Cd,e.onNext(Gb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},sc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},sc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},sc.timeInterval=function(a){var b=this;return Zb(a)||(a=gc),Cc(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},sc.timestamp=function(a){return Zb(a)||(a=gc),this.map(function(b){return{value:b,timestamp:a.now()}})},sc.sample=sc.throttleLatest=function(a,b){return Zb(b)||(b=gc),"number"==typeof a?xa(this,yd(a,b)):xa(this,a)},sc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=Tc(new Error(b||"Timeout"))),Zb(c)||(c=gc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(La(b)&&(b=Ac(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new Tb,j=new Ub,k=!1,l=new Ub;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new Mb(j,l)},d)},yc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return Zb(f)||(f=gc),new zd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},yc.generateWithRelativeTime=function(a,b,c,d,e,f){return Zb(f)||(f=gc),new zd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},sc.delaySubscription=function(a,b){var c=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative",d=this;return Zb(b)||(b=gc),new zd(function(e){var f=new Ub;return f.setDisposable(b[c](a,function(){f.setDisposable(d.subscribe(e))})),f},this)},sc.delayWithSelector=function(a,b){var c,d,e=this;return Na(a)?d=a:(c=a,d=b),new zd(function(a){function b(){i.setDisposable(e.subscribe(function(b){var c=p(d)(b);if(c===Hb)return a.onError(c.e);var e=new Tb;g.add(e),e.setDisposable(c.subscribe(function(){a.onNext(b),g.remove(e),f()},function(b){a.onError(b)},function(){a.onNext(b),g.remove(e),f()}))},function(b){a.onError(b)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&a.onCompleted()}var g=new Mb,h=!1,i=new Ub;return c?i.setDisposable(c.subscribe(b,function(b){a.onError(b)},b)):b(),new Mb(i,g)},this)},sc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=Mc()),c||(c=Tc(new Error("Timeout")));var d=this;return new zd(function(e){function f(a){function b(){return k===d}var d=k,f=new Tb;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new Ub,i=new Ub,j=new Tb;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(La(c)?Ac(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new Mb(h,i)},d)},sc.debounceWithSelector=function(a){var b=this;return new zd(function(c){var d,e=!1,f=new Ub,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}La(h)&&(h=Ac(h)),e=!0,d=b,g++;var j=g,k=new Tb;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 Mb(h,f)},b)},sc.throttleWithSelector=function(a){return this.debounceWithSelector(a)},sc.skipLastWithTime=function(a,b){Zb(b)||(b=gc);var c=this;return new zd(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)},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},sc.takeLastWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(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()},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},sc.takeLastBufferWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(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()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},sc.takeWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(function(d){return new Mb(b.scheduleWithRelative(a,function(){d.onCompleted()}),c.subscribe(d))},c)},sc.skipWithTime=function(a,b){var c=this;return Zb(b)||(b=gc),new zd(function(d){var e=!1;return new Mb(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},sc.skipUntilWithTime=function(a,b){Zb(b)||(b=gc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(e){var f=!1;return new Mb(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},function(a){e.onError(a)},function(){e.onCompleted()}))},c)},sc.takeUntilWithTime=function(a,b){Zb(b)||(b=gc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new zd(function(e){return new Mb(b[d](a,function(){e.onCompleted()}),c.subscribe(e))},c)},sc.throttleFirst=function(a,b){Zb(b)||(b=gc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new zd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},sc.exclusive=function(){var a=this;return new zd(function(b){var c=!1,d=!1,e=new Tb,f=new Mb;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,La(a)&&(a=Ac(a));var e=new Tb;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},sc.exclusiveMap=function(a,b){var c=this,d=db(a,b,3);return new zd(function(a){var b=0,e=!1,f=!0,g=new Tb,h=new Mb;return h.add(g),g.setDisposable(c.subscribe(function(c){e||(e=!0,innerSubscription=new Tb,h.add(innerSubscription),La(c)&&(c=Ac(c)),innerSubscription.setDisposable(c.subscribe(function(e){var f;try{f=d(e,b++,c)}catch(g){return void a.onError(g)}a.onNext(f)},function(b){a.onError(b)},function(){h.remove(innerSubscription),e=!1,f&&1===h.length&&a.onCompleted()})))},function(b){a.onError(b)},function(){f=!0,1!==h.length||e||a.onCompleted()})),h},this)},sc.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new zd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)},Ea.VirtualTimeScheduler=function(a){function b(){return this.toDateTimeOffset(this.clock)}function c(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function d(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function f(a,b){return b(),Qb}function g(f,g){this.clock=f,this.comparer=g,this.isEnabled=!1,this.queue=new Kb(1024),a.call(this,b,c,d,e)}Eb(g,a);var h=g.prototype;return h.add=Ya,h.toDateTimeOffset=Ya,h.toRelative=Ya,h.schedulePeriodicWithState=function(a,b,c){var d=new ac(this,a,b,c);return d.start()},h.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},h.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,f)},h.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},h.stop=function(){this.isEnabled=!1},h.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Va;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},h.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Va;0!==c&&this.advanceTo(b)},h.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Va;this.clock=b},h.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},h.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,f)},h.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Wb(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},g}(Xb),Ea.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ja;a.call(this,d,e)}Eb(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(Ea.VirtualTimeScheduler);var zd=Ea.AnonymousObservable=function(a){function b(a){return a&&Na(a.dispose)?a:Na(a)?Pb(a):Qb}function c(a,c){var d=c[0],e=c[1],f=p(e)(d);return f!==Hb||d.fail(Hb.e)?void d.setDisposable(b(f)):q(Hb.e)}function d(b,d){function e(a){var d=new Ad(a),e=[d,b];return cc.scheduleRequired()?cc.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return Eb(d,a),d}(yc),Ad=function(a){function b(b){a.call(this),this.observer=b,this.m=new Tb}Eb(b,a);var c=b.prototype;return c.next=function(a){var b=p(this.observer.onNext).call(this.observer,a);b===Hb&&(this.dispose(),q(b.e))},c.error=function(a){var b=p(this.observer.onError).call(this.observer,a);this.dispose(),b===Hb&&q(b.e)},c.completed=function(){var a=p(this.observer.onCompleted).call(this.observer);this.dispose(),a===Hb&&q(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(tc),Bd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new zd(function(a){return new Mb(e.getDisposable(),d.subscribe(a))}):d}return Eb(c,a),c}(yc),Cd=Ea.Subject=function(a){function c(a){return Sb(this),this.isStopped?this.hasError?(a.onError(this.error),Qb):(a.onCompleted(),Qb):(this.observers.push(a),new pd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Sb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Sb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ed(a,b)},d}(yc),Dd=Ea.AsyncSubject=function(a){function c(a){return Sb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),Qb):(this.observers.push(a),new pd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Eb(d,a),Fb(d.prototype,qc,{hasObservers:function(){return Sb(this),this.observers.length>0},onCompleted:function(){var a,c;if(Sb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(Sb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){Sb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(yc),Ed=Ea.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return Eb(c,a),Fb(c.prototype,qc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(yc);Ea.Pauser=function(a){function b(){a.call(this)}return Eb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Cd),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(za.Rx=Ea,define(function(){return Ea})):Aa&&Ba?Ca?(Ba.exports=Ea).Rx=Ea:Aa.Rx=Ea:za.Rx=Ea;var Fd=g()}).call(this); //# sourceMappingURL=rx.all.compat.map \ No newline at end of file diff --git a/dist/rx.all.js b/dist/rx.all.js index 55acb2abf..d165c8833 100644 --- a/dist/rx.all.js +++ b/dist/rx.all.js @@ -6481,15 +6481,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -6504,7 +6503,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -6516,29 +6515,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -6551,37 +6553,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -6597,12 +6597,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; var StopAndWaitObservable = (function (__super__) { diff --git a/dist/rx.all.map b/dist/rx.all.map index a96ac95b0..aae928567 100644 --- a/dist/rx.all.map +++ b/dist/rx.all.map @@ -1 +1 @@ -{"version":3,"file":"rx.all.min.js","sources":["rx.all.js"],"names":["undefined","cloneArray","arr","a","i","len","length","push","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","arrayInitialize","count","factory","Array","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","ToArrayObserver","observer","isStopped","StringIterable","_s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","MapObserver","flatMap","mergeAll","FilterObserver","predicate","extremaBy","keySelector","hasValue","lastKey","list","comparison","ex1","firstOnly","EmptyError","elementAtOrDefault","hasDefault","defaultValue","ArgumentOutOfRangeError","singleOrDefaultAsync","seenValue","firstOrDefaultAsync","lastOrDefaultAsync","findValue","yieldIndex","shouldRun","toThunk","obj","ctx","isArray","objectToThunk","isGeneratorFunction","observableSpawn","isGenerator","isObservable","observableToThunk","promiseToThunk","fnString","done","run","finished","results","pending","err","res","keys","timeoutScheduler","schedule","v","promise","then","name","next","throwString","handleError","createListener","element","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","combineLatestSource","subject","values","hasValueAll","every","identity","isDone","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","r","RefCountDisposable","addRef","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","m","take","noop","enumerableWhile","condition","Enumerable","Enumerator","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","atEnd","newValue","bind","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","not","asArray","isFn","longStackSupport","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","sources","idx","ln","prop","xs","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isDisposable","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","current","old","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","scheduleWithState","ScheduledItem","state","invoke","invokeCore","isCancelled","Scheduler","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeout","__super__","_wrap","_handler","_recursiveOriginal","_recursiveWrapper","_clone","_getRecursiveWrapper","wrapper","failed","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","_next","_iterator","concat","currentItem","currentValue","lastException","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","toNotifier","n","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","cancel","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","observeOn","subscribeOn","fromPromise","AsyncSubject","toPromise","promiseCtor","resolve","reject","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","sink","FromObservable","iterable","mapper","FromSink","loopRecursive","pow","charAt","from","mapFn","observableFromArray","fromArray","generate","initialState","iterate","hasResult","ofWithScheduler","ofArrayChanges","observe","unobserve","observerFn","changes","ofObjectChanges","NeverObservable","observableNever","never","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","using","resourceFactory","resource","amb","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","previous","acc","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","onErrorResumeNext","pos","skipUntil","isOpen","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","bufferWithCount","skip","windowWithCount","selectMany","where","dematerialize","distinctUntilChanged","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","takeLastBuffer","createWindow","refCountDisposable","selectConcat","selectorResult","i2","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","defaultIfEmpty","found","retValue","distinct","hashSet","groupBy","elementSelector","groupByUntil","durationSelector","Dictionary","groupDisposable","getValues","fireNewMapEntry","writer","tryGetValue","GroupedObservable","durationGroup","duration","md","expire","MapObservable","internalMap","select","currentProp","flatMapObserver","selectManyObserver","selectSwitch","flatMapLatest","switchMap","remaining","skipWhile","takeWhile","FilterObservable","internalFilter","shouldYield","aggregate","reduce","some","any","isEmpty","all","includes","searchElement","fromIndex","contains","sum","prev","curr","minBy","min","maxBy","average","cur","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","elementAt","single","singleOrDefault","firstOrDefault","last","lastOrDefault","find","findIndex","toSet","toMap","spawn","isGenFun","exit","ret","gen","called","hasCallback","context","observableToAsync","toAsync","fromCallback","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","startAsync","functionAsync","PausableObservable","conn","connection","pausable","pauser","connect","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","stopAndWaitObserverProto","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed","pipe","dest","onDrain","write","emit","_isStdio","end","subjectOrSubjectSelector","connectable","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","hasError","getValue","hasObservers","os","createRemovableDisposable","so","_trim","interval","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","isPrime","candidate","num1","sqrt","num2","getPrime","num","primes","stringHashFn","str","hash","character","charCodeAt","numberHashFn","c2","newEntry","hashCode","_initialize","freeCount","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","dictionaryProto","prime","buckets","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","clear","_findEntry","containskey","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","buffer","windowOpeningsOrClosingSelector","pairwise","hasPrevious","partition","letBind","ifThen","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","switchCase","defaultSourceOrScheduler","expand","forkJoin","allSources","hasResults","ix","lastLeft","lastRight","leftStopped","rightStopped","hasLeft","hasRight","manySelect","chain","ChainObservable","head","tail","_keys","_values","and","thenDo","activate","deactivate","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","observableinterval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","windowWithTime","timeShiftOrScheduler","timeShift","createTimer","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","timeInterval","span","sample","throttleLatest","intervalOrSampler","schedulerMethod","myId","original","switched","generateWithAbsoluteTime","timeSelector","generateWithRelativeTime","delaySubscription","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","delays","timeoutWithSelector","firstTimeout","timeoutdurationSelector","setTimer","timerWins","observerWins","debounceWithSelector","currentid","throttleWithSelector","skipLastWithTime","takeLastWithTime","takeLastBufferWithTime","takeWithTime","skipWithTime","open","skipUntilWithTime","startTime","takeUntilWithTime","endTime","throttleFirst","windowDuration","RangeError","lastOnNext","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","exclusive","hasCurrent","exclusiveMap","VirtualTimeScheduler","localNow","toDateTimeOffset","clock","scheduleAbsoluteWithState","scheduleRelativeWithState","toRelative","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","AutoDetachObserverPrototype","underlyingObservable","mergedDisposable","AnonymousSubject","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.all.min.js","sources":["rx.all.js"],"names":["undefined","cloneArray","arr","a","i","len","length","push","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","arrayInitialize","count","factory","Array","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","IndexedItem","id","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","ToArrayObserver","observer","isStopped","StringIterable","_s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","arrayIndexOfComparer","item","comparer","HashSet","set","MapObserver","flatMap","mergeAll","FilterObserver","predicate","extremaBy","keySelector","hasValue","lastKey","list","comparison","ex1","firstOnly","EmptyError","elementAtOrDefault","hasDefault","defaultValue","ArgumentOutOfRangeError","singleOrDefaultAsync","seenValue","firstOrDefaultAsync","lastOrDefaultAsync","findValue","yieldIndex","shouldRun","toThunk","obj","ctx","isArray","objectToThunk","isGeneratorFunction","observableSpawn","isGenerator","isObservable","observableToThunk","promiseToThunk","fnString","done","run","finished","results","pending","err","res","keys","timeoutScheduler","schedule","v","promise","then","name","next","throwString","handleError","createListener","element","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","combineLatestSource","subject","values","hasValueAll","every","identity","isDone","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","observableEmpty","_","win","observableWindowWithBoundaries","windowBoundaries","Subject","r","RefCountDisposable","addRef","observableWindowWithClosingSelector","createWindowClose","windowClose","m1","m","take","noop","enumerableWhile","condition","Enumerable","Enumerator","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","get","JoinObserver","ActivePlan","joinObserverArray","joinObservers","Map","joinObserver","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","atEnd","newValue","bind","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","not","asArray","isFn","longStackSupport","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","sources","idx","ln","prop","xs","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isDisposable","CompositeDisposablePrototype","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","current","old","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","scheduleWithState","ScheduledItem","state","invoke","invokeCore","isCancelled","Scheduler","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","catchError","CatchScheduler","scheduleMethod","clearMethod","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeout","__super__","_wrap","_handler","_recursiveOriginal","_recursiveWrapper","_clone","_getRecursiveWrapper","wrapper","failed","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","_next","_iterator","concat","currentItem","currentValue","lastException","catchErrorWhen","notificationHandler","exceptions","notifier","handled","notificationDisposable","outer","inner","exn","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","toNotifier","n","asObserver","AnonymousObserver","checked","CheckedObserver","observerCreate","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","observableProto","AbstractObserver","completed","fail","_observer","CheckedObserverPrototype","checkAccess","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","cancel","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","observeOn","subscribeOn","fromPromise","AsyncSubject","toPromise","promiseCtor","resolve","reject","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","sink","FromObservable","iterable","mapper","FromSink","loopRecursive","pow","charAt","from","mapFn","observableFromArray","fromArray","generate","initialState","iterate","hasResult","ofWithScheduler","ofArrayChanges","observe","unobserve","observerFn","changes","ofObjectChanges","NeverObservable","observableNever","never","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","using","resourceFactory","resource","amb","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","previous","acc","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","onErrorResumeNext","pos","skipUntil","isOpen","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","bufferWithCount","skip","windowWithCount","selectMany","where","dematerialize","distinctUntilChanged","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","takeLastBuffer","createWindow","refCountDisposable","selectConcat","selectorResult","i2","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","defaultIfEmpty","found","retValue","distinct","hashSet","groupBy","elementSelector","groupByUntil","durationSelector","Dictionary","groupDisposable","getValues","fireNewMapEntry","writer","tryGetValue","GroupedObservable","durationGroup","duration","md","expire","MapObservable","internalMap","select","currentProp","flatMapObserver","selectManyObserver","selectSwitch","flatMapLatest","switchMap","remaining","skipWhile","takeWhile","FilterObservable","internalFilter","shouldYield","aggregate","reduce","some","any","isEmpty","all","includes","searchElement","fromIndex","contains","sum","prev","curr","minBy","min","maxBy","average","cur","sequenceEqual","donel","doner","ql","qr","subscription1","equal","subscription2","elementAt","single","singleOrDefault","firstOrDefault","last","lastOrDefault","find","findIndex","toSet","toMap","spawn","isGenFun","exit","ret","gen","called","hasCallback","context","observableToAsync","toAsync","fromCallback","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","startAsync","functionAsync","PausableObservable","conn","connection","pausable","pauser","connect","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","StopAndWaitObservable","StopAndWaitObserver","__sub__","stopAndWaitObserverProto","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed","pipe","dest","onDrain","write","emit","_isStdio","end","subjectOrSubjectSelector","connectable","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","hasError","getValue","hasObservers","os","createRemovableDisposable","so","_trim","interval","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","isPrime","candidate","num1","sqrt","num2","getPrime","num","primes","stringHashFn","str","hash","character","charCodeAt","numberHashFn","c2","newEntry","hashCode","_initialize","freeCount","freeList","noSuchkey","duplicatekey","getHashCode","uniqueIdCounter","dictionaryProto","prime","buckets","entries","_insert","index3","index1","index2","_resize","numArray","entryArray","clear","_findEntry","containskey","leftDurationSelector","rightDurationSelector","leftDone","rightDone","leftId","rightId","leftMap","rightMap","buffer","windowOpeningsOrClosingSelector","pairwise","hasPrevious","partition","letBind","ifThen","thenSource","elseSourceOrScheduler","forIn","observableWhileDo","whileDo","doWhile","switchCase","defaultSourceOrScheduler","expand","forkJoin","allSources","hasResults","ix","lastLeft","lastRight","leftStopped","rightStopped","hasLeft","hasRight","manySelect","chain","ChainObservable","head","tail","_keys","_values","and","thenDo","activate","deactivate","activePlan","jlen","removeActivePlan","addActivePlan","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","when","plans","outObserver","observableinterval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","windowWithTime","timeShiftOrScheduler","timeShift","createTimer","isSpan","isShift","timerD","nextSpan","nextShift","newTotalTime","ts","totalTime","windowWithTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferWithTimeOrCount","timeInterval","span","sample","throttleLatest","intervalOrSampler","schedulerMethod","myId","original","switched","generateWithAbsoluteTime","timeSelector","generateWithRelativeTime","delaySubscription","delayWithSelector","subscriptionDelay","delayDurationSelector","subDelay","delays","timeoutWithSelector","firstTimeout","timeoutdurationSelector","setTimer","timerWins","observerWins","debounceWithSelector","currentid","throttleWithSelector","skipLastWithTime","takeLastWithTime","takeLastBufferWithTime","takeWithTime","skipWithTime","open","skipUntilWithTime","startTime","takeUntilWithTime","endTime","throttleFirst","windowDuration","RangeError","lastOnNext","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","exclusive","hasCurrent","exclusiveMap","VirtualTimeScheduler","localNow","toDateTimeOffset","clock","scheduleAbsoluteWithState","scheduleRelativeWithState","toRelative","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","absolute","relative","AutoDetachObserverPrototype","underlyingObservable","mergedDisposable","AnonymousSubject","Pauser","define","amd"],"mappings":";CAEE,SAAUA,GA2DV,QAASC,GAAWC,GAAO,IAAI,GAAIC,MAAQC,EAAI,EAAGC,EAAMH,EAAII,OAAYD,EAAJD,EAASA,IAAOD,EAAEI,KAAKL,EAAIE,GAAO,OAAOD,GAe7G,QAASK,GAAmBC,EAAOC,GAG/B,GAAIC,IACAD,EAAWE,OACM,gBAAVH,IACG,OAAVA,GACAA,EAAMG,OACwC,KAA9CH,EAAMG,MAAMC,QAAQC,IACtB,CAEA,IAAK,GADDC,MACKC,EAAIN,EAAcM,EAAGA,EAAIA,EAAEC,OAC9BD,EAAEJ,OACJG,EAAOG,QAAQF,EAAEJ,MAGrBG,GAAOG,QAAQT,EAAMG,MAErB,IAAIO,GAAiBJ,EAAOK,KAAK,KAAON,GAAuB,KAC/DL,GAAMG,MAAQS,EAAkBF,IAItC,QAASE,GAAkBC,GAGzB,IAAK,GAFDC,GAAQD,EAAYE,MAAM,MAC1BC,KACKrB,EAAI,EAAGC,EAAMkB,EAAMjB,OAAYD,EAAJD,EAASA,IAAK,CAChD,GAAIsB,GAAOH,EAAMnB,EAEZuB,GAAgBD,IAAUE,EAAYF,KAASA,GAClDD,EAAalB,KAAKmB,GAGtB,MAAOD,GAAaL,KAAK,MAG3B,QAASO,GAAgBE,GACvB,GAAIC,GAAwBC,EAAyBF,EACrD,KAAKC,EACH,OAAO,CAET,IAAIE,GAAWF,EAAsB,GAAIG,EAAaH,EAAsB,EAE5E,OAAOE,KAAaE,IAClBD,GAAcE,IACAC,IAAdH,EAGJ,QAASL,GAAYC,GACnB,MAA4C,KAArCA,EAAUhB,QAAQ,gBACY,KAAnCgB,EAAUhB,QAAQ,aAGtB,QAASwB,KACP,GAAK1B,GAEL,IACE,KAAM,IAAI2B,OACV,MAAOC,GACP,GAAIhB,GAAQgB,EAAE3B,MAAMY,MAAM,MACtBgB,EAAYjB,EAAM,GAAGV,QAAQ,KAAO,EAAIU,EAAM,GAAKA,EAAM,GACzDO,EAAwBC,EAAyBS,EACrD,KAAKV,EAAyB,MAG9B,OADAI,IAAYJ,EAAsB,GAC3BA,EAAsB,IAIjC,QAASC,GAAyBF,GAEhC,GAAIY,GAAW,gCAAgCC,KAAKb,EACpD,IAAIY,EAAY,OAAQA,EAAS,GAAIE,OAAOF,EAAS,IAGrD,IAAIG,GAAW,4BAA4BF,KAAKb,EAChD,IAAIe,EAAY,OAAQA,EAAS,GAAID,OAAOC,EAAS,IAGrD,IAAIC,GAAW,iBAAiBH,KAAKb,EACrC,OAAIgB,IAAoBA,EAAS,GAAIF,OAAOE,EAAS,KAArD,OA6JF,QAASC,GAAOC,GACd,GAAIC,KACJ,KAAKC,GAASF,GACZ,MAAOC,EAELE,IAAQC,aAAeJ,EAAOzC,QAAU8C,GAAYL,KACtDA,EAASM,GAAMC,KAAKP,GAEtB,IAAIQ,GAAYL,GAAQM,gBAAmC,kBAAVT,GAC7CU,EAAiBP,GAAQQ,iBAAmBX,IAAWY,IAAcZ,YAAkBT,OAE3F,KAAK,GAAIsB,KAAOb,GACRQ,GAAoB,aAAPK,GACbH,IAA0B,WAAPG,GAA2B,QAAPA,IAC3CZ,EAAOzC,KAAKqD,EAIhB,IAAIV,GAAQW,gBAAkBd,IAAWe,GAAa,CACpD,GAAIC,GAAOhB,EAAOiB,YACdC,EAAQ,GACR3D,EAAS4D,EAEb,IAAInB,KAAYgB,GAAQA,EAAKI,WAC3B,GAAIC,GAAYrB,IAAWsB,GAAcC,GAAcvB,IAAWY,GAAaY,GAAaC,GAASlB,KAAKP,GACtG0B,EAAUC,GAAaN,EAE7B,QAASH,EAAQ3D,GACfsD,EAAMe,GAAUV,GACVQ,GAAWA,EAAQb,KAASgB,GAAetB,KAAKP,EAAQa,IAC5DZ,EAAOzC,KAAKqD,GAIlB,MAAOZ,GAGT,QAAS6B,GAAY9B,EAAQ+B,EAAUC,GAKrC,IAJA,GAAId,GAAQ,GACVe,EAAQD,EAAShC,GACjBzC,EAAS0E,EAAM1E,SAER2D,EAAQ3D,GAAQ,CACvB,GAAIsD,GAAMoB,EAAMf,EAChB,IAAIa,EAAS/B,EAAOa,GAAMA,EAAKb,MAAY,EACzC,MAGJ,MAAOA,GAGT,QAASkC,GAAclC,EAAQ+B,GAC7B,MAAOD,GAAY9B,EAAQ+B,EAAUhC,GAGvC,QAASoC,GAAOC,GAGd,MAAgC,kBAAlBA,GAAMX,UAAiD,iBAAfW,EAAQ,IAqBhE,QAASC,GAAWjF,EAAGkF,EAAGC,EAAQC,GAEhC,GAAIpF,IAAMkF,EAER,MAAa,KAANlF,GAAY,EAAIA,GAAK,EAAIkF,CAGlC,IAAIG,SAAcrF,GACdsF,QAAmBJ,EAGvB,IAAIlF,IAAMA,IAAW,MAALA,GAAkB,MAALkF,GAChB,YAARG,GAA8B,UAARA,GAAiC,YAAbC,GAAwC,UAAbA,GACxE,OAAO,CAIT,IAAIrB,GAAYI,GAASlB,KAAKnD,GAC1BuF,EAAalB,GAASlB,KAAK+B,EAQ/B,IANIjB,GAAauB,KACfvB,EAAYwB,IAEVF,GAAcC,KAChBD,EAAaE,IAEXxB,GAAasB,EACf,OAAO,CAET,QAAQtB,GACN,IAAKyB,IACL,IAAKC,IAGH,OAAQ3F,IAAMkF,CAEhB,KAAKU,IAEH,MAAQ5F,KAAMA,EACZkF,IAAMA,EAEA,GAALlF,EAAU,EAAIA,GAAK,EAAIkF,EAAKlF,IAAMkF,CAEvC,KAAKW,IACL,IAAK1B,IAGH,MAAOnE,IAAK8F,OAAOZ,GAEvB,GAAIa,GAAQ9B,GAAa+B,EACzB,KAAKD,EAAO,CAGV,GAAI9B,GAAawB,KAAiB1C,GAAQkD,YAAclB,EAAO/E,IAAM+E,EAAOG,IAC1E,OAAO,CAGT,IAAIgB,IAASnD,GAAQoD,YAAclD,GAAYjD,GAAKoG,OAASpG,EAAE6D,YAC3DwC,GAAStD,GAAQoD,YAAclD,GAAYiC,GAAKkB,OAASlB,EAAErB,WAG/D,MAAIqC,GAASG,GACL5B,GAAetB,KAAKnD,EAAG,gBAAkByE,GAAetB,KAAK+B,EAAG,gBAChEoB,GAAWJ,IAAUA,YAAiBA,IAASI,GAAWD,IAAUA,YAAiBA,MACtF,eAAiBrG,IAAK,eAAiBkF,KAE5C,OAAO,EAOXC,IAAWA,MACXC,IAAWA,KAGX,KADA,GAAIjF,GAASgF,EAAOhF,OACbA,KACL,GAAIgF,EAAOhF,IAAWH,EACpB,MAAOoF,GAAOjF,IAAW+E,CAG7B,IAAIqB,GAAO,EACP1D,GAAS,CAOb,IAJAsC,EAAO/E,KAAKJ,GACZoF,EAAOhF,KAAK8E,GAGRa,GAMF,GAJA5F,EAASH,EAAEG,OACXoG,EAAOrB,EAAE/E,OACT0C,EAAS0D,GAAQpG,EAIf,KAAOoG,KAAQ,CACb,GACIvB,GAAQE,EAAEqB,EAEd,MAAM1D,EAASoC,EAAWjF,EAAEuG,GAAOvB,EAAOG,EAAQC,IAChD,WAQNN,GAAcI,EAAG,SAASF,EAAOvB,EAAKyB,GACpC,MAAIT,IAAetB,KAAK+B,EAAGzB,IAEzB8C,IAEQ1D,EAAS4B,GAAetB,KAAKnD,EAAGyD,IAAQwB,EAAWjF,EAAEyD,GAAMuB,EAAOG,EAAQC,IAJpF,SAQEvC,GAEFiC,EAAc9E,EAAG,SAASgF,EAAOvB,EAAKzD,GACpC,MAAIyE,IAAetB,KAAKnD,EAAGyD,GAEjBZ,IAAW0D,EAAO,GAF5B,QAUN,OAHApB,GAAOqB,MACPpB,EAAOoB,MAEA3D,EA6BT,QAAS4D,GAAgBC,EAAOC,GAE9B,IAAK,GADD3G,GAAI,GAAI4G,OAAMF,GACTzG,EAAI,EAAOyG,EAAJzG,EAAWA,IACzBD,EAAEC,GAAK0G,GAET,OAAO3G,GAKT,QAAS6G,KACP,IACE,MAAOC,IAAeC,MAAMC,KAAMC,WAClC,MAAO7E,GAEP,MADA8E,IAAS9E,EAAIA,EACN8E,IAGX,QAASC,GAASC,GAChB,IAAKd,GAAWc,GAAO,KAAM,IAAIC,WAAU,wBAE3C,OADAP,IAAiBM,EACVP,EAET,QAASS,GAAQlF,GACf,KAAMA,GAIR,QAASmF,GAAYC,EAAIxC,GACvBgC,KAAKQ,GAAKA,EACVR,KAAKhC,MAAQA,EAiTf,QAASyC,GAAoBC,EAAWC,GACtCX,KAAKU,UAAYA,EACjBV,KAAKW,WAAaA,EAClBX,KAAKY,YAAa,EAGpB,QAASC,GAAaC,EAAGC,GAClBA,EAAKH,aACRG,EAAKH,YAAa,EAClBG,EAAKJ,WAAWK,WA45CpB,QAASC,GAAgBC,GACvBlB,KAAKkB,SAAWA,EAChBlB,KAAKhH,KACLgH,KAAKmB,WAAY,EA4KnB,QAASC,KACPpB,KAAKqB,GAAKP,EAOZ,QAASQ,KACPtB,KAAKqB,GAAKP,EACVd,KAAKuB,GAAKT,EAAE3H,OACZ6G,KAAKwB,GAAK,EAWZ,QAASC,GAAczI,GACrBgH,KAAK0B,GAAK1I,EAOZ,QAAS2I,GAAc3I,GACrBgH,KAAK0B,GAAK1I,EACVgH,KAAKuB,GAAKK,EAAS5I,GACnBgH,KAAKwB,GAAK,EAWZ,QAASK,GAAe7D,GACtB,MAAwB,gBAAVA,IAAsB8D,GAAKC,SAAS/D,GAOpD,QAASgE,GAAYnI,GACnB,GAAuBoI,GAAnBhJ,EAAIY,EAAEqI,GACV,KAAKjJ,GAAkB,gBAANY,GAEf,MADAoI,GAAK,GAAIb,GAAevH,GACjBoI,EAAGC,KAEZ,KAAKjJ,GAAKY,EAAEV,SAAWN,EAErB,MADAoJ,GAAK,GAAIR,GAAc5H,GAChBoI,EAAGC,KAEZ,KAAKjJ,EAAK,KAAM,IAAIoH,WAAU,yBAC9B,OAAOxG,GAAEqI,MAGX,QAASC,GAAKnE,GACZ,GAAIoE,IAAUpE,CACd,OAAe,KAAXoE,EAAuBA,EACvBC,MAAMD,GAAkBA,EACZ,EAATA,EAAa,GAAK,EAG3B,QAASR,GAAS/H,GAChB,GAAIX,IAAOW,EAAEV,MACb,OAAIkJ,OAAMnJ,GAAe,EACb,IAARA,GAAc2I,EAAe3I,IACjCA,EAAMiJ,EAAKjJ,GAAOoJ,KAAKC,MAAMD,KAAKE,IAAItJ,IAC3B,GAAPA,EAAmB,EACnBA,EAAMuJ,GAAyBA,GAC5BvJ,GAJyCA,EA4ClD,QAASwJ,GAAcxB,EAAUyB,GAC/B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAoEhB,QAASC,GAAclC,EAAWmC,GAEhC,MADAC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIC,IAAoBH,EAAOnC,GA4GxC,QAASuC,GAAU/B,EAAUyB,GAC3B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAkGhB,QAASO,GAAWhC,EAAUyB,GAC5B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAiOhB,QAASQ,GAAuBrJ,EAAQsJ,GACtC,MAAO,IAAIC,IAAoB,SAAUxJ,GACvC,GAAIyJ,GAAK,GAAIC,IAA8BC,EAAe,GAAIC,GAe9D,OAdAD,GAAaE,cAAcJ,GAC3BA,EAAGI,cAAc5J,EAAO6J,UAAU,SAAUC,GAAK/J,EAAEgK,OAAOD,IAAO,SAAUxI,GACzE,IACE,GAAIS,GAASuH,EAAQhI,GACrB,MAAO0I,GACP,MAAOjK,GAAEkK,QAAQD,GAEnBE,GAAUnI,KAAYA,EAASoI,GAAsBpI,GAErD,IAAIqI,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAAc7H,EAAO8H,UAAU9J,KAChC,SAAU+J,GAAK/J,EAAEsK,YAAYP,MAEzBJ,GACN1J,GAkqBL,QAASsK,GAASC,EAAQC,GACxB,GAAIC,GAAQvE,IACZ,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIpE,GAAQ,EAAG5D,EAAMmL,EAAOlL,MAC5B,OAAOoL,GAAMZ,UAAU,SAAUa,GAC/B,GAAYtL,EAAR4D,EAAa,CACf,GAA6BjB,GAAzB4I,EAAQJ,EAAOvH,IACnB,KACEjB,EAASyI,EAAeE,EAAMC,GAC9B,MAAOrJ,GACP,MAAO8F,GAAS6C,QAAQ3I,GAE1B8F,EAAS2C,OAAOhI,OAEhBqF,GAASiD,eAEV,SAAU/I,GAAK8F,EAAS6C,QAAQ3I,IAAO,WAAc8F,EAASiD,iBAChEI,GAGL,QAASG,KAAiB,OAAO,EACjC,QAASC,KAAsB,SAgkB/B,QAASC,GAAU9K,EAAQ+K,EAAUC,GACnC,GAAIC,GAAeC,GAAaH,EAAUC,EAAS,EACnD,OAAOhL,GAAOmL,IAAI,SAAUrB,EAAG3K,GAC7B,GAAI4C,GAASkJ,EAAanB,EAAG3K,EAAGa,EAGhC,OAFAkK,IAAUnI,KAAYA,EAASoI,GAAsBpI,KACpDqJ,GAAYrJ,IAAWsJ,GAAWtJ,MAAaA,EAASuJ,GAAevJ,IACjEA,IACNwJ,YAyHL,QAASC,GAAqBzC,EAAO0C,EAAMC,GACzC,IAAK,GAAIvM,GAAI,EAAGC,EAAM2J,EAAM1J,OAAYD,EAAJD,EAASA,IAC3C,GAAIuM,EAAS3C,EAAM5J,GAAIsM,GAAS,MAAOtM,EAEzC,OAAO,GAGT,QAASwM,GAAQD,GACfxF,KAAKwF,SAAWA,EAChBxF,KAAK0F,OAkLP,QAASC,GAAYzE,EAAU2D,EAAU/K,GACvCkG,KAAKkB,SAAWA,EAChBlB,KAAK6E,SAAWA,EAChB7E,KAAKlG,OAASA,EACdkG,KAAK/G,EAAI,EACT+G,KAAKmB,WAAY,EAgEnB,QAASyE,GAAQ9L,EAAQ+K,EAAUC,GACjC,GAAIC,GAAeC,GAAaH,EAAUC,EAAS,EACnD,OAAOhL,GAAOmL,IAAI,SAAUrB,EAAG3K,GAC7B,GAAI4C,GAASkJ,EAAanB,EAAG3K,EAAGa,EAGhC,OAFAkK,IAAUnI,KAAYA,EAASoI,GAAsBpI,KACpDqJ,GAAYrJ,IAAWsJ,GAAWtJ,MAAaA,EAASuJ,GAAevJ,IACjEA,IACNgK,WAoOL,QAASC,GAAe5E,EAAU6E,EAAWjM,GAC3CkG,KAAKkB,SAAWA,EAChBlB,KAAK+F,UAAYA,EACjB/F,KAAKlG,OAASA,EACdkG,KAAK/G,EAAI,EACT+G,KAAKmB,WAAY,EAsCnB,QAAS6E,GAAUlM,EAAQmM,EAAaT,GACtC,MAAO,IAAInC,IAAoB,SAAUxJ,GACvC,GAAIqM,IAAW,EAAOC,EAAU,KAAMC,IACtC,OAAOtM,GAAO6J,UAAU,SAAUC,GAChC,GAAIyC,GAAY5J,CAChB,KACEA,EAAMwJ,EAAYrC,GAClB,MAAOE,GAEP,WADAjK,GAAEkK,QAAQD,GAIZ,GADAuC,EAAa,EACRH,EAIH,IACEG,EAAab,EAAS/I,EAAK0J,GAC3B,MAAOG,GAEP,WADAzM,GAAEkK,QAAQuC,OANZJ,IAAW,EACXC,EAAU1J,CASR4J,GAAa,IACfF,EAAU1J,EACV2J,MAEEC,GAAc,GAAKD,EAAKhN,KAAKwK,IAChC,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjCvB,EAAEgK,OAAOuC,GACTvM,EAAEsK,iBAEHrK,GAGL,QAASyM,GAAU3C,GACjB,GAAiB,IAAbA,EAAEzK,OAAgB,KAAM,IAAIqN,GAChC,OAAO5C,GAAE,GA8YX,QAAS6C,GAAmB3M,EAAQgD,EAAO4J,EAAYC,GACrD,GAAY,EAAR7J,EAAa,KAAM,IAAI8J,GAC3B,OAAO,IAAIvD,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI6D,CACR,OAAOhD,GAAO6J,UAAU,SAAUC,GACpB,IAAR3K,MACFY,EAAEgK,OAAOD,GACT/J,EAAEsK,gBAEH,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAC5BsL,GAGH7M,EAAEgK,OAAO8C,GACT9M,EAAEsK,eAHFtK,EAAEkK,QAAQ,GAAI6C,QAMjB9M,GA2BL,QAAS+M,GAAqB/M,EAAQ4M,EAAYC,GAChD,MAAO,IAAItD,IAAoB,SAAUxJ,GACvC,GAAImE,GAAQ2I,EAAcG,GAAY,CACtC,OAAOhN,GAAO6J,UAAU,SAAUC,GAC5BkD,EACFjN,EAAEkK,QAAQ,GAAI5I,OAAM,6CAEpB6C,EAAQ4F,EACRkD,GAAY,IAEb,SAAU1L,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAC5B0L,GAAcJ,GAGjB7M,EAAEgK,OAAO7F,GACTnE,EAAEsK,eAHFtK,EAAEkK,QAAQ,GAAIyC,QAMjB1M,GAkCL,QAASiN,GAAoBjN,EAAQ4M,EAAYC,GAC/C,MAAO,IAAItD,IAAoB,SAAUxJ,GACvC,MAAOC,GAAO6J,UAAU,SAAUC,GAChC/J,EAAEgK,OAAOD,GACT/J,EAAEsK,eACD,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAC5BsL,GAGH7M,EAAEgK,OAAO8C,GACT9M,EAAEsK,eAHFtK,EAAEkK,QAAQ,GAAIyC,QAMjB1M,GA+BL,QAASkN,GAAmBlN,EAAQ4M,EAAYC,GAC9C,MAAO,IAAItD,IAAoB,SAAUxJ,GACvC,GAAImE,GAAQ2I,EAAcG,GAAY,CACtC,OAAOhN,GAAO6J,UAAU,SAAUC,GAChC5F,EAAQ4F,EACRkD,GAAY,GACX,SAAU1L,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAC5B0L,GAAcJ,GAGjB7M,EAAEgK,OAAO7F,GACTnE,EAAEsK,eAHFtK,EAAEkK,QAAQ,GAAIyC,QAMjB1M,GA4BL,QAASmN,GAAWnN,EAAQiM,EAAWjB,EAASoC,GAC9C,GAAIvJ,GAAWqH,GAAae,EAAWjB,EAAS,EAChD,OAAO,IAAIzB,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI,CACR,OAAOa,GAAO6J,UAAU,SAAUC,GAChC,GAAIuD,EACJ,KACEA,EAAYxJ,EAASiG,EAAG3K,EAAGa,GAC3B,MAAOsB,GAEP,WADAvB,GAAEkK,QAAQ3I,GAGR+L,GACFtN,EAAEgK,OAAOqD,EAAajO,EAAI2K,GAC1B/J,EAAEsK,eAEFlL,KAED,SAAUmC,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjCvB,EAAEgK,OAAOqD,EAAa,GAAKrO,GAC3BgB,EAAEsK,iBAEHrK,GAwFL,QAASsN,GAAQC,EAAKC,GACpB,MAAI1H,OAAM2H,QAAQF,GAAgBG,EAAcrL,KAAKmL,EAAKD,GACtDI,GAAoBJ,GAAeK,GAAgBL,EAAIlL,KAAKmL,IAC5DK,GAAYN,GAAgBK,GAAgBL,GAC5CO,GAAaP,GAAeQ,EAAkBR,GAC9CrD,GAAUqD,GAAeS,GAAeT,SACjCA,KAAQU,GAAmBV,EAClCvL,GAASuL,IAAQzH,MAAM2H,QAAQF,GAAeG,EAAcrL,KAAKmL,EAAKD,GAEnEA,EAGT,QAASG,GAAcH,GACrB,GAAIC,GAAMtH,IAEV,OAAO,UAAUgI,GAef,QAASC,GAAI7H,EAAI3D,GACf,IAAIyL,EACJ,IAGE,GAFA9H,EAAKgH,EAAQhH,EAAIkH,SAENlH,KAAO2H,GAEhB,MADAI,GAAQ1L,GAAO2D,IACNgI,GAAWJ,EAAK,KAAMG,EAGjC/H,GAAGjE,KAAKmL,EAAK,SAASe,EAAKC,GACzB,IAAIJ,EAAJ,CAEA,GAAIG,EAEF,MADAH,IAAW,EACJF,EAAKK,EAGdF,GAAQ1L,GAAO6L,IACbF,GAAWJ,EAAK,KAAMG,MAE1B,MAAO/M,GACP8M,GAAW,EACXF,EAAK5M,IArCT,GAGI8M,GAHAK,EAAOnJ,OAAOmJ,KAAKlB,GACnBe,EAAUG,EAAKpP,OACfgP,EAAU,GAAId,GAAIxK,WAGtB,KAAKuL,EAEH,WADAI,IAAiBC,SAAS,WAAcT,EAAK,KAAMG,IAIrD,KAAK,GAAIlP,GAAI,EAAGC,EAAMqP,EAAKpP,OAAYD,EAAJD,EAASA,IAC1CgP,EAAIZ,EAAIkB,EAAKtP,IAAKsP,EAAKtP,KAgC7B,QAAS4O,GAAkBtO,GACzB,MAAO,UAAU6G,GACf,GAAIpC,GAAOkI,GAAW,CACtB3M,GAAWoK,UACT,SAAU+E,GACR1K,EAAQ0K,EACRxC,GAAW,GAEb9F,EACA,WACE8F,GAAY9F,EAAG,KAAMpC,MAK7B,QAAS8J,IAAea,GACtB,MAAO,UAASvI,GACduI,EAAQC,KAAK,SAASN,GACpBlI,EAAG,KAAMkI,IACRlI,IAIP,QAASwH,IAAaP,GACpB,MAAOA,UAAcA,GAAI1D,YAAcoE,GAGzC,QAASN,IAAoBJ,GAC3B,MAAOA,IAAOA,EAAIxK,aAAwC,sBAAzBwK,EAAIxK,YAAYgM,KAGnD,QAASlB,IAAYN,GACnB,MAAOA,UAAcA,GAAIyB,OAASf,UAAmBV,GAAI0B,MAAiBhB,GA4F5E,QAASiB,IAAYX,GACdA,GACLG,GAAiBC,SAAS,WACxB,KAAMJ,KA8IV,QAASY,IAAgBC,EAASL,EAAMzF,GACtC,GAAI8F,EAAQC,iBAEV,MADAD,GAAQC,iBAAiBN,EAAMzF,GAAS,GACjCgG,GAAiB,WACtBF,EAAQG,oBAAoBR,EAAMzF,GAAS,IAG/C,MAAM,IAAIjI,OAAM,qBAGlB,QAASmO,IAAqBC,EAAIC,EAAWpG,GAC3C,GAAIqG,GAAc,GAAIC,GAGtB,IAA2C,sBAAvCtK,OAAOpC,UAAUK,SAASlB,KAAKoN,GACjC,IAAK,GAAItQ,GAAI,EAAGC,EAAMqQ,EAAGpQ,OAAYD,EAAJD,EAASA,IACxCwQ,EAAYE,IAAIL,GAAoBC,EAAGhE,KAAKtM,GAAIuQ,EAAWpG,QAEpDmG,IACTE,EAAYE,IAAIV,GAAeM,EAAIC,EAAWpG,GAGhD,OAAOqG,GAiKT,QAASG,IAAoB9P,EAAQ+P,EAASvF,GAC5C,MAAO,IAAIjB,IAAoB,SAAUxJ,GAOvC,QAASiP,GAAKlF,EAAG3K,GACf6Q,EAAO7Q,GAAK2K,CACZ,IAAI0E,EAEJ,IADApC,EAASjN,IAAK,EACV8Q,IAAgBA,EAAc7D,EAAS8D,MAAMC,KAAY,CAC3D,GAAI5B,EAEF,WADAxO,GAAEkK,QAAQsE,EAIZ,KACEC,EAAMhE,EAAevE,MAAM,KAAM+J,GACjC,MAAOhG,GAEP,WADAjK,GAAEkK,QAAQD,GAGZjK,EAAEgK,OAAOyE,GAEP4B,GAAUJ,EAAO,IACnBjQ,EAAEsK,cAzBN,GAIEkE,GAJEnC,IAAY,GAAO,GACrB6D,GAAc,EACdG,GAAS,EACTJ,EAAS,GAAIlK,OAAM,EA0BrB,OAAO,IAAI8J,IACT5P,EAAO6J,UACL,SAAUC,GACRkF,EAAKlF,EAAG,IAEV,SAAUxI,GACJ0O,EAAO,GACTjQ,EAAEkK,QAAQ3I,GAEViN,EAAMjN,GAGV,WACE8O,GAAS,EACTJ,EAAO,IAAMjQ,EAAEsK,gBAEnB0F,EAAQlG,UACN,SAAUC,GACRkF,EAAKlF,EAAG,IAEV,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACE8O,GAAS,EACTpB,GAAK,EAAM,OAGhBhP,GAo0CL,QAASqQ,IAA6BC,EAAgBC,GACpD,MAAOD,GAAeE,UAAUtK,KAAMqK,EAAuBE,GAAiB,SAAUC,EAAGC,GACzF,MAAOA,KAIX,QAASC,IAA+BC,GACtC,GAAI7Q,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIuJ,GAAM,GAAIG,IACZ1G,EAAI,GAAIwF,IACRmB,EAAI,GAAIC,IAAmB5G,EA4B7B,OA1BAhD,GAAS2C,OAAOkH,GAAON,EAAKI,IAE5B3G,EAAEyF,IAAI7P,EAAO6J,UAAU,SAAUC,GAC/B6G,EAAI5G,OAAOD,IACV,SAAUyE,GACXoC,EAAI1G,QAAQsE,GACZnH,EAAS6C,QAAQsE,IAChB,WACDoC,EAAItG,cACJjD,EAASiD,iBAGXH,GAAU2G,KAAsBA,EAAmB1G,GAAsB0G,IAEzEzG,EAAEyF,IAAIgB,EAAiBhH,UAAU,WAC/B8G,EAAItG,cACJsG,EAAM,GAAIG,IACV1J,EAAS2C,OAAOkH,GAAON,EAAKI,KAC3B,SAAUxC,GACXoC,EAAI1G,QAAQsE,GACZnH,EAAS6C,QAAQsE,IAChB,WACDoC,EAAItG,cACJjD,EAASiD,iBAGJ0G,GACN/Q,GAGL,QAASkR,IAAoCX,GAC3C,GAAIvQ,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GAgBvC,QAAS+J,KACP,GAAIC,EACJ,KACEA,EAAcb,IACd,MAAOjP,GAEP,WADA8F,GAAS6C,QAAQ3I,GAInB4I,GAAUkH,KAAiBA,EAAcjH,GAAsBiH,GAE/D,IAAIC,GAAK,GAAI5H,GACb6H,GAAE1H,cAAcyH,GAChBA,EAAGzH,cAAcwH,EAAYG,KAAK,GAAG1H,UAAU2H,GAAM,SAAUjD,GAC7DoC,EAAI1G,QAAQsE,GACZnH,EAAS6C,QAAQsE,IAChB,WACDoC,EAAItG,cACJsG,EAAM,GAAIG,IACV1J,EAAS2C,OAAOkH,GAAON,EAAKI,IAC5BI,OAnCJ,GAAIG,GAAI,GAAI3H,IACVS,EAAI,GAAIwF,IAAoB0B,GAC5BP,EAAI,GAAIC,IAAmB5G,GAC3BuG,EAAM,GAAIG,GAqCZ,OApCA1J,GAAS2C,OAAOkH,GAAON,EAAKI,IAC5B3G,EAAEyF,IAAI7P,EAAO6J,UAAU,SAAUC,GAC7B6G,EAAI5G,OAAOD,IACZ,SAAUyE,GACToC,EAAI1G,QAAQsE,GACZnH,EAAS6C,QAAQsE,IAClB,WACCoC,EAAItG,cACJjD,EAASiD,iBA2Bb8G,IACOJ,GACN/Q,GA+CL,QAASyR,IAAgBC,EAAW1R,GAClC,MAAO,IAAI2R,IAAW,WACpB,MAAO,IAAIC,IAAW,WACpB,MAAOF,MACHxD,MAAM,EAAOhK,MAAOlE,IACpBkO,MAAM,EAAMhK,MAAOnF,OA8Z7B,QAAS8S,IAAQC,GACf5L,KAAK4L,SAAWA,EAqBlB,QAASC,IAAKC,EAAYjH,GACtB7E,KAAK8L,WAAaA,EAClB9L,KAAK6E,SAAWA,EA8BpB,QAASkH,IAAmBC,EAAuBzS,EAAYwK,GAC7D,GAAIkI,GAAQD,EAAsBE,IAAI3S,EACtC,KAAK0S,EAAO,CACV,GAAI/K,GAAW,GAAIiL,IAAa5S,EAAYwK,EAE5C,OADAiI,GAAsBtG,IAAInM,EAAY2H,GAC/BA,EAET,MAAO+K,GAGT,QAASG,IAAWC,EAAmBxI,EAAQM,GAC7CnE,KAAKqM,kBAAoBA,EACzBrM,KAAK6D,OAASA,EACd7D,KAAKmE,YAAcA,EACnBnE,KAAKsM,cAAgB,GAAIC,GACzB,KAAK,GAAItT,GAAI,EAAGC,EAAM8G,KAAKqM,kBAAkBlT,OAAYD,EAAJD,EAASA,IAAK,CACjE,GAAIuT,GAAexM,KAAKqM,kBAAkBpT,EAC1C+G,MAAKsM,cAAc5G,IAAI8G,EAAcA,IA6JzC,QAASC,IAAoBC,EAAShM,GACpC,MAAO,IAAI2C,IAAoB,SAAUnC,GACvC,MAAOR,GAAUiM,qBAAqBD,EAAS,WAC7CxL,EAAS2C,OAAO,GAChB3C,EAASiD,kBAKf,QAASyI,IAA6BF,EAASG,EAAQnM,GACrD,MAAO,IAAI2C,IAAoB,SAAUnC,GACvC,GAAIgD,GAAIwI,EAASI,EAAIC,GAAcF,EACnC,OAAOnM,GAAUsM,sCAAsC,EAAG9I,EAAG,SAAUxE,EAAOqB,GAC5E,GAAI+L,EAAI,EAAG,CACT,GAAIG,GAAMvM,EAAUuM,KACpB/I,IAAQ4I,EACHG,GAAL/I,IAAaA,EAAI+I,EAAMH,GAEzB5L,EAAS2C,OAAOnE,GAChBqB,EAAKrB,EAAQ,EAAGwE,OAKtB,QAASgJ,IAAwBR,EAAShM,GACxC,MAAO,IAAI2C,IAAoB,SAAUnC,GACvC,MAAOR,GAAUyM,qBAAqBJ,GAAcL,GAAU,WAC5DxL,EAAS2C,OAAO,GAChB3C,EAASiD,kBAKf,QAASiJ,IAAiCV,EAASG,EAAQnM,GACzD,MAAOgM,KAAYG,EACjB,GAAIxJ,IAAoB,SAAUnC,GAChC,MAAOR,GAAU2M,0BAA0B,EAAGR,EAAQ,SAAUnN,GAE9D,MADAwB,GAAS2C,OAAOnE,GACTA,EAAQ,MAGnB4N,GAAgB,WACd,MAAOV,IAA6BlM,EAAUuM,MAAQP,EAASG,EAAQnM,KA8C7E,QAAS6M,IAAwBzT,EAAQ4S,EAAShM,GAChD,MAAO,IAAI2C,IAAoB,SAAUnC,GACvC,GAKEsC,GALEgK,GAAS,EACXC,EAAa,GAAIhK,IACjBiK,EAAY,KACZC,KACAC,GAAU,CAsDZ,OApDApK,GAAe1J,EAAO+T,cAAcC,UAAUpN,GAAWiD,UAAU,SAAUoK,GAC3E,GAAI7J,GAAGiD,CACyB,OAA5B4G,EAAa/P,MAAMgQ,MACrBL,KACAA,EAAEvU,KAAK2U,GACPL,EAAYK,EAAa/P,MAAM0P,UAC/BvG,GAAayG,IAEbD,EAAEvU,MAAO4E,MAAO+P,EAAa/P,MAAO8P,UAAWC,EAAaD,UAAYpB,IACxEvF,GAAaqG,EACbA,GAAS,GAEPrG,IACgB,OAAduG,EACFxM,EAAS6C,QAAQ2J,IAEjBxJ,EAAI,GAAIX,IACRkK,EAAW/J,cAAcQ,GACzBA,EAAER,cAAchD,EAAUuN,8BAA8BvB,EAAS,SAAU3L,GACzE,GAAI3F,GAAG8S,EAAgBrS,EAAQsS,CAC/B,IAAkB,OAAdT,EAAJ,CAGAE,GAAU,CACV,GACE/R,GAAS,KACL8R,EAAExU,OAAS,GAAKwU,EAAE,GAAGG,UAAYpN,EAAUuM,OAAS,IACtDpR,EAAS8R,EAAES,QAAQpQ,OAEN,OAAXnC,GACFA,EAAOwS,OAAOnN,SAEE,OAAXrF,EACTsS,IAAgB,EAChBD,EAAiB,EACbP,EAAExU,OAAS,GACbgV,GAAgB,EAChBD,EAAiB5L,KAAKgM,IAAI,EAAGX,EAAE,GAAGG,UAAYpN,EAAUuM,QAExDO,GAAS,EAEXpS,EAAIsS,EACJE,GAAU,EACA,OAANxS,EACF8F,EAAS6C,QAAQ3I,GACR+S,GACTpN,EAAKmN,WAMR,GAAIxE,IAAoBlG,EAAciK,IAC5C3T,GAGL,QAASyU,IAAoBzU,EAAQ4S,EAAShM,GAC5C,MAAO4M,IAAgB,WACrB,MAAOC,IAAwBzT,EAAQ4S,EAAUhM,EAAUuM,MAAOvM,KAiStE,QAAS8N,IAAiB1U,EAAQ2U,GAChC,MAAO,IAAIpL,IAAoB,SAAUnC,GAGvC,QAASwN,KACHxI,IACFA,GAAW,EACXhF,EAAS2C,OAAO7F,IAElB2Q,GAASzN,EAASiD,cAPpB,GAAIwK,GAAO3Q,EAAOkI,CAUlB,OAAO,IAAIwD,IACT5P,EAAO6J,UAAU,SAAUiL,GACzB1I,GAAW,EACXlI,EAAQ4Q,GACP1N,EAAS6C,QAAQ8K,KAAK3N,GAAW,WAClCyN,GAAQ,IAEVF,EAAQ9K,UAAU+K,EAAiBxN,EAAS6C,QAAQ8K,KAAK3N,GAAWwN,KAErE5U,GA3wRL,GAAIgV,KACFC,WAAW,EACXC,YAAY,EACZpT,QAAU,EACVwG,QAAU,EACV6M,QAAU,EACVpW,WAAa,GAGXiJ,GAAQgN,SAAmBI,UAAWA,QAAWlP,KACnDmP,GAAcL,SAAmBM,WAAYA,UAAYA,QAAQC,UAAYD,QAC7EE,GAAaR,SAAmBS,UAAWA,SAAWA,OAAOF,UAAYE,OACzEC,GAAgBF,IAAcA,GAAWF,UAAYD,IAAeA,GACpEM,GAAaX,SAAmBY,UAAWA,QAEzCD,IAAeA,GAAWC,SAAWD,IAAcA,GAAWP,SAAWO,KAC3E3N,GAAO2N,GAGT,IAAIE,KACAC,aACAC,QACEC,QAAShO,GAAKgO,SAEhBC,YAIAzE,GAAOqE,GAAGI,QAAQzE,KAAO,aAE3BrB,IADa0F,GAAGI,QAAQC,WAAa,SAAUpM,GAAK,MAAoB,mBAANA,IACvD+L,GAAGI,QAAQ9F,SAAW,SAAUrG,GAAK,MAAOA,KAGvDqM,IAFQN,GAAGI,QAAQG,MAAQ,SAAUC,GAAY,MAAO,UAAUvM,GAAK,MAAOA,GAAEuM,KACzER,GAAGI,QAAQK,KAAO,SAAUpS,GAAS,MAAO,YAAc,MAAOA,KAC3D2R,GAAGI,QAAQE,WAAaI,KAAKpD,KAC1CqD,GAAkBX,GAAGI,QAAQO,gBAAkB,SAAU1M,EAAG2M,GAAK,MAAOC,IAAQ5M,EAAG2M,IACnFE,GAAqBd,GAAGI,QAAQU,mBAAqB,SAAU7M,EAAG2M,GAAK,MAAO3M,GAAI2M,EAAI,EAASA,EAAJ3M,EAAQ,GAAK,GAExG8M,IADuBf,GAAGI,QAAQY,qBAAuB,SAAU/M,GAAK,MAAOA,GAAEvG,YAClEsS,GAAGI,QAAQW,aAAe,SAAUrI,GAAO,KAAMA,KAChErE,GAAY2L,GAAGI,QAAQ/L,UAAY,SAAU8I,GAAK,QAASA,GAAuB,kBAAXA,GAAElE,MAEzEgI,IADUjB,GAAGI,QAAQc,QAAU,WAAc,MAAOjR,OAAM5C,UAAUd,MAAMC,KAAK8D,YACzE0P,GAAGI,QAAQa,IAAM,SAAU5X,GAAK,OAAQA,IAC9CsG,GAAaqQ,GAAGI,QAAQzQ,WAAc,WAEpC,GAAIwR,GAAO,SAAU9S,GACnB,MAAuB,kBAATA,KAAuB,EAUvC,OANI8S,GAAK,OACPA,EAAO,SAAS9S,GACd,MAAuB,kBAATA,IAA+C,qBAAxBX,GAASlB,KAAK6B,KAIhD8S,IAKXnB,IAAGE,OAAOkB,kBAAmB,CAC7B,IAAIvX,KAAY,CAChB,KACE,KAAM,IAAI2B,OACV,MAAOC,IACP5B,KAAc4B,GAAE3B,MAIlB,GAAmCsB,IAA/BC,GAAgBE,IAEhBvB,GAAuB,uBAqFvB6M,GAAamJ,GAAGnJ,WAAa,WAC/BxG,KAAKgR,QAAU,iCACf7V,MAAMgB,KAAK6D,MAEbwG,IAAWxJ,UAAY7B,MAAM6B,SAE7B,IAAIiU,IAAsBtB,GAAGsB,oBAAsB,WACjDjR,KAAKgR,QAAU,2BACf7V,MAAMgB,KAAK6D,MAEbiR,IAAoBjU,UAAY7B,MAAM6B,SAEtC,IAAI4J,IAA0B+I,GAAG/I,wBAA0B,WACzD5G,KAAKgR,QAAU,wBACf7V,MAAMgB,KAAK6D,MAEb4G,IAAwB5J,UAAY7B,MAAM6B,SAE1C,IAAIkU,IAAoBvB,GAAGuB,kBAAoB,SAAUF,GACvDhR,KAAKgR,QAAUA,GAAW,kCAC1B7V,MAAMgB,KAAK6D,MAEbkR,IAAkBlU,UAAY7B,MAAM6B,SAEpC,IAAImU,IAAsBxB,GAAGwB,oBAAsB,SAAUH,GAC3DhR,KAAKgR,QAAUA,GAAW,oCAC1B7V,MAAMgB,KAAK6D,MAEbmR,IAAoBnU,UAAY7B,MAAM6B,SAEtC,IAAIoU,IAAiBzB,GAAGI,QAAQqB,eAAiB,WAC/C,KAAM,IAAID,KAGRE,GAAe1B,GAAGI,QAAQsB,aAAe,WAC3C,KAAM,IAAIH,KAIRhP,GAAgC,kBAAXoP,SAAyBA,OAAOC,UACvD,oBAEEzP,IAAK0P,KAA+C,mBAAjC,GAAI1P,IAAK0P,KAAM,gBACpCtP,GAAa,aAGf,IAAIuP,IAAiB9B,GAAG8B,gBAAmBzJ,MAAM,EAAMhK,MAAOnF,GAE1DsM,GAAawK,GAAGI,QAAQ5K,WAAa,SAAUtL,GACjD,MAAOA,GAAEqI,MAAgBrJ,GAGvBqM,GAAcyK,GAAGI,QAAQ7K,YAAc,SAAUrL,GACnD,MAAOA,IAAKA,EAAEV,SAAWN,EAG3B8W,IAAGI,QAAQwB,SAAWrP,EAEtB,IAmDEwP,IAnDE1M,GAAe2K,GAAGC,UAAU5K,aAAe,SAAU2M,EAAM7M,EAAS8M,GACtE,GAAuB,mBAAZ9M,GAA2B,MAAO6M,EAC7C,QAAOC,GACL,IAAK,GACH,MAAO,YACL,MAAOD,GAAKxV,KAAK2I,GAErB,KAAK,GACH,MAAO,UAAS+M,GACd,MAAOF,GAAKxV,KAAK2I,EAAS+M,GAE9B,KAAK,GACH,MAAO,UAAS7T,EAAOlB,GACrB,MAAO6U,GAAKxV,KAAK2I,EAAS9G,EAAOlB,GAErC,KAAK,GACH,MAAO,UAASkB,EAAOlB,EAAOgV,GAC5B,MAAOH,GAAKxV,KAAK2I,EAAS9G,EAAOlB,EAAOgV,IAI9C,MAAO,YACL,MAAOH,GAAK5R,MAAM+E,EAAS7E,aAK3BzC,IAAa,WACf,iBACA,UACA,iBACA,gBACA,uBACA,eACFT,GAAkBS,GAAUrE,OAGxBqF,GAAY,qBACdQ,GAAa,iBACbN,GAAY,mBACZC,GAAY,gBACZvB,GAAa,iBACb2U,GAAY,oBACZnT,GAAc,kBACdH,GAAc,kBACdI,GAAc,kBACd1B,GAAc,kBAEZE,GAAW+B,OAAOpC,UAAUK,SAC9BI,GAAiB2B,OAAOpC,UAAUS,eAClCuU,GAAoB3U,GAASlB,KAAK8D,YAAczB,GAEhDhC,GAAarB,MAAM6B,UACnBL,GAAcyC,OAAOpC,UACrBE,GAAc4B,OAAO9B,UACrBiV,GAAuBtV,GAAYsV,oBAErC,KACEP,KAAqBrU,GAASlB,KAAK+V,WAAazT,OAAmBpB,SAAY,GAAM,KACrF,MAAOjC,IACPsW,IAAmB,EAGrB,GAAInU,MACJA,IAAayB,IAAczB,GAAaoB,IAAapB,GAAaqB,KAAiB/B,aAAe,EAAMsV,gBAAkB,EAAM9U,UAAY,EAAM+U,SAAW,GAC7J7U,GAAamB,IAAanB,GAAaJ,KAAiBN,aAAe,EAAMQ,UAAY,EAAM+U,SAAW,GAC1G7U,GAAaH,IAAcG,GAAawU,IAAaxU,GAAasB,KAAiBhC,aAAe,EAAMQ,UAAY,GACpHE,GAAakB,KAAiB5B,aAAe,EAE7C,IAAId,QACH,WACC,GAAIa,GAAO,WAAaoD,KAAK4D,EAAI,GAC/B/F,IAEFjB,GAAKI,WAAcoV,QAAW,EAAG7B,EAAK,EACtC,KAAK,GAAI9T,KAAO,IAAIG,GAAQiB,EAAMzE,KAAKqD,EACvC,KAAKA,IAAOwD,YAGZlE,GAAQQ,eAAiB0V,GAAqB9V,KAAKK,GAAY,YAAcyV,GAAqB9V,KAAKK,GAAY,QAGnHT,GAAQM,eAAiB4V,GAAqB9V,KAAKS,EAAM,aAGzDb,GAAQC,YAAqB,GAAPS,EAGtBV,GAAQW,gBAAkB,UAAU2V,KAAKxU,IACzC,EAEF,IAAI/B,IAAW6T,GAAGC,UAAU9T,SAAW,SAASkC,GAC9C,GAAIK,SAAcL,EAClB,OAAOA,KAAkB,YAARK,GAA8B,UAARA,KAAqB,GAgE1DpC,GAAc,SAAS+B,GACzB,MAAQA,IAAyB,gBAATA,GAAqBX,GAASlB,KAAK6B,IAAUQ,IAAY,EAI9EwT,MACH/V,GAAc,SAAS+B,GACrB,MAAQA,IAAyB,gBAATA,GAAqBP,GAAetB,KAAK6B,EAAO,WAAY,GAIxF,IAkLI8B,IAlLA0Q,GAAUb,GAAGC,UAAUY,QAAU,SAAU5M,EAAG2M,GAChD,MAAOtS,GAAW2F,EAAG2M,UA+InBrU,OADauB,eACLmC,MAAM5C,UAAUd,OAExBoW,GAAWtS,KAAKsS,SAAW3C,GAAGC,UAAU0C,SAAW,SAAUC,EAAO5P,GACtE,QAAS6P,KAAOxS,KAAKnD,YAAc0V,EACnCC,EAAGxV,UAAY2F,EAAO3F,UACtBuV,EAAMvV,UAAY,GAAIwV,IAGpBC,GAAgB9C,GAAGC,UAAU6C,cAAgB,SAAUpL,GACzD,IAAI,GAAIqL,MAAczZ,EAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAOyZ,EAAQtZ,KAAK6G,UAAUhH,GAC5F,KAAK,GAAI0Z,GAAM,EAAGC,EAAKF,EAAQvZ,OAAcyZ,EAAND,EAAUA,IAAO,CACtD,GAAI7Y,GAAS4Y,EAAQC,EACrB,KAAK,GAAIE,KAAQ/Y,GACfuN,EAAIwL,GAAQ/Y,EAAO+Y,KAMrB9H,GAAS4E,GAAGC,UAAU7E,OAAS,SAAU+H,EAAIjI,GAC/C,MAAO,IAAIxH,IAAoB,SAAUnC,GACvC,MAAO,IAAIwI,IAAoBmB,EAAEkI,gBAAiBD,EAAGnP,UAAUzC,OAY/DhB,IAAY9E,KAyBhBmF,GAAYvD,UAAUgW,UAAY,SAAUC,GAC1C,GAAIC,GAAIlT,KAAKhC,MAAMgV,UAAUC,EAAMjV,MAEnC,OADM,KAANkV,IAAYA,EAAIlT,KAAKQ,GAAKyS,EAAMzS,IACzB0S,EAIT,IAAIC,IAAgBxD,GAAGC,UAAUuD,cAAgB,SAAUC,GACzDpT,KAAKqT,MAAQ,GAAIzT,OAAMwT,GACvBpT,KAAK7G,OAAS,GAGZma,GAAgBH,GAAcnW,SAClCsW,IAAcC,iBAAmB,SAAU/O,EAAMC,GAC/C,MAAOzE,MAAKqT,MAAM7O,GAAMwO,UAAUhT,KAAKqT,MAAM5O,IAAU,GAGzD6O,GAAcE,UAAY,SAAU1W,GAClC,KAAIA,GAASkD,KAAK7G,QAAkB,EAAR2D,GAA5B,CACA,GAAI6F,GAAS7F,EAAQ,GAAK,CAC1B,MAAa,EAAT6F,GAAcA,IAAW7F,IACzBkD,KAAKuT,iBAAiBzW,EAAO6F,GAAS,CACxC,GAAI8Q,GAAOzT,KAAKqT,MAAMvW,EACtBkD,MAAKqT,MAAMvW,GAASkD,KAAKqT,MAAM1Q,GAC/B3C,KAAKqT,MAAM1Q,GAAU8Q,EACrBzT,KAAKwT,UAAU7Q,MAInB2Q,GAAcI,QAAU,SAAU5W,GAEhC,IADCA,IAAUA,EAAQ,KACfA,GAASkD,KAAK7G,QAAkB,EAAR2D,GAA5B,CACA,GAAI0H,GAAO,EAAI1H,EAAQ,EACnB2H,EAAQ,EAAI3H,EAAQ,EACpByH,EAAQzH,CAOZ,IANI0H,EAAOxE,KAAK7G,QAAU6G,KAAKuT,iBAAiB/O,EAAMD,KACpDA,EAAQC,GAENC,EAAQzE,KAAK7G,QAAU6G,KAAKuT,iBAAiB9O,EAAOF,KACtDA,EAAQE,GAENF,IAAUzH,EAAO,CACnB,GAAI2W,GAAOzT,KAAKqT,MAAMvW,EACtBkD,MAAKqT,MAAMvW,GAASkD,KAAKqT,MAAM9O,GAC/BvE,KAAKqT,MAAM9O,GAASkP,EACpBzT,KAAK0T,QAAQnP,MAIjB+O,GAAcK,KAAO,WAAc,MAAO3T,MAAKqT,MAAM,GAAGrV,OAExDsV,GAAcM,SAAW,SAAU9W,GACjCkD,KAAKqT,MAAMvW,GAASkD,KAAKqT,QAAQrT,KAAK7G,QACtC6G,KAAKqT,MAAMrT,KAAK7G,QAAUN,EAC1BmH,KAAK0T,WAGPJ,GAAcO,QAAU,WACtB,GAAIhY,GAASmE,KAAK2T,MAElB,OADA3T,MAAK4T,SAAS,GACP/X,GAGTyX,GAAcQ,QAAU,SAAUvO,GAChC,GAAIzI,GAAQkD,KAAK7G,QACjB6G,MAAKqT,MAAMvW,GAAS,GAAIyD,GAAY4S,GAAczT,QAAS6F,GAC3DvF,KAAKwT,UAAU1W,IAGjBwW,GAAcS,OAAS,SAAUxO,GAC/B,IAAK,GAAItM,GAAI,EAAGA,EAAI+G,KAAK7G,OAAQF,IAC/B,GAAI+G,KAAKqT,MAAMpa,GAAG+E,QAAUuH,EAE1B,MADAvF,MAAK4T,SAAS3a,IACP,CAGX,QAAO,GAETka,GAAczT,MAAQ,CAMtB,IAAIgK,IAAsBiG,GAAGjG,oBAAsB,WACjD,GAAezQ,GAAGC,EAAd8a,IACJ,IAAIpU,MAAM2H,QAAQtH,UAAU,IAC1B+T,EAAO/T,UAAU,GACjB/G,EAAM8a,EAAK7a,WAIX,KAFAD,EAAM+G,UAAU9G,OAChB6a,EAAO,GAAIpU,OAAM1G,GACbD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EAEjD,KAAIA,EAAI,EAAOC,EAAJD,EAASA,IAClB,IAAKgb,GAAaD,EAAK/a,IAAO,KAAM,IAAIoH,WAAU,mBAEpDL,MAAKyJ,YAAcuK,EACnBhU,KAAKY,YAAa,EAClBZ,KAAK7G,OAAS6a,EAAK7a,QAGjB+a,GAA+BxK,GAAoB1M,SAMvDkX,IAA6BvK,IAAM,SAAUpE,GACvCvF,KAAKY,WACP2E,EAAKvE,WAELhB,KAAKyJ,YAAYrQ,KAAKmM,GACtBvF,KAAK7G,WAST+a,GAA6BH,OAAS,SAAUxO,GAC9C,GAAI4O,IAAgB,CACpB,KAAKnU,KAAKY,WAAY,CACpB,GAAI+R,GAAM3S,KAAKyJ,YAAY/P,QAAQ6L,EACvB,MAARoN,IACFwB,GAAgB,EAChBnU,KAAKyJ,YAAY2K,OAAOzB,EAAK,GAC7B3S,KAAK7G,SACLoM,EAAKvE,WAGT,MAAOmT,IAMTD,GAA6BlT,QAAU,WACrC,IAAKhB,KAAKY,WAAY,CACpBZ,KAAKY,YAAa,CAElB,KAAI,GADA1H,GAAM8G,KAAKyJ,YAAYtQ,OAAQkb,EAAqB,GAAIzU,OAAM1G,GAC1DD,EAAI,EAAOC,EAAJD,EAASA,IAAOob,EAAmBpb,GAAK+G,KAAKyJ,YAAYxQ,EAIxE,KAHA+G,KAAKyJ,eACLzJ,KAAK7G,OAAS,EAETF,EAAI,EAAOC,EAAJD,EAASA,IACnBob,EAAmBpb,GAAG+H,WAS5B,IAAIsT,IAAa3E,GAAG2E,WAAa,SAAUC,GACzCvU,KAAKY,YAAa,EAClBZ,KAAKuU,OAASA,GAAUjJ,GAI1BgJ,IAAWtX,UAAUgE,QAAU,WACxBhB,KAAKY,aACRZ,KAAKuU,SACLvU,KAAKY,YAAa,GAStB,IAAIwI,IAAmBkL,GAAWE,OAAS,SAAUD,GAAU,MAAO,IAAID,IAAWC,IAKjFE,GAAkBH,GAAWI,OAAU1T,QAASsK,IAOhD2I,GAAeK,GAAWL,aAAe,SAAU/P,GACrD,MAAOA,IAAK5E,GAAW4E,EAAElD,UAGvB2T,GAAgBL,GAAWK,cAAgB,SAAUhU,GACvD,GAAIA,EAAWC,WAAc,KAAM,IAAIqQ,KAIrC1N,GAA6BoM,GAAGpM,2BAA6B,WAC/DvD,KAAKY,YAAa,EAClBZ,KAAK4U,QAAU,KAEjBrR,IAA2BvG,UAAU+V,cAAgB,WACnD,MAAO/S,MAAK4U,SAEdrR,GAA2BvG,UAAU0G,cAAgB,SAAU1F,GAC7D,GAAIgC,KAAK4U,QAAW,KAAM,IAAIzZ,OAAM,uCACpC,IAAIgZ,GAAgBnU,KAAKY,YACxBuT,IAAkBnU,KAAK4U,QAAU5W,GAClCmW,GAAiBnW,GAASA,EAAMgD,WAElCuC,GAA2BvG,UAAUgE,QAAU,WAC7C,IAAKhB,KAAKY,WAAY,CACpBZ,KAAKY,YAAa,CAClB,IAAIiU,GAAM7U,KAAK4U,OACf5U,MAAK4U,QAAU,KAEjBC,GAAOA,EAAI7T,UAIb,IAAIyC,IAAmBkM,GAAGlM,iBAAmB,WAC3CzD,KAAKY,YAAa,EAClBZ,KAAK4U,QAAU,KAEjBnR,IAAiBzG,UAAU+V,cAAgB,WACzC,MAAO/S,MAAK4U,SAEdnR,GAAiBzG,UAAU0G,cAAgB,SAAU1F,GACnD,GAAImW,GAAgBnU,KAAKY,UACzB,KAAKuT,EAAe,CAClB,GAAIU,GAAM7U,KAAK4U,OACf5U,MAAK4U,QAAU5W,EAEjB6W,GAAOA,EAAI7T,UACXmT,GAAiBnW,GAASA,EAAMgD,WAElCyC,GAAiBzG,UAAUgE,QAAU,WACnC,IAAKhB,KAAKY,WAAY,CACpBZ,KAAKY,YAAa,CAClB,IAAIiU,GAAM7U,KAAK4U,OACf5U,MAAK4U,QAAU,KAEjBC,GAAOA,EAAI7T,UAMb,IAAI8J,IAAqB6E,GAAG7E,mBAAqB,WAE/C,QAASgK,GAAgBnU,GACvBX,KAAKW,WAAaA,EAClBX,KAAKW,WAAWjB,QAChBM,KAAK+U,iBAAkB,EAmBzB,QAASjK,GAAmBnK,GAC1BX,KAAKgV,qBAAuBrU,EAC5BX,KAAKY,YAAa,EAClBZ,KAAKiV,mBAAoB,EACzBjV,KAAKN,MAAQ,EAwBf,MA5CAoV,GAAgB9X,UAAUgE,QAAU,WAC7BhB,KAAKW,WAAWC,YAAeZ,KAAK+U,kBACvC/U,KAAK+U,iBAAkB,EACvB/U,KAAKW,WAAWjB,QACc,IAA1BM,KAAKW,WAAWjB,OAAeM,KAAKW,WAAWsU,oBACjDjV,KAAKW,WAAWC,YAAa,EAC7BZ,KAAKW,WAAWqU,qBAAqBhU,aAoB3C8J,EAAmB9N,UAAUgE,QAAU,WAChChB,KAAKY,YAAeZ,KAAKiV,oBAC5BjV,KAAKiV,mBAAoB,EACN,IAAfjV,KAAKN,QACPM,KAAKY,YAAa,EAClBZ,KAAKgV,qBAAqBhU,aAShC8J,EAAmB9N,UAAU+V,cAAgB,WAC3C,MAAO/S,MAAKY,WAAa6T,GAAkB,GAAIK,GAAgB9U,OAG1D8K,IAgBTrK,GAAoBzD,UAAUgE,QAAU,WACtChB,KAAKU,UAAUwU,kBAAkBlV,KAAMa,GAGzC,IAAIsU,IAAgBxF,GAAGC,UAAUuF,cAAgB,SAAUzU,EAAW0U,EAAOb,EAAQ7H,EAASlH,GAC5FxF,KAAKU,UAAYA,EACjBV,KAAKoV,MAAQA,EACbpV,KAAKuU,OAASA,EACdvU,KAAK0M,QAAUA,EACf1M,KAAKwF,SAAWA,GAAYiL,GAC5BzQ,KAAKW,WAAa,GAAI4C,IAGxB4R,IAAcnY,UAAUqY,OAAS,WAC/BrV,KAAKW,WAAW+C,cAAc1D,KAAKsV,eAGrCH,GAAcnY,UAAUgW,UAAY,SAAUC,GAC5C,MAAOjT,MAAKwF,SAASxF,KAAK0M,QAASuG,EAAMvG,UAG3CyI,GAAcnY,UAAUuY,YAAc,WACpC,MAAOvV,MAAKW,WAAWC,YAGzBuU,GAAcnY,UAAUsY,WAAa,WACnC,MAAOtV,MAAKuU,OAAOvU,KAAKU,UAAWV,KAAKoV,OAI1C,IAAII,IAAY7F,GAAG6F,UAAa,WAE9B,QAASA,GAAUvI,EAAKxE,EAAUgN,EAAkBC,GAClD1V,KAAKiN,IAAMA,EACXjN,KAAK2V,UAAYlN,EACjBzI,KAAK4V,kBAAoBH,EACzBzV,KAAK6V,kBAAoBH,EAQ3B,QAASI,GAAapV,EAAW6T,GAE/B,MADAA,KACOE,GANTe,EAAU1S,YAAc,SAAUhC,GAChC,MAAOA,aAAa0U,GAQtB,IAAIO,GAAiBP,EAAUxY,SA4E/B,OArEA+Y,GAAetN,SAAW,SAAU8L,GAClC,MAAOvU,MAAK2V,UAAUpB,EAAQuB,IAShCC,EAAeb,kBAAoB,SAAUE,EAAOb,GAClD,MAAOvU,MAAK2V,UAAUP,EAAOb,IAS/BwB,EAAe5I,qBAAuB,SAAUT,EAAS6H,GACvD,MAAOvU,MAAK4V,kBAAkBrB,EAAQ7H,EAASoJ,IAUjDC,EAAeC,6BAA+B,SAAUZ,EAAO1I,EAAS6H,GACtE,MAAOvU,MAAK4V,kBAAkBR,EAAO1I,EAAS6H,IAShDwB,EAAepJ,qBAAuB,SAAUD,EAAS6H,GACvD,MAAOvU,MAAK6V,kBAAkBtB,EAAQ7H,EAASoJ,IAUjDC,EAAeE,6BAA+B,SAAUb,EAAO1I,EAAS6H,GACtE,MAAOvU,MAAK6V,kBAAkBT,EAAO1I,EAAS6H,IAIhDiB,EAAUvI,IAAMgD,GAOhBuF,EAAUU,UAAY,SAAUC,GAE9B,MADW,GAAXA,IAAiBA,EAAW,GACrBA,GAGFX,KAGLzI,GAAgByI,GAAUU,UAAWpT,GAAc0S,GAAU1S,aAEhE,SAAUiT,GAET,QAASK,GAAmB1V,EAAW2V,GAGrC,QAASC,GAAgBC,GACvBhC,EAAOgC,EAAQ,SAAUC,GACvB,GAAIC,IAAU,EAAOvM,GAAS,EAC9BhG,EAAIxD,EAAUwU,kBAAkBsB,EAAQ,SAAUE,EAAYC,GAO5D,MANIF,GACFG,EAAM7C,OAAO7P,GAEbgG,GAAS,EAEXoM,EAAgBK,GACTlC,IAEJvK,KACH0M,EAAMjN,IAAIzF,GACVuS,GAAU,KAhBhB,GAAIrB,GAAQiB,EAAK,GAAI9B,EAAS8B,EAAK,GAAIO,EAAQ,GAAIlN,GAsBnD,OADA4M,GAAgBlB,GACTwB,EAGT,QAASC,GAAcnW,EAAW2V,EAAMS,GAEtC,QAASR,GAAgBC,GACvBhC,EAAOgC,EAAQ,SAAUC,EAAQO,GAC/B,GAAIN,IAAU,EAAOvM,GAAS,EAC9BhG,EAAIxD,EAAUoW,GAAQN,EAAQO,EAAU,SAAUL,EAAYC,GAO5D,MANIF,GACFG,EAAM7C,OAAO7P,GAEbgG,GAAS,EAEXoM,EAAgBK,GACTlC,IAEJvK,KACH0M,EAAMjN,IAAIzF,GACVuS,GAAU,KAfhB,GAAIrB,GAAQiB,EAAK,GAAI9B,EAAS8B,EAAK,GAAIO,EAAQ,GAAIlN,GAoBnD,OADA4M,GAAgBlB,GACTwB,EAGT,QAASI,GAAuBzC,EAAQxT,GACtCwT,EAAO,SAAS0C,GAAMlW,EAAKwT,EAAQ0C,KAQrClB,EAAemB,kBAAoB,SAAU3C,GAC3C,MAAOvU,MAAKmX,2BAA2B5C,EAAQ,SAAU6C,EAASrW,GAChEqW,EAAQ,WAAcrW,EAAKqW,QAS/BrB,EAAeoB,2BAA6B,SAAU/B,EAAOb,GAC3D,MAAOvU,MAAKkV,mBAAmBE,EAAOb,GAAS6B,IASjDL,EAAe9H,8BAAgC,SAAUvB,EAAS6H,GAChE,MAAOvU,MAAKqX,sCAAsC9C,EAAQ7H,EAASsK,IAUrEjB,EAAesB,sCAAwC,SAAUjC,EAAO1I,EAAS6H,GAC/E,MAAOvU,MAAK4V,mBAAmBR,EAAOb,GAAS7H,EAAS,SAAU5L,EAAGgM,GACnE,MAAO+J,GAAc/V,EAAGgM,EAAG,mCAU/BiJ,EAAeuB,8BAAgC,SAAU5K,EAAS6H,GAChE,MAAOvU,MAAKgN,sCAAsCuH,EAAQ7H,EAASsK,IAUrEjB,EAAe/I,sCAAwC,SAAUoI,EAAO1I,EAAS6H,GAC/E,MAAOvU,MAAK6V,mBAAmBT,EAAOb,GAAS7H,EAAS,SAAU5L,EAAGgM,GACnE,MAAO+J,GAAc/V,EAAGgM,EAAG,oCAG/B0I,GAAUxY,WAEX,WAQCwY,GAAUxY,UAAUua,iBAAmB,SAAU1K,EAAQ0H,GACvD,MAAOvU,MAAKqN,0BAA0B,KAAMR,EAAQ0H,IAUtDiB,GAAUxY,UAAUqQ,0BAA4B,SAAS+H,EAAOvI,EAAQ0H,GACtE,GAAgC,mBAArBzS,IAAK0V,YAA+B,KAAM,IAAItG,GACzDrE,GAASE,GAAcF,EACvB,IAAI/L,GAAIsU,EAAO5U,EAAKsB,GAAK0V,YAAY,WAAc1W,EAAIyT,EAAOzT,IAAO+L,EACrE,OAAOzD,IAAiB,WAActH,GAAK2V,cAAcjX,OAG3DgV,GAAUxY,WAEX,SAAU+Y,GAMTA,EAAe2B,WAAa3B,EAAe,SAAW,SAAU3S,GAC9D,MAAO,IAAIuU,IAAe3X,KAAMoD,KAElCoS,GAAUxY,UAEZ,IAsEI4a,IAAgBC,GAtEhBC,GAA4BnI,GAAGC,UAAUkI,0BAA6B,WACxE,QAASC,GAAKC,EAASC,GACrBA,EAAQ,EAAGjY,KAAKkY,QAChB,KACElY,KAAKmY,OAASnY,KAAKoX,QAAQpX,KAAKmY,QAChC,MAAO/c,GAEP,KADA4E,MAAKoY,QAAQpX,UACP5F,GAIV,QAAS0c,GAA0BpX,EAAW0U,EAAOvI,EAAQ0H,GAC3DvU,KAAKqY,WAAa3X,EAClBV,KAAKmY,OAAS/C,EACdpV,KAAKkY,QAAUrL,EACf7M,KAAKoX,QAAU7C,EAWjB,MARAuD,GAA0B9a,UAAUsb,MAAQ,WAC1C,GAAIpU,GAAI,GAAIX,GAIZ,OAHAvD,MAAKoY,QAAUlU,EACfA,EAAER,cAAc1D,KAAKqY,WAAWhB,sCAAsC,EAAGrX,KAAKkY,QAASH,EAAKlJ,KAAK7O,QAE1FkE,GAGF4T,KAILS,GAAqB/C,GAAUgD,UAAa,WAC9C,QAASC,GAAYrD,EAAOb,GAAU,MAAOA,GAAOvU,KAAMoV,GAC1D,MAAO,IAAII,IAAUvF,GAAYwI,EAAapH,GAAcA,OAM1DtO,GAAyByS,GAAUkD,cAAiB,WAGtD,QAASC,KACP,KAAOC,EAAMzf,OAAS,GAAG,CACvB,GAAIoM,GAAOqT,EAAM/E,WAChBtO,EAAKgQ,eAAiBhQ,EAAK8P,UAIhC,QAASoD,GAAYrD,EAAOb,GAC1B,GAAIsE,GAAK,GAAI1D,IAAcnV,KAAMoV,EAAOb,EAAQvU,KAAKiN,MAErD,IAAK2L,EAQHA,EAAM9E,QAAQ+E,OARJ,CACVD,EAAQ,GAAIzF,IAAc,GAC1ByF,EAAM9E,QAAQ+E,EAEd,IAAIhd,GAASsE,EAASwY,IAEtB,IADAC,EAAQ,KACJ/c,IAAWqE,GAAY,MAAOI,GAAQzE,EAAOT,GAInD,MAAOyd,GAAGlY,WAtBZ,GAAIiY,GAyBAE,EAAmB,GAAItD,IAAUvF,GAAYwI,EAAapH,GAAcA,GAG5E,OAFAyH,GAAiBC,iBAAmB,WAAc,OAAQH,GAEnDE,KAKLE,GAAc,WAChB,GAAIC,GAAiBC,EAAoB5N,EACzC,IAAMxJ,GAAKqX,WACTF,EAAkBnX,GAAKqX,WACvBD,EAAoBpX,GAAKsX,iBACpB,CAAA,IAAMtX,GAAKuX,QAMhB,KAAM,IAAInI,GALV+H,GAAkB,SAAU7Y,EAAIkZ,GAC9BxX,GAAKuX,QAAQE,MAAMD,GACnBlZ,KAMJ,OACE+Y,WAAYF,EACZG,aAAcF,MAGdD,GAAkBD,GAAWG,WAC/BD,GAAoBF,GAAWI,cAEhC,WAQC,QAASI,GAAQC,GACf,GAAIC,EACFT,GAAgB,WAAcO,EAAQC,IAAW,OAC5C,CACL,GAAIE,GAAOC,EAAcH,EACzB,IAAIE,EAAM,CACRD,GAAmB,CACnB,IAAI7d,GAASsE,EAASwZ,IAGtB,IAFA9B,GAAY4B,GACZC,GAAmB,EACf7d,IAAWqE,GAAY,MAAOI,GAAQzE,EAAOT,KAcvD,QAASye,KAEP,IAAK/X,GAAKgY,aAAehY,GAAKiY,cAAiB,OAAO,CACtD,IAAIC,IAAU,EAAOC,EAAanY,GAAKoY,SAMvC,OAJApY,IAAKoY,UAAY,WAAcF,GAAU,GACzClY,GAAKgY,YAAY,GAAI,KACrBhY,GAAKoY,UAAYD,EAEVD,EAuBP,QAASG,GAAoBC,GAED,gBAAfA,GAAMC,MAAqBD,EAAMC,KAAKC,UAAU,EAAGC,EAAWphB,UAAYohB,GACnFf,EAAQY,EAAMC,KAAKC,UAAUC,EAAWphB,SAjE9C,GAAIqhB,GAAa,EAAGZ,KAAoBF,GAAmB,CAE3D7B,IAAc,SAAU4B,SACfG,GAAcH,GAkBvB,IAAIgB,GAAWC,OAAO,IACpB5b,OAAOzB,IACJsd,QAAQ,sBAAuB,QAC/BA,QAAQ,wBAAyB,OAAS,KAG3CC,EAAiG,mBAA1EA,EAAenL,IAAcD,IAAiBC,GAAWmL,gBACjFH,EAASpI,KAAKuI,IAAiBA,CAelC,IAAItb,GAAWsb,GACbhD,GAAiB,SAAUrD,GACzB,GAAI/T,GAAKga,GAIT,OAHAZ,GAAcpZ,GAAM+T,EACpBqG,EAAa,WAAcpB,EAAQhZ,KAE5BA,OAEJ,IAAuB,mBAAZqa,UAAyD,wBAA3Bxd,SAASlB,KAAK0e,SAC5DjD,GAAiB,SAAUrD,GACzB,GAAI/T,GAAKga,GAIT,OAHAZ,GAAcpZ,GAAM+T,EACpBsG,QAAQC,SAAS,WAActB,EAAQhZ,KAEhCA,OAEJ,IAAIqZ,IAAwB,CACjC,GAAIU,GAAa,iBAAmBjY,KAAKyY,QASrCjZ,IAAKqH,iBACPrH,GAAKqH,iBAAiB,UAAWgR,GAAqB,GAC7CrY,GAAKkZ,YACdlZ,GAAKkZ,YAAY,YAAab,GAE9BrY,GAAKoY,UAAYC,EAGnBvC,GAAiB,SAAUrD,GACzB,GAAI/T,GAAKga,GAGT,OAFAZ,GAAcpZ,GAAM+T,EACpBzS,GAAKgY,YAAYS,EAAaU,UAAW,KAClCza,OAEJ,IAAMsB,GAAKoZ,eAAgB,CAChC,GAAIC,GAAU,GAAIrZ,IAAKoZ,cAEvBC,GAAQC,MAAMlB,UAAY,SAAU9e,GAAKoe,EAAQpe,EAAEif,OAEnDzC,GAAiB,SAAUrD,GACzB,GAAI/T,GAAKga,GAGT,OAFAZ,GAAcpZ,GAAM+T,EACpB4G,EAAQE,MAAMvB,YAAYtZ,GACnBA,OAIToX,IAFS,YAAc9V,KAAQ,sBAAwBA,IAAKoQ,SAASoJ,cAAc,UAElE,SAAU/G,GACzB,GAAIgH,GAAgBzZ,GAAKoQ,SAASoJ,cAAc,UAC5C9a,EAAKga,GAUT,OATAZ,GAAcpZ,GAAM+T,EAEpBgH,EAAcC,mBAAqB,WACjChC,EAAQhZ,GACR+a,EAAcC,mBAAqB,KACnCD,EAAcE,WAAWC,YAAYH,GACrCA,EAAgB,MAElBzZ,GAAKoQ,SAASyJ,gBAAgBC,YAAYL,GACnC/a,GAIQ,SAAU+T,GACzB,GAAI/T,GAAKga,GAMT,OALAZ,GAAcpZ,GAAM+T,EACpB0E,GAAgB,WACdO,EAAQhZ,IACP,GAEIA,KAQb,IAAIgI,IAAmBgN,GAAUqG,QAAUrG,GAAU,WAAa,WAEhE,QAASiD,GAAYrD,EAAOb,GAC1B,GAAI7T,GAAYV,KAAMW,EAAa,GAAI4C,IACnC/C,EAAKoX,GAAe,YACrBjX,EAAWC,YAAcD,EAAW+C,cAAc6Q,EAAO7T,EAAW0U,KAEvE,OAAO,IAAI1L,IAAoB/I,EAAYyI,GAAiB,WAC1DyO,GAAYrX,MAIhB,QAASiV,GAAiBL,EAAO1I,EAAS6H,GACxC,GAAI7T,GAAYV,KAAMiX,EAAKzB,GAAUU,UAAUxJ,GAAU/L,EAAa,GAAI4C,GAC1E,IAAW,IAAP0T,EAAY,MAAOvW,GAAUwU,kBAAkBE,EAAOb,EAC1D,IAAI/T,GAAKyY,GAAgB,YACtBtY,EAAWC,YAAcD,EAAW+C,cAAc6Q,EAAO7T,EAAW0U,KACpE6B,EACH,OAAO,IAAIvN,IAAoB/I,EAAYyI,GAAiB,WAC1D8P,GAAkB1Y,MAItB,QAASkV,GAAiBN,EAAO1I,EAAS6H,GACxC,MAAOvU,MAAKgW,6BAA6BZ,EAAO1I,EAAU1M,KAAKiN,MAAOsH,GAGxE,MAAO,IAAIiB,IAAUvF,GAAYwI,EAAahD,EAAkBC,MAG9DiC,GAAkB,SAAUmE,GAE9B,QAASrD,GAAYrD,EAAOb,GAC1B,MAAOvU,MAAKqY,WAAWnD,kBAAkBE,EAAOpV,KAAK+b,MAAMxH,IAG7D,QAASkB,GAAiBL,EAAO1I,EAAS6H,GACxC,MAAOvU,MAAKqY,WAAWrC,6BAA6BZ,EAAO1I,EAAS1M,KAAK+b,MAAMxH,IAGjF,QAASmB,GAAiBN,EAAO1I,EAAS6H,GACxC,MAAOvU,MAAKqY,WAAWpC,6BAA6Bb,EAAO1I,EAAS1M,KAAK+b,MAAMxH,IAKjF,QAASoD,GAAejX,EAAW0C,GACjCpD,KAAKqY,WAAa3X,EAClBV,KAAKgc,SAAW5Y,EAChBpD,KAAKic,mBAAqB,KAC1Bjc,KAAKkc,kBAAoB,KACzBJ,EAAU3f,KAAK6D,KAAMA,KAAKqY,WAAWpL,IAAI4B,KAAK7O,KAAKqY,YAAaI,EAAahD,EAAkBC,GAgDjG,MAvDApD,IAASqF,EAAgBmE,GAUzBnE,EAAe3a,UAAUmf,OAAS,SAAUzb,GACxC,MAAO,IAAIiX,GAAejX,EAAWV,KAAKgc,WAG9CrE,EAAe3a,UAAU+e,MAAQ,SAAUxH,GACzC,GAAI5R,GAAS3C,IACb,OAAO,UAAUe,EAAMqU,GACrB,IACE,MAAOb,GAAO5R,EAAOyZ,qBAAqBrb,GAAOqU,GACjD,MAAOha,GACP,IAAKuH,EAAOqZ,SAAS5gB,GAAM,KAAMA,EACjC,OAAOqZ,OAKbkD,EAAe3a,UAAUof,qBAAuB,SAAU1b,GACxD,GAAIV,KAAKic,qBAAuBvb,EAAW,CACzCV,KAAKic,mBAAqBvb,CAC1B,IAAI2b,GAAUrc,KAAKmc,OAAOzb,EAC1B2b,GAAQJ,mBAAqBvb,EAC7B2b,EAAQH,kBAAoBG,EAC5Brc,KAAKkc,kBAAoBG,EAE3B,MAAOrc,MAAKkc,mBAGdvE,EAAe3a,UAAUqQ,0BAA4B,SAAU+H,EAAOvI,EAAQ0H,GAC5E,GAAIxT,GAAOf,KAAMsc,GAAS,EAAOpY,EAAI,GAAIX,GAczC,OAZAW,GAAER,cAAc1D,KAAKqY,WAAWhL,0BAA0B+H,EAAOvI,EAAQ,SAAU0J,GACjF,GAAI+F,EAAU,MAAO,KACrB,KACE,MAAO/H,GAAOgC,GACd,MAAOnb,GAEP,GADAkhB,GAAS,GACJvb,EAAKib,SAAS5gB,GAAM,KAAMA,EAE/B,OADA8I,GAAElD,UACK,SAIJkD,GAGFyT,GACPnC,IAKE+G,GAAe5M,GAAG4M,aAAe,WACnC,QAASA,GAAavO,EAAMhQ,EAAO0P,EAAWW,EAAQmO,EAAkBnf,GACtE2C,KAAKgO,KAAOA,EACZhO,KAAKhC,MAAQA,EACbgC,KAAK0N,UAAYA,EACjB1N,KAAKyc,QAAUpO,EACfrO,KAAK0c,kBAAoBF,EACzBxc,KAAK3C,SAAWA,EAoClB,MAxBAkf,GAAavf,UAAUqR,OAAS,SAAUsO,EAAkB5Y,EAASI,GACnE,MAAOwY,IAAgD,gBAArBA,GAChC3c,KAAK0c,kBAAkBC,GACvB3c,KAAKyc,QAAQE,EAAkB5Y,EAASI,IAU5CoY,EAAavf,UAAU4f,aAAe,SAAUlc,GAC9C,GAAIK,GAAOf,IAEX,OADA8C,IAAYpC,KAAeA,EAAY6X,IAChC,GAAIlV,IAAoB,SAAUnC,GACvC,MAAOR,GAAUwU,kBAAkBnU,EAAM,SAAUyJ,EAAGuD,GACpDA,EAAa2O,kBAAkBxb,GACT,MAAtB6M,EAAaC,MAAgB9M,EAASiD,mBAKrCoY,KAQLM,GAA2BN,GAAaO,aAAgB,WACxD,QAASL,GAAQ5Y,GAAU,MAAOA,GAAO7D,KAAKhC,OAC9C,QAAS0e,GAAkBxb,GAAY,MAAOA,GAAS2C,OAAO7D,KAAKhC,OACnE,QAASX,KAAa,MAAO,UAAY2C,KAAKhC,MAAQ,IAEtD,MAAO,UAAUA,GACf,MAAO,IAAIue,IAAa,IAAKve,EAAO,KAAMye,EAASC,EAAmBrf,OASxE0f,GAA4BR,GAAaS,cAAiB,WAC5D,QAASP,GAAS5Y,EAAQE,GAAW,MAAOA,GAAQ/D,KAAK0N,WACzD,QAASgP,GAAkBxb,GAAY,MAAOA,GAAS6C,QAAQ/D,KAAK0N,WACpE,QAASrQ,KAAc,MAAO,WAAa2C,KAAK0N,UAAY,IAE5D,MAAO,UAAUtS,GACf,MAAO,IAAImhB,IAAa,IAAK,KAAMnhB,EAAGqhB,EAASC,EAAmBrf,OAQlE4f,GAAgCV,GAAaW,kBAAqB,WACpE,QAAST,GAAS5Y,EAAQE,EAASI,GAAe,MAAOA,KACzD,QAASuY,GAAkBxb,GAAY,MAAOA,GAASiD,cACvD,QAAS9G,KAAc,MAAO,gBAE9B,MAAO,YACL,MAAO,IAAIkf,IAAa,IAAK,KAAM,KAAME,EAASC,EAAmBrf,OAIrEqO,GAAaiE,GAAGC,UAAUlE,WAAa,SAAU5C,GACnD9I,KAAKmd,MAAQrU,EAGf4C,IAAW1O,UAAU8L,KAAO,WAC1B,MAAO9I,MAAKmd,SAGdzR,GAAW1O,UAAUkF,IAAc,WAAc,MAAOlC,MAExD,IAAIyL,IAAakE,GAAGC,UAAUnE,WAAa,SAAU8F,GACnDvR,KAAKod,UAAY7L,EAGnB9F,IAAWzO,UAAUkF,IAAc,WACjC,MAAOlC,MAAKod,aAGd3R,GAAWzO,UAAUqgB,OAAS,WAC5B,GAAI3K,GAAU1S,IACd,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAEI+G,GAFAxF,EAAIsX,EAAQxQ,MAEAsB,EAAe,GAAIC,IAC/BgK,EAAa8K,GAAmBrB,kBAAkB,SAAUnW,GAC9D,IAAIH,EAAJ,CACA,IACE,GAAI0c,GAAcliB,EAAE0N,OACpB,MAAOhF,GACP,MAAOjK,GAAEkK,QAAQD,GAGnB,GAAIwZ,EAAYtV,KACd,MAAOnO,GAAEsK,aAIX,IAAIoZ,GAAeD,EAAYtf,KAC/BgG,IAAUuZ,KAAkBA,EAAetZ,GAAsBsZ,GAEjE,IAAIrZ,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAAc6Z,EAAa5Z,UAC3B,SAASC,GAAK/J,EAAEgK,OAAOD,IACvB,SAASyE,GAAOxO,EAAEkK,QAAQsE,IAC1BtH,MAIJ,OAAO,IAAI2I,IAAoBlG,EAAciK,EAAYrE,GAAiB,WACxExI,GAAa,QAKnB6K,GAAWzO,UAAU0a,WAAa,WAChC,GAAIhF,GAAU1S,IACd,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAEI+G,GAFAxF,EAAIsX,EAAQxQ,MAEAsB,EAAe,GAAIC,IAC/BgK,EAAa8K,GAAmBpB,2BAA2B,KAAM,SAAUqG,EAAezc,GAC5F,IAAIH,EAAJ,CAEA,IACE,GAAI0c,GAAcliB,EAAE0N,OACpB,MAAOhF,GACP,MAAO5C,UAAS6C,QAAQD,GAG1B,GAAIwZ,EAAYtV,KAMd,YALsB,OAAlBwV,EACF3jB,EAAEkK,QAAQyZ,GAEV3jB,EAAEsK,cAMN,IAAIoZ,GAAeD,EAAYtf,KAC/BgG,IAAUuZ,KAAkBA,EAAetZ,GAAsBsZ,GAEjE,IAAIrZ,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAAc6Z,EAAa5Z,UAC3B,SAASC,GAAK/J,EAAEgK,OAAOD,IACvB7C,EACA,WAAalH,EAAEsK,mBAEnB,OAAO,IAAIuF,IAAoBlG,EAAciK,EAAYrE,GAAiB,WACxExI,GAAa,QAMnB6K,GAAWzO,UAAUygB,eAAiB,SAAUC,GAC9C,GAAIhL,GAAU1S,IACd,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAOI+G,GACF4c,EAREG,EAAa,GAAI/S,IACnBgT,EAAW,GAAIhT,IACfiT,EAAUH,EAAoBC,GAC9BG,EAAyBD,EAAQla,UAAUia,GAEzCxiB,EAAIsX,EAAQxQ,MAIdsB,EAAe,GAAIC,IACjBgK,EAAa8K,GAAmBrB,kBAAkB,SAAUnW,GAC9D,IAAIH,EAAJ,CAEA,IACE,GAAI0c,GAAcliB,EAAE0N,OACpB,MAAOhF,GACP,MAAOjK,GAAEkK,QAAQD,GAGnB,GAAIwZ,EAAYtV,KAMd,YALIwV,EACF3jB,EAAEkK,QAAQyZ,GAEV3jB,EAAEsK,cAMN,IAAIoZ,GAAeD,EAAYtf,KAC/BgG,IAAUuZ,KAAkBA,EAAetZ,GAAsBsZ,GAEjE,IAAIQ,GAAQ,GAAIxa,IACZya,EAAQ,GAAIza,GAChBC,GAAaE,cAAc,GAAIgG,IAAoBsU,EAAOD,IAC1DA,EAAMra,cAAc6Z,EAAa5Z,UAC/B,SAASC,GAAK/J,EAAEgK,OAAOD,IACvB,SAAUqa,GACRD,EAAMta,cAAcka,EAASja,UAAU5C,EAAM,SAAS+C,GACpDjK,EAAEkK,QAAQD,IACT,WACDjK,EAAEsK,iBAGJwZ,EAAW9Z,OAAOoa,IAEpB,WAAapkB,EAAEsK,mBAGnB,OAAO,IAAIuF,IAAoBoU,EAAwBta,EAAciK,EAAYrE,GAAiB,WAChGxI,GAAa,OAKnB,IAAIsd,IAAmBzS,GAAW0S,OAAS,SAAUngB,EAAOogB,GAE1D,MADmB,OAAfA,IAAuBA,EAAc,IAClC,GAAI3S,IAAW,WACpB,GAAIjH,GAAO4Z,CACX,OAAO,IAAI1S,IAAW,WACpB,MAAa,KAATlH,EAAqBiN,IACrBjN,EAAO,GAAKA,KACPwD,MAAM,EAAOhK,MAAOA,SAK/BqgB,GAAe5S,GAAW6S,GAAK,SAAUxkB,EAAQ+K,EAAUC,GAC7D,GAAID,EACF,GAAI0Z,GAAavZ,GAAaH,EAAUC,EAAS,EAEnD,OAAO,IAAI2G,IAAW,WACpB,GAAI3O,GAAQ,EACZ,OAAO,IAAI4O,IACT,WACE,QAAS5O,EAAQhD,EAAOX,QACpB6O,MAAM,EAAOhK,MAAQ6G,EAA2B0Z,EAAWzkB,EAAOgD,GAAQA,EAAOhD,GAAjDA,EAAOgD,IACzC2U,QAQN+M,GAAW7O,GAAG6O,SAAW,YAM7BA,IAASxhB,UAAUyhB,WAAa,WAC9B,GAAIvd,GAAWlB,IACf,OAAO,UAAU0e,GAAK,MAAOA,GAAErQ,OAAOnN,KAOxCsd,GAASxhB,UAAU2hB,WAAa,WAC9B,MAAO,IAAIC,IAAkB5e,KAAK6D,OAAOgL,KAAK7O,MAAOA,KAAK+D,QAAQ8K,KAAK7O,MAAOA,KAAKmE,YAAY0K,KAAK7O,QAQtGwe,GAASxhB,UAAU6hB,QAAU,WAAc,MAAO,IAAIC,IAAgB9e,MAStE,IAAI+e,IAAiBP,GAAShK,OAAS,SAAU3Q,EAAQE,EAASI,GAIhE,MAHAN,KAAWA,EAASyH,IACpBvH,IAAYA,EAAU2M,IACtBvM,IAAgBA,EAAcmH,IACvB,GAAIsT,IAAkB/a,EAAQE,EAASI,GAWhDqa,IAASQ,aAAe,SAAU5b,EAAS0B,GACzC,MAAO,IAAI8Z,IAAkB,SAAUhb,GACrC,MAAOR,GAAQjH,KAAK2I,EAAS+X,GAAyBjZ,KACrD,SAAUxI,GACX,MAAOgI,GAAQjH,KAAK2I,EAASiY,GAA0B3hB,KACtD,WACD,MAAOgI,GAAQjH,KAAK2I,EAASmY,SASjCuB,GAASxhB,UAAUiiB,SAAW,SAAUve,GACtC,MAAO,IAAIwe,IAAkBxe,EAAWV,OAG1Cwe,GAASxhB,UAAUmiB,SAAW,SAASxe,GACrC,MAAO,IAAIye,uBAAsBpf,KAAKqf,QAASrf,KAAKsf,SAAUtf,KAAKuf,aAAc5e,GAOnF,IAsPI6e,IAtPAC,GAAmB9P,GAAGC,UAAU6P,iBAAoB,SAAU3D,GAMhE,QAAS2D,KACPzf,KAAKmB,WAAY,EACjB2a,EAAU3f,KAAK6D,MAsDjB,MA7DAsS,IAASmN,EAAkB3D,GAW3B2D,EAAiBziB,UAAU8L,KAAOsI,GAClCqO,EAAiBziB,UAAU1D,MAAQ8X,GACnCqO,EAAiBziB,UAAU0iB,UAAYtO,GAMvCqO,EAAiBziB,UAAU6G,OAAS,SAAU7F,GACvCgC,KAAKmB,WAAanB,KAAK8I,KAAK9K,IAOnCyhB,EAAiBziB,UAAU+G,QAAU,SAAUzK,GACxC0G,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAK1G,MAAMA,KAOfmmB,EAAiBziB,UAAUmH,YAAc,WAClCnE,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAK0f,cAOTD,EAAiBziB,UAAUgE,QAAU,WACnChB,KAAKmB,WAAY,GAGnBse,EAAiBziB,UAAU2iB,KAAO,SAAUvkB,GAC1C,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAK1G,MAAM8B,IACJ,IAMJqkB,GACPjB,IAKEI,GAAoBjP,GAAGiP,kBAAqB,SAAU9C,GASxD,QAAS8C,GAAkB/a,EAAQE,EAASI,GAC1C2X,EAAU3f,KAAK6D,MACfA,KAAKqf,QAAUxb,EACf7D,KAAKsf,SAAWvb,EAChB/D,KAAKuf,aAAepb,EA0BtB,MAtCAmO,IAASsM,EAAmB9C,GAmB5B8C,EAAkB5hB,UAAU8L,KAAO,SAAU9K,GAC3CgC,KAAKqf,QAAQrhB;;EAOf4gB,EAAkB5hB,UAAU1D,MAAQ,SAAUA,GAC5C0G,KAAKsf,SAAShmB,IAMhBslB,EAAkB5hB,UAAU0iB,UAAY,WACtC1f,KAAKuf,gBAGAX,GACPa,IAEEX,GAAmB,SAAUhD,GAG/B,QAASgD,GAAgB5d,GACvB4a,EAAU3f,KAAK6D,MACfA,KAAK4f,UAAY1e,EACjBlB,KAAKmY,OAAS,EALhB7F,GAASwM,EAAiBhD,EAQ1B,IAAI+D,GAA2Bf,EAAgB9hB,SA6B/C,OA3BA6iB,GAAyBhc,OAAS,SAAU7F,GAC1CgC,KAAK8f,aACL,IAAIxX,GAAMnI,EAASH,KAAK4f,UAAU/b,QAAQ1H,KAAK6D,KAAK4f,UAAW5hB,EAC/DgC,MAAKmY,OAAS,EACd7P,IAAQpI,IAAYI,EAAQgI,EAAIlN,IAGlCykB,EAAyB9b,QAAU,SAAUsE,GAC3CrI,KAAK8f,aACL,IAAIxX,GAAMnI,EAASH,KAAK4f,UAAU7b,SAAS5H,KAAK6D,KAAK4f,UAAWvX,EAChErI,MAAKmY,OAAS,EACd7P,IAAQpI,IAAYI,EAAQgI,EAAIlN,IAGlCykB,EAAyB1b,YAAc,WACrCnE,KAAK8f,aACL,IAAIxX,GAAMnI,EAASH,KAAK4f,UAAUzb,aAAahI,KAAK6D,KAAK4f,UACzD5f,MAAKmY,OAAS,EACd7P,IAAQpI,IAAYI,EAAQgI,EAAIlN,IAGlCykB,EAAyBC,YAAc,WACrC,GAAoB,IAAhB9f,KAAKmY,OAAgB,KAAM,IAAIhd,OAAM,uBACzC,IAAoB,IAAhB6E,KAAKmY,OAAgB,KAAM,IAAIhd,OAAM,qBACrB,KAAhB6E,KAAKmY,SAAgBnY,KAAKmY,OAAS,IAGlC2G,GACPN,IAEEuB,GAAoBpQ,GAAGC,UAAUmQ,kBAAqB,SAAUjE,GAGlE,QAASiE,GAAkBrf,EAAWQ,GACpC4a,EAAU3f,KAAK6D,MACfA,KAAKU,UAAYA,EACjBV,KAAKkB,SAAWA,EAChBlB,KAAKggB,YAAa,EAClBhgB,KAAKigB,YAAa,EAClBjgB,KAAK4Y,SACL5Y,KAAKW,WAAa,GAAI8C,IAkDxB,MA3DA6O,IAASyN,EAAmBjE,GAY5BiE,EAAkB/iB,UAAU8L,KAAO,SAAU9K,GAC3C,GAAI+C,GAAOf,IACXA,MAAK4Y,MAAMxf,KAAK,WAAc2H,EAAKG,SAAS2C,OAAO7F,MAGrD+hB,EAAkB/iB,UAAU1D,MAAQ,SAAU8B,GAC5C,GAAI2F,GAAOf,IACXA,MAAK4Y,MAAMxf,KAAK,WAAc2H,EAAKG,SAAS6C,QAAQ3I,MAGtD2kB,EAAkB/iB,UAAU0iB,UAAY,WACtC,GAAI3e,GAAOf,IACXA,MAAK4Y,MAAMxf,KAAK,WAAc2H,EAAKG,SAASiD,iBAG9C4b,EAAkB/iB,UAAUkjB,aAAe,WACzC,GAAIC,IAAU,EAAOxd,EAAS3C,MACzBA,KAAKigB,YAAcjgB,KAAK4Y,MAAMzf,OAAS,IAC1CgnB,GAAWngB,KAAKggB,WAChBhgB,KAAKggB,YAAa,GAEhBG,GACFngB,KAAKW,WAAW+C,cAAc1D,KAAKU,UAAUwW,kBAAkB,SAAUnW,GACvE,GAAIqf,EACJ,MAAIzd,EAAOiW,MAAMzf,OAAS,GAIxB,YADAwJ,EAAOqd,YAAa,EAFpBI,GAAOzd,EAAOiW,MAAMxK,OAKtB,KACEgS,IACA,MAAOtc,GAGP,KAFAnB,GAAOiW,SACPjW,EAAOsd,YAAa,EACdnc,EAER/C,QAKNgf,EAAkB/iB,UAAUgE,QAAU,WACpC8a,EAAU9e,UAAUgE,QAAQ7E,KAAK6D,MACjCA,KAAKW,WAAWK,WAGX+e,GACPN,IAEEP,GAAoB,SAAWpD,GAGjC,QAASoD,GAAkBxe,EAAWQ,EAAUmf,GAC9CvE,EAAU3f,KAAK6D,KAAMU,EAAWQ,GAChClB,KAAKoY,QAAUiI,EAwBjB,MA5BA/N,IAAS4M,EAAmBpD,GAO5BoD,EAAkBliB,UAAU8L,KAAO,SAAU9K,GAC3C8d,EAAU9e,UAAU8L,KAAK3M,KAAK6D,KAAMhC,GACpCgC,KAAKkgB,gBAGPhB,EAAkBliB,UAAU1D,MAAQ,SAAU8B,GAC5C0gB,EAAU9e,UAAU1D,MAAM6C,KAAK6D,KAAM5E,GACrC4E,KAAKkgB,gBAGPhB,EAAkBliB,UAAU0iB,UAAY,WACtC5D,EAAU9e,UAAU0iB,UAAUvjB,KAAK6D,MACnCA,KAAKkgB,gBAGPhB,EAAkBliB,UAAUgE,QAAU,WACpC8a,EAAU9e,UAAUgE,QAAQ7E,KAAK6D,MACjCA,KAAKoY,SAAWpY,KAAKoY,QAAQpX,UAC7BhB,KAAKoY,QAAU,MAGV8G,GACNa,IAOCO,GAAa3Q,GAAG2Q,WAAa,WAE/B,QAASA,GAAW3c,GAClB,GAAIgM,GAAGE,OAAOkB,kBAAoBvX,GAAW,CAC3C,IACE,KAAM,IAAI2B,OACV,MAAOC,GACP4E,KAAKvG,MAAQ2B,EAAE3B,MAAM6gB,UAAUlf,EAAE3B,MAAMC,QAAQ,MAAQ,GAGzD,GAAIqH,GAAOf,IACXA,MAAKugB,WAAa,SAAUrf,GAC1B,GAAIsf,GAAatf,EAAS6C,QAAQ8K,KAAK3N,EAOvC,OALAA,GAAS6C,QAAU,SAAUsE,GAC3BhP,EAAmBgP,EAAKtH,GACxByf,EAAWnY,IAGN1E,EAAUxH,KAAK4E,EAAMG,QAG9BlB,MAAKugB,WAAa5c,EAiDtB,MA7CA6b,IAAkBc,EAAWtjB,UAS7BwiB,GAAgB7b,UAAY6b,GAAgBiB,QAAU,SAAU9D,EAAkB5Y,EAASI,GACzF,MAAOnE,MAAKugB,WAAuC,gBAArB5D,GAC5BA,EACAoC,GAAepC,EAAkB5Y,EAASI,KAS9Cqb,GAAgBkB,gBAAkB,SAAU7c,EAAQiB,GAClD,MAAO9E,MAAKugB,WAAWxB,GAAkC,mBAAZja,GAA0B,SAASlB,GAAKC,EAAO1H,KAAK2I,EAASlB,IAAQC,KASpH2b,GAAgBmB,iBAAmB,SAAU5c,EAASe,GACpD,MAAO9E,MAAKugB,WAAWxB,GAAe,KAAyB,mBAAZja,GAA0B,SAAS1J,GAAK2I,EAAQ5H,KAAK2I,EAAS1J,IAAQ2I,KAS3Hyb,GAAgBoB,qBAAuB,SAAUzc,EAAaW,GAC5D,MAAO9E,MAAKugB,WAAWxB,GAAe,KAAM,KAAyB,mBAAZja,GAA0B,WAAaX,EAAYhI,KAAK2I,IAAcX,KAG1Hmc,KAGLO,GAAiBlR,GAAGkR,eAAkB,SAAU/E,GAGlD,QAASgF,GAAcC,GACrB,MAAOA,IAAczhB,GAAWyhB,EAAW/f,SAAW+f,EACpDzhB,GAAWyhB,GAAc3X,GAAiB2X,GAActM,GAG5D,QAAS/Q,GAAc5C,EAAGsU,GACxB,GAAI4L,GAAM5L,EAAM,GAAIrU,EAAOqU,EAAM,GAC7B6L,EAAM9gB,EAASY,EAAKmgB,eAAe/kB,KAAK4E,EAAMigB,EAElD,OAAIC,KAAQ/gB,IACN8gB,EAAIrB,KAAKzf,GAAS9E,OAExB4lB,GAAItd,cAAcod,EAAcG,IAFK3gB,EAAQJ,GAAS9E,GAKxD,QAASuI,GAAUzC,GACjB,GAAI8f,GAAM,GAAIG,IAAmBjgB,GAAWkU,GAAS4L,EAAKhhB,KAO1D,OALI+C,IAAuBgW,mBACzBhW,GAAuBmS,kBAAkBE,EAAO1R,GAEhDA,EAAc,KAAM0R,GAEf4L,EAGT,QAASH,KACP/E,EAAU3f,KAAK6D,KAAM2D,GAKvB,MAlCA2O,IAASuO,EAAgB/E,GAgCzB+E,EAAe7jB,UAAUkkB,cAAgB9P,GAElCyP,GACPP,GAWFd,IAAgB4B,UAAY,SAAU1gB,GACpC,GAAI5G,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,MAAOpH,GAAO6J,UAAU,GAAIub,IAAkBxe,EAAWQ,KACxDpH,IAaL0lB,GAAgB6B,YAAc,SAAU3gB,GACtC,GAAI5G,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIkK,GAAI,GAAI7H,IAA8BW,EAAI,GAAIT,GAKlD,OAJAS,GAAER,cAAc0H,GAChBA,EAAE1H,cAAchD,EAAU+H,SAAS,WACjCvE,EAAER,cAAc,GAAIjD,GAAoBC,EAAW5G,EAAO6J,UAAUzC,QAE/DgD,GACNpK,GAQL,IAAImK,IAAwBqc,GAAWgB,YAAc,SAAU3Y,GAC7D,MAAO2E,IAAgB,WACrB,GAAIzD,GAAU,GAAI8F,IAAG4R,YASrB,OAPA5Y,GAAQC,KACN,SAAU5K,GACR6L,EAAQhG,OAAO7F,GACf6L,EAAQ1F,eAEV0F,EAAQ9F,QAAQ8K,KAAKhF,IAEhBA,IAeX2V,IAAgBgC,UAAY,SAAUC,GAEpC,GADAA,IAAgBA,EAAc9R,GAAGE,OAAOC,UACnC2R,EAAe,KAAM,IAAIvQ,IAAkB,qDAChD,IAAIpX,GAASkG,IACb,OAAO,IAAIyhB,GAAY,SAAUC,EAASC,GAExC,GAAI3jB,GAAOkI,GAAW,CACtBpM,GAAO6J,UAAU,SAAU+E,GACzB1K,EAAQ0K,EACRxC,GAAW,GACVyb,EAAQ,WACTzb,GAAYwb,EAAQ1jB,OAK1B,IAAI4jB,IAAqB,SAAS9F,GAEhC,QAAS8F,GAAkB9nB,GACzBkG,KAAKlG,OAASA,EACdgiB,EAAU3f,KAAK6D,MAOjB,MAVAsS,IAASsP,EAAmB9F,GAM5B8F,EAAkB5kB,UAAUkkB,cAAgB,SAAShgB,GACnD,MAAOlB,MAAKlG,OAAO6J,UAAU,GAAI1C,GAAgBC,KAG5C0gB,GACPf,GAOF5f,GAAgBjE,UAAU6G,OAAS,SAAUD,GAAS5D,KAAKmB,WAAanB,KAAKhH,EAAEI,KAAKwK,IACpF3C,EAAgBjE,UAAU+G,QAAU,SAAU3I,GACvC4E,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAKkB,SAAS6C,QAAQ3I,KAG1B6F,EAAgBjE,UAAUmH,YAAc,WACjCnE,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAKkB,SAAS2C,OAAO7D,KAAKhH,GAC1BgH,KAAKkB,SAASiD,gBAGlBlD,EAAgBjE,UAAUgE,QAAU,WAAchB,KAAKmB,WAAY,GACnEF,EAAgBjE,UAAU2iB,KAAO,SAAUvkB,GACzC,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAKkB,SAAS6C,QAAQ3I,IACf,IAUXokB,GAAgBqC,QAAU,WACxB,MAAO,IAAID,IAAkB5hB,OAY/BsgB,GAAW9L,OAAS8L,GAAWwB,qBAAuB,SAAUne,EAAWhB,GACzE,MAAO,IAAIU,IAAoBM,EAAWhB,GAW5C,IAAI2K,IAAkBgT,GAAWyB,MAAQ,SAAUC,GACjD,MAAO,IAAI3e,IAAoB,SAAUnC,GACvC,GAAIrF,EACJ,KACEA,EAASmmB,IACT,MAAO5mB,GACP,MAAO6mB,IAAgB7mB,GAAGuI,UAAUzC,GAGtC,MADA8C,IAAUnI,KAAYA,EAASoI,GAAsBpI,IAC9CA,EAAO8H,UAAUzC,MAIxBghB,GAAmB,SAASpG,GAE9B,QAASoG,GAAgBxhB,GACvBV,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,QAASmiB,GAAUjhB,EAAUyB,GAC3B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAGhB,QAAS9B,GAAaC,EAAGsU,GACvBA,EAAMjR,cAOR,MAxBAmO,IAAS4P,EAAiBpG,GAM1BoG,EAAgBllB,UAAUkkB,cAAgB,SAAUhgB,GAClD,GAAIkhB,GAAO,GAAID,GAAUjhB,EAAUlB,KACnC,OAAOoiB,GAAKna,OAYdka,EAAUnlB,UAAUiL,IAAM,WACxB,MAAOjI,MAAK2C,OAAOjC,UAAUwU,kBAAkBlV,KAAKkB,SAAUL,IAGzDqhB,GACPrB,IAWEtW,GAAkB+V,GAAW5L,MAAQ,SAAUhU,GAEjD,MADAoC,IAAYpC,KAAeA,EAAY6X,IAChC,GAAI2J,IAAgBxhB,IAGzB2hB,GAAkB,SAASvG,GAE7B,QAASuG,GAAeC,EAAUC,EAAQ7hB,GACxCV,KAAKsiB,SAAWA,EAChBtiB,KAAKuiB,OAASA,EACdviB,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,MAbAsS,IAAS+P,EAAgBvG,GAQzBuG,EAAerlB,UAAUkkB,cAAgB,SAAUhgB,GACjD,GAAIkhB,GAAO,GAAII,IAASthB,EAAUlB,KAClC,OAAOoiB,GAAKna,OAGPoa,GACPxB,IAEE2B,GAAY,WACd,QAASA,GAASthB,EAAUyB,GAC1B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAoChB,MAjCA6f,GAASxlB,UAAUiL,IAAM,WAMvB,QAASwa,GAAcxpB,EAAGgf,GACxB,IACE,GAAInP,GAAO7G,EAAG6G,OACd,MAAO1N,GACP,MAAO8F,GAAS6C,QAAQ3I,GAE1B,GAAI0N,EAAKd,KACP,MAAO9G,GAASiD,aAGlB,IAAItI,GAASiN,EAAK9K,KAElB,IAAIukB,EACF,IACE1mB,EAAS0mB,EAAO1mB,EAAQ5C,GACxB,MAAOmC,GACP,MAAO8F,GAAS6C,QAAQ3I,GAI5B8F,EAAS2C,OAAOhI,GAChBoc,EAAQhf,EAAI,GA1Bd,GAAImN,GAAOhH,OAAOY,KAAK2C,OAAO2f,UAC1BrgB,EAAKD,EAAYoE,GACjBlF,EAAWlB,KAAKkB,SAChBqhB,EAASviB,KAAK2C,OAAO4f,MA0BzB,OAAOviB,MAAK2C,OAAOjC,UAAUyW,2BAA2B,EAAGsL,IAGtDD,KAGL/f,GAAiBH,KAAKogB,IAAI,EAAG,IAAM,CAMvCthB,GAAepE,UAAUkF,IAAc,WACrC,MAAO,IAAIZ,GAAetB,KAAKqB,KASjCC,EAAetE,UAAUkF,IAAc,WACrC,MAAOlC,OAGTsB,EAAetE,UAAU8L,KAAO,WAC9B,MAAO9I,MAAKwB,GAAKxB,KAAKuB,IAAOyG,MAAM,EAAOhK,MAAOgC,KAAKqB,GAAGshB,OAAO3iB,KAAKwB,OAAUiQ,IAOjFhQ,EAAczE,UAAUkF,IAAc,WACpC,MAAO,IAAIP,GAAc3B,KAAK0B,KAShCC,EAAc3E,UAAUkF,IAAc,WACpC,MAAOlC,OAGT2B,EAAc3E,UAAU8L,KAAO,WAC7B,MAAO9I,MAAKwB,GAAKxB,KAAKuB,IAAOyG,MAAM,EAAOhK,MAAOgC,KAAK0B,GAAG1B,KAAKwB,OAAUiQ,GAiD1E,IAAIrM,IAAiBkb,GAAWsC,KAAO,SAAUN,EAAUO,EAAO/d,EAASpE,GACzE,GAAgB,MAAZ4hB,EACF,KAAM,IAAInnB,OAAM,2BAElB,IAAI0nB,IAAUvjB,GAAWujB,GACvB,KAAM,IAAI1nB,OAAM,yCAElB,IAAI0nB,EACF,GAAIN,GAASvd,GAAa6d,EAAO/d,EAAS,EAG5C,OADAhC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIsf,IAAeC,EAAUC,EAAQ7hB,IAG1CsC,GAAuB,SAAS8Y,GAElC,QAAS9Y,GAAoBgR,EAAMtT,GACjCV,KAAKgU,KAAOA,EACZhU,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,MAZAsS,IAAStP,EAAqB8Y,GAO9B9Y,EAAoBhG,UAAUkkB,cAAgB,SAAUhgB,GACtD,GAAIkhB,GAAO,GAAI1f,GAAcxB,EAAUlB,KACvC,OAAOoiB,GAAKna,OAGPjF,GACP6d,GAOFne,GAAc1F,UAAUiL,IAAM,WAE5B,QAASwa,GAAcxpB,EAAGgf,GAChB/e,EAAJD,GACFiI,EAAS2C,OAAOmQ,EAAK/a,IACrBgf,EAAQhf,EAAI,IAEZiI,EAASiD,cANb,GAAIjD,GAAWlB,KAAKkB,SAAU8S,EAAOhU,KAAK2C,OAAOqR,KAAM9a,EAAM8a,EAAK7a,MAUlE,OAAO6G,MAAK2C,OAAOjC,UAAUyW,2BAA2B,EAAGsL,GAS7D,IAAIK,IAAsBxC,GAAWyC,UAAY,SAAUlgB,EAAOnC,GAEhE,MADAoC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIC,IAAoBH,EAAOnC,GAgBxC4f,IAAW0C,SAAW,SAAUC,EAAczX,EAAW0X,EAAS5e,EAAgB5D,GAEhF,MADAoC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIM,IAAoB,SAAUxJ,GACvC,GAAI0K,IAAQ,CACZ,OAAO7D,GAAUyW,2BAA2B8L,EAAc,SAAU7N,EAAOrU,GACzE,GAAIoiB,GAAWtnB,CACf,KACM0I,EACFA,GAAQ,EAER6Q,EAAQ8N,EAAQ9N,GAElB+N,EAAY3X,EAAU4J,GACtB+N,IAActnB,EAASyI,EAAe8Q,IACtC,MAAOha,GACP,MAAOvB,GAAEkK,QAAQ3I,GAEf+nB,GACFtpB,EAAEgK,OAAOhI,GACTkF,EAAKqU,IAELvb,EAAEsK,mBAeVmc,GAAWhC,GAAK,WAEd,IAAI,GADAplB,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EACnD,OAAO,IAAI+J,IAAoBgR,EAAMjR,KAQvCud,GAAW8C,gBAAkB,SAAU1iB,GAErC,IAAI,GADAxH,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,EAAM,GAC3CD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,EAAI,GAAKgH,UAAUhH,EACvD,OAAO,IAAI+J,IAAoBgR,EAAMtT,IAQvC4f,GAAW+C,eAAiB,SAASxgB,GACnC,IAAKjD,MAAM2H,QAAQ1E,GAAU,KAAM,IAAIxC,WAAU,qCACjD,IAA6B,kBAAlBT,OAAM0jB,SAAqD,kBAApB1jB,OAAM2jB,UAA4B,KAAM,IAAIljB,WAAU,kDACxG,OAAO,IAAIgD,IAAoB,SAASnC,GACtC,QAASsiB,GAAWC,GAClB,IAAI,GAAIxqB,GAAI,EAAGC,EAAMuqB,EAAQtqB,OAAYD,EAAJD,EAASA,IAC5CiI,EAAS2C,OAAO4f,EAAQxqB,IAM5B,MAFA2G,OAAM0jB,QAAQzgB,EAAO2gB,GAEd,WACL5jB,MAAM2jB,UAAU1gB,EAAO2gB,OAU7BlD,GAAWoD,gBAAkB,SAASrc,GACpC,GAAW,MAAPA,EAAe,KAAM,IAAIhH,WAAU,wCACvC,IAA8B,kBAAnBjB,QAAOkkB,SAAsD,kBAArBlkB,QAAOmkB,UAA4B,KAAM,IAAIljB,WAAU,kDAC1G,OAAO,IAAIgD,IAAoB,SAASnC,GACtC,QAASsiB,GAAWC,GAClB,IAAI,GAAIxqB,GAAI,EAAGC,EAAMuqB,EAAQtqB,OAAYD,EAAJD,EAASA,IAC5CiI,EAAS2C,OAAO4f,EAAQxqB,IAM5B,MAFAmG,QAAOkkB,QAAQjc,EAAKmc,GAEb,WACLpkB,OAAOmkB,UAAUlc,EAAKmc,MAK5B,IAAIG,IAAmB,SAAS7H,GAE9B,QAAS6H,KACP7H,EAAU3f,KAAK6D,MAOjB,MATAsS,IAASqR,EAAiB7H,GAK1B6H,EAAgB3mB,UAAUkkB,cAAgB,WACxC,MAAOzM,KAGFkP,GACP9C,IAME+C,GAAkBtD,GAAWuD,MAAQ,WACvC,MAAO,IAAIF,KAGTG,GAAmB,SAAShI,GAE9B,QAASgI,GAAgBzc,EAAK3G,GAC5BV,KAAKqH,IAAMA,EACXrH,KAAKuI,KAAOnJ,OAAOmJ,KAAKlB,GACxBrH,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,MAbAsS,IAASwR,EAAiBhI,GAQ1BgI,EAAgB9mB,UAAUkkB,cAAgB,SAAUhgB,GAClD,GAAIkhB,GAAO,GAAInf,GAAU/B,EAAUlB,KACnC,OAAOoiB,GAAKna,OAGP6b,GACPjD,GAOF5d,GAAUjG,UAAUiL,IAAM,WAExB,QAASwa,GAAcxpB,EAAGgf,GACxB,GAAQ/e,EAAJD,EAAS,CACX,GAAIwD,GAAM8L,EAAKtP,EACfiI,GAAS2C,QAAQpH,EAAK4K,EAAI5K,KAC1Bwb,EAAQhf,EAAI,OAEZiI,GAASiD,cAPb,GAAIjD,GAAWlB,KAAKkB,SAAUmG,EAAMrH,KAAK2C,OAAO0E,IAAKkB,EAAOvI,KAAK2C,OAAO4F,KAAMrP,EAAMqP,EAAKpP,MAWzF,OAAO6G,MAAK2C,OAAOjC,UAAUyW,2BAA2B,EAAGsL,IAS7DnC,GAAWyD,MAAQ,SAAU1c,EAAK3G,GAEhC,MADAA,KAAcA,EAAYqC,IACnB,GAAI+gB,IAAgBzc,EAAK3G,GAGhC,IAAIsjB,IAAmB,SAASlI,GAEhC,QAASkI,GAAgB1L,EAAO5Y,EAAOgB,GACrCV,KAAKsY,MAAQA,EACbtY,KAAKN,MAAQA,EACbM,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,MAbAsS,IAAS0R,EAAiBlI,GAQ1BkI,EAAgBhnB,UAAUkkB,cAAgB,SAAUhgB,GAClD,GAAIkhB,GAAO,GAAI6B,IAAU/iB,EAAUlB,KACnC,OAAOoiB,GAAKna,OAGP+b,GACPnD,IAEEoD,GAAa,WACf,QAASA,GAAU/iB,EAAUyB,GAC3B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAiBhB,MAdAshB,GAAUjnB,UAAUiL,IAAM,WAExB,QAASwa,GAAcxpB,EAAGgf,GAChBvY,EAAJzG,GACFiI,EAAS2C,OAAOyU,EAAQrf,GACxBgf,EAAQhf,EAAI,IAEZiI,EAASiD,cANb,GAAImU,GAAQtY,KAAK2C,OAAO2V,MAAO5Y,EAAQM,KAAK2C,OAAOjD,MAAOwB,EAAWlB,KAAKkB,QAU1E,OAAOlB,MAAK2C,OAAOjC,UAAUyW,2BAA2B,EAAGsL,IAGtDwB,IAUT3D,IAAW4D,MAAQ,SAAU5L,EAAO5Y,EAAOgB,GAEzC,MADAoC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIihB,IAAgB1L,EAAO5Y,EAAOgB,GAG3C,IAAIyjB,IAAoB,SAASrI,GAE/B,QAASqI,GAAiBnmB,EAAOogB,EAAa1d,GAC5CV,KAAKhC,MAAQA,EACbgC,KAAKoe,YAA6B,MAAfA,EAAsB,GAAKA,EAC9Cpe,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,MAbAsS,IAAS6R,EAAkBrI,GAQ3BqI,EAAiBnnB,UAAUkkB,cAAgB,SAAUhgB,GACnD,GAAIkhB,GAAO,GAAIlf,GAAWhC,EAAUlB,KACpC,OAAOoiB,GAAKna,OAGPkc,GACPtD,GAOF3d,GAAWlG,UAAUiL,IAAM,WAEzB,QAASwa,GAAcxpB,EAAGgf,GAKxB,OAJU,KAANhf,GAAYA,EAAI,KAClBiI,EAAS2C,OAAO7F,GAChB/E,EAAI,GAAKA,KAED,IAANA,EAAkBiI,EAASiD,kBAC/B8T,GAAQhf,GAPV,GAAIiI,GAAWlB,KAAKkB,SAAUlD,EAAQgC,KAAK2C,OAAO3E,KAUlD,OAAOgC,MAAK2C,OAAOjC,UAAUyW,2BAA2BnX,KAAK2C,OAAOyb,YAAaqE,IAUnFnC,GAAWnC,OAAS,SAAUngB,EAAOogB,EAAa1d,GAEhD,MADAoC,IAAYpC,KAAeA,EAAYqC,IAChC,GAAIohB,IAAiBnmB,EAAOogB,EAAa1d,GAGlD,IAAI0jB,IAAkB,SAAStI,GAE7B,QAASsI,GAAepmB,EAAO0C,GAC7BV,KAAKhC,MAAQA,EACbgC,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,QAASqkB,GAASnjB,EAAUyB,GAC1B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAGhB,QAAS9B,GAAaC,EAAGsU,GACvB,GAAIpX,GAAQoX,EAAM,GAAIlU,EAAWkU,EAAM,EACvClU,GAAS2C,OAAO7F,GAChBkD,EAASiD,cAOX,MA3BAmO,IAAS8R,EAAgBtI,GAOzBsI,EAAepnB,UAAUkkB,cAAgB,SAAUhgB,GACjD,GAAIkhB,GAAO,GAAIiC,GAASnjB,EAAUlB,KAClC,OAAOoiB,GAAKna,OAcdoc,EAASrnB,UAAUiL,IAAM,WACvB,MAAOjI,MAAK2C,OAAOjC,UAAUwU,mBAAmBlV,KAAK2C,OAAO3E,MAAOgC,KAAKkB,UAAWL,IAG9EujB,GACPvD,IAcEyD,IALmBhE,GAAW,UAAYA,GAAWlQ,KAAOkQ,GAAWiE,YAAc,SAAUvmB,EAAO0C,GAExG,MADAoC,IAAYpC,KAAeA,EAAY6X,IAChC,GAAI6L,IAAepmB,EAAO0C,IAGZ,SAASob,GAE9B,QAASwI,GAAgBhrB,EAAOoH,GAC9BV,KAAK1G,MAAQA,EACb0G,KAAKU,UAAYA,EACjBob,EAAU3f,KAAK6D,MAQjB,QAASwkB,GAAUtjB,EAAUyB,GAC3B3C,KAAKkB,SAAWA,EAChBlB,KAAK2C,OAASA,EAGhB,QAAS9B,GAAaC,EAAGsU,GACvB,GAAI9b,GAAQ8b,EAAM,GAAIlU,EAAWkU,EAAM,EACvClU,GAAS6C,QAAQzK,GAOnB,MA1BAgZ,IAASgS,EAAiBxI,GAO1BwI,EAAgBtnB,UAAUkkB,cAAgB,SAAUhgB,GAClD,GAAIkhB,GAAO,GAAIoC,GAAUtjB,EAAUlB,KACnC,OAAOoiB,GAAKna,OAaduc,EAAUxnB,UAAUiL,IAAM,WACxB,MAAOjI,MAAK2C,OAAOjC,UAAUwU,mBAAmBlV,KAAK2C,OAAOrJ,MAAO0G,KAAKkB,UAAWL,IAG9EyjB,GACPzD,KASEoB,GAAkB3B,GAAW,SAAWA,GAAWmE,WAAanE,GAAWoE,eAAiB,SAAUprB,EAAOoH,GAE/G,MADAoC,IAAYpC,KAAeA,EAAY6X,IAChC,GAAI+L,IAAgBhrB,EAAOoH,GASpC4f,IAAWqE,MAAQ,SAAUC,EAAiB5C,GAC5C,MAAO,IAAI3e,IAAoB,SAAUnC,GACvC,GAAkC2jB,GAAU/qB,EAAxC6G,EAAa8T,EACjB,KACEoQ,EAAWD,IACXC,IAAalkB,EAAakkB,GAC1B/qB,EAASkoB,EAAkB6C,GAC3B,MAAOnX,GACP,MAAO,IAAIhE,IAAoBuY,GAAgBvU,GAAW/J,UAAUzC,GAAWP,GAEjF,MAAO,IAAI+I,IAAoB5P,EAAO6J,UAAUzC,GAAWP,MAS/D6e,GAAgBsF,IAAM,SAAUC,GAC9B,GAAIC,GAAahlB,IACjB,OAAO,IAAIqD,IAAoB,SAAUnC,GAQvC,QAAS+jB,KACFC,IACHA,EAASC,EACTC,EAAkBpkB,WAItB,QAASqkB,KACFH,IACHA,EAASI,EACTC,EAAiBvkB,WAjBrB,GAAIkkB,GACFC,EAAa,IAAKG,EAAc,IAChCC,EAAmB,GAAIhiB,IACvB6hB,EAAoB,GAAI7hB,GAoD1B,OAlDAS,IAAU+gB,KAAiBA,EAAc9gB,GAAsB8gB,IAgB/DQ,EAAiB7hB,cAAcshB,EAAWrhB,UAAU,SAAUa,GAC5DygB,IACIC,IAAWC,GACbjkB,EAAS2C,OAAOW,IAEjB,SAAU6D,GACX4c,IACIC,IAAWC,GACbjkB,EAAS6C,QAAQsE,IAElB,WACD4c,IACIC,IAAWC,GACbjkB,EAASiD,iBAIbihB,EAAkB1hB,cAAcqhB,EAAYphB,UAAU,SAAUc,GAC9D4gB,IACIH,IAAWI,GACbpkB,EAAS2C,OAAOY,IAEjB,SAAU4D,GACXgd,IACIH,IAAWI,GACbpkB,EAAS6C,QAAQsE,IAElB,WACDgd,IACIH,IAAWI,GACbpkB,EAASiD,iBAIN,GAAIuF,IAAoB6b,EAAkBH,MAWrD9E,GAAWwE,IAAM,WAQf,QAASnT,GAAK6T,EAAU5Q,GACtB,MAAO4Q,GAASV,IAAIlQ,GARtB,GAAI6Q,GAAM7B,KAAmBvQ,IAC7B,IAAIzT,MAAM2H,QAAQtH,UAAU,IAC1BoT,EAAQpT,UAAU,OAElB,KAAI,GAAIhH,GAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAOoa,EAAMja,KAAK6G,UAAUhH,GAM9E,KAAK,GAAIA,GAAI,EAAGC,EAAMma,EAAMla,OAAYD,EAAJD,EAASA,IAC3CwsB,EAAM9T,EAAK8T,EAAKpS,EAAMpa,GAExB,OAAOwsB,IAgCTjG,GAAgB,SAAWA,GAAgB9H,WAAa8H,GAAgBkG,eAAiB,SAAUC,GACjG,MAAkC,kBAApBA,GACZxiB,EAAuBnD,KAAM2lB,GAC7BC,IAAiB5lB,KAAM2lB,IAQ3B,IAAIC,IAAkBtF,GAAW5I,WAAa4I,GAAW,SAAWA,GAAWoF,eAAiB,WAC9F,GAAIrS,KACJ,IAAIzT,MAAM2H,QAAQtH,UAAU,IAC1BoT,EAAQpT,UAAU,OAElB,KAAI,GAAIhH,GAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAOoa,EAAMja,KAAK6G,UAAUhH,GAE9E,OAAOolB,IAAahL,GAAOqE,aAY7B8H,IAAgBqG,cAAgB,WAE9B,IAAI,GADA3sB,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EAMnD,OALI2G,OAAM2H,QAAQyM,EAAK,IACrBA,EAAK,GAAGja,QAAQiG,MAEhBgU,EAAKja,QAAQiG,MAER6lB,GAAc9lB,MAAMC,KAAMgU,GAWnC,IAAI6R,IAAgBvF,GAAWuF,cAAgB,WAE7C,IAAI,GADA3sB,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EACnD,IAAIqL,GAAiB0P,EAAKxU,KAG1B,OAFAI,OAAM2H,QAAQyM,EAAK,MAAQA,EAAOA,EAAK,IAEhC,GAAI3Q,IAAoB,SAAUxJ,GAQvC,QAASiP,GAAK7P,GAEZ,GADAiN,EAASjN,IAAK,EACV8Q,IAAgBA,EAAc7D,EAAS8D,MAAMC,KAAY,CAC3D,IACE,GAAI3B,GAAMhE,EAAevE,MAAM,KAAM+J,GACrC,MAAO1O,GACP,MAAOvB,GAAEkK,QAAQ3I,GAEnBvB,EAAEgK,OAAOyE,OACA4B,GAAO4b,OAAO,SAAUliB,EAAGmiB,GAAK,MAAOA,KAAM9sB,IAAM+Q,MAAMC,KAClEpQ,EAAEsK,cAIN,QAAS6D,GAAM/O,GACbiR,EAAOjR,IAAK,EACZiR,EAAOF,MAAMC,KAAapQ,EAAEsK,cAI9B,IAAK,GA3BDua,GAAI1K,EAAK7a,OACXuL,EAAe,WAAc,OAAO,GACpCwB,EAAWzG,EAAgBif,EAAGha,GAC9BqF,GAAc,EACdG,EAASzK,EAAgBif,EAAGha,GAC5BoF,EAAS,GAAIlK,OAAM8e,GAqBjBsH,EAAgB,GAAIpmB,OAAM8e,GACrB/L,EAAM,EAAS+L,EAAN/L,EAASA,KACxB,SAAU1Z,GACT,GAAIa,GAASka,EAAK/a,GAAIgtB,EAAM,GAAI1iB,GAChCS,IAAUlK,KAAYA,EAASmK,GAAsBnK,IACrDmsB,EAAIviB,cAAc5J,EAAO6J,UAAU,SAAUC,GACzCkG,EAAO7Q,GAAK2K,EACZkF,EAAK7P,IAEP,SAASmC,GAAKvB,EAAEkK,QAAQ3I,IACxB,WAAc4M,EAAK/O,MAErB+sB,EAAc/sB,GAAKgtB,GACnBtT,EAGJ,OAAO,IAAIjJ,IAAoBsc,IAC9BhmB,MAOLwf,IAAgBnC,OAAS,WACvB,IAAI,GAAIrJ,MAAW/a,EAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAO+a,EAAK5a,KAAK6G,UAAUhH,GAEtF,OADA+a,GAAKja,QAAQiG,MACNkmB,GAAiBnmB,MAAM,KAAMiU,GAQtC,IAAIkS,IAAmB5F,GAAWjD,OAAS,WACzC,GAAIrJ,EACJ,IAAIpU,MAAM2H,QAAQtH,UAAU,IAC1B+T,EAAO/T,UAAU,OACZ,CACL+T,EAAO,GAAIpU,OAAMK,UAAU9G,OAC3B,KAAI,GAAIF,GAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,GAE7E,MAAOolB,IAAarK,GAAMqJ,SAO5BmC,IAAgBna,UAAYma,GAAgB2G,iBAAmB,WAC7D,MAAOnmB,MAAKomB,MAAM,GAGpB,IAAIC,IAAmB,SAAUvK,GAG/B,QAASuK,GAAgBvsB,EAAQwsB,GAC/BtmB,KAAKlG,OAASA,EACdkG,KAAKsmB,cAAgBA,EACrBxK,EAAU3f,KAAK6D,MASjB,MAdAsS,IAAS+T,EAAiBvK,GAQ1BuK,EAAgBrpB,UAAUkkB,cAAgB,SAAShgB,GACjD,GAAIqlB,GAAI,GAAI7c,GAEZ,OADA6c,GAAE5c,IAAI3J,KAAKlG,OAAO6J,UAAU,GAAI6iB,IAActlB,EAAUlB,KAAKsmB,cAAeC,KACrEA,GAGFF,GAEPxF,IAEE2F,GAAiB,WACnB,QAASA,GAAc3sB,EAAGyU,EAAKiY,GAC7BvmB,KAAKnG,EAAIA,EACTmG,KAAKsO,IAAMA,EACXtO,KAAKumB,EAAIA,EACTvmB,KAAKgI,MAAO,EACZhI,KAAK2N,KACL3N,KAAKymB,YAAc,EACnBzmB,KAAKmB,WAAY,EAyCjB,QAASulB,GAAc/jB,EAAQsjB,GAC7BjmB,KAAK2C,OAASA,EACd3C,KAAKimB,IAAMA,EACXjmB,KAAKmB,WAAY,EAiCnB,MA3EFqlB,GAAcxpB,UAAU2pB,gBAAkB,SAAU7T,GAClD,GAAImT,GAAM,GAAI1iB,GACdvD,MAAKumB,EAAE5c,IAAIsc,GACXjiB,GAAU8O,KAAQA,EAAK7O,GAAsB6O,IAC7CmT,EAAIviB,cAAcoP,EAAGnP,UAAU,GAAI+iB,GAAc1mB,KAAMimB,MAEzDO,EAAcxpB,UAAU6G,OAAS,SAAU+iB,GACrC5mB,KAAKmB,YACJnB,KAAKymB,YAAczmB,KAAKsO,KACzBtO,KAAKymB,cACLzmB,KAAK2mB,gBAAgBC,IAErB5mB,KAAK2N,EAAEvU,KAAKwtB,KAGhBJ,EAAcxpB,UAAU+G,QAAU,SAAU3I,GACrC4E,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAKnG,EAAEkK,QAAQ3I,KAGnBorB,EAAcxpB,UAAUmH,YAAc,WAC/BnE,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAKgI,MAAO,EACS,IAArBhI,KAAKymB,aAAqBzmB,KAAKnG,EAAEsK,gBAGrCqiB,EAAcxpB,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GAChEqlB,EAAcxpB,UAAU2iB,KAAO,SAAUvkB,GACvC,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAKnG,EAAEkK,QAAQ3I,IACR,IAWXsrB,EAAc1pB,UAAU6G,OAAS,SAAUD,GAAS5D,KAAKmB,WAAanB,KAAK2C,OAAO9I,EAAEgK,OAAOD,IAC3F8iB,EAAc1pB,UAAU+G,QAAU,SAAU3I,GACrC4E,KAAKmB,YACRnB,KAAKmB,WAAY,EACjBnB,KAAK2C,OAAO9I,EAAEkK,QAAQ3I,KAG1BsrB,EAAc1pB,UAAUmH,YAAc,WACpC,IAAInE,KAAKmB,UAAW,CAClBnB,KAAKmB,WAAY,CACjB,IAAIwB,GAAS3C,KAAK2C,MAClBA,GAAO4jB,EAAExS,OAAO/T,KAAKimB,KACjBtjB,EAAOgL,EAAExU,OAAS,EACpBwJ,EAAOgkB,gBAAgBhkB,EAAOgL,EAAES,UAEhCzL,EAAO8jB,cACP9jB,EAAOqF,MAA+B,IAAvBrF,EAAO8jB,aAAqB9jB,EAAO9I,EAAEsK,iBAI1DuiB,EAAc1pB,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GAChEulB,EAAc1pB,UAAU2iB,KAAO,SAAUvkB,GACvC,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAK2C,OAAO9I,EAAEkK,QAAQ3I,IACf,IAMJorB,IAiBXhH,IAAgB4G,MAAQ,SAAUS,GAChC,MAAuC,gBAAzBA,GACZC,GAAgB9mB,KAAM6mB,GACtB,GAAIR,IAAgBrmB,KAAM6mB,GAQ9B,IAAIC,IAAkBxG,GAAW8F,MAAQ,WACvC,GAAI1lB,GAAyBzH,EAAdyZ,KAAiBxZ,EAAM+G,UAAU9G,MAChD,IAAK8G,UAAU,GAGR,GAAI6C,GAAY7C,UAAU,IAE/B,IADAS,EAAYT,UAAU,GAClBhH,EAAI,EAAOC,EAAJD,EAASA,IAAOyZ,EAAQtZ,KAAK6G,UAAUhH,QAGlD,KADAyH,EAAY6X,GACRtf,EAAI,EAAOC,EAAJD,EAASA,IAAOyZ,EAAQtZ,KAAK6G,UAAUhH,QANlD,KADAyH,EAAY6X,GACRtf,EAAI,EAAOC,EAAJD,EAASA,IAAOyZ,EAAQtZ,KAAK6G,UAAUhH,GAWpD,OAHI2G,OAAM2H,QAAQmL,EAAQ,MACxBA,EAAUA,EAAQ,IAEb9P,EAAalC,EAAWgS,GAAS7M,YAGtCkhB,GAAsB,SAAUjL,GAGlC,QAASiL,GAAmBjtB,GAC1BkG,KAAKlG,OAASA,EACdgiB,EAAU3f,KAAK6D,MAUjB,MAdAsS,IAASyU,EAAoBjL,GAO7BiL,EAAmB/pB,UAAUkkB,cAAgB,SAAUhgB,GACrD,GAAIqlB,GAAI,GAAI7c,IAAuB0B,EAAI,GAAI7H,GAG3C,OAFAgjB,GAAE5c,IAAIyB,GACNA,EAAE1H,cAAc1D,KAAKlG,OAAO6J,UAAU,GAAIqjB,IAAiB9lB,EAAUqlB,KAC9DA,GAGFQ,GACPlG,IAEEmG,GAAoB,WAEtB,QAASA,GAAiBntB,EAAG0sB,GAC3BvmB,KAAKnG,EAAIA,EACTmG,KAAKumB,EAAIA,EACTvmB,KAAKmB,WAAY,EACjBnB,KAAKgI,MAAO,EAmCd,QAAS0e,GAAc/jB,EAAQ4jB,EAAGN,GAChCjmB,KAAK2C,OAASA,EACd3C,KAAKumB,EAAIA,EACTvmB,KAAKimB,IAAMA,EACXjmB,KAAKmB,WAAY,EA4BnB,MAjEA6lB,GAAiBhqB,UAAU6G,OAAS,SAAS+iB,GAC3C,IAAG5mB,KAAKmB,UAAR,CACA,GAAI8kB,GAAM,GAAI1iB,GACdvD,MAAKumB,EAAE5c,IAAIsc,GAEXjiB,GAAU4iB,KAAiBA,EAAc3iB,GAAsB2iB,IAE/DX,EAAIviB,cAAckjB,EAAYjjB,UAAU,GAAI+iB,GAAc1mB,KAAMA,KAAKumB,EAAGN,OAE1Ee,EAAiBhqB,UAAU+G,QAAU,SAAU3I,GACzC4E,KAAKmB,YACPnB,KAAKmB,WAAY,EACjBnB,KAAKnG,EAAEkK,QAAQ3I,KAGnB4rB,EAAiBhqB,UAAUmH,YAAc,WACnCnE,KAAKmB,YACPnB,KAAKmB,WAAY,EACjBnB,KAAKgI,MAAO,EACM,IAAlBhI,KAAKumB,EAAEptB,QAAgB6G,KAAKnG,EAAEsK,gBAGlC6iB,EAAiBhqB,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GACnE6lB,EAAiBhqB,UAAU2iB,KAAO,SAAUvkB,GAC1C,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAKnG,EAAEkK,QAAQ3I,IACR,IAYXsrB,EAAc1pB,UAAU6G,OAAS,SAAUD,GAAU5D,KAAKmB,WAAanB,KAAK2C,OAAO9I,EAAEgK,OAAOD,IAC5F8iB,EAAc1pB,UAAU+G,QAAU,SAAU3I,GACtC4E,KAAKmB,YACPnB,KAAKmB,WAAY,EACjBnB,KAAK2C,OAAO9I,EAAEkK,QAAQ3I,KAG1BsrB,EAAc1pB,UAAUmH,YAAc,WACpC,IAAInE,KAAKmB,UAAW,CAClB,GAAIwB,GAAS3C,KAAK2C,MAClB3C,MAAKmB,WAAY,EACjBwB,EAAO4jB,EAAExS,OAAO/T,KAAKimB,KACrBtjB,EAAOqF,MAA4B,IAApBrF,EAAO4jB,EAAEptB,QAAgBwJ,EAAO9I,EAAEsK,gBAGrDuiB,EAAc1pB,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GAChEulB,EAAc1pB,UAAU2iB,KAAO,SAAUvkB,GACvC,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAK2C,OAAO9I,EAAEkK,QAAQ3I,IACf,IAMJ4rB,IAQTxH,IAAgB3Z,SAAW2Z,GAAgByH,gBAAkB,WAC3D,MAAO,IAAIF,IAAmB/mB,MAGhC,IAAIknB,IAAiBvX,GAAGuX,eAAiB,SAASC,GAChDnnB,KAAK6I,KAAO,sBACZ7I,KAAKonB,YAAcD,EACnBnnB,KAAKgR,QAAU,uDACf7V,MAAMgB,KAAK6D,MAEbknB,IAAelqB,UAAY7B,MAAM6B,UAajCsjB,GAAW+G,gBAAkB,WAC3B,GAAIrT,EACJ,IAAIpU,MAAM2H,QAAQtH,UAAU,IAC1B+T,EAAO/T,UAAU,OACZ,CACL,GAAI/G,GAAM+G,UAAU9G,MACpB6a,GAAO,GAAIpU,OAAM1G,EACjB,KAAI,GAAID,GAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,GAErD,GAAIa,GAAS8I,EAAa,KAAMoR,EAEhC,OAAO,IAAI3Q,IAAoB,SAAUxJ,GAMvC,QAASytB,KACe,IAAlBH,EAAOhuB,OACTU,EAAEsK,cAEFtK,EAAEkK,QADyB,IAAlBojB,EAAOhuB,OACNguB,EAAO,GAEP,GAAID,IAAeC,IAXjC,GAAIvQ,GAAQ,GAAIlN,IACd0B,EAAI,GAAI7H,IACRpC,GAAY,EACZgmB,IA2CF,OA/BAvQ,GAAMjN,IAAIyB,GAEVA,EAAE1H,cAAc5J,EAAO6J,UACrB,SAAUijB,GACR,GAAIW,GAAoB,GAAIhkB,GAC5BqT,GAAMjN,IAAI4d,GAGVvjB,GAAU4iB,KAAiBA,EAAc3iB,GAAsB2iB,IAE/DW,EAAkB7jB,cAAckjB,EAAYjjB,UAC1C,SAAUC,GAAK/J,EAAEgK,OAAOD,IACxB,SAAUxI,GACR+rB,EAAO/tB,KAAKgC,GACZwb,EAAM7C,OAAOwT,GACbpmB,GAA8B,IAAjByV,EAAMzd,QAAgBmuB,KAErC,WACE1Q,EAAM7C,OAAOwT,GACbpmB,GAA8B,IAAjByV,EAAMzd,QAAgBmuB,QAGzC,SAAUlsB,GACR+rB,EAAO/tB,KAAKgC,GACZ+F,GAAY,EACK,IAAjByV,EAAMzd,QAAgBmuB,KAExB,WACEnmB,GAAY,EACK,IAAjByV,EAAMzd,QAAgBmuB,OAEnB1Q,KASX4I,GAAgBgI,kBAAoB,SAAUnjB,GAC5C,IAAKA,EAAU,KAAM,IAAIlJ,OAAM,gCAC/B,OAAOqsB,KAAmBxnB,KAAMqE,IAWlC,IAAImjB,IAAoBlH,GAAWkH,kBAAoB,WACrD,GAAI9U,KACJ,IAAI9S,MAAM2H,QAAQtH,UAAU,IAC1ByS,EAAUzS,UAAU,OAEpB,KAAI,GAAIhH,GAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAOyZ,EAAQtZ,KAAK6G,UAAUhH,GAEhF,OAAO,IAAIoK,IAAoB,SAAUnC,GACvC,GAAIumB,GAAM,EAAGjkB,EAAe,GAAIC,IAChCgK,EAAa8K,GAAmBrB,kBAAkB,SAAUnW,GAC1D,GAAI6T,GAAS1Q,CACTujB,GAAM/U,EAAQvZ,QAChByb,EAAUlC,EAAQ+U,KAClBzjB,GAAU4Q,KAAaA,EAAU3Q,GAAsB2Q,IACvD1Q,EAAI,GAAIX,IACRC,EAAaE,cAAcQ,GAC3BA,EAAER,cAAckR,EAAQjR,UAAUzC,EAAS2C,OAAOgL,KAAK3N,GAAWH,EAAMA,KAExEG,EAASiD,eAGb,OAAO,IAAIuF,IAAoBlG,EAAciK,KASjD+R,IAAgBkI,UAAY,SAAUzU,GACpC,GAAInZ,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAI8tB,IAAS,EACTle,EAAc,GAAIC,IAAoB5P,EAAO6J,UAAU,SAAUa,GACnEmjB,GAAU9tB,EAAEgK,OAAOW,IAClB,SAAUpJ,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjCusB,GAAU9tB,EAAEsK,gBAGdH,IAAUiP,KAAWA,EAAQhP,GAAsBgP,GAEnD,IAAImS,GAAoB,GAAI7hB,GAS5B,OARAkG,GAAYE,IAAIyb,GAChBA,EAAkB1hB,cAAcuP,EAAMtP,UAAU,WAC9CgkB,GAAS,EACTvC,EAAkBpkB,WACjB,SAAU5F,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjCgqB,EAAkBpkB,aAGbyI,GACN3P,IAOL0lB,GAAgB,UAAYA,GAAgBoI,aAAe,WACzD,GAAIlV,GAAU1S,IACd,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAI2mB,IAAY,EACdN,EAAoB,GAAI9jB,IACxBtC,GAAY,EACZ2mB,EAAS,EACTtkB,EAAekP,EAAQ/O,UACrB,SAAUijB,GACR,GAAI1iB,GAAI,GAAIX,IAA8B/C,IAAOsnB,CACjDD,IAAY,EACZN,EAAkB7jB,cAAcQ,GAGhCF,GAAU4iB,KAAiBA,EAAc3iB,GAAsB2iB,IAE/D1iB,EAAER,cAAckjB,EAAYjjB,UAC1B,SAAUC,GAAKkkB,IAAWtnB,GAAMU,EAAS2C,OAAOD,IAChD,SAAUxI,GAAK0sB,IAAWtnB,GAAMU,EAAS6C,QAAQ3I,IACjD,WACM0sB,IAAWtnB,IACbqnB,GAAY,EACZ1mB,GAAaD,EAASiD,mBAI9B,SAAU/I,GAAK8F,EAAS6C,QAAQ3I,IAChC,WACE+F,GAAY,GACX0mB,GAAa3mB,EAASiD,eAE7B,OAAO,IAAIuF,IAAoBlG,EAAc+jB,IAC5C7U,IAQL8M,GAAgBuI,UAAY,SAAU9U,GACpC,GAAInZ,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GAEvC,MADAmK,IAAUiP,KAAWA,EAAQhP,GAAsBgP,IAC5C,GAAIvJ,IACT5P,EAAO6J,UAAU9J,GACjBoZ,EAAMtP,UAAU,WAAc9J,EAAEsK,eAAkB,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IAAOkQ,MAEnFxR,IAWL0lB,GAAgBwI,eAAiB,WAE/B,IAAI,GADA9uB,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EACnD,IAAIqL,GAAiB0P,EAAKxU,MAAO1F,EAASkG,IAE1C,IAAsB,mBAAXlG,GACT,KAAM,IAAIqB,OAAM,oDAElB,IAA8B,kBAAnBmJ,GACT,KAAM,IAAInJ,OAAM,sDAMlB,OAJIyE,OAAM2H,QAAQyM,EAAK,MACrBA,EAAOA,EAAK,IAGP,GAAI3Q,IAAoB,SAAUnC,GAQvC,IAAK,GAPDwD,GAAe,WAAc,OAAO,GACtCga,EAAI1K,EAAK7a,OACT+M,EAAWzG,EAAgBif,EAAGha,GAC9BqF,GAAc,EACdD,EAAS,GAAIlK,OAAM8e,GAEjBsH,EAAgB,GAAIpmB,OAAM8e,EAAI,GACzB/L,EAAM,EAAS+L,EAAN/L,EAASA,KACxB,SAAU1Z,GACT,GAAIga,GAAQe,EAAK/a,GAAIgtB,EAAM,GAAI1iB,GAC/BS,IAAUiP,KAAWA,EAAQhP,GAAsBgP,IACnDgT,EAAIviB,cAAcuP,EAAMtP,UAAU,SAAUC,GAC1CkG,EAAO7Q,GAAK2K,EACZsC,EAASjN,IAAK,EACd8Q,EAAc7D,EAAS8D,MAAMC,KAC5B/I,EAAS6C,QAAQ8K,KAAK3N,GAAW,eACpC8kB,EAAc/sB,GAAKgtB,GACnBtT,EAGJ,IAAIsT,GAAM,GAAI1iB,GAiBd,OAhBA0iB,GAAIviB,cAAc5J,EAAO6J,UAAU,SAAUC,GAC3C,GAAI0E,GACA2f,GAAarkB,GAAGyZ,OAAOvT,EAC3B,IAAKC,EAAL,CACA,IACEzB,EAAMhE,EAAevE,MAAM,KAAMkoB,GACjC,MAAOnkB,GAEP,WADA5C,GAAS6C,QAAQD,GAGnB5C,EAAS2C,OAAOyE,KACfpH,EAAS6C,QAAQ8K,KAAK3N,GAAW,WAClCA,EAASiD,iBAEX6hB,EAActH,GAAKuH,EAEZ,GAAIvc,IAAoBsc,IAC9BhmB,OAmCLwf,GAAgB0I,IAAM,WACpB,GAAItoB,MAAM2H,QAAQtH,UAAU,IAAO,MAAOmE,GAASrE,MAAMC,KAAMC,UAE/D,KAAI,GADA/G,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EAEnD,IAAI0J,GAAS3C,KAAMsE,EAAiB0P,EAAKxU,KAEzC,OADAwU,GAAKja,QAAQ4I,GACN,GAAIU,IAAoB,SAAUnC,GAKvC,QAAS4H,GAAK7P,GACZ,GAAIqP,GAAK6f,CACT,IAAIC,EAAOpe,MAAM,SAAUpG,GAAK,MAAOA,GAAEzK,OAAS,IAAO,CACvD,IACEgvB,EAAeC,EAAOnjB,IAAI,SAAUrB,GAAK,MAAOA,GAAEwK,UAClD9F,EAAMhE,EAAevE,MAAM4C,EAAQwlB,GACnC,MAAOrkB,GAEP,WADA5C,GAAS6C,QAAQD,GAGnB5C,EAAS2C,OAAOyE,OACP4B,GAAO4b,OAAO,SAAUliB,EAAGmiB,GAAK,MAAOA,KAAM9sB,IAAM+Q,MAAMC,KAClE/I,EAASiD,cAIb,QAAS6D,GAAK/O,GACZiR,EAAOjR,IAAK,EACRiR,EAAOF,MAAM,SAAUpG,GAAK,MAAOA,MACrC1C,EAASiD,cAKb,IAAK,GA5BDua,GAAI1K,EAAK7a,OACXivB,EAAS3oB,EAAgBif,EAAG/Z,GAC5BuF,EAASzK,EAAgBif,EAAGha,GAyB1BshB,EAAgB,GAAIpmB,OAAM8e,GACrB/L,EAAM,EAAS+L,EAAN/L,EAASA,KACzB,SAAW1Z,GACT,GAAIa,GAASka,EAAK/a,GAAIgtB,EAAM,GAAI1iB,GAChCS,IAAUlK,KAAYA,EAASmK,GAAsBnK,IACrDmsB,EAAIviB,cAAc5J,EAAO6J,UAAU,SAAUC,GAC3CwkB,EAAOnvB,GAAGG,KAAKwK,GACfkF,EAAK7P,IACJ,SAAUmC,GAAK8F,EAAS6C,QAAQ3I,IAAO,WACxC4M,EAAK/O,MAEP+sB,EAAc/sB,GAAKgtB,GAClBtT,EAGL,OAAO,IAAIjJ,IAAoBsc,IAC9BrjB,IASL2d,GAAW4H,IAAM,WAEf,IAAI,GADAhvB,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EACnD,IAAIsL,GAAQyP,EAAK5F,OACjB,OAAO7J,GAAM2jB,IAAInoB,MAAMwE,EAAOyP,IAQhCsM,GAAWlc,SAAW,WACpB,GAAIsO,EACJ,IAAI9S,MAAM2H,QAAQtH,UAAU,IAC1ByS,EAAUzS,UAAU,OACf,CACL,GAAI/G,GAAM+G,UAAU9G,MACpBuZ,GAAU,GAAI9S,OAAM1G,EACpB,KAAI,GAAID,GAAI,EAAOC,EAAJD,EAASA,IAAOyZ,EAAQzZ,GAAKgH,UAAUhH,GAExD,MAAO,IAAIoK,IAAoB,SAAUnC,GAKvC,QAAS4H,GAAK7P,GACZ,GAAImvB,EAAOpe,MAAM,SAAUpG,GAAK,MAAOA,GAAEzK,OAAS,IAAO,CACvD,GAAImP,GAAM8f,EAAOnjB,IAAI,SAAUrB,GAAK,MAAOA,GAAEwK,SAC7ClN,GAAS2C,OAAOyE,OACX,IAAI4B,EAAO4b,OAAO,SAAUliB,EAAGmiB,GAAK,MAAOA,KAAM9sB,IAAM+Q,MAAMC,IAElE,WADA/I,GAASiD,cAKb,QAAS6D,GAAK/O,GAEZ,MADAiR,GAAOjR,IAAK,EACRiR,EAAOF,MAAMC,QACf/I,GAASiD,cADX,OAOF,IAAK,GAvBDua,GAAIhM,EAAQvZ,OACdivB,EAAS3oB,EAAgBif,EAAG,WAAc,WAC1CxU,EAASzK,EAAgBif,EAAG,WAAc,OAAO,IAoB/CsH,EAAgB,GAAIpmB,OAAM8e,GACrB/L,EAAM,EAAS+L,EAAN/L,EAASA,KACzB,SAAW1Z,GACT+sB,EAAc/sB,GAAK,GAAIsK,IACvByiB,EAAc/sB,GAAGyK,cAAcgP,EAAQzZ,GAAG0K,UAAU,SAAUC,GAC5DwkB,EAAOnvB,GAAGG,KAAKwK,GACfkF,EAAK7P,IACJ,SAAUmC,GAAK8F,EAAS6C,QAAQ3I,IAAO,WACxC4M,EAAK/O,OAEN0Z,EAGL,OAAO,IAAIjJ,IAAoBsc,MAQnCxG,GAAgB6I,aAAe,WAC7B,GAAIvuB,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GAAK,MAAOC,GAAO6J,UAAU9J,IAAOmG,OAa/Ewf,GAAgB8I,gBAAkB,SAAU5oB,EAAO6oB,GAIjD,MAHoB,gBAATA,KACTA,EAAO7oB,GAEFM,KAAKwoB,gBAAgB9oB,EAAO6oB,GAAME,WAAW,SAAU7kB,GAC5D,MAAOA,GAAEie,YACR6G,MAAM,SAAU9kB,GACjB,MAAOA,GAAEzK,OAAS,KAQtBqmB,GAAgBmJ,cAAgB,WAC9B,GAAI7uB,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,MAAOC,GAAO6J,UAAU,SAAUC,GAAK,MAAOA,GAAEyK,OAAOxU,IAAO,SAASuB,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAC5GnE,OAcLwf,GAAgBoJ,qBAAuB,SAAU3iB,EAAaT,GAC5D,GAAI1L,GAASkG,IAEb,OADAwF,KAAaA,EAAW8K,IACjB,GAAIjN,IAAoB,SAAUxJ,GACvC,GAA2BgvB,GAAvBC,GAAgB,CACpB,OAAOhvB,GAAO6J,UAAU,SAAU3F,GAChC,GAAIvB,GAAMuB,CACV,IAAIiI,EACF,IACExJ,EAAMwJ,EAAYjI,GAClB,MAAO5C,GAEP,WADAvB,GAAEkK,QAAQ3I,GAId,GAAI0tB,EACF,IACE,GAAIC,GAAiBvjB,EAASqjB,EAAYpsB,GAC1C,MAAOrB,GAEP,WADAvB,GAAEkK,QAAQ3I,GAIT0tB,GAAkBC,IACrBD,GAAgB,EAChBD,EAAapsB,EACb5C,EAAEgK,OAAO7F,KAEV,SAAU5C,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDnE,OAWLwf,GAAgB,MAAQA,GAAgBwJ,IAAMxJ,GAAgByJ,SAAW,SAAUtM,EAAkB5Y,EAASI,GAC5G,GAAIrK,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIgoB,IAAevM,GAAoBrd,GAAWqd,GAChDoC,GAAepC,GAAoBrR,GAAMvH,GAAWuH,GAAMnH,GAAemH,IACzEqR,CAEF,OAAO7iB,GAAO6J,UAAU,SAAUC,GAChC,IACEslB,EAAYrlB,OAAOD,GACnB,MAAOxI,GACP8F,EAAS6C,QAAQ3I,GAEnB8F,EAAS2C,OAAOD,IACf,SAAUyE,GACT,IACE6gB,EAAYnlB,QAAQsE,GACpB,MAAOjN,GACP8F,EAAS6C,QAAQ3I,GAErB8F,EAAS6C,QAAQsE,IAChB,WACD,IACE6gB,EAAY/kB,cACZ,MAAO/I,GACP8F,EAAS6C,QAAQ3I,GAEnB8F,EAASiD,iBAEVnE,OAULwf,GAAgB2J,SAAW3J,GAAgB4J,UAAY,SAAUvlB,EAAQiB,GACvE,MAAO9E,MAAKgpB,IAAuB,mBAAZlkB,GAA0B,SAAUlB,GAAKC,EAAO1H,KAAK2I,EAASlB,IAAQC,IAU/F2b,GAAgB6J,UAAY7J,GAAgB8J,WAAa,SAAUvlB,EAASe,GAC1E,MAAO9E,MAAKgpB,IAAI1d,GAAyB,mBAAZxG,GAA0B,SAAU1J,GAAK2I,EAAQ5H,KAAK2I,EAAS1J,IAAQ2I,IAUtGyb,GAAgB+J,cAAgB/J,GAAgBgK,eAAiB,SAAUrlB,EAAaW,GACtF,MAAO9E,MAAKgpB,IAAI1d,GAAM,KAAyB,mBAAZxG,GAA0B,WAAcX,EAAYhI,KAAK2I,IAAcX,IAQ5Gqb,GAAgB,WAAaA,GAAgBiK,OAAS,SAAUlV,GAC9D,GAAIza,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIsC,EACJ,KACEA,EAAe1J,EAAO6J,UAAUzC,GAChC,MAAO9F,GAEP,KADAmZ,KACMnZ,EAER,MAAOgO,IAAiB,WACtB,IACE5F,EAAaxC,UACb,MAAO5F,GACP,KAAMA,GACN,QACAmZ,QAGHvU,OAMLwf,GAAgBkK,cAAgB,SAAUnV,GAExC,MAAOvU,MAAKypB,OAAOlV,IAOrBiL,GAAgBmK,eAAiB,WAC/B,GAAI7vB,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,MAAOC,GAAO6J,UAAU2H,GAAM,SAAUlQ,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAC7ErK,IAOL0lB,GAAgB3R,YAAc,WAC5B,GAAI/T,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,MAAOpH,GAAO6J,UAAU,SAAU3F,GAChCkD,EAAS2C,OAAOgZ,GAAyB7e,KACxC,SAAU5C,GACX8F,EAAS2C,OAAOkZ,GAA0B3hB,IAC1C8F,EAASiD,eACR,WACDjD,EAAS2C,OAAOoZ,MAChB/b,EAASiD,iBAEVrK,IAQL0lB,GAAgBrB,OAAS,SAAUC,GACjC,MAAOF,IAAiBle,KAAMoe,GAAaf,UAa7CmC,GAAgBoK,MAAQ,SAAUC,GAChC,MAAO3L,IAAiBle,KAAM6pB,GAAYnS,cAa5C8H,GAAgBsK,UAAY,SAAUlM,GACpC,MAAOM,IAAiBle,MAAMyd,eAAeG,IAY/C4B,GAAgBuK,KAAO,WACrB,GAAqBC,GAAMC,EAAvBC,GAAU,EAA0BpwB,EAASkG,IAQjD,OAPyB,KAArBC,UAAU9G,QACZ+wB,GAAU,EACVF,EAAO/pB,UAAU,GACjBgqB,EAAchqB,UAAU,IAExBgqB,EAAchqB,UAAU,GAEnB,GAAIoD,IAAoB,SAAUxJ,GACvC,GAAIswB,GAAiBC,EAAclkB,CACnC,OAAOpM,GAAO6J,UACZ,SAAUC,IACPsC,IAAaA,GAAW,EACzB,KACMikB,EACFC,EAAeH,EAAYG,EAAcxmB,IAEzCwmB,EAAeF,EAAUD,EAAYD,EAAMpmB,GAAKA,EAChDumB,GAAkB,GAEpB,MAAO/uB,GAEP,WADAvB,GAAEkK,QAAQ3I,GAIZvB,EAAEgK,OAAOumB,IAEX,SAAUhvB,GAAKvB,EAAEkK,QAAQ3I,IACzB,YACG8K,GAAYgkB,GAAWrwB,EAAEgK,OAAOmmB,GACjCnwB,EAAEsK,iBAGLrK,IAWL0lB,GAAgB6K,SAAW,SAAU3qB,GACnC,GAAY,EAARA,EAAa,KAAM,IAAIkH,GAC3B,IAAI9M,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC+J,EAAEvU,KAAKwK,GACP+J,EAAExU,OAASuG,GAAS7F,EAAEgK,OAAO8J,EAAES,UAC9B,SAAUhT,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDrK,IAWL0lB,GAAgB8K,UAAY,WAC1B,GAAY5pB,GAAW4X,EAAQ,CACzBrY,WAAU9G,QAAU2J,GAAY7C,UAAU,KAC9CS,EAAYT,UAAU,GACtBqY,EAAQ,GAER5X,EAAY6X,EAEd,KAAI,GAAIvE,MAAW/a,EAAIqf,EAAOpf,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAO+a,EAAK5a,KAAK6G,UAAUhH,GAC1F,OAAOolB,KAAcyE,GAAoB9O,EAAMtT,GAAYV,OAAOqd,UAWpEmC,GAAgB+K,SAAW,SAAU7qB,GACnC,GAAY,EAARA,EAAa,KAAM,IAAIkH,GAC3B,IAAI9M,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC+J,EAAEvU,KAAKwK,GACP+J,EAAExU,OAASuG,GAASiO,EAAES,SACrB,SAAUhT,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjC,KAAOuS,EAAExU,OAAS,GAAKU,EAAEgK,OAAO8J,EAAES,QAClCvU,GAAEsK,iBAEHrK,IAYL0lB,GAAgBgL,eAAiB,SAAU9qB,GACzC,GAAI5F,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC+J,EAAEvU,KAAKwK,GACP+J,EAAExU,OAASuG,GAASiO,EAAES,SACrB,SAAUhT,GAAKvB,EAAEkK,QAAQ3I,IAAO,WACjCvB,EAAEgK,OAAO8J,GACT9T,EAAEsK,iBAEHrK,IAYL0lB,GAAgBgJ,gBAAkB,SAAU9oB,EAAO6oB,GACjD,GAAIzuB,GAASkG,IAGb,KAFCN,IAAUA,EAAQ,GACnB4C,KAAKE,IAAI9C,WAAwBA,EAAQ,GAC5B,GAATA,EAAc,KAAM,IAAIkH,GAK5B,IAJQ,MAAR2hB,IAAiBA,EAAO7oB,IACvB6oB,IAASA,EAAO,GACjBjmB,KAAKE,IAAI+lB,WAAuBA,EAAO,GAE3B,GAARA,EAAa,KAAM,IAAI3hB,GAC3B,OAAO,IAAIvD,IAAoB,SAAUnC,GAMvC,QAASupB,KACP,GAAI3pB,GAAI,GAAI8J,GACZ+C,GAAEvU,KAAK0H,GACPI,EAAS2C,OAAOkH,GAAOjK,EAAG4pB,IAR5B,GAAItf,GAAI,GAAI7H,IACVmnB,EAAqB,GAAI5f,IAAmBM,GAC5CsT,EAAI,EACJ/Q,IA0BF,OAlBA8c,KAEArf,EAAE1H,cAAc5J,EAAO6J,UACrB,SAAUC,GACR,IAAK,GAAI3K,GAAI,EAAGC,EAAMyU,EAAExU,OAAYD,EAAJD,EAASA,IAAO0U,EAAE1U,GAAG4K,OAAOD,EAC5D,IAAIsP,GAAIwL,EAAIhf,EAAQ,CACpBwT,IAAK,GAAKA,EAAIqV,IAAS,GAAK5a,EAAES,QAAQjK,gBACpCua,EAAI6J,IAAS,GAAKkC,KAEtB,SAAUrvB,GACR,KAAOuS,EAAExU,OAAS,GAAKwU,EAAES,QAAQrK,QAAQ3I,EACzC8F,GAAS6C,QAAQ3I,IAEnB,WACE,KAAOuS,EAAExU,OAAS,GAAKwU,EAAES,QAAQjK,aACjCjD,GAASiD,iBAGNumB,GACN5wB,IAgCL0lB,GAAgBmL,aAAenL,GAAgB5a,UAAY,SAAUC,EAAUP,EAAgBQ,GAC7F,MAAIxF,IAAWuF,IAAavF,GAAWgF,GAC9BtE,KAAK4E,UAAU,SAAUhB,EAAG3K,GACjC,GAAI2xB,GAAiB/lB,EAASjB,EAAG3K,EAIjC,OAHA+K,IAAU4mB,KAAoBA,EAAiB3mB,GAAsB2mB,KACpE1lB,GAAY0lB,IAAmBzlB,GAAWylB,MAAqBA,EAAiBxlB,GAAewlB,IAEzFA,EAAe3lB,IAAI,SAAUsL,EAAGsa,GACrC,MAAOvmB,GAAeV,EAAG2M,EAAGtX,EAAG4xB,OAI9BvrB,GAAWuF,GAChBD,EAAU5E,KAAM6E,EAAUC,GAC1BF,EAAU5E,KAAM,WAAc,MAAO6E,MAWzC2a,GAAgBsL,kBAAoBtL,GAAgBuL,qBAAuB,SAASlnB,EAAQE,EAASI,EAAaW,GAChH,GAAIhL,GAASkG,KACTgrB,EAAahmB,GAAanB,EAAQiB,EAAS,GAC3CmmB,EAAcjmB,GAAajB,EAASe,EAAS,GAC7ComB,EAAkBlmB,GAAab,EAAaW,EAAS,EACzD,OAAO,IAAIzB,IAAoB,SAAUnC,GACvC,GAAIpE,GAAQ,CACZ,OAAOhD,GAAO6J,UACZ,SAAUC,GACR,GAAI/H,EACJ,KACEA,EAASmvB,EAAWpnB,EAAG9G,KACvB,MAAO1B,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,IAElB,SAAUwM,GACR,GAAIxM,EACJ,KACEA,EAASovB,EAAY5iB,GACrB,MAAOjN,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,GAChBqF,EAASiD,eAEX,WACE,GAAItI,EACJ,KACEA,EAASqvB,IACT,MAAO9vB,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,GAChBqF,EAASiD,iBAEZnE,MAAMqF,aAaTma,GAAgB2L,eAAiB,SAAUxkB,GACzC,GAAI7M,GAASkG,IAEb,OADA2G,KAAiB9N,IAAc8N,EAAe,MACvC,GAAItD,IAAoB,SAAUnC,GACvC,GAAIkqB,IAAQ,CACZ,OAAOtxB,GAAO6J,UAAU,SAAUC,GAChCwnB,GAAQ,EACRlqB,EAAS2C,OAAOD,IAElB,SAAUxI,GAAK8F,EAAS6C,QAAQ3I,IAChC,YACGgwB,GAASlqB,EAAS2C,OAAO8C,GAC1BzF,EAASiD,iBAEVrK,IAeP2L,EAAQzI,UAAU5D,KAAO,SAAS4E,GAChC,GAAIqtB,GAAoE,KAAzD/lB,EAAqBtF,KAAK0F,IAAK1H,EAAOgC,KAAKwF,SAE1D,OADA6lB,IAAYrrB,KAAK0F,IAAItM,KAAK4E,GACnBqtB,GAeT7L,GAAgB8L,SAAW,SAAUrlB,EAAaT,GAChD,GAAI1L,GAASkG,IAEb,OADAwF,KAAaA,EAAW8K,IACjB,GAAIjN,IAAoB,SAAUxJ,GACvC,GAAI0xB,GAAU,GAAI9lB,GAAQD,EAC1B,OAAO1L,GAAO6J,UAAU,SAAUC,GAChC,GAAInH,GAAMmH,CAEV,IAAIqC,EACF,IACExJ,EAAMwJ,EAAYrC,GAClB,MAAOxI,GAEP,WADAvB,GAAEkK,QAAQ3I,GAIdmwB,EAAQnyB,KAAKqD,IAAQ5C,EAAEgK,OAAOD,IAEhC,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAC/CnE,OAeLwf,GAAgBgM,QAAU,SAAUvlB,EAAawlB,EAAiBjmB,GAChE,MAAOxF,MAAK0rB,aAAazlB,EAAawlB,EAAiB7H,GAAiBpe,IAoBxEga,GAAgBkM,aAAe,SAAUzlB,EAAawlB,EAAiBE,EAAkBnmB,GACvF,GAAI1L,GAASkG,IAGb,OAFAyrB,KAAoBA,EAAkBxhB,IACtCzE,IAAaA,EAAW8K,IACjB,GAAIjN,IAAoB,SAAUnC,GACvC,QAAS8H,GAAY5N,GAAK,MAAO,UAAUmK,GAAQA,EAAKxB,QAAQ3I,IAChE,GAAI6J,GAAM,GAAI2mB,IAAW,EAAGpmB,GAC1BqmB,EAAkB,GAAIniB,IACtBghB,EAAqB,GAAI5f,IAAmB+gB,EAqEhD,OAnEEA,GAAgBliB,IAAI7P,EAAO6J,UAAU,SAAUC,GAC7C,GAAInH,EACJ,KACEA,EAAMwJ,EAAYrC,GAClB,MAAOxI,GAGP,MAFA6J,GAAI6mB,YAAYrL,QAAQzX,EAAY5N,QACpC8F,GAAS6C,QAAQ3I,GAInB,GAAI2wB,IAAkB,EACpBC,EAAS/mB,EAAIgnB,YAAYxvB,EAO3B,IANKuvB,IACHA,EAAS,GAAIphB,IACb3F,EAAIS,IAAIjJ,EAAKuvB,GACbD,GAAkB,GAGhBA,EAAiB,CACnB,GAAInV,GAAQ,GAAIsV,IAAkBzvB,EAAKuvB,EAAQtB,GAC7CyB,EAAgB,GAAID,IAAkBzvB,EAAKuvB,EAC7C,KACEI,SAAWT,EAAiBQ,GAC5B,MAAO/wB,GAGP,MAFA6J,GAAI6mB,YAAYrL,QAAQzX,EAAY5N,QACpC8F,GAAS6C,QAAQ3I,GAInB8F,EAAS2C,OAAO+S,EAEhB,IAAIyV,GAAK,GAAI9oB,GACbsoB,GAAgBliB,IAAI0iB,EAEpB,IAAIC,GAAS,WACXrnB,EAAI8O,OAAOtX,IAAQuvB,EAAO7nB,cAC1B0nB,EAAgB9X,OAAOsY,GAGzBA,GAAG3oB,cAAc0oB,SAAS/gB,KAAK,GAAG1H,UAChC2H,GACA,SAAU2S,GACRhZ,EAAI6mB,YAAYrL,QAAQzX,EAAYiV,IACpC/c,EAAS6C,QAAQka,IAEnBqO,IAIJ,GAAIpjB,EACJ,KACEA,EAAUuiB,EAAgB7nB,GAC1B,MAAOxI,GAGP,MAFA6J,GAAI6mB,YAAYrL,QAAQzX,EAAY5N,QACpC8F,GAAS6C,QAAQ3I,GAInB4wB,EAAOnoB,OAAOqF,IACf,SAAUpF,GACXmB,EAAI6mB,YAAYrL,QAAQzX,EAAYlF,IACpC5C,EAAS6C,QAAQD,IAChB,WACDmB,EAAI6mB,YAAYrL,QAAQ,SAAUlb,GAAQA,EAAKpB,gBAC/CjD,EAASiD,iBAGJumB,GACN5wB,GAGL,IAAIyyB,IAAiB,SAAUzQ,GAG7B,QAASyQ,GAAczyB,EAAQ+K,EAAUC,GACvC9E,KAAKlG,OAASA,EACdkG,KAAK6E,SAAWG,GAAaH,EAAUC,EAAS,GAChDgX,EAAU3f,KAAK6D,MAYjB,MAjBAsS,IAASia,EAAezQ,GAQxByQ,EAAcvvB,UAAUwvB,YAAc,SAAU3nB,EAAUC,GACxD,GAAI/D,GAAOf,IACX,OAAO,IAAIusB,GAAcvsB,KAAKlG,OAAQ,SAAU8J,EAAG3K,EAAGY,GAAK,MAAOgL,GAAS1I,KAAK6D,KAAMe,EAAK8D,SAASjB,EAAG3K,EAAGY,GAAIZ,EAAGY,IAAOiL,IAG1HynB,EAAcvvB,UAAUkkB,cAAgB,SAAUhgB,GAChD,MAAOlB,MAAKlG,OAAO6J,UAAU,GAAIgC,GAAYzE,EAAUlB,KAAK6E,SAAU7E,QAGjEusB,GAEP1L,GAUFlb,GAAY3I,UAAU6G,OAAS,SAASD,GACtC,IAAI5D,KAAKmB,UAAT,CACA,GAAItF,GAASsE,EAASH,KAAK6E,UAAU1I,KAAK6D,KAAM4D,EAAG5D,KAAK/G,IAAK+G,KAAKlG,OAClE,OAAI+B,KAAWqE,GACNF,KAAKkB,SAAS6C,QAAQlI,EAAOT,OAEtC4E,MAAKkB,SAAS2C,OAAOhI,KAEvB8J,EAAY3I,UAAU+G,QAAU,SAAU3I,GACpC4E,KAAKmB,YAAanB,KAAKmB,WAAY,EAAMnB,KAAKkB,SAAS6C,QAAQ3I,KAErEuK,EAAY3I,UAAUmH,YAAc,WAC9BnE,KAAKmB,YAAanB,KAAKmB,WAAY,EAAMnB,KAAKkB,SAASiD,gBAE7DwB,EAAY3I,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GAC9DwE,EAAY3I,UAAU2iB,KAAO,SAAUvkB,GACrC,MAAK4E,MAAKmB,WAMH,GALLnB,KAAKmB,WAAY,EACjBnB,KAAKkB,SAAS6C,QAAQ3I,IACf,IAYXokB,GAAgBva,IAAMua,GAAgBiN,OAAS,SAAU5nB,EAAUC,GACjE,GAAIyZ,GAAiC,kBAAb1Z,GAA0BA,EAAW,WAAc,MAAOA,GAClF,OAAO7E,gBAAgBusB,IACrBvsB,KAAKwsB,YAAYjO,EAAYzZ,GAC7B,GAAIynB,IAAcvsB,KAAMue,EAAYzZ,IASxC0a,GAAgBtP,MAAQ,WACtB,GAAI8D,GAAO/T,UAAW/G,EAAM+G,UAAU9G,MACtC,IAAY,IAARD,EAAa,KAAM,IAAIiC,OAAM,sCACjC,OAAO6E,MAAKiF,IAAI,SAAUrB,GAExB,IAAK,GADD8oB,GAAc9oB,EACT3K,EAAI,EAAOC,EAAJD,EAASA,IAAK,CAC5B,GAAI6T,GAAI4f,EAAY1Y,EAAK/a,GACzB,IAAiB,mBAAN6T,GAGT,MAAOjU,EAFP6zB,GAAc5f,EAKlB,MAAO4f,MAiCXlN,GAAgBiJ,WAAajJ,GAAgB5Z,QAAU,SAAUf,EAAUP,EAAgBQ,GACzF,MAAIxF,IAAWuF,IAAavF,GAAWgF,GAC9BtE,KAAK4F,QAAQ,SAAUhC,EAAG3K,GAC/B,GAAI2xB,GAAiB/lB,EAASjB,EAAG3K,EAIjC,OAHA+K,IAAU4mB,KAAoBA,EAAiB3mB,GAAsB2mB,KACpE1lB,GAAY0lB,IAAmBzlB,GAAWylB,MAAqBA,EAAiBxlB,GAAewlB,IAEzFA,EAAe3lB,IAAI,SAAUsL,EAAGsa,GACrC,MAAOvmB,GAAeV,EAAG2M,EAAGtX,EAAG4xB,MAEhC/lB,GAEExF,GAAWuF,GAChBe,EAAQ5F,KAAM6E,EAAUC,GACxBc,EAAQ5F,KAAM,WAAc,MAAO6E,MAWvC2a,GAAgBmN,gBAAkBnN,GAAgBoN,mBAAqB,SAAU/oB,EAAQE,EAASI,EAAaW,GAC7G,GAAIhL,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIpE,GAAQ,CAEZ,OAAOhD,GAAO6J,UACZ,SAAUC,GACR,GAAI/H,EACJ,KACEA,EAASgI,EAAO1H,KAAK2I,EAASlB,EAAG9G,KACjC,MAAO1B,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,IAElB,SAAUwM,GACR,GAAIxM,EACJ,KACEA,EAASkI,EAAQ5H,KAAK2I,EAASuD,GAC/B,MAAOjN,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,GAChBqF,EAASiD,eAEX,WACE,GAAItI,EACJ,KACEA,EAASsI,EAAYhI,KAAK2I,GAC1B,MAAO1J,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB4I,GAAUnI,KAAYA,EAASoI,GAAsBpI,IACrDqF,EAAS2C,OAAOhI,GAChBqF,EAASiD,iBAEZrK,GAAQ+L,YAWb2Z,GAAgBqN,aAAerN,GAAgBsN,cAAgBtN,GAAgBuN,UAAY,SAAUloB,EAAUC,GAC7G,MAAO9E,MAAKysB,OAAO5nB,EAAUC,GAAS8iB,gBAQxCpI,GAAgB+I,KAAO,SAAU7oB,GAC/B,GAAY,EAARA,EAAa,KAAM,IAAIkH,GAC3B,IAAI9M,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAImzB,GAAYttB,CAChB,OAAO5F,GAAO6J,UAAU,SAAUC,GACf,GAAbopB,EACFnzB,EAAEgK,OAAOD,GAETopB,KAED,SAAU5xB,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDrK,IAaL0lB,GAAgByN,UAAY,SAAUlnB,EAAWjB,GAC/C,GAAIhL,GAASkG,KACTrC,EAAWqH,GAAae,EAAWjB,EAAS,EAChD,OAAO,IAAIzB,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI,EAAG2U,GAAU,CACrB,OAAO9T,GAAO6J,UAAU,SAAUC,GAChC,IAAKgK,EACH,IACEA,GAAWjQ,EAASiG,EAAG3K,IAAKa,GAC5B,MAAOsB,GAEP,WADAvB,GAAEkK,QAAQ3I,GAIdwS,GAAW/T,EAAEgK,OAAOD,IACnB,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDrK,IAYL0lB,GAAgBnU,KAAO,SAAU3L,EAAOgB,GACtC,GAAY,EAARhB,EAAa,KAAM,IAAIkH,GAC3B,IAAc,IAAVlH,EAAe,MAAO6K,IAAgB7J,EAC1C,IAAI5G,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAImzB,GAAYttB,CAChB,OAAO5F,GAAO6J,UAAU,SAAUC,GAC5BopB,IAAc,IAChBnzB,EAAEgK,OAAOD,GACK,IAAdopB,GAAmBnzB,EAAEsK,gBAEtB,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDrK,IAUL0lB,GAAgB0N,UAAY,SAAUnnB,EAAWjB,GAC/C,GAAIhL,GAASkG,KACTrC,EAAWqH,GAAae,EAAWjB,EAAS,EAChD,OAAO,IAAIzB,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI,EAAG2U,GAAU,CACrB,OAAO9T,GAAO6J,UAAU,SAAUC,GAChC,GAAIgK,EAAS,CACX,IACEA,EAAUjQ,EAASiG,EAAG3K,IAAKa,GAC3B,MAAOsB,GAEP,WADAvB,GAAEkK,QAAQ3I,GAGRwS,EACF/T,EAAEgK,OAAOD,GAET/J,EAAEsK,gBAGL,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAClDrK,GAGL,IAAIqzB,IAAoB,SAAUrR,GAGhC,QAASqR,GAAiBrzB,EAAQiM,EAAWjB,GAC3C9E,KAAKlG,OAASA,EACdkG,KAAK+F,UAAYf,GAAae,EAAWjB,EAAS,GAClDgX,EAAU3f,KAAK6D,MAYjB,MAjBAsS,IAAS6a,EAAkBrR,GAQ3BqR,EAAiBnwB,UAAUkkB,cAAgB,SAAUhgB,GACnD,MAAOlB,MAAKlG,OAAO6J,UAAU,GAAImC,GAAe5E,EAAUlB,KAAK+F,UAAW/F,QAG5EmtB,EAAiBnwB,UAAUowB,eAAiB,SAASrnB,EAAWjB,GAC9D,GAAI/D,GAAOf,IACX,OAAO,IAAImtB,GAAiBntB,KAAKlG,OAAQ,SAAS8J,EAAG3K,EAAGY,GAAK,MAAOkH,GAAKgF,UAAUnC,EAAG3K,EAAGY,IAAMkM,EAAU5J,KAAK6D,KAAM4D,EAAG3K,EAAGY,IAAOiL,IAG5HqoB,GAEPtM,GAUF/a,GAAe9I,UAAU6G,OAAS,SAASD,GACzC,IAAI5D,KAAKmB,UAAT,CACA,GAAIksB,GAAcltB,EAASH,KAAK+F,WAAW5J,KAAK6D,KAAM4D,EAAG5D,KAAK/G,IAAK+G,KAAKlG,OACxE,OAAIuzB,KAAgBntB,GACXF,KAAKkB,SAAS6C,QAAQspB,EAAYjyB,QAE3CiyB,GAAertB,KAAKkB,SAAS2C,OAAOD,MAEtCkC,EAAe9I,UAAU+G,QAAU,SAAU3I,GACvC4E,KAAKmB,YAAanB,KAAKmB,WAAY,EAAMnB,KAAKkB,SAAS6C,QAAQ3I,KAErE0K,EAAe9I,UAAUmH,YAAc,WACjCnE,KAAKmB,YAAanB,KAAKmB,WAAY,EAAMnB,KAAKkB,SAASiD,gBAE7D2B,EAAe9I,UAAUgE,QAAU,WAAahB,KAAKmB,WAAY,GACjE2E,EAAe9I,UAAU2iB,KAAO,SAAUvkB,GACxC,MAAK4E,MAAKmB,WAKH,GAJLnB,KAAKmB,WAAY,EACjBnB,KAAKkB,SAAS6C,QAAQ3I,IACf,IAWXokB,GAAgBsG,OAAStG,GAAgBkJ,MAAQ,SAAU3iB,EAAWjB,GACpE,MAAO9E,gBAAgBmtB,IAAmBntB,KAAKotB,eAAernB,EAAWjB,GACvE,GAAIqoB,IAAiBntB,KAAM+F,EAAWjB,IAmD1C0a,GAAgB8N,UAAY,WAC1B,GAAqBrD,GAAaD,EAA9BE,GAAU,EAA0BpwB,EAASkG,IAQjD,OAPyB,KAArBC,UAAU9G,QACZ+wB,GAAU,EACVF,EAAO/pB,UAAU,GACjBgqB,EAAchqB,UAAU,IAExBgqB,EAAchqB,UAAU,GAEnB,GAAIoD,IAAoB,SAAUxJ,GACvC,GAAIswB,GAAiBC,EAAclkB,CACnC,OAAOpM,GAAO6J,UACZ,SAAUC;CACPsC,IAAaA,GAAW,EACzB,KACMikB,EACFC,EAAeH,EAAYG,EAAcxmB,IAEzCwmB,EAAeF,EAAUD,EAAYD,EAAMpmB,GAAKA,EAChDumB,GAAkB,GAEpB,MAAO/uB,GACP,MAAOvB,GAAEkK,QAAQ3I,KAGrB,SAAUA,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACE8K,GAAYrM,EAAEgK,OAAOumB,IACpBlkB,GAAYgkB,GAAWrwB,EAAEgK,OAAOmmB,IAChC9jB,IAAagkB,GAAWrwB,EAAEkK,QAAQ,GAAIyC,KACvC3M,EAAEsK,iBAGLrK,IAUL0lB,GAAgB+N,OAAS,SAAUtD,GACjC,GAAqBD,GAAjBE,GAAU,EAAapwB,EAASkG,IAKpC,OAJyB,KAArBC,UAAU9G,SACZ+wB,GAAU,EACVF,EAAO/pB,UAAU,IAEZ,GAAIoD,IAAoB,SAAUxJ,GACvC,GAAIswB,GAAiBC,EAAclkB,CACnC,OAAOpM,GAAO6J,UACZ,SAAUC,IACPsC,IAAaA,GAAW,EACzB,KACMikB,EACFC,EAAeH,EAAYG,EAAcxmB,IAEzCwmB,EAAeF,EAAUD,EAAYD,EAAMpmB,GAAKA,EAChDumB,GAAkB,GAEpB,MAAO/uB,GACP,MAAOvB,GAAEkK,QAAQ3I,KAGrB,SAAUA,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACE8K,GAAYrM,EAAEgK,OAAOumB,IACpBlkB,GAAYgkB,GAAWrwB,EAAEgK,OAAOmmB,IAChC9jB,IAAagkB,GAAWrwB,EAAEkK,QAAQ,GAAIyC,KACvC3M,EAAEsK,iBAGLrK,IAQL0lB,GAAgBgO,KAAO,SAAUznB,EAAWjB,GAC1C,GAAIhL,GAASkG,IACb,OAAO+F,GACLjM,EAAOgsB,OAAO/f,EAAWjB,GAAS0oB,OAClC,GAAInqB,IAAoB,SAAUnC,GAChC,MAAOpH,GAAO6J,UAAU,WACtBzC,EAAS2C,QAAO,GAChB3C,EAASiD,eACR,SAAU/I,GAAK8F,EAAS6C,QAAQ3I,IAAO,WACxC8F,EAAS2C,QAAO,GAChB3C,EAASiD,iBAEVrK,IAIP0lB,GAAgBiO,IAAM,WAEpB,MAAOztB,MAAKwtB,KAAKztB,MAAMC,KAAMC,YAO/Buf,GAAgBkO,QAAU,WACxB,MAAO1tB,MAAKytB,MAAMxoB,IAAI2L,KASxB4O,GAAgBxV,MAAQ,SAAUjE,EAAWjB,GAC3C,MAAO9E,MAAK8lB,OAAO,SAAUpd,GAAK,OAAQ3C,EAAU2C,IAAO5D,GAAS0oB,OAAOvoB,IAAI2L,KAIjF4O,GAAgBmO,IAAM,WAEpB,MAAO3tB,MAAKgK,MAAMjK,MAAMC,KAAMC,YAShCuf,GAAgBoO,SAAW,SAAUC,EAAeC,GAElD,QAAStoB,GAASxM,EAAGkF,GACnB,MAAc,KAANlF,GAAiB,IAANkF,GAAalF,IAAMkF,GAAMmE,MAAMrJ,IAAMqJ,MAAMnE,GAFhE,GAAIpE,GAASkG,IAIb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI,EAAGylB,GAAKoP,GAAa,CAE7B,OADAxrB,MAAKE,IAAIkc,WAAoBA,EAAI,GACzB,EAAJA,GACF7kB,EAAEgK,QAAO,GACThK,EAAEsK,cACKsQ,IAEF3a,EAAO6J,UACZ,SAAUC,GACJ3K,KAAOylB,GAAKlZ,EAAS5B,EAAGiqB,KAC1Bh0B,EAAEgK,QAAO,GACThK,EAAEsK,gBAGN,SAAU/I,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACEvB,EAAEgK,QAAO,GACThK,EAAEsK,iBAELnE,OAMLwf,GAAgBuO,SAAW,SAAUF,EAAeC,GAElDtO,GAAgBoO,SAASC,EAAeC,IAY1CtO,GAAgB9f,MAAQ,SAAUqG,EAAWjB,GAC3C,MAAOiB,GACL/F,KAAK8lB,OAAO/f,EAAWjB,GAASpF,QAChCM,KAAKutB,OAAO,SAAU7tB,GAAS,MAAOA,GAAQ,GAAM,IASxD8f,GAAgB9lB,QAAU,SAASm0B,EAAeC,GAChD,GAAIh0B,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAIZ,GAAI,EAAGylB,GAAKoP,GAAa,CAE7B,OADAxrB,MAAKE,IAAIkc,WAAoBA,EAAI,GACzB,EAAJA,GACF7kB,EAAEgK,OAAO,IACThK,EAAEsK,cACKsQ,IAEF3a,EAAO6J,UACZ,SAAUC,GACJ3K,GAAKylB,GAAK9a,IAAMiqB,IAClBh0B,EAAEgK,OAAO5K,GACTY,EAAEsK,eAEJlL,KAEF,SAAUmC,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACEvB,EAAEgK,OAAO,IACThK,EAAEsK,iBAELrK,IASL0lB,GAAgBwO,IAAM,SAAU/nB,EAAanB,GAC3C,MAAOmB,IAAe3G,GAAW2G,GAC/BjG,KAAKiF,IAAIgB,EAAanB,GAASkpB,MAC/BhuB,KAAKutB,OAAO,SAAUU,EAAMC,GAAQ,MAAOD,GAAOC,GAAS,IAY/D1O,GAAgB2O,MAAQ,SAAUloB,EAAaT,GAE7C,MADAA,KAAaA,EAAWiL,IACjBzK,EAAUhG,KAAMiG,EAAa,SAAUrC,EAAG2M,GAAK,MAAwB,GAAjB/K,EAAS5B,EAAG2M,MAW3EiP,GAAgB4O,IAAM,SAAU5oB,GAC9B,MAAOxF,MAAKmuB,MAAMlkB,GAAUzE,GAAUP,IAAI,SAAUrB,GAAK,MAAO2C,GAAU3C,MAY5E4b,GAAgB6O,MAAQ,SAAUpoB,EAAaT,GAE7C,MADAA,KAAaA,EAAWiL,IACjBzK,EAAUhG,KAAMiG,EAAaT,IAWtCga,GAAgBlR,IAAM,SAAU9I,GAC9B,MAAOxF,MAAKquB,MAAMpkB,GAAUzE,GAAUP,IAAI,SAAUrB,GAAK,MAAO2C,GAAU3C,MAS5E4b,GAAgB8O,QAAU,SAAUroB,EAAanB,GAC/C,MAAOmB,IAAe3G,GAAW2G,GAC/BjG,KAAKiF,IAAIgB,EAAanB,GAASwpB,UAC/BtuB,KAAKutB,OAAO,SAAUU,EAAMM,GAC1B,OACEP,IAAKC,EAAKD,IAAMO,EAChB7uB,MAAOuuB,EAAKvuB,MAAQ,KAEpBsuB,IAAK,EAAGtuB,MAAO,IAAKuF,IAAI,SAAUnE,GACpC,GAAgB,IAAZA,EAAEpB,MAAe,KAAM,IAAI8G,GAC/B,OAAO1F,GAAEktB,IAAMltB,EAAEpB,SAgBvB8f,GAAgBgP,cAAgB,SAAUnqB,EAAQmB,GAChD,GAAIjB,GAAQvE,IAEZ,OADAwF,KAAaA,EAAW8K,IACjB,GAAIjN,IAAoB,SAAUxJ,GACvC,GAAI40B,IAAQ,EAAOC,GAAQ,EAAOC,KAASC,KACvCC,EAAgBtqB,EAAMZ,UAAU,SAAUC,GAC5C,GAAIkrB,GAAOpmB,CACX,IAAIkmB,EAAGz1B,OAAS,EAAG,CACjBuP,EAAIkmB,EAAGxgB,OACP,KACE0gB,EAAQtpB,EAASkD,EAAG9E,GACpB,MAAOxI,GAEP,WADAvB,GAAEkK,QAAQ3I,GAGP0zB,IACHj1B,EAAEgK,QAAO,GACThK,EAAEsK,mBAEKuqB,IACT70B,EAAEgK,QAAO,GACThK,EAAEsK,eAEFwqB,EAAGv1B,KAAKwK,IAET,SAASxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAChCqzB,GAAQ,EACU,IAAdE,EAAGx1B,SACDy1B,EAAGz1B,OAAS,GACdU,EAAEgK,QAAO,GACThK,EAAEsK,eACOuqB,IACT70B,EAAEgK,QAAO,GACThK,EAAEsK,mBAKPe,GAAYb,IAAWc,GAAWd,MAAaA,EAASe,GAAef,IACxEL,GAAUK,KAAYA,EAASJ,GAAsBI,GACrD,IAAI0qB,GAAgB1qB,EAAOV,UAAU,SAAUC,GAC7C,GAAIkrB,EACJ,IAAIH,EAAGx1B,OAAS,EAAG,CACjB,GAAIuP,GAAIimB,EAAGvgB,OACX,KACE0gB,EAAQtpB,EAASkD,EAAG9E,GACpB,MAAO8J,GAEP,WADA7T,GAAEkK,QAAQ2J,GAGPohB,IACHj1B,EAAEgK,QAAO,GACThK,EAAEsK,mBAEKsqB,IACT50B,EAAEgK,QAAO,GACThK,EAAEsK,eAEFyqB,EAAGx1B,KAAKwK,IAET,SAASxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAChCszB,GAAQ,EACU,IAAdE,EAAGz1B,SACDw1B,EAAGx1B,OAAS,GACdU,EAAEgK,QAAO,GACThK,EAAEsK,eACOsqB,IACT50B,EAAEgK,QAAO,GACThK,EAAEsK,iBAIR,OAAO,IAAIuF,IAAoBmlB,EAAeE,IAC7CxqB,IA8BLib,GAAgBwP,UAAa,SAAUlyB,GACrC,MAAO2J,GAAmBzG,KAAMlD,GAAO,IAYzC0iB,GAAgB/Y,mBAAqB,SAAU3J,EAAO6J,GACpD,MAAOF,GAAmBzG,KAAMlD,GAAO,EAAM6J,IA8B/C6Y,GAAgByP,OAAS,SAAUlpB,EAAWjB,GAC5C,MAAOiB,IAAazG,GAAWyG,GAC7B/F,KAAK0oB,MAAM3iB,EAAWjB,GAASmqB,SAC/BpoB,EAAqB7G,MAAM,IAgB/Bwf,GAAgB0P,gBAAkB,SAAUnpB,EAAWY,EAAc7B,GACnE,MAAOiB,IAAazG,GAAWyG,GAC7B/F,KAAK8lB,OAAO/f,EAAWjB,GAASoqB,gBAAgB,KAAMvoB,GACtDE,EAAqB7G,MAAM,EAAM2G,IA4BrC6Y,GAAgBjb,MAAQ,SAAUwB,EAAWjB,GAC3C,MAAOiB,GACL/F,KAAK0oB,MAAM3iB,EAAWjB,GAASP,QAC/BwC,EAAoB/G,MAAM,IAU9Bwf,GAAgB2P,eAAiB,SAAUppB,EAAWY,GACpD,MAAOZ,GACL/F,KAAK0oB,MAAM3iB,GAAWopB,eAAe,KAAMxoB,GAC3CI,EAAoB/G,MAAM,EAAM2G,IA0BpC6Y,GAAgB4P,KAAO,SAAUrpB,EAAWjB,GAC1C,MAAOiB,GACL/F,KAAK0oB,MAAM3iB,EAAWjB,GAASsqB,OAC/BpoB,EAAmBhH,MAAM,IAU7Bwf,GAAgB6P,cAAgB,SAAUtpB,EAAWY,EAAc7B,GACjE,MAAOiB,GACL/F,KAAK0oB,MAAM3iB,EAAWjB,GAASuqB,cAAc,KAAM1oB,GACnDK,EAAmBhH,MAAM,EAAM2G,IAkCnC6Y,GAAgB8P,KAAO,SAAUvpB,EAAWjB,GAC1C,MAAOmC,GAAUjH,KAAM+F,EAAWjB,GAAS,IAU7C0a,GAAgB+P,UAAY,SAAUxpB,EAAWjB,GAC/C,MAAOmC,GAAUjH,KAAM+F,EAAWjB,GAAS,IAO7C0a,GAAgBgQ,MAAQ,WACtB,GAAwB,mBAAb1tB,IAAK0P,IAAuB,KAAM,IAAInR,UACjD,IAAIvG,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAIiH,GAAI,GAAIgB,IAAK0P,GACjB,OAAO1X,GAAO6J,UACZ,SAAUC,GAAK9C,EAAE6I,IAAI/F,IACrB,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACEvB,EAAEgK,OAAO/C,GACTjH,EAAEsK,iBAELrK,IASL0lB,GAAgBiQ,MAAQ,SAAUxpB,EAAawlB,GAC7C,GAAwB,mBAAb3pB,IAAKyK,IAAuB,KAAM,IAAIlM,UACjD,IAAIvG,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAIuR,GAAI,GAAItJ,IAAKyK,GACjB,OAAOzS,GAAO6J,UACZ,SAAUC,GACR,GAAInH,EACJ,KACEA,EAAMwJ,EAAYrC,GAClB,MAAOxI,GAEP,WADAvB,GAAEkK,QAAQ3I,GAIZ,GAAI8N,GAAUtF,CACd,IAAI6nB,EACF,IACEviB,EAAUuiB,EAAgB7nB,GAC1B,MAAOxI,GAEP,WADAvB,GAAEkK,QAAQ3I,GAKdgQ,EAAE1F,IAAIjJ,EAAKyM,IAEb,SAAU9N,GAAKvB,EAAEkK,QAAQ3I,IACzB,WACEvB,EAAEgK,OAAOuH,GACTvR,EAAEsK,iBAELrK,GAGL,IAAIiO,IAAW,WACXgB,GAAc,QACdjN,GAAW6T,GAAGC,UAAU9T,SAqGxB4L,GAAkBiI,GAAG+f,MAAQ,SAAUtvB,GACzC,GAAIuvB,GAAWloB,GAAoBrH,EAEnC,OAAO,UAAU4H,GAiBf,QAAS4nB,GAAKvnB,EAAKC,GACjBE,GAAiBC,SAAST,EAAK6G,KAAKvH,EAAKe,EAAKC,IAGhD,QAASQ,GAAKT,EAAKC,GACjB,GAAIunB,EAGJ,IAAI5vB,UAAU9G,OAAS,EACrB,IAAI,GAAImP,MAAUrP,EAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAOqP,EAAIlP,KAAK6G,UAAUhH,GAGtF,IAAIoP,EACF,IACEwnB,EAAMC,EAAI/mB,IAAaV,GACvB,MAAOjN,GACP,MAAOw0B,GAAKx0B,GAIhB,IAAKiN,EACH,IACEwnB,EAAMC,EAAIhnB,KAAKR,GACf,MAAOlN,GACP,MAAOw0B,GAAKx0B,GAIhB,GAAIy0B,EAAI7nB,KACN,MAAO4nB,GAAK,KAAMC,EAAI7xB,MAKxB,IAFA6xB,EAAI7xB,MAAQoJ,EAAQyoB,EAAI7xB,MAAOsJ,SAEpBuoB,GAAI7xB,QAAU+J,GAyBzBe,EAAK,GAAIzI,WAAU,iFAzBnB,CACE,GAAI0vB,IAAS,CACb,KACEF,EAAI7xB,MAAM7B,KAAKmL,EAAK,WACdyoB,IAIJA,GAAS,EACTjnB,EAAK/I,MAAMuH,EAAKrH,cAElB,MAAO7E,GACPoN,GAAiBC,SAAS,WACpBsnB,IAIJA,GAAS,EACTjnB,EAAK3M,KAAKmL,EAAKlM,QApEvB,GAAIkM,GAAMtH,KACR8vB,EAAM1vB,CAER,IAAIuvB,EAAU,CACZ,IAAI,GAAI3b,MAAW/a,EAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAO+a,EAAK5a,KAAK6G,UAAUhH,GACtF,IAAIC,GAAM8a,EAAK7a,OACb62B,EAAc92B,SAAc8a,GAAK9a,EAAM,KAAO6O,EAEhDC,GAAOgoB,EAAchc,EAAKxU,MAAQwJ,GAClC8mB,EAAM1vB,EAAGL,MAAMC,KAAMgU,OAErBhM,GAAOA,GAAQgB,EAGjBF,MA0FJwX,IAAWhI,MAAQ,SAAU3G,EAAMse,EAASvvB,GAC1C,MAAOwvB,IAAkBve,EAAMse,EAASvvB,KAU1C,IAAIwvB,IAAoB5P,GAAW6P,QAAU,SAAUxe,EAAMse,EAASvvB,GAEpE,MADAoC,IAAYpC,KAAeA,EAAY8H,IAChC,WACL,GAAIwL,GAAO/T,UACT4J,EAAU,GAAI0X,GAahB,OAXA7gB,GAAU+H,SAAS,WACjB,GAAI5M,EACJ,KACEA,EAAS8V,EAAK5R,MAAMkwB,EAASjc,GAC7B,MAAO5Y,GAEP,WADAyO,GAAQ9F,QAAQ3I,GAGlByO,EAAQhG,OAAOhI,GACfgO,EAAQ1F,gBAEH0F,EAAQwe,gBAYnB/H,IAAW8P,aAAe,SAAUze,EAAMse,EAASprB,GACjD,MAAO,YAEL,IAAI,GADA3L,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EAEnD,OAAO,IAAIoK,IAAoB,SAAUnC,GACvC,QAASkC,KAEP,IAAI,GADAlK,GAAM+G,UAAU9G,OAAQgP,EAAU,GAAIvI,OAAM1G,GACxCD,EAAI,EAAOC,EAAJD,EAASA,IAAOkP,EAAQlP,GAAKgH,UAAUhH,EAEtD,IAAI4L,EAAU,CACZ,IACEsD,EAAUtD,EAAS9E,MAAMkwB,EAAS9nB,GAClC,MAAO/M,GACP,MAAO8F,GAAS6C,QAAQ3I,GAG1B8F,EAAS2C,OAAOsE,OAEZA,GAAQhP,QAAU,EACpB+H,EAAS2C,OAAO9D,MAAMmB,EAAUiH,GAEhCjH,EAAS2C,OAAOsE,EAIpBjH,GAASiD,cAGX6P,EAAK5a,KAAKgK,GACVuO,EAAK5R,MAAMkwB,EAASjc,KACnBqc,cAAcC,aAWrBhQ,GAAWiQ,iBAAmB,SAAU5e,EAAMse,EAASprB,GACrD,MAAO,YAEL,IAAI,GADA3L,GAAM+G,UAAU9G,OAAQ6a,EAAO,GAAIpU,OAAM1G,GACrCD,EAAI,EAAOC,EAAJD,EAASA,IAAO+a,EAAK/a,GAAKgH,UAAUhH,EAEnD,OAAO,IAAIoK,IAAoB,SAAUnC,GACvC,QAASkC,GAAQiF,GACf,GAAIA,EAEF,WADAnH,GAAS6C,QAAQsE,EAKnB,KAAI,GADAnP,GAAM+G,UAAU9G,OAAQgP,KACpBlP,EAAI,EAAOC,EAAJD,EAASA,IAAOkP,EAAQlP,EAAI,GAAKgH,UAAUhH,EAE1D,IAAI4L,EAAU,CACZ,IACEsD,EAAUtD,EAAS9E,MAAMkwB,EAAS9nB,GAClC,MAAO/M,GACP,MAAO8F,GAAS6C,QAAQ3I,GAE1B8F,EAAS2C,OAAOsE,OAEZA,GAAQhP,QAAU,EACpB+H,EAAS2C,OAAO9D,MAAMmB,EAAUiH,GAEhCjH,EAAS2C,OAAOsE,EAIpBjH,GAASiD,cAGX6P,EAAK5a,KAAKgK,GACVuO,EAAK5R,MAAMkwB,EAASjc,KACnBqc,cAAcC,aAgCrB3gB,GAAGE,OAAO2gB,iBAAkB,EAa5BlQ,GAAWmQ,UAAY,SAAUvnB,EAASM,EAAW3E,GAEnD,MAAIqE,GAAQwnB,YACHC,GACL,SAAUC,GAAK1nB,EAAQwnB,YAAYlnB,EAAWonB,IAC9C,SAAUA,GAAK1nB,EAAQ2nB,eAAernB,EAAWonB,IACjD/rB,GAIC8K,GAAGE,OAAO2gB,iBAEa,kBAAftnB,GAAQ4nB,IAA4C,kBAAhB5nB,GAAQ6nB,IAOlD,GAAI1tB,IAAoB,SAAUnC,GACvC,MAAOoI,IACLJ,EACAM,EACA,SAAkBpO,GAChB,GAAI+M,GAAU/M,CAEd,IAAIyJ,EACF,IACEsD,EAAUtD,EAAS5E,WACnB,MAAOoI,GACP,MAAOnH,GAAS6C,QAAQsE,GAI5BnH,EAAS2C,OAAOsE,OAEnB6oB,UAAUV,WAvBFK,GACL,SAAUC,GAAK1nB,EAAQ4nB,GAAGtnB,EAAWonB,IACrC,SAAUA,GAAK1nB,EAAQ6nB,IAAIvnB,EAAWonB,IACtC/rB,GA8BR,IAAI8rB,IAAmBrQ,GAAWqQ,iBAAmB,SAAUM,EAAYC,EAAersB,GACxF,MAAO,IAAIxB,IAAoB,SAAUnC,GACvC,QAASiwB,GAAc/1B,GACrB,GAAIS,GAAST,CACb,IAAIyJ,EACF,IACEhJ,EAASgJ,EAAS5E,WAClB,MAAOoI,GACP,MAAOnH,GAAS6C,QAAQsE,GAG5BnH,EAAS2C,OAAOhI,GAGlB,GAAI0oB,GAAc0M,EAAWE,EAC7B,OAAO/nB,IAAiB,WAClB8nB,GACFA,EAAcC,EAAc5M,OAG/ByM,UAAUV,WAQfhQ,IAAW8Q,WAAa,SAAUC,GAChC,GAAI1oB,EACJ,KACEA,EAAU0oB,IACV,MAAOj2B,GACP,MAAO6mB,IAAgB7mB,GAEzB,MAAO6I,IAAsB0E,GAG/B,IAAI2oB,IAAsB,SAAUxV,GAIlC,QAASnY,GAAUzC,GACjB,GAAIqwB,GAAOvxB,KAAKlG,OAAOk3B,UACrBxtB,EAAe+tB,EAAK5tB,UAAUzC,GAC9BswB,EAAa/c,GAEXgd,EAAWzxB,KAAK0xB,OAAO9I,uBAAuBjlB,UAAU,SAAUzF,GAChEA,EACFszB,EAAaD,EAAKI,WAElBH,EAAWxwB,UACXwwB,EAAa/c,KAIjB,OAAO,IAAI/K,IAAoBlG,EAAcguB,EAAYC,GAG3D,QAASH,GAAmBx3B,EAAQ43B,GAClC1xB,KAAKlG,OAASA,EACdkG,KAAK4xB,WAAa,GAAIhnB,IAGpB5K,KAAK0xB,OADHA,GAAUA,EAAO/tB,UACL3D,KAAK4xB,WAAWxL,MAAMsL,GAEtB1xB,KAAK4xB,WAGrB9V,EAAU3f,KAAK6D,KAAM2D,EAAW7J,GAWlC,MAxCAwY,IAASgf,EAAoBxV,GAgC7BwV,EAAmBt0B,UAAU60B,MAAQ,WACnC7xB,KAAK4xB,WAAW/tB,QAAO,IAGzBytB,EAAmBt0B,UAAU80B,OAAS,WACpC9xB,KAAK4xB,WAAW/tB,QAAO,IAGlBytB,GAEPhR,GAUFd,IAAgBiS,SAAW,SAAUC,GACnC,MAAO,IAAIJ,IAAmBtxB,KAAM0xB,GA+DtC,IAAIK,IAA8B,SAAUjW,GAI1C,QAASnY,GAAU9J,GACjB,GAAYm4B,GAARrkB,KAEAnK,EACFoG,GACE5J,KAAKlG,OACLkG,KAAK0xB,OAAO9I,uBAAuB0B,WAAU,GAC7C,SAAUjQ,EAAM4X,GACd,OAAS5X,KAAMA,EAAM4X,WAAYA,KAElCtuB,UACC,SAAUwE,GACR,GAAI6pB,IAAuBn5B,GAAasP,EAAQ8pB,YAAcD,GAG5D,GAFAA,EAAqB7pB,EAAQ8pB,WAEzB9pB,EAAQ8pB,WACV,KAAOtkB,EAAExU,OAAS,GAChBU,EAAEgK,OAAO8J,EAAES,aAIf4jB,GAAqB7pB,EAAQ8pB,WAEzB9pB,EAAQ8pB,WACVp4B,EAAEgK,OAAOsE,EAAQkS,MAEjB1M,EAAEvU,KAAK+O,EAAQkS,OAIrB,SAAUhS,GAER,KAAOsF,EAAExU,OAAS,GAChBU,EAAEgK,OAAO8J,EAAES,QAEbvU,GAAEkK,QAAQsE,IAEZ,WAEE,KAAOsF,EAAExU,OAAS,GAChBU,EAAEgK,OAAO8J,EAAES,QAEbvU,GAAEsK,eAGV,OAAOX,GAGT,QAASuuB,GAA2Bj4B,EAAQ43B,GAC1C1xB,KAAKlG,OAASA,EACdkG,KAAK4xB,WAAa,GAAIhnB,IAGpB5K,KAAK0xB,OADHA,GAAUA,EAAO/tB,UACL3D,KAAK4xB,WAAWxL,MAAMsL,GAEtB1xB,KAAK4xB,WAGrB9V,EAAU3f,KAAK6D,KAAM2D,EAAW7J,GAWlC,MAvEAwY,IAASyf,EAA4BjW,GA+DrCiW,EAA2B/0B,UAAU60B,MAAQ,WAC3C7xB,KAAK4xB,WAAW/tB,QAAO,IAGzBkuB,EAA2B/0B,UAAU80B,OAAS,WAC5C9xB,KAAK4xB,WAAW/tB,QAAO,IAGlBkuB,GAEPzR,GAWFd,IAAgB0S,iBAAmB,SAAUroB,GAC3C,MAAO,IAAIkoB,IAA2B/xB,KAAM6J,GAG9C,IAAIsoB,IAAwB,SAAUrW,GAIpC,QAASnY,GAAWzC,GAClB,MAAOlB,MAAKlG,OAAO6J,UAAUzC,GAG/B,QAASixB,GAAsBr4B,EAAQs4B,EAAa1xB,GAClDob,EAAU3f,KAAK6D,KAAM2D,EAAW7J,GAChCkG,KAAK6J,QAAU,GAAIwoB,IAAkBD,EAAa1xB,GAClDV,KAAKlG,OAASA,EAAOw4B,UAAUtyB,KAAK6J,SAASymB,WAO/C,MAhBAhe,IAAS6f,EAAsBrW,GAY/BqW,EAAqBn1B,UAAUu1B,QAAU,SAAUC,GACjD,MAAOxyB,MAAK6J,QAAQ0oB,QAAyB,MAAjBC,EAAwB,GAAKA,IAGpDL,GAEP7R,IAEE+R,GAAqB,SAAUvW,GAEjC,QAASnY,GAAWzC,GAClB,MAAOlB,MAAK6J,QAAQlG,UAAUzC,GAKhC,QAASmxB,GAAkBD,EAAa1xB,GACvB,MAAf0xB,IAAwBA,GAAc,GAEtCtW,EAAU3f,KAAK6D,KAAM2D,GACrB3D,KAAK6J,QAAU,GAAIe,IACnB5K,KAAKoyB,YAAcA,EACnBpyB,KAAK4Y,MAAQwZ,KAAmB,KAChCpyB,KAAKyyB,eAAiB,EACtBzyB,KAAK0yB,oBAAsBje,GAC3BzU,KAAK1G,MAAQ,KACb0G,KAAK2yB,WAAY,EACjB3yB,KAAK4yB,cAAe,EACpB5yB,KAAKU,UAAYA,GAAaqC,GA0EhC,MAxFAuP,IAAS+f,EAAmBvW,GAiB5BrJ,GAAc4f,EAAkBr1B,UAAWwhB,IACzCra,YAAa,WACXnE,KAAK4yB,cAAe,EACf5yB,KAAKoyB,aAAqC,IAAtBpyB,KAAK4Y,MAAMzf,OAGlC6G,KAAK4Y,MAAMxf,KAAKmjB,GAAaW,qBAF7Bld,KAAK6J,QAAQ1F,eAKjBJ,QAAS,SAAUzK,GACjB0G,KAAK2yB,WAAY,EACjB3yB,KAAK1G,MAAQA,EACR0G,KAAKoyB,aAAqC,IAAtBpyB,KAAK4Y,MAAMzf,OAGlC6G,KAAK4Y,MAAMxf,KAAKmjB,GAAaS,cAAc1jB,IAF3C0G,KAAK6J,QAAQ9F,QAAQzK,IAKzBuK,OAAQ,SAAU7F,GAChB,GAAI60B,IAAe,CAES,KAAxB7yB,KAAKyyB,eACPzyB,KAAKoyB,aAAepyB,KAAK4Y,MAAMxf,KAAKmjB,GAAaO,aAAa9e,KAErC,KAAxBgC,KAAKyyB,gBAAmD,IAA1BzyB,KAAKyyB,kBAA2BzyB,KAAK8yB,wBACpED,GAAe,GAEjBA,GAAgB7yB,KAAK6J,QAAQhG,OAAO7F,IAEtC+0B,gBAAiB,SAAUP,GACzB,GAAIxyB,KAAKoyB,YAAa,CACpB,KAAQpyB,KAAK4Y,MAAMzf,QAAUq5B,GAAiBA,EAAgB,GAC7DxyB,KAAK4Y,MAAMzf,OAAS,GAA4B,MAAvB6G,KAAK4Y,MAAM,GAAG5K,MAAe,CACrD,GAAIzJ,GAAQvE,KAAK4Y,MAAMxK,OACvB7J,GAAM8J,OAAOrO,KAAK6J,SACC,MAAftF,EAAMyJ,KACRwkB,KAEAxyB,KAAK8yB,wBACL9yB,KAAK4Y,UAIT,OAAS4Z,cAAgBA,EAAejO,YAAmC,IAAtBvkB,KAAK4Y,MAAMzf,QAGlE,OAASq5B,cAAeA,EAAejO,aAAa,IAEtDgO,QAAS,SAAUnwB,GACjBpC,KAAK8yB,uBACL,IAAI/xB,GAAOf,IAaX,OAXAA,MAAK0yB,oBAAsB1yB,KAAKU,UAAUwU,kBAAkB9S,EAC5D,SAAStB,EAAG7H,GACV,GAAI4R,GAAI9J,EAAKgyB,gBAAgB95B,GAAI+zB,EAAYniB,EAAE2nB,aAC1C3nB,GAAE0Z,cACLxjB,EAAK0xB,eAAiBzF,EACtBjsB,EAAK2xB,oBAAsBtpB,GAAiB,WAC1CrI,EAAK0xB,eAAiB,OAKrBzyB,KAAK0yB,qBAEdI,sBAAuB,WACrB9yB,KAAK0yB,oBAAoB1xB,UACzBhB,KAAK0yB,oBAAsBje,MAIxB4d,GACP/R,GAWFd,IAAgBwT,WAAa,SAAUZ,EAAa1xB,GAQlD,MANI0xB,IAAetvB,GAAYsvB,KAC3B1xB,EAAY0xB,EACZA,GAAc,GAGC,MAAfA,IAAwBA,GAAc,GACnC,GAAID,IAAqBnyB,KAAMoyB,EAAa1xB,GAGrD,IAAIuyB,IAAyB,SAAUnX,GAErC,QAASnY,GAAWzC,GAClBlB,KAAKwD,aAAexD,KAAKlG,OAAO6J,UAAU,GAAIuvB,GAAoBhyB,EAAUlB,KAAMA,KAAKwD,cAEvF,IAAIzC,GAAOf,IAGX,OAFAwI,IAAiBC,SAAS,WAAc1H,EAAKjH,OAAOy4B,QAAQ,KAErDvyB,KAAKwD,aAKd,QAASyvB,GAAuBn5B,GAC9BgiB,EAAU3f,KAAK6D,KAAM2D,EAAW7J,GAChCkG,KAAKlG,OAASA,EAJhBwY,GAAS2gB,EAAuBnX,EAOhC,IAAIoX,GAAuB,SAAUC,GAInC,QAASD,GAAqBhyB,EAAU3H,EAAY8mB,GAClD8S,EAAQh3B,KAAK6D,MACbA,KAAKkB,SAAWA,EAChBlB,KAAKzG,WAAaA,EAClByG,KAAKqgB,OAASA,EANhB/N,GAAS4gB,EAAqBC,EAS9B,IAAIC,GAA2BF,EAAoBl2B,SA8BnD,OA5BAo2B,GAAyB1T,UAAY,WACnC1f,KAAKkB,SAASiD,cACdnE,KAAKgB,WAGPoyB,EAAyB95B,MAAQ,SAAUA,GACzC0G,KAAKkB,SAAS6C,QAAQzK,GACtB0G,KAAKgB,WAGPoyB,EAAyBtqB,KAAO,SAAU9K,GACxCgC,KAAKkB,SAAS2C,OAAO7F,EAErB,IAAI+C,GAAOf,IACXwI,IAAiBC,SAAS,WACxB1H,EAAKxH,WAAWO,OAAOy4B,QAAQ,MAInCa,EAAyBpyB,QAAU,WACjChB,KAAKkB,SAAW,KACZlB,KAAKqgB,SACPrgB,KAAKqgB,OAAOrf,UACZhB,KAAKqgB,OAAS,MAEhB8S,EAAQn2B,UAAUgE,QAAQ7E,KAAK6D,OAG1BkzB,GACPzT,GAEF,OAAOwT,IACP3S,GAOF6R,IAAqBn1B,UAAUq2B,YAAc,WAC3C,MAAO,IAAIJ,IAAsBjzB,MAGnC,IAAIszB,IAAsB,SAAUxX,GAElC,QAASnY,GAAWzC,GAClBlB,KAAKwD,aAAexD,KAAKlG,OAAO6J,UAAU,GAAI4vB,GAAiBryB,EAAUlB,KAAMA,KAAKwD,cAEpF,IAAIzC,GAAOf,IAKX,OAJAwI,IAAiBC,SAAS,WACxB1H,EAAKjH,OAAOy4B,QAAQxxB,EAAKyyB,cAGpBxzB,KAAKwD,aAKd,QAAS8vB,GAAmBx5B,EAAQ05B,GAClC1X,EAAU3f,KAAK6D,KAAM2D,EAAW7J,GAChCkG,KAAKlG,OAASA,EACdkG,KAAKwzB,WAAaA,EALpBlhB,GAASghB,EAAoBxX,EAQ7B,IAAIyX,GAAoB,SAAUJ,GAIhC,QAASI,GAAiBryB,EAAU3H,EAAY8mB,GAC9CrgB,KAAKkB,SAAWA,EAChBlB,KAAKzG,WAAaA,EAClByG,KAAKqgB,OAASA,EACdrgB,KAAKyzB,SAAW,EANlBnhB,GAASihB,EAAkBJ,EAS3B,IAAIO,GAA4BH,EAAiBv2B,SAiCjD,OA/BA02B,GAA0BhU,UAAY,WACpC1f,KAAKkB,SAASiD,cACdnE,KAAKgB,WAGP0yB,EAA0Bp6B,MAAQ,SAAUA,GAC1C0G,KAAKkB,SAAS6C,QAAQzK,GACtB0G,KAAKgB,WAGP0yB,EAA0B5qB,KAAO,SAAU9K,GAIzC,GAHAgC,KAAKkB,SAAS2C,OAAO7F,GAErBgC,KAAKyzB,WAAazzB,KAAKyzB,SAAWzzB,KAAKzG,WAAWi6B,WAC5B,IAAlBxzB,KAAKyzB,SAAgB,CACvB,GAAI1yB,GAAOf,IACXwI,IAAiBC,SAAS,WACxB1H,EAAKxH,WAAWO,OAAOy4B,QAAQxxB,EAAKxH,WAAWi6B,gBAKrDE,EAA0B1yB,QAAU,WAClChB,KAAKkB,SAAW,KACZlB,KAAKqgB,SACPrgB,KAAKqgB,OAAOrf,UACZhB,KAAKqgB,OAAS,MAEhB8S,EAAQn2B,UAAUgE,QAAQ7E,KAAK6D,OAG1BuzB,GACP9T,GAEF,OAAO6T,IACPhT,GAOF6R,IAAqBn1B,UAAU22B,SAAW,SAAUH,GAClD,MAAO,IAAIF,IAAmBtzB,KAAMwzB,IAQtChU,GAAgBoU,KAAO,SAAUC,GAG/B,QAASC,KACPh6B,EAAOg4B,SAHT,GAAIh4B,GAASkG,KAAKkyB,kBAuBlB,OAjBA2B,GAAKnD,YAAY,QAASoD,GAE1Bh6B,EAAO6J,UACL,SAAUC,IACPiwB,EAAKE,MAAMj1B,OAAO8E,KAAO9J,EAAO+3B,SAEnC,SAAUxpB,GACRwrB,EAAKG,KAAK,QAAS3rB,IAErB,YAEGwrB,EAAKI,UAAYJ,EAAKK,MACvBL,EAAKhD,eAAe,QAASiD,KAGjCh6B,EAAOg4B,SAEA+B,GAoBTrU,GAAgB8S,UAAY,SAAU6B,EAA0BtvB,GAC9D,GAAI/K,GAASkG,IACb,OAA2C,kBAA7Bm0B,GACZ,GAAI9wB,IAAoB,SAAUnC,GAChC,GAAIkzB,GAAct6B,EAAOw4B,UAAU6B,IACnC,OAAO,IAAIzqB,IAAoB7E,EAASuvB,GAAazwB,UAAUzC,GAAWkzB,EAAYzC,YACrF73B,GACH,GAAIu6B,IAAsBv6B,EAAQq6B,IActC3U,GAAgBwR,QAAU,SAAUnsB,GAClC,MAAOA,IAAYvF,GAAWuF,GAC5B7E,KAAKsyB,UAAU,WAAc,MAAO,IAAI1nB,KAAc/F,GACtD7E,KAAKsyB,UAAU,GAAI1nB,MAQvB4U,GAAgB8U,MAAQ,WACtB,MAAOt0B,MAAKgxB,UAAUV,YAcxB9Q,GAAgB6Q,YAAc,SAAUxrB,GACtC,MAAOA,IAAYvF,GAAWuF,GAC5B7E,KAAKsyB,UAAU,WAAc,MAAO,IAAI/Q,KAAmB1c,GAC3D7E,KAAKsyB,UAAU,GAAI/Q,MAevB/B,GAAgB+U,aAAe,SAAUC,EAAwBC,GAC/D,MAA4B,KAArBx0B,UAAU9G,OACf6G,KAAKsyB,UAAU,WACb,MAAO,IAAIoC,IAAgBD,IAC1BD,GACHx0B,KAAKsyB,UAAU,GAAIoC,IAAgBF,KASvChV,GAAgBmV,WAAa,SAAUF,GACrC,MAAOz0B,MAAKu0B,aAAaE,GAAcnE,YAmBzC9Q,GAAgBoV,OAAS,SAAU/vB,EAAUgwB,EAAYrB,EAAY9yB,GACnE,MAAOmE,IAAYvF,GAAWuF,GAC5B7E,KAAKsyB,UAAU,WAAc,MAAO,IAAIwC,IAAcD,EAAYrB,EAAY9yB,IAAemE,GAC7F7E,KAAKsyB,UAAU,GAAIwC,IAAcD,EAAYrB,EAAY9yB,KAkB7D8e,GAAgBuV,YAAc,SAAUF,EAAYrB,EAAY9yB,GAC9D,MAAOV,MAAK40B,OAAO,KAAMC,EAAYrB,EAAY9yB,GAAW4vB,WAG9D,IAAI0E,IAAoB,SAAUnrB,EAAS3I,GACzClB,KAAK6J,QAAUA,EACf7J,KAAKkB,SAAWA,EAGlB8zB,IAAkBh4B,UAAUgE,QAAU,WACpC,IAAKhB,KAAK6J,QAAQjJ,YAAgC,OAAlBZ,KAAKkB,SAAmB,CACtD,GAAIyR,GAAM3S,KAAK6J,QAAQorB,UAAUv7B,QAAQsG,KAAKkB,SAC9ClB,MAAK6J,QAAQorB,UAAU7gB,OAAOzB,EAAK,GACnC3S,KAAKkB,SAAW,MAQpB,IAAIwzB,IAAkB/kB,GAAG+kB,gBAAmB,SAAU5Y,GACpD,QAASnY,GAAUzC,GAEjB,MADAyT,IAAc3U,MACTA,KAAKmB,WAKNnB,KAAKk1B,SACPh0B,EAAS6C,QAAQ/D,KAAK1G,OAEtB4H,EAASiD,cAEJsQ,KATLzU,KAAKi1B,UAAU77B,KAAK8H,GACpBA,EAAS2C,OAAO7D,KAAKhC,OACd,GAAIg3B,IAAkBh1B,KAAMkB,IAgBvC,QAASwzB,GAAgB12B,GACvB8d,EAAU3f,KAAK6D,KAAM2D,GACrB3D,KAAKhC,MAAQA,EACbgC,KAAKi1B,aACLj1B,KAAKY,YAAa,EAClBZ,KAAKmB,WAAY,EACjBnB,KAAKk1B,UAAW,EA4ElB,MAxFA5iB,IAASoiB,EAAiB5Y,GAe1BrJ,GAAciiB,EAAgB13B,UAAWwhB,IAQvC2W,SAAU,WAEN,GADAxgB,GAAc3U,MACVA,KAAKk1B,SACL,KAAMl1B,MAAK1G,KAEf,OAAO0G,MAAKhC,OAMhBo3B,aAAc,WAAc,MAAOp1B,MAAKi1B,UAAU97B,OAAS,GAI3DgL,YAAa,WAEX,GADAwQ,GAAc3U,OACVA,KAAKmB,UAAT,CACAnB,KAAKmB,WAAY,CACjB,KAAK,GAAIlI,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAGkL,aAGRnE,MAAKi1B,UAAU97B,OAAS,IAM1B4K,QAAS,SAAUzK,GAEjB,GADAqb,GAAc3U,OACVA,KAAKmB,UAAT,CACAnB,KAAKmB,WAAY,EACjBnB,KAAKk1B,UAAW,EAChBl1B,KAAK1G,MAAQA,CAEb,KAAK,GAAIL,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAG8K,QAAQzK,EAGhB0G,MAAKi1B,UAAU97B,OAAS,IAM1B0K,OAAQ,SAAU7F,GAEhB,GADA2W,GAAc3U,OACVA,KAAKmB,UAAT,CACAnB,KAAKhC,MAAQA,CACb,KAAK,GAAI/E,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAG4K,OAAO7F,KAMjBgD,QAAS,WACPhB,KAAKY,YAAa,EAClBZ,KAAKi1B,UAAY,KACjBj1B,KAAKhC,MAAQ,KACbgC,KAAK0N,UAAY,QAIdgnB,GACPpU,IAMEwU,GAAgBnlB,GAAGmlB,cAAiB,SAAUhZ,GAIhD,QAASwZ,GAA0BzrB,EAAS3I,GAC1C,MAAOkI,IAAiB,WACtBlI,EAASF,WACR6I,EAAQjJ,YAAciJ,EAAQorB,UAAU7gB,OAAOvK,EAAQorB,UAAUv7B,QAAQwH,GAAW,KAIzF,QAASyC,GAAUzC,GACjB,GAAIq0B,GAAK,GAAIxV,IAAkB/f,KAAKU,UAAWQ,GAC7CsC,EAAe8xB,EAA0Bt1B,KAAMu1B,EACjD5gB,IAAc3U,MACdA,KAAKw1B,MAAMx1B,KAAKU,UAAUuM,OAC1BjN,KAAKi1B,UAAU77B,KAAKm8B,EAEpB,KAAK,GAAIt8B,GAAI,EAAGC,EAAM8G,KAAK2N,EAAExU,OAAYD,EAAJD,EAASA,IAC5Cs8B,EAAG1xB,OAAO7D,KAAK2N,EAAE1U,GAAG+E,MAUtB,OAPIgC,MAAKk1B,SACPK,EAAGxxB,QAAQ/D,KAAK1G,OACP0G,KAAKmB,WACdo0B,EAAGpxB,cAGLoxB,EAAGrV,eACI1c,EAWT,QAASsxB,GAAcD,EAAYrB,EAAY9yB,GAC7CV,KAAK60B,WAA2B,MAAdA,EAAqBpyB,EAAiBoyB,EACxD70B,KAAKwzB,WAA2B,MAAdA,EAAqB/wB,EAAiB+wB,EACxDxzB,KAAKU,UAAYA,GAAaqC,GAC9B/C,KAAK2N,KACL3N,KAAKi1B,aACLj1B,KAAKmB,WAAY,EACjBnB,KAAKY,YAAa,EAClBZ,KAAKk1B,UAAW,EAChBl1B,KAAK1G,MAAQ,KACbwiB,EAAU3f,KAAK6D,KAAM2D,GAhDvB,GAAIlB,GAAiBH,KAAKogB,IAAI,EAAG,IAAM,CAgIvC,OAlGApQ,IAASwiB,EAAehZ,GAqBxBrJ,GAAcqiB,EAAc93B,UAAWwhB,GAASxhB,WAK9Co4B,aAAc,WACZ,MAAOp1B,MAAKi1B,UAAU97B,OAAS,GAEjCq8B,MAAO,SAAUvoB,GACf,KAAOjN,KAAK2N,EAAExU,OAAS6G,KAAK60B,YAC1B70B,KAAK2N,EAAES,OAET,MAAOpO,KAAK2N,EAAExU,OAAS,GAAM8T,EAAMjN,KAAK2N,EAAE,GAAG8nB,SAAYz1B,KAAKwzB,YAC5DxzB,KAAK2N,EAAES,SAOXvK,OAAQ,SAAU7F,GAEhB,GADA2W,GAAc3U,OACVA,KAAKmB,UAAT,CACA,GAAI8L,GAAMjN,KAAKU,UAAUuM,KACzBjN,MAAK2N,EAAEvU,MAAOq8B,SAAUxoB,EAAKjP,MAAOA,IACpCgC,KAAKw1B,MAAMvoB,EAEX,KAAK,GAAIhU,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IAAK,CAC9E,GAAIiI,GAAWm0B,EAAGp8B,EAClBiI,GAAS2C,OAAO7F,GAChBkD,EAASgf,kBAObnc,QAAS,SAAUzK,GAEjB,GADAqb,GAAc3U,OACVA,KAAKmB,UAAT,CACAnB,KAAKmB,WAAY,EACjBnB,KAAK1G,MAAQA,EACb0G,KAAKk1B,UAAW,CAChB,IAAIjoB,GAAMjN,KAAKU,UAAUuM,KACzBjN,MAAKw1B,MAAMvoB,EACX,KAAK,GAAIhU,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IAAK,CAC9E,GAAIiI,GAAWm0B,EAAGp8B,EAClBiI,GAAS6C,QAAQzK,GACjB4H,EAASgf,eAEXlgB,KAAKi1B,UAAU97B,OAAS,IAK1BgL,YAAa,WAEX,GADAwQ,GAAc3U,OACVA,KAAKmB,UAAT,CACAnB,KAAKmB,WAAY,CACjB,IAAI8L,GAAMjN,KAAKU,UAAUuM,KACzBjN,MAAKw1B,MAAMvoB,EACX,KAAK,GAAIhU,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IAAK,CAC9E,GAAIiI,GAAWm0B,EAAGp8B,EAClBiI,GAASiD,cACTjD,EAASgf,eAEXlgB,KAAKi1B,UAAU97B,OAAS,IAK1B6H,QAAS,WACPhB,KAAKY,YAAa,EAClBZ,KAAKi1B,UAAY,QAIdH,GACPxU,IAEE+T,GAAwB1kB,GAAG0kB,sBAAyB,SAAUvY,GAGhE,QAASuY,GAAsBv6B,EAAQ+P,GACrC,GACErG,GADEkyB,GAAkB,EAEpBC,EAAmB77B,EAAOuuB,cAE5BroB,MAAK2xB,QAAU,WAOb,MANK+D,KACHA,GAAkB,EAClBlyB,EAAe,GAAIkG,IAAoBisB,EAAiBhyB,UAAUkG,GAAUT,GAAiB,WAC3FssB,GAAkB,MAGflyB,GAGTsY,EAAU3f,KAAK6D,KAAM,SAAUnG,GAAK,MAAOgQ,GAAQlG,UAAU9J,KAgB/D,MAjCAyY,IAAS+hB,EAAuBvY,GAoBhCuY,EAAsBr3B,UAAUszB,SAAW,WACzC,GAAIsF,GAAyBl2B,EAAQ,EAAG5F,EAASkG,IACjD,OAAO,IAAIqD,IAAoB,SAAUnC,GACrC,GAAI20B,GAA4B,MAAVn2B,EACpB8D,EAAe1J,EAAO6J,UAAUzC,EAElC,OADA20B,KAAkBD,EAA0B97B,EAAO63B,WAC5C,WACLnuB,EAAaxC,UACD,MAAVtB,GAAek2B,EAAwB50B,cAK1CqzB,GACP/T,IAEEsL,GAAc,WAMhB,QAASkK,GAAQC,GACf,GAAwB,KAAP,EAAZA,GAAwB,MAAqB,KAAdA,CAGpC,KAFA,GAAIC,GAAO1zB,KAAK2zB,KAAKF,GACnBG,EAAO,EACMF,GAARE,GAAc,CACnB,GAAIH,EAAYG,IAAS,EAAK,OAAO,CACrCA,IAAQ,EAEV,OAAO,EAGT,QAASC,GAAS/H,GAChB,GAAItxB,GAAOs5B,EAAKL,CAChB,KAAKj5B,EAAQ,EAAGA,EAAQu5B,EAAOl9B,SAAU2D,EAEvC,GADAs5B,EAAMC,EAAOv5B,GACTs5B,GAAOhI,EAAO,MAAOgI,EAG3B,KADAL,EAAkB,EAAN3H,EACL2H,EAAYM,EAAOA,EAAOl9B,OAAS,IAAI,CAC5C,GAAI28B,EAAQC,GAAc,MAAOA,EACjCA,IAAa,EAEf,MAAO3H,GAGT,QAASkI,GAAaC,GACpB,GAAIC,GAAO,SACX,KAAKD,EAAIp9B,OAAU,MAAOq9B,EAC1B,KAAK,GAAIv9B,GAAI,EAAGC,EAAMq9B,EAAIp9B,OAAYD,EAAJD,EAASA,IAAK,CAC9C,GAAIw9B,GAAYF,EAAIG,WAAWz9B,EAC/Bu9B,IAASA,GAAQ,GAAKA,EAAQC,EAC9BD,GAAcA,EAEhB,MAAOA,GAGT,QAASG,GAAal6B,GACpB,GAAIm6B,GAAK,SAMT,OALAn6B,GAAa,GAANA,EAAaA,IAAQ,GAC5BA,GAAaA,GAAO,EACpBA,GAAaA,IAAQ,EACrBA,GAAYm6B,EACZn6B,GAAaA,IAAQ,GA8BvB,QAASo6B,KACP,OAASp6B,IAAK,KAAMuB,MAAO,KAAM8K,KAAM,EAAGguB,SAAU,GAGtD,QAASlL,GAAWxY,EAAU5N,GAC5B,GAAe,EAAX4N,EAAgB,KAAM,IAAIxM,GAC1BwM,GAAW,GAAKpT,KAAK+2B,YAAY3jB,GAErCpT,KAAKwF,SAAWA,GAAY8K,GAC5BtQ,KAAKg3B,UAAY,EACjBh3B,KAAKT,KAAO,EACZS,KAAKi3B,SAAW,GAvFlB,GAAIZ,IAAU,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,SAAU,SAAU,SAAU,UAAW,UAAW,UAAW,WAAY,YACpOa,EAAY,cACZC,EAAe,gBAgDbC,EAAe,WACjB,GAAIC,GAAkB,CAEtB,OAAO,UAAUhwB,GACf,GAAW,MAAPA,EAAe,KAAM,IAAIlM,OAAM+7B,EAGnC,IAAmB,gBAAR7vB,GAAoB,MAAOivB,GAAajvB,EACnD,IAAmB,gBAARA,GAAoB,MAAOsvB,GAAatvB,EACnD,IAAmB,iBAARA,GAAqB,MAAOA,MAAQ,EAAO,EAAI,CAC1D,IAAIA,YAAegJ,MAAQ,MAAOsmB,GAAatvB,EAAI+K,UACnD,IAAI/K,YAAeqT,QAAU,MAAO4b,GAAajvB,EAAIhK,WACrD,IAA2B,kBAAhBgK,GAAI+K,QAAwB,CAErC,GAAIA,GAAU/K,EAAI+K,SAClB,IAAuB,gBAAZA,GAAwB,MAAOukB,GAAavkB,EACvD,IAAuB,gBAAZA,GAAwB,MAAOkkB,GAAalkB,GAEzD,GAAI/K,EAAIyvB,SAAY,MAAOzvB,GAAIyvB,UAE/B,IAAIt2B,GAAK,GAAK62B,GAEd,OADAhwB,GAAIyvB,SAAW,WAAc,MAAOt2B,IAC7BA,MAkBP82B,EAAkB1L,EAAW5uB,SAyJjC,OAvJAs6B,GAAgBP,YAAc,SAAU3jB,GACtC,GAAgCna,GAA5Bs+B,EAAQpB,EAAS/iB,EAGrB,KAFApT,KAAKw3B,QAAU,GAAI53B,OAAM23B,GACzBv3B,KAAKy3B,QAAU,GAAI73B,OAAM23B,GACpBt+B,EAAI,EAAOs+B,EAAJt+B,EAAWA,IACrB+G,KAAKw3B,QAAQv+B,GAAK,GAClB+G,KAAKy3B,QAAQx+B,GAAK49B,GAEpB72B,MAAKi3B,SAAW,IAGlBK,EAAgB3tB,IAAM,SAAUlN,EAAKuB,GACnCgC,KAAK03B,QAAQj7B,EAAKuB,GAAO,IAG3Bs5B,EAAgBI,QAAU,SAAUj7B,EAAKuB,EAAO2L,GACzC3J,KAAKw3B,SAAWx3B,KAAK+2B,YAAY,EAItC,KAAK,GAHDY,GACFvB,EAAyB,WAAnBgB,EAAY36B,GAClBm7B,EAASxB,EAAMp2B,KAAKw3B,QAAQr+B,OACrB0+B,EAAS73B,KAAKw3B,QAAQI,GAASC,GAAU,EAAGA,EAAS73B,KAAKy3B,QAAQI,GAAQ/uB,KACjF,GAAI9I,KAAKy3B,QAAQI,GAAQf,WAAaV,GAAOp2B,KAAKwF,SAASxF,KAAKy3B,QAAQI,GAAQp7B,IAAKA,GAAM,CACzF,GAAIkN,EAAO,KAAM,IAAIxO,OAAMg8B,EAE3B,aADAn3B,KAAKy3B,QAAQI,GAAQ75B,MAAQA,GAI7BgC,KAAKg3B,UAAY,GACnBW,EAAS33B,KAAKi3B,SACdj3B,KAAKi3B,SAAWj3B,KAAKy3B,QAAQE,GAAQ7uB,OACnC9I,KAAKg3B,YAEHh3B,KAAKT,OAASS,KAAKy3B,QAAQt+B,SAC7B6G,KAAK83B,UACLF,EAASxB,EAAMp2B,KAAKw3B,QAAQr+B,QAE9Bw+B,EAAS33B,KAAKT,OACZS,KAAKT,MAETS,KAAKy3B,QAAQE,GAAQb,SAAWV,EAChCp2B,KAAKy3B,QAAQE,GAAQ7uB,KAAO9I,KAAKw3B,QAAQI,GACzC53B,KAAKy3B,QAAQE,GAAQl7B,IAAMA,EAC3BuD,KAAKy3B,QAAQE,GAAQ35B,MAAQA,EAC7BgC,KAAKw3B,QAAQI,GAAUD,GAGzBL,EAAgBQ,QAAU,WACxB,GAAIP,GAAQpB,EAAqB,EAAZn2B,KAAKT,MACxBw4B,EAAW,GAAIn4B,OAAM23B,EACvB,KAAKz6B,EAAQ,EAAGA,EAAQi7B,EAAS5+B,SAAU2D,EAAUi7B,EAASj7B,GAAS,EACvE,IAAIk7B,GAAa,GAAIp4B,OAAM23B,EAC3B,KAAKz6B,EAAQ,EAAGA,EAAQkD,KAAKT,OAAQzC,EAASk7B,EAAWl7B,GAASkD,KAAKy3B,QAAQ36B,EAC/E,KAAK,GAAIA,GAAQkD,KAAKT,KAAcg4B,EAARz6B,IAAiBA,EAASk7B,EAAWl7B,GAAS+5B,GAC1E,KAAK,GAAIe,GAAS,EAAGA,EAAS53B,KAAKT,OAAQq4B,EAAQ,CACjD,GAAIC,GAASG,EAAWJ,GAAQd,SAAWS,CAC3CS,GAAWJ,GAAQ9uB,KAAOivB,EAASF,GACnCE,EAASF,GAAUD,EAErB53B,KAAKw3B,QAAUO,EACf/3B,KAAKy3B,QAAUO,GAGjBV,EAAgBvjB,OAAS,SAAUtX,GACjC,GAAIuD,KAAKw3B,QAIP,IAAK,GAHDpB,GAAyB,WAAnBgB,EAAY36B,GACpBm7B,EAASxB,EAAMp2B,KAAKw3B,QAAQr+B,OAC5B0+B,EAAS,GACFF,EAAS33B,KAAKw3B,QAAQI,GAASD,GAAU,EAAGA,EAAS33B,KAAKy3B,QAAQE,GAAQ7uB,KAAM,CACvF,GAAI9I,KAAKy3B,QAAQE,GAAQb,WAAaV,GAAOp2B,KAAKwF,SAASxF,KAAKy3B,QAAQE,GAAQl7B,IAAKA,GAYnF,MAXa,GAATo7B,EACF73B,KAAKw3B,QAAQI,GAAU53B,KAAKy3B,QAAQE,GAAQ7uB,KAE5C9I,KAAKy3B,QAAQI,GAAQ/uB,KAAO9I,KAAKy3B,QAAQE,GAAQ7uB,KAEnD9I,KAAKy3B,QAAQE,GAAQb,SAAW,GAChC92B,KAAKy3B,QAAQE,GAAQ7uB,KAAO9I,KAAKi3B,SACjCj3B,KAAKy3B,QAAQE,GAAQl7B,IAAM,KAC3BuD,KAAKy3B,QAAQE,GAAQ35B,MAAQ,KAC7BgC,KAAKi3B,SAAWU,IACd33B,KAAKg3B,WACA,CAEPa,GAASF,EAIf,OAAO,GAGTL,EAAgBW,MAAQ,WACtB,GAAIn7B,GAAO5D,CACX,MAAI8G,KAAKT,MAAQ,GAAjB,CACA,IAAKzC,EAAQ,EAAG5D,EAAM8G,KAAKw3B,QAAQr+B,OAAgBD,EAAR4D,IAAeA,EACxDkD,KAAKw3B,QAAQ16B,GAAS,EAExB,KAAKA,EAAQ,EAAGA,EAAQkD,KAAKT,OAAQzC,EACnCkD,KAAKy3B,QAAQ36B,GAAS+5B,GAExB72B,MAAKi3B,SAAW,GAChBj3B,KAAKT,KAAO,IAGd+3B,EAAgBY,WAAa,SAAUz7B,GACrC,GAAIuD,KAAKw3B,QAEP,IAAK,GADDpB,GAAyB,WAAnBgB,EAAY36B,GACbK,EAAQkD,KAAKw3B,QAAQpB,EAAMp2B,KAAKw3B,QAAQr+B,QAAS2D,GAAS,EAAGA,EAAQkD,KAAKy3B,QAAQ36B,GAAOgM,KAChG,GAAI9I,KAAKy3B,QAAQ36B,GAAOg6B,WAAaV,GAAOp2B,KAAKwF,SAASxF,KAAKy3B,QAAQ36B,GAAOL,IAAKA,GACjF,MAAOK,EAIb,OAAO,IAGTw6B,EAAgB53B,MAAQ,WACtB,MAAOM,MAAKT,KAAOS,KAAKg3B,WAG1BM,EAAgBrL,YAAc,SAAUxvB,GACtC,GAAIwP,GAAQjM,KAAKk4B,WAAWz7B,EAC5B,OAAOwP,IAAS,EACdjM,KAAKy3B,QAAQxrB,GAAOjO,MACpBnF,GAGJy+B,EAAgBxL,UAAY,WAC1B,GAAIhvB,GAAQ,EAAGqL,IACf,IAAInI,KAAKy3B,QACP,IAAK,GAAIG,GAAS,EAAGA,EAAS53B,KAAKT,KAAMq4B,IACnC53B,KAAKy3B,QAAQG,GAAQd,UAAY,IACnC3uB,EAAQrL,KAAWkD,KAAKy3B,QAAQG,GAAQ55B,MAI9C,OAAOmK,IAGTmvB,EAAgBprB,IAAM,SAAUzP,GAC9B,GAAIwP,GAAQjM,KAAKk4B,WAAWz7B,EAC5B,IAAIwP,GAAS,EAAK,MAAOjM,MAAKy3B,QAAQxrB,GAAOjO,KAC7C,MAAM,IAAI7C,OAAM+7B,IAGlBI,EAAgB5xB,IAAM,SAAUjJ,EAAKuB,GACnCgC,KAAK03B,QAAQj7B,EAAKuB,GAAO,IAG3Bs5B,EAAgBa,YAAc,SAAU17B,GACtC,MAAOuD,MAAKk4B,WAAWz7B,IAAQ,GAG1BmvB,IAYTpM,IAAgBvlB,KAAO,SAAUwK,EAAO2zB,EAAsBC,EAAuB/zB,GACnF,GAAIE,GAAOxE,IACX,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAI0V,GAAQ,GAAIlN,IACZ4uB,GAAW,EAAOC,GAAY,EAC9BC,EAAS,EAAGC,EAAU,EACtBC,EAAU,GAAI9M,IAAc+M,EAAW,GAAI/M,GAqF/C,OAnFAhV,GAAMjN,IAAInF,EAAKb,UACb,SAAU3F,GACR,GAAIwC,GAAKg4B,IACLnM,EAAK,GAAI9oB,GAEbm1B,GAAQ/uB,IAAInJ,EAAIxC,GAChB4Y,EAAMjN,IAAI0iB,EAEV,IAKID,GALAE,EAAS,WACXoM,EAAQ3kB,OAAOvT,IAA2B,IAApBk4B,EAAQh5B,SAAiB44B,GAAYp3B,EAASiD,cACpEyS,EAAM7C,OAAOsY,GAIf,KACED,EAAWgM,EAAqBp6B,GAChC,MAAO5C,GAEP,WADA8F,GAAS6C,QAAQ3I,GAInBixB,EAAG3oB,cAAc0oB,EAAS/gB,KAAK,GAAG1H,UAAU2H,GAAMpK,EAAS6C,QAAQ8K,KAAK3N,GAAWorB,IAEnFqM,EAAS7M,YAAYrL,QAAQ,SAAU/X,GACrC,GAAI7M,EACJ,KACEA,EAASyI,EAAetG,EAAO0K,GAC/B,MAAOuV,GAEP,WADA/c,GAAS6C,QAAQka,GAInB/c,EAAS2C,OAAOhI,MAGpBqF,EAAS6C,QAAQ8K,KAAK3N,GACtB,WACEo3B,GAAW,GACVC,GAAiC,IAApBG,EAAQh5B,UAAkBwB,EAASiD,iBAIrDyS,EAAMjN,IAAIlF,EAAMd,UACd,SAAU3F,GACR,GAAIwC,GAAKi4B,IACLpM,EAAK,GAAI9oB,GAEbo1B,GAAShvB,IAAInJ,EAAIxC,GACjB4Y,EAAMjN,IAAI0iB,EAEV,IAKID,GALAE,EAAS,WACXqM,EAAS5kB,OAAOvT,IAA4B,IAArBm4B,EAASj5B,SAAiB64B,GAAar3B,EAASiD,cACvEyS,EAAM7C,OAAOsY,GAIf,KACED,EAAWiM,EAAsBr6B,GACjC,MAAO5C,GAEP,WADA8F,GAAS6C,QAAQ3I,GAInBixB,EAAG3oB,cAAc0oB,EAAS/gB,KAAK,GAAG1H,UAAU2H,GAAMpK,EAAS6C,QAAQ8K,KAAK3N,GAAWorB,IAEnFoM,EAAQ5M,YAAYrL,QAAQ,SAAU/X,GACpC,GAAI7M,EACJ,KACEA,EAASyI,EAAeoE,EAAG1K,GAC3B,MAAOigB,GAEP,WADA/c,GAAS6C,QAAQka,GAInB/c,EAAS2C,OAAOhI,MAGpBqF,EAAS6C,QAAQ8K,KAAK3N,GACtB,WACEq3B,GAAY,GACXD,GAAiC,IAArBK,EAASj5B,UAAkBwB,EAASiD,iBAG9CyS,GACNpS,IAYLgb,GAAgBlV,UAAY,SAAU7F,EAAO2zB,EAAsBC,EAAuB/zB,GACxF,GAAIE,GAAOxE,IACX,OAAO,IAAIqD,IAAoB,SAAUnC,GAMvC,QAAS8H,GAAY5N,GAAK,MAAO,UAAUsN,GAAKA,EAAE3E,QAAQ3I,IAL1D,GAAIwb,GAAQ,GAAIlN,IACZmB,EAAI,GAAIC,IAAmB8L,GAC3B8hB,EAAU,GAAI9M,IAAc+M,EAAW,GAAI/M,IAC3C4M,EAAS,EAAGC,EAAU,CA6F1B,OAzFA7hB,GAAMjN,IAAInF,EAAKb,UACb,SAAU3F,GACR,GAAI8C,GAAI,GAAI8J,IACRpK,EAAKg4B,GACTE,GAAQ/uB,IAAInJ,EAAIM,EAEhB,IAAIjF,EACJ,KACEA,EAASyI,EAAetG,EAAO+M,GAAOjK,EAAG+J,IACzC,MAAOzP,GAGP,MAFAs9B,GAAQ5M,YAAYrL,QAAQzX,EAAY5N,QACxC8F,GAAS6C,QAAQ3I,GAGnB8F,EAAS2C,OAAOhI,GAEhB88B,EAAS7M,YAAYrL,QAAQ,SAAU/X,GAAK5H,EAAE+C,OAAO6E,IAErD,IAAI2jB,GAAK,GAAI9oB,GACbqT,GAAMjN,IAAI0iB,EAEV,IAKID,GALAE,EAAS,WACXoM,EAAQ3kB,OAAOvT,IAAOM,EAAEqD,cACxByS,EAAM7C,OAAOsY,GAIf,KACED,EAAWgM,EAAqBp6B,GAChC,MAAO5C,GAGP,MAFAs9B,GAAQ5M,YAAYrL,QAAQzX,EAAY5N,QACxC8F,GAAS6C,QAAQ3I,GAInBixB,EAAG3oB,cAAc0oB,EAAS/gB,KAAK,GAAG1H,UAChC2H,GACA,SAAUlQ,GACRs9B,EAAQ5M,YAAYrL,QAAQzX,EAAY5N,IACxC8F,EAAS6C,QAAQ3I,IAEnBkxB,KAGJ,SAAUlxB,GACRs9B,EAAQ5M,YAAYrL,QAAQzX,EAAY5N,IACxC8F,EAAS6C,QAAQ3I,IAEnB8F,EAASiD,YAAY0K,KAAK3N,KAG5B0V,EAAMjN,IAAIlF,EAAMd,UACd,SAAU3F,GACR,GAAIwC,GAAKi4B,GACTE,GAAShvB,IAAInJ,EAAIxC,EAEjB,IAAIquB,GAAK,GAAI9oB,GACbqT,GAAMjN,IAAI0iB,EAEV,IAKID,GALAE,EAAS,WACXqM,EAAS5kB,OAAOvT,GAChBoW,EAAM7C,OAAOsY,GAIf,KACED,EAAWiM,EAAsBr6B,GACjC,MAAO5C,GAGP,MAFAs9B,GAAQ5M,YAAYrL,QAAQzX,EAAY5N,QACxC8F,GAAS6C,QAAQ3I,GAGnBixB,EAAG3oB,cAAc0oB,EAAS/gB,KAAK,GAAG1H,UAChC2H,GACA,SAAUlQ,GACRs9B,EAAQ5M,YAAYrL,QAAQzX,EAAY5N,IACxC8F,EAAS6C,QAAQ3I,IAEnBkxB,IAGFoM,EAAQ5M,YAAYrL,QAAQ,SAAU/X,GAAKA,EAAE7E,OAAO7F,MAEtD,SAAU5C,GACRs9B,EAAQ5M,YAAYrL,QAAQzX,EAAY5N,IACxC8F,EAAS6C,QAAQ3I,MAIdyP,GACNrG,IAUHgb,GAAgBoZ,OAAS,WACrB,MAAO54B,MAAKkP,OAAOnP,MAAMC,KAAMC,WAAWwoB,WAAW,SAAU7kB,GAAK,MAAOA,GAAEie,aAUnFrC,GAAgBtQ,OAAS,SAAU2pB,EAAiCxuB,GAClE,MAAyB,KAArBpK,UAAU9G,QAAwC,kBAAjB8G,WAAU,GACtCyK,GAA+BvO,KAAK6D,KAAM64B,GAED,kBAApCA,GACZ7tB,GAAoC7O,KAAK6D,KAAM64B,GAC/C1uB,GAA6BhO,KAAK6D,KAAM64B,EAAiCxuB,IAmG7EmV,GAAgBsZ,SAAW,WACzB,GAAIh/B,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIskB,GAAUuT,GAAc,CAC5B,OAAOj/B,GAAO6J,UACZ,SAAUC,GACJm1B,EACF73B,EAAS2C,QAAQ2hB,EAAU5hB,IAE3Bm1B,GAAc,EAEhBvT,EAAW5hB,GAEb1C,EAAS6C,QAAQ8K,KAAK3N,GACtBA,EAASiD,YAAY0K,KAAK3N,KAC3BpH,IAgBL0lB,GAAgBwZ,UAAY,SAASjzB,EAAWjB,GAC9C,OACE9E,KAAK8lB,OAAO/f,EAAWjB,GACvB9E,KAAK8lB,OAAO,SAAUliB,EAAG3K,EAAGY,GAAK,OAAQkM,EAAU5J,KAAK2I,EAASlB,EAAG3K,EAAGY,OAqB3E2lB,GAAgByZ,QAAUzZ,GAAqB,IAAI,SAAU7N,GAC3D,MAAOA,GAAK3R,OAedsgB,GAAW,MAAQA,GAAW4Y,OAAS,SAAU1tB,EAAW2tB,EAAYC,GACtE,MAAO9rB,IAAgB,WAQrB,MAPA8rB,KAA0BA,EAAwB7uB,MAElDvG,GAAUm1B,KAAgBA,EAAal1B,GAAsBk1B,IAC7Dn1B,GAAUo1B,KAA2BA,EAAwBn1B,GAAsBm1B,IAG9C,kBAA9BA,GAAsBnsB,MAAuBmsB,EAAwB7uB,GAAgB6uB,IACrF5tB,IAAc2tB,EAAaC,KAWtC9Y,GAAW,OAASA,GAAW+Y,MAAQ,SAAU3mB,EAASpO,EAAgBQ,GACxE,MAAOuZ,IAAa3L,EAASpO,EAAgBQ,GAASuY,SAWxD,IAAIic,IAAoBhZ,GAAW,SAAWA,GAAWiZ,QAAU,SAAU/tB,EAAW1R,GAEtF,MADAkK,IAAUlK,KAAYA,EAASmK,GAAsBnK,IAC9CyR,GAAgBC,EAAW1R,GAAQujB,SAU5CmC,IAAgBga,QAAU,SAAUhuB,GAClC,MAAO0a,KAAkBlmB,KAAMs5B,GAAkB9tB,EAAWxL,SAkB9DsgB,GAAW,QAAUA,GAAWmZ,WAAa,SAAU50B,EAAU6N,EAASgnB,GACxE,MAAOpsB,IAAgB,WACrBtJ,GAAU01B,KAA8BA,EAA2Bz1B,GAAsBy1B,IACzFA,IAA6BA,EAA2BnvB,MAEhB,kBAAjCmvB,GAAyBzsB,MAAuBysB,EAA2BnvB,GAAgBmvB,GAElG,IAAI79B,GAAS6W,EAAQ7N,IAGrB,OAFAb,IAAUnI,KAAYA,EAASoI,GAAsBpI,IAE9CA,GAAU69B,KAWrBla,GAAgBma,OAAS,SAAU90B,EAAUnE,GAC3CoC,GAAYpC,KAAeA,EAAY6X,GACvC,IAAIze,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIyM,MACFvC,EAAI,GAAI3H,IACRS,EAAI,GAAIwF,IAAoB0B,GAC5Bqb,EAAc,EACdzG,GAAa,EAEXE,EAAe,WACjB,GAAIC,IAAU,CACVxS,GAAExU,OAAS,IACbgnB,GAAWH,EACXA,GAAa,GAEXG,GACF/U,EAAE1H,cAAchD,EAAUwW,kBAAkB,SAAUnW,GACpD,GAAIqf,EACJ,MAAIzS,EAAExU,OAAS,GAIb,YADA6mB,GAAa,EAFbI,GAAOzS,EAAES,OAKX,IAAIjD,GAAK,GAAI5H,GACbW,GAAEyF,IAAIwB,GACNA,EAAGzH,cAAc0c,EAAKzc,UAAU,SAAUC,GACxC1C,EAAS2C,OAAOD,EAChB,IAAI/H,GAAS,IACb,KACEA,EAASgJ,EAASjB,GAClB,MAAOxI,GACP8F,EAAS6C,QAAQ3I,GAEnBuS,EAAEvU,KAAKyC,GACP4qB,IACAvG,KACChf,EAAS6C,QAAQ8K,KAAK3N,GAAW,WAClCgD,EAAE6P,OAAO5I,GACTsb,IACoB,IAAhBA,GACFvlB,EAASiD,iBAGbpD,OAQN,OAHA4M,GAAEvU,KAAKU,GACP2sB,IACAvG,IACOhc,GACNlE,OAWLsgB,GAAWsZ,SAAW,WACpB,GAAIC,KACJ,IAAIj6B,MAAM2H,QAAQtH,UAAU,IAC1B45B,EAAa55B,UAAU,OAEvB,KAAI,GAAIhH,GAAI,EAAGC,EAAM+G,UAAU9G,OAAYD,EAAJD,EAASA,IAAO4gC,EAAWzgC,KAAK6G,UAAUhH,GAEnF,OAAO,IAAIoK,IAAoB,SAAU0d,GACvC,GAAIrhB,GAAQm6B,EAAW1gC,MACvB,IAAc,IAAVuG,EAEF,MADAqhB,GAAW5c,cACJsQ,EAQT,KAAK,GANDmC,GAAQ,GAAIlN,IACdxB,GAAW,EACX4xB,EAAa,GAAIl6B,OAAMF,GACvBkzB,EAAe,GAAIhzB,OAAMF,GACzByI,EAAU,GAAIvI,OAAMF,GAEbiT,EAAM,EAASjT,EAANiT,EAAaA,KAC7B,SAAW1Z,GACT,GAAIa,GAAS+/B,EAAW5gC,EACxB+K,IAAUlK,KAAYA,EAASmK,GAAsBnK,IACrD8c,EAAMjN,IACJ7P,EAAO6J,UACL,SAAU3F,GACLkK,IACH4xB,EAAW7gC,IAAK,EAChBkP,EAAQlP,GAAK+E,IAGjB,SAAU5C,GACR8M,GAAW,EACX6Y,EAAWhd,QAAQ3I,GACnBwb,EAAM5V,WAER,WACE,IAAKkH,EAAU,CACb,IAAK4xB,EAAW7gC,GAEZ,WADA8nB,GAAW5c,aAGfyuB,GAAa35B,IAAK,CAClB,KAAK,GAAI8gC,GAAK,EAAQr6B,EAALq6B,EAAYA,IAC3B,IAAKnH,EAAamH,GAAO,MAE3B7xB,IAAW,EACX6Y,EAAWld,OAAOsE,GAClB4Y,EAAW5c,mBAGhBwO,EAGL,OAAOiE,MAWX4I,GAAgBoa,SAAW,SAAUv1B,EAAQC,GAC3C,GAAIC,GAAQvE,IACZ,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAEE84B,GAAUC,EAFRC,GAAc,EAAOC,GAAe,EACtCC,GAAU,EAAOC,GAAW,EAE5B9U,EAAmB,GAAIhiB,IAA8B6hB,EAAoB,GAAI7hB,GA8D/E,OA5DAS,IAAUK,KAAYA,EAASJ,GAAsBI,IAErDkhB,EAAiB7hB,cACba,EAAMZ,UAAU,SAAUa,GACxB41B,GAAU,EACVJ,EAAWx1B,GACV,SAAU6D,GACX+c,EAAkBpkB,UAClBE,EAAS6C,QAAQsE,IAChB,WAED,GADA6xB,GAAc,EACVC,EACF,GAAKC,EAEE,GAAKC,EAEL,CACL,GAAIx+B,EACJ,KACEA,EAASyI,EAAe01B,EAAUC,GAClC,MAAO7+B,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB8F,EAAS2C,OAAOhI,GAChBqF,EAASiD,kBAVPjD,GAASiD,kBAFTjD,GAASiD,iBAkBrBihB,EAAkB1hB,cAChBW,EAAOV,UAAU,SAAUc,GACzB41B,GAAW,EACXJ,EAAYx1B,GACX,SAAU4D,GACXkd,EAAiBvkB,UACjBE,EAAS6C,QAAQsE,IAChB,WAED,GADA8xB,GAAe,EACXD,EACF,GAAKE,EAEE,GAAKC,EAEL,CACL,GAAIx+B,EACJ,KACEA,EAASyI,EAAe01B,EAAUC,GAClC,MAAO7+B,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB8F,EAAS2C,OAAOhI,GAChBqF,EAASiD,kBAVTjD,GAASiD,kBAFTjD,GAASiD,iBAkBV,GAAIuF,IAAoB6b,EAAkBH,IAChD7gB,IASLib,GAAgB8a,WAAa,SAAUz1B,EAAUnE,GAC/CoC,GAAYpC,KAAeA,EAAY6X,GACvC,IAAIze,GAASkG,IACb,OAAOsN,IAAgB,WACrB,GAAIitB,EAEJ,OAAOzgC,GACJmL,IAAI,SAAUrB,GACb,GAAIsqB,GAAO,GAAIsM,IAAgB52B,EAK/B,OAHA22B,IAASA,EAAM12B,OAAOD,GACtB22B,EAAQrM,EAEDA,IAERlF,IACC1d,GACA,SAAUlQ,GAAKm/B,GAASA,EAAMx2B,QAAQ3I,IACtC,WAAcm/B,GAASA,EAAMp2B,gBAE9Bid,UAAU1gB,GACVuE,IAAIJ,IACN/K,GAGL,IAAI0gC,IAAmB,SAAU1e,GAE/B,QAASnY,GAAWzC,GAClB,GAAIH,GAAOf,KAAMumB,EAAI,GAAI7c,GAMzB,OALA6c,GAAE5c,IAAI5G,GAAuB0F,SAAS,WACpCvH,EAAS2C,OAAO9C,EAAK05B,MACrBlU,EAAE5c,IAAI5I,EAAK25B,KAAK70B,WAAWlC,UAAUzC,OAGhCqlB,EAKT,QAASiU,GAAgBC,GACvB3e,EAAU3f,KAAK6D,KAAM2D,GACrB3D,KAAKy6B,KAAOA,EACZz6B,KAAK06B,KAAO,GAAInZ,IAgBlB,MArBAjP,IAASkoB,EAAiB1e,GAQ1BrJ,GAAc+nB,EAAgBx9B,UAAWwhB,IACvCra,YAAa,WACXnE,KAAK6D,OAAOyc,GAAW5L,UAEzB3Q,QAAS,SAAU3I,GACjB4E,KAAK6D,OAAOyc,GAAWmE,WAAWrpB,KAEpCyI,OAAQ,SAAU6E,GAChB1I,KAAK06B,KAAK72B,OAAO6E,GACjB1I,KAAK06B,KAAKv2B,iBAIPq2B,GAEPla,IAGE/T,GAAMzK,GAAKyK,KAAQ,WAErB,QAASA,KACPvM,KAAK26B,SACL36B,KAAK46B,WAoBP,MAjBAruB,GAAIvP,UAAUkP,IAAM,SAAUzP,GAC5B,GAAIxD,GAAI+G,KAAK26B,MAAMjhC,QAAQ+C,EAC3B,OAAa,KAANxD,EAAW+G,KAAK46B,QAAQ3hC,GAAKJ,GAGtC0T,EAAIvP,UAAU0I,IAAM,SAAUjJ,EAAKuB,GACjC,GAAI/E,GAAI+G,KAAK26B,MAAMjhC,QAAQ+C,EACrB,MAANxD,IAAa+G,KAAK46B,QAAQ3hC,GAAK+E,GAC/BgC,KAAK46B,QAAQ56B,KAAK26B,MAAMvhC,KAAKqD,GAAO,GAAKuB,GAG3CuO,EAAIvP,UAAUyjB,QAAU,SAAU9iB,EAAUmH,GAC1C,IAAK,GAAI7L,GAAI,EAAGC,EAAM8G,KAAK26B,MAAMxhC,OAAYD,EAAJD,EAASA,IAChD0E,EAASxB,KAAK2I,EAAS9E,KAAK46B,QAAQ3hC,GAAI+G,KAAK26B,MAAM1hC,KAIhDsT,IAgBTZ,IAAQ3O,UAAU69B,IAAM,SAAU5nB,GAChC,MAAO,IAAItH,IAAQ3L,KAAK4L,SAASyR,OAAOpK,KAQ1CtH,GAAQ3O,UAAU89B,OAAS,SAAUj2B,GACnC,MAAO,IAAIgH,IAAK7L,KAAM6E,IAQxBgH,GAAK7O,UAAU+9B,SAAW,SAAU/uB,EAAuB9K,EAAU85B,GAGnE,IAAK,GAFDj6B,GAAOf,KACPsM,KACKrT,EAAI,EAAGC,EAAM8G,KAAK8L,WAAWF,SAASzS,OAAYD,EAAJD,EAASA,IAC9DqT,EAAclT,KAAK2S,GAAmBC,EAAuBhM,KAAK8L,WAAWF,SAAS3S,GAAIiI,EAAS6C,QAAQ8K,KAAK3N,IAElH,IAAI+5B,GAAa,GAAI7uB,IAAWE,EAAe,WAC7C,GAAIzQ,EACJ,KACEA,EAASkF,EAAK8D,SAAS9E,MAAMgB,EAAMd,WACnC,MAAO7E,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB8F,EAAS2C,OAAOhI,IACf,WACD,IAAK,GAAIkqB,GAAI,EAAGmV,EAAO5uB,EAAcnT,OAAY+hC,EAAJnV,EAAUA,IACrDzZ,EAAcyZ,GAAGoV,iBAAiBF,EAEpCD,GAAWC,IAEb,KAAKhiC,EAAI,EAAGC,EAAMoT,EAAcnT,OAAYD,EAAJD,EAASA,IAC/CqT,EAAcrT,GAAGmiC,cAAcH,EAEjC,OAAOA,IAwBT7uB,GAAWpP,UAAU6W,QAAU,WAC7B7T,KAAKsM,cAAcmU,QAAQ,SAAU/X,GAAKA,EAAEkQ,MAAMxK,WAGpDhC,GAAWpP,UAAUq+B,MAAQ,WAC3B,GAAIpiC,GAAGC,EAAKoiC,GAAY,CACxB,KAAKriC,EAAI,EAAGC,EAAM8G,KAAKqM,kBAAkBlT,OAAYD,EAAJD,EAASA,IACxD,GAA+C,IAA3C+G,KAAKqM,kBAAkBpT,GAAG2f,MAAMzf,OAAc,CAChDmiC,GAAY,CACZ,OAGJ,GAAIA,EAAW,CACb,GAAIC,MACAC,GAAc,CAClB,KAAKviC,EAAI,EAAGC,EAAM8G,KAAKqM,kBAAkBlT,OAAYD,EAAJD,EAASA,IACxDsiC,EAAYniC,KAAK4G,KAAKqM,kBAAkBpT,GAAG2f,MAAM,IACL,MAA5C5Y,KAAKqM,kBAAkBpT,GAAG2f,MAAM,GAAG5K,OAAiBwtB,GAAc,EAEpE,IAAIA,EACFx7B,KAAKmE,kBACA,CACLnE,KAAK6T,SACL,IAAI/J,KACJ,KAAK7Q,EAAI,EAAGC,EAAMqiC,EAAYpiC,OAAQF,EAAIsiC,EAAYpiC,OAAQF,IAC5D6Q,EAAO1Q,KAAKmiC,EAAYtiC,GAAG+E,MAE7BgC,MAAK6D,OAAO9D,MAAMC,KAAM8J,KAK9B,IAAIqC,IAAgB,SAAU2P,GAG5B,QAAS3P,GAAarS,EAAQiK,GAC5B+X,EAAU3f,KAAK6D,MACfA,KAAKlG,OAASA,EACdkG,KAAK+D,QAAUA,EACf/D,KAAK4Y,SACL5Y,KAAKy7B,eACLz7B,KAAKwD,aAAe,GAAID,IACxBvD,KAAKY,YAAa,EATpB0R,GAASnG,EAAc2P,EAYvB,IAAI4f,GAAwBvvB,EAAanP,SAuCzC,OArCA0+B,GAAsB5yB,KAAO,SAAUiF,GACrC,IAAK/N,KAAKY,WAAY,CACpB,GAA0B,MAAtBmN,EAAaC,KACf,MAAOhO,MAAK+D,QAAQgK,EAAaL,UAEnC1N,MAAK4Y,MAAMxf,KAAK2U,EAEhB,KAAK,GADD0tB,GAAcz7B,KAAKy7B,YAAYv/B,MAAM,GAChCjD,EAAI,EAAGC,EAAMuiC,EAAYtiC,OAAYD,EAAJD,EAASA,IACjDwiC,EAAYxiC,GAAGoiC,UAKrBK,EAAsBpiC,MAAQgS,GAC9BowB,EAAsBhc,UAAYpU,GAElCowB,EAAsBN,cAAgB,SAAUH,GAC9Cj7B,KAAKy7B,YAAYriC,KAAK6hC,IAGxBS,EAAsB/3B,UAAY,WAChC3D,KAAKwD,aAAaE,cAAc1D,KAAKlG,OAAO+T,cAAclK,UAAU3D,QAGtE07B,EAAsBP,iBAAmB,SAAUF,GACjDj7B,KAAKy7B,YAAYrnB,OAAOpU,KAAKy7B,YAAY/hC,QAAQuhC,GAAa,GAClC,IAA5Bj7B,KAAKy7B,YAAYtiC,QAAgB6G,KAAKgB,WAGxC06B,EAAsB16B,QAAU,WAC9B8a,EAAU9e,UAAUgE,QAAQ7E,KAAK6D,MAC5BA,KAAKY,aACRZ,KAAKY,YAAa,EAClBZ,KAAKwD,aAAaxC,YAIfmL,GACNsT,GAQHD,IAAgBqb,IAAM,SAAUp2B,GAC9B,MAAO,IAAIkH,KAAS3L,KAAMyE,KAS5B+a,GAAgBsb,OAAS,SAAUj2B,GACjC,MAAO,IAAI8G,KAAS3L,OAAO86B,OAAOj2B,IASpCyb,GAAWqb,KAAO,WAChB,GAA4BC,GAAxB1iC,EAAM+G,UAAU9G,MACpB,IAAIyG,MAAM2H,QAAQtH,UAAU,IAC1B27B,EAAQ37B,UAAU,OACb,CACL27B,EAAQ,GAAIh8B,OAAM1G,EAClB,KAAI,GAAID,GAAI,EAAOC,EAAJD,EAASA,IAAO2iC,EAAM3iC,GAAKgH,UAAUhH,GAEtD,MAAO,IAAIoK,IAAoB,SAAUxJ,GACvC,GAAI4hC,MACAzvB,EAAwB,GAAIO,IAC5BsvB,EAAc9c,GAChB,SAAUnb,GAAK/J,EAAEgK,OAAOD,IACxB,SAAUyE,GACR2D,EAAsByU,QAAQ,SAAU/X,GAAKA,EAAE3E,QAAQsE,KACvDxO,EAAEkK,QAAQsE,IAEZ,WAAexO,EAAEsK,eAEnB,KACE,IAAK,GAAIlL,GAAI,EAAGC,EAAM0iC,EAAMziC,OAAYD,EAAJD,EAASA,IAC3CwiC,EAAYriC,KAAKwiC,EAAM3iC,GAAG8hC,SAAS/uB,EAAuB6vB,EAAa,SAAUZ,GAC/E,GAAItoB,GAAM8oB,EAAY/hC,QAAQuhC,EAC9BQ,GAAYrnB,OAAOzB,EAAK,GACD,IAAvB8oB,EAAYtiC,QAAgBU,EAAEsK,iBAGlC,MAAO/I,GACP6mB,GAAgB7mB,GAAGuI,UAAU9J,GAE/B,GAAI+c,GAAQ,GAAIlN,GAMhB,OALAsC,GAAsByU,QAAQ,SAAUjU,GACtCA,EAAa7I,YACbiT,EAAMjN,IAAI6C,KAGLoK,IA6DX,EAAA,GAAIklB,IAAqBxb,GAAWmV,SAAW,SAAU5oB,EAAQnM,GAC/D,MAAO0M,IAAiCP,EAAQA,EAAQ/J,GAAYpC,GAAaA,EAAY8H,IAUzE8X,IAAWyb,MAAQ,SAAUrvB,EAASsvB,EAAmBt7B,GAC7E,GAAImM,EAOJ,OANA/J,IAAYpC,KAAeA,EAAY8H,IACnCwzB,IAAsBnjC,GAA0C,gBAAtBmjC,GAC5CnvB,EAASmvB,EACAl5B,GAAYk5B,KACrBt7B,EAAYs7B,GAEVtvB,YAAmB2D,OAAQxD,IAAWhU,EACjC4T,GAAoBC,EAAQuvB,UAAWv7B,GAE5CgM,YAAmB2D,OAAQxD,IAAWhU,GACxCgU,EAASmvB,EACFpvB,GAA6BF,EAAQuvB,UAAWpvB,EAAQnM,IAE1DmM,IAAWhU,EAChBqU,GAAwBR,EAAShM,GACjC0M,GAAiCV,EAASG,EAAQnM,IAuFtD8e,GAAgB0c,MAAQ,SAAUxvB,EAAShM,GAEzC,MADAoC,IAAYpC,KAAeA,EAAY8H,IAChCkE,YAAmB2D,MACxB9B,GAAoBvO,KAAM0M,EAAQuvB,UAAWv7B,GAC7C6M,GAAwBvN,KAAM0M,EAAShM,IAS3C8e,GAAgB2c,SAAW3c,GAAgB4c,oBAAsB,SAAU1vB,EAAShM,GAClFoC,GAAYpC,KAAeA,EAAY8H,GACvC,IAAI1O,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAA2DlD,GAAvDyP,EAAa,GAAIhK,IAAoB44B,GAAW,EAAc77B,EAAK,EACnEgD,EAAe1J,EAAO6J,UACxB,SAAUC,GACRy4B,GAAW,EACXr+B,EAAQ4F,EACRpD,GACA,IAAIya,GAAYza,EACd0D,EAAI,GAAIX,GACVkK,GAAW/J,cAAcQ,GACzBA,EAAER,cAAchD,EAAUyM,qBAAqBT,EAAS,WACtD2vB,GAAY77B,IAAOya,GAAa/Z,EAAS2C,OAAO7F,GAChDq+B,GAAW,MAGf,SAAUjhC,GACRqS,EAAWzM,UACXE,EAAS6C,QAAQ3I,GACjBihC,GAAW,EACX77B,KAEF,WACEiN,EAAWzM,UACXq7B,GAAYn7B,EAAS2C,OAAO7F,GAC5BkD,EAASiD,cACTk4B,GAAW,EACX77B,KAEJ,OAAO,IAAIkJ,IAAoBlG,EAAciK,IAC5CzN,OAMLwf,GAAgB8c,SAAW,SAAS5vB,EAAShM,GAE3C,MAAOV,MAAKm8B,SAASzvB,EAAShM,IAUhC8e,GAAgB+c,eAAiB,SAAUpmB,EAAUqmB,EAAsB97B,GACzE,GAAmB+7B,GAAf3iC,EAASkG,IASb,OARwB,OAAxBw8B,IAAiCC,EAAYtmB,GAC7CrT,GAAYpC,KAAeA,EAAY8H,IACH,gBAAzBg0B,GACTC,EAAYD,EACH15B,GAAY05B,KACrBC,EAAYtmB,EACZzV,EAAY87B,GAEP,GAAIn5B,IAAoB,SAAUnC,GAWtC,QAASw7B,KACR,GAAItxB,GAAI,GAAI7H,IACVo5B,GAAS,EACTC,GAAU,CACZC,GAAOn5B,cAAc0H,GACjB0xB,IAAaC,GACfJ,GAAS,EACTC,GAAU,GACUG,EAAXD,EACPH,GAAS,EAEXC,GAAU,CAEZ,IAAII,GAAeL,EAASG,EAAWC,EACrCE,EAAKD,EAAeE,CACtBA,GAAYF,EACRL,IACFG,GAAYL,GAEVG,IACFG,GAAaN,GAEfrxB,EAAE1H,cAAchD,EAAUyM,qBAAqB8vB,EAAI,WACjD,GAAIL,EAAS,CACX,GAAI97B,GAAI,GAAI8J,GACZ+C,GAAEvU,KAAK0H,GACPI,EAAS2C,OAAOkH,GAAOjK,EAAG4pB,IAE5BiS,GAAUhvB,EAAES,QAAQjK,cACpBu4B,OAvCJ,GAAI7Q,GAIFnB,EAHAqS,EAAYN,EACZK,EAAW3mB,EACXxI,KAEAkvB,EAAS,GAAIp5B,IACby5B,EAAY,CAoDd,OAnDErR,GAAkB,GAAIniB,IAAoBmzB,GAC1CnS,EAAqB,GAAI5f,IAAmB+gB,GAkC9Cle,EAAEvU,KAAK,GAAIwR,KACX1J,EAAS2C,OAAOkH,GAAO4C,EAAE,GAAI+c,IAC7BgS,IACA7Q,EAAgBliB,IAAI7P,EAAO6J,UACzB,SAAUC,GACR,IAAK,GAAI3K,GAAI,EAAGC,EAAMyU,EAAExU,OAAYD,EAAJD,EAASA,IAAO0U,EAAE1U,GAAG4K,OAAOD,IAE9D,SAAUxI,GACR,IAAK,GAAInC,GAAI,EAAGC,EAAMyU,EAAExU,OAAYD,EAAJD,EAASA,IAAO0U,EAAE1U,GAAG8K,QAAQ3I,EAC7D8F,GAAS6C,QAAQ3I,IAEnB,WACE,IAAK,GAAInC,GAAI,EAAGC,EAAMyU,EAAExU,OAAYD,EAAJD,EAASA,IAAO0U,EAAE1U,GAAGkL,aACrDjD,GAASiD,iBAGNumB,GACN5wB,IAUL0lB,GAAgB2d,sBAAwB,SAAUhnB,EAAUzW,EAAOgB,GACjE,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUnC,GAQvC,QAASw7B,GAAYl8B,GACnB,GAAI4K,GAAI,GAAI7H,GACZs5B,GAAOn5B,cAAc0H,GACrBA,EAAE1H,cAAchD,EAAUyM,qBAAqBgJ,EAAU,WACvD,GAAI3V,IAAO48B,EAAX,CACA1e,EAAI,CACJ,IAAI2e,KAAUD,CACdt8B,GAAEqD,cACFrD,EAAI,GAAI8J,IACR1J,EAAS2C,OAAOkH,GAAOjK,EAAG4pB,IAC1BgS,EAAYW,OAjBhB,GAAIR,GAAS,GAAIp5B,IACbooB,EAAkB,GAAIniB,IAAoBmzB,GAC1CnS,EAAqB,GAAI5f,IAAmB+gB,GAC5CnN,EAAI,EACJ0e,EAAW,EACXt8B,EAAI,GAAI8J,GAyCZ,OAzBA1J,GAAS2C,OAAOkH,GAAOjK,EAAG4pB,IAC1BgS,EAAY,GAEZ7Q,EAAgBliB,IAAI7P,EAAO6J,UACzB,SAAUC,GACR,GAAIy5B,GAAQ,EAAGC,GAAY,CAC3Bx8B,GAAE+C,OAAOD,KACH8a,IAAMhf,IACV49B,GAAY,EACZ5e,EAAI,EACJ2e,IAAUD,EACVt8B,EAAEqD,cACFrD,EAAI,GAAI8J,IACR1J,EAAS2C,OAAOkH,GAAOjK,EAAG4pB,KAE5B4S,GAAaZ,EAAYW,IAE3B,SAAUjiC,GACR0F,EAAEiD,QAAQ3I,GACV8F,EAAS6C,QAAQ3I,IAChB,WACD0F,EAAEqD,cACFjD,EAASiD,iBAGNumB,GACN5wB,IAeH0lB,GAAgB+d,eAAiB,WAC7B,MAAOv9B,MAAKu8B,eAAex8B,MAAMC,KAAMC,WAAWwoB,WAAW,SAAU7kB,GAAK,MAAOA,GAAEie,aAezFrC,GAAgBge,sBAAwB,SAAUrnB,EAAUzW,EAAOgB,GAC/D,MAAOV,MAAKm9B,sBAAsBhnB,EAAUzW,EAAOgB,GAAW+nB,WAAW,SAAU7kB,GAC/E,MAAOA,GAAEie,aAcnBrC,GAAgBie,aAAe,SAAU/8B,GACvC,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC8E,GAAgB,WACrB,GAAI8hB,GAAO1uB,EAAUuM,KACrB,OAAOnT,GAAOmL,IAAI,SAAUrB,GAC1B,GAAIqJ,GAAMvM,EAAUuM,MAAOywB,EAAOzwB,EAAMmiB,CAExC,OADAA,GAAOniB,GACEjP,MAAO4F,EAAG6xB,SAAUiI,QAenCle,GAAgB1R,UAAY,SAAUpN,GAEpC,MADAoC,IAAYpC,KAAeA,EAAY8H,IAChCxI,KAAKiF,IAAI,SAAUrB,GACxB,OAAS5F,MAAO4F,EAAGkK,UAAWpN,EAAUuM,UAwC5CuS,GAAgBme,OAASne,GAAgBoe,eAAiB,SAAUC,EAAmBn9B,GAErF,MADAoC,IAAYpC,KAAeA,EAAY8H,IACH,gBAAtBq1B,GACZrvB,GAAiBxO,KAAM87B,GAAmB+B,EAAmBn9B,IAC7D8N,GAAiBxO,KAAM69B;AAU3Bre,GAAgB3D,QAAU,SAAUnP,EAASuG,EAAOvS,IACxC,MAATuS,GAAkC,gBAAVA,MAAwBA,EAAQgP,GAAgB,GAAI9mB,OAAM8X,GAAS,aAC5FnQ,GAAYpC,KAAeA,EAAY8H,GAEvC,IAAI1O,GAASkG,KAAM89B,EAAkBpxB,YAAmB2D,MACtD,uBACA,sBAEF,OAAO,IAAIhN,IAAoB,SAAUnC,GASvC,QAASw7B,KACP,GAAIqB,GAAOv9B,CACXu7B,GAAMr4B,cAAchD,EAAUo9B,GAAiBpxB,EAAS,WAClDlM,IAAOu9B,IACT/5B,GAAUiP,KAAWA,EAAQhP,GAAsBgP,IACnDzP,EAAaE,cAAcuP,EAAMtP,UAAUzC,QAbjD,GAAIV,GAAK,EACPw9B,EAAW,GAAIz6B,IACfC,EAAe,GAAIC,IACnBw6B,GAAW,EACXlC,EAAQ,GAAIt4B,GAiCd,OA/BAD,GAAaE,cAAcs6B,GAY3BtB,IAEAsB,EAASt6B,cAAc5J,EAAO6J,UAAU,SAAUC,GAC3Cq6B,IACHz9B,IACAU,EAAS2C,OAAOD,GAChB84B,MAED,SAAUthC,GACN6iC,IACHz9B,IACAU,EAAS6C,QAAQ3I,KAElB,WACI6iC,IACHz9B,IACAU,EAASiD,kBAGN,GAAIuF,IAAoBlG,EAAcu4B,IAC5CjiC,IAsBLwmB,GAAW4d,yBAA2B,SAAUjb,EAAczX,EAAW0X,EAAS5e,EAAgB65B,EAAcz9B,GAE9G,MADAoC,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUnC,GACvC,GAEErF,GAEAyd,EAJE/U,GAAQ,EACV4e,GAAY,EAEZ/N,EAAQ6N,CAEV,OAAOviB,GAAU4W,8BAA8B5W,EAAUuM,MAAO,SAAUlM,GACxEoiB,GAAajiB,EAAS2C,OAAOhI,EAE7B,KACM0I,EACFA,GAAQ,EAER6Q,EAAQ8N,EAAQ9N,GAElB+N,EAAY3X,EAAU4J,GAClB+N,IACFtnB,EAASyI,EAAe8Q,GACxBkE,EAAO6kB,EAAa/oB,IAEtB,MAAOha,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGf+nB,EACFpiB,EAAKuY,GAELpY,EAASiD,mBAyBjBmc,GAAW8d,yBAA2B,SAAUnb,EAAczX,EAAW0X,EAAS5e,EAAgB65B,EAAcz9B,GAE9G,MADAoC,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUnC,GACvC,GAEErF,GAEAyd,EAJE/U,GAAQ,EACV4e,GAAY,EAEZ/N,EAAQ6N,CAEV,OAAOviB,GAAUuN,8BAA8B,EAAG,SAAUlN,GAC1DoiB,GAAajiB,EAAS2C,OAAOhI,EAE7B,KACM0I,EACFA,GAAQ,EAER6Q,EAAQ8N,EAAQ9N,GAElB+N,EAAY3X,EAAU4J,GAClB+N,IACFtnB,EAASyI,EAAe8Q,GACxBkE,EAAO6kB,EAAa/oB,IAEtB,MAAOha,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGf+nB,EACFpiB,EAAKuY,GAELpY,EAASiD,mBAiBjBqb,GAAgB6e,kBAAoB,SAAU3xB,EAAShM,GACrD,GAAIkX,GAAiBlL,YAAmB2D,MAAO,uBAAyB,uBACpEvW,EAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUxJ,GACvC,GAAIqK,GAAI,GAAIT,GAMZ,OAJAS,GAAER,cAAchD,EAAUkX,GAAgBlL,EAAS,WACjDxI,EAAER,cAAc5J,EAAO6J,UAAU9J,OAG5BqK,GACNlE,OAcLwf,GAAgB8e,kBAAoB,SAAUC,EAAmBC,GAC/D,GAAmBC,GAAU55B,EAAzB/K,EAASkG,IAOb,OANIV,IAAWi/B,GACb15B,EAAW05B,GAEXE,EAAWF,EACX15B,EAAW25B,GAEN,GAAIn7B,IAAoB,SAAUnC,GAGvC,QAASoX,KACP9U,EAAaE,cAAc5J,EAAO6J,UAChC,SAAUC,GACR,GAAIs4B,GAAQ/7B,EAAS0E,GAAUjB,EAC/B,IAAIs4B,IAAUh8B,GAAY,MAAOgB,GAAS6C,QAAQm4B,EAAM9gC,EACxD,IAAI8I,GAAI,GAAIX,GACZm7B,GAAO/0B,IAAIzF,GACXA,EAAER,cAAcw4B,EAAMv4B,UACpB,WACEzC,EAAS2C,OAAOD,GAChB86B,EAAO3qB,OAAO7P,GACd8D,KAEF,SAAU5M,GAAK8F,EAAS6C,QAAQ3I,IAChC,WACE8F,EAAS2C,OAAOD,GAChB86B,EAAO3qB,OAAO7P,GACd8D,QAIN,SAAU5M,GAAK8F,EAAS6C,QAAQ3I,IAChC,WACEuT,GAAQ,EACRnL,EAAaxC,UACbgH,OAKN,QAASA,KACP2G,GAA2B,IAAlB+vB,EAAOvlC,QAAgB+H,EAASiD,cAjC3C,GAAIu6B,GAAS,GAAIh1B,IAAuBiF,GAAQ,EAAOnL,EAAe,GAAIC,GA0C1E,OANKg7B,GAGHj7B,EAAaE,cAAc+6B,EAAS96B,UAAU2U,EAAO,SAAUld,GAAK8F,EAAS6C,QAAQ3I,IAAOkd,IAF5FA,IAKK,GAAI5O,IAAoBlG,EAAck7B,IAC5C1+B,OAUHwf,GAAgBmf,oBAAsB,SAAUC,EAAcC,EAAyB5rB,GAC5D,IAArBhT,UAAU9G,SACV0lC,EAA0BD,EAC1BA,EAAehb,MAEnB3Q,IAAUA,EAAQgP,GAAgB,GAAI9mB,OAAM,YAC5C,IAAIrB,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GAOvC,QAAS49B,GAASjjB,GAGhB,QAASkjB,KACP,MAAOv+B,KAAOu9B,EAHhB,GAAIA,GAAOv9B,EAMP0D,EAAI,GAAIX,GACZw4B,GAAMr4B,cAAcQ,GACpBA,EAAER,cAAcmY,EAAQlY,UAAU,WAChCo7B,KAAev7B,EAAaE,cAAcuP,EAAMtP,UAAUzC,IAC1DgD,EAAElD,WACD,SAAU5F,GACX2jC,KAAe79B,EAAS6C,QAAQ3I,IAC/B,WACD2jC,KAAev7B,EAAaE,cAAcuP,EAAMtP,UAAUzC,OAM9D,QAAS89B,KACP,GAAI12B,IAAO21B,CAEX,OADI31B,IAAO9H,IACJ8H,EA9BT,GAAI9E,GAAe,GAAIC,IAAoBs4B,EAAQ,GAAIt4B,IAAoBu6B,EAAW,GAAIz6B,GAE1FC,GAAaE,cAAcs6B,EAE3B,IAAIx9B,GAAK,EAAGy9B,GAAW,CA8CvB,OAzBAa,GAASF,GAQTZ,EAASt6B,cAAc5J,EAAO6J,UAAU,SAAUC,GAChD,GAAIo7B,IAAgB,CAClB99B,EAAS2C,OAAOD,EAChB,IAAIiY,EACJ,KACEA,EAAUgjB,EAAwBj7B,GAClC,MAAOxI,GAEP,WADA8F,GAAS6C,QAAQ3I,GAGnB0jC,EAAS96B,GAAU6X,GAAW5X,GAAsB4X,GAAWA,KAEhE,SAAUzgB,GACX4jC,KAAkB99B,EAAS6C,QAAQ3I,IAClC,WACD4jC,KAAkB99B,EAASiD,iBAEtB,GAAIuF,IAAoBlG,EAAcu4B,IAC5CjiC,IAQP0lB,GAAgByf,qBAAuB,SAAUtT,GAC/C,GAAI7xB,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAIlD,GAAOkI,GAAW,EAAOuH,EAAa,GAAIhK,IAAoBjD,EAAK,EACnEgD,EAAe1J,EAAO6J,UAAU,SAAUC,GAC5C,GAAI04B,EACJ,KACEA,EAAW3Q,EAAiB/nB,GAC5B,MAAOxI,GAEP,WADA8F,GAAS6C,QAAQ3I,GAInB4I,GAAUs4B,KAAcA,EAAWr4B,GAAsBq4B,IAEzDp2B,GAAW,EACXlI,EAAQ4F,EACRpD,GACA,IAAI0+B,GAAY1+B,EAAI0D,EAAI,GAAIX,GAC5BkK,GAAW/J,cAAcQ,GACzBA,EAAER,cAAc44B,EAAS34B,UAAU,WACjCuC,GAAY1F,IAAO0+B,GAAah+B,EAAS2C,OAAO7F,GAChDkI,GAAW,EACXhC,EAAElD,WACDE,EAAS6C,QAAQ8K,KAAK3N,GAAW,WAClCgF,GAAY1F,IAAO0+B,GAAah+B,EAAS2C,OAAO7F,GAChDkI,GAAW,EACXhC,EAAElD,cAEH,SAAU5F,GACXqS,EAAWzM,UACXE,EAAS6C,QAAQ3I,GACjB8K,GAAW,EACX1F,KACC,WACDiN,EAAWzM,UACXkF,GAAYhF,EAAS2C,OAAO7F,GAC5BkD,EAASiD,cACT+B,GAAW,EACX1F,KAEF,OAAO,IAAIkJ,IAAoBlG,EAAciK,IAC5C3T,IAML0lB,GAAgB2f,qBAAuB,SAAUxT,GAE/C,MAAO3rB,MAAKi/B,qBAAqBtT,IAiBnCnM,GAAgB4f,iBAAmB,SAAUhT,EAAU1rB,GACrDoC,GAAYpC,KAAeA,EAAY8H,GACvC,IAAI1O,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC,GAAIqJ,GAAMvM,EAAUuM,KAEpB,KADAU,EAAEvU,MAAOq8B,SAAUxoB,EAAKjP,MAAO4F,IACxB+J,EAAExU,OAAS,GAAK8T,EAAMU,EAAE,GAAG8nB,UAAYrJ,GAC5CvyB,EAAEgK,OAAO8J,EAAES,QAAQpQ,QAEpB,SAAU5C,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAEjC,IADA,GAAI6R,GAAMvM,EAAUuM,MACbU,EAAExU,OAAS,GAAK8T,EAAMU,EAAE,GAAG8nB,UAAYrJ,GAC5CvyB,EAAEgK,OAAO8J,EAAES,QAAQpQ,MAErBnE,GAAEsK,iBAEHrK,IAaL0lB,GAAgB6f,iBAAmB,SAAUjT,EAAU1rB,GACrD,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC,GAAIqJ,GAAMvM,EAAUuM,KAEpB,KADAU,EAAEvU,MAAOq8B,SAAUxoB,EAAKjP,MAAO4F,IACxB+J,EAAExU,OAAS,GAAK8T,EAAMU,EAAE,GAAG8nB,UAAYrJ,GAC5Cze,EAAES,SAEH,SAAUhT,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAEjC,IADA,GAAI6R,GAAMvM,EAAUuM,MACbU,EAAExU,OAAS,GAAG,CACnB,GAAI2P,GAAO6E,EAAES,OACTnB,GAAMnE,EAAK2sB,UAAYrJ,GAAYvyB,EAAEgK,OAAOiF,EAAK9K,OAEvDnE,EAAEsK,iBAEHrK,IAaL0lB,GAAgB8f,uBAAyB,SAAUlT,EAAU1rB,GAC3D,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUxJ,GACvC,GAAI8T,KACJ,OAAO7T,GAAO6J,UAAU,SAAUC,GAChC,GAAIqJ,GAAMvM,EAAUuM,KAEpB,KADAU,EAAEvU,MAAOq8B,SAAUxoB,EAAKjP,MAAO4F,IACxB+J,EAAExU,OAAS,GAAK8T,EAAMU,EAAE,GAAG8nB,UAAYrJ,GAC5Cze,EAAES,SAEH,SAAUhT,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAEjC,IADA,GAAI6R,GAAMvM,EAAUuM,MAAO3E,KACpBqF,EAAExU,OAAS,GAAG,CACnB,GAAI2P,GAAO6E,EAAES,OACbnB,GAAMnE,EAAK2sB,UAAYrJ,GAAY9jB,EAAIlP,KAAK0P,EAAK9K,OAEnDnE,EAAEgK,OAAOyE,GACTzO,EAAEsK,iBAEHrK,IAgBL0lB,GAAgB+f,aAAe,SAAUnT,EAAU1rB,GACjD,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUxJ,GACvC,MAAO,IAAI6P,IAAoBhJ,EAAUyM,qBAAqBif,EAAU,WAAcvyB,EAAEsK,gBAAmBrK,EAAO6J,UAAU9J,KAC3HC,IAmBL0lB,GAAgBggB,aAAe,SAAUpT,EAAU1rB,GACjD,GAAI5G,GAASkG,IAEb,OADA8C,IAAYpC,KAAeA,EAAY8H,IAChC,GAAInF,IAAoB,SAAUnC,GACvC,GAAIu+B,IAAO,CACX,OAAO,IAAI/1B,IACThJ,EAAUyM,qBAAqBif,EAAU,WAAcqT,GAAO,IAC9D3lC,EAAO6J,UAAU,SAAUC,GAAK67B,GAAQv+B,EAAS2C,OAAOD,IAAO1C,EAAS6C,QAAQ8K,KAAK3N,GAAWA,EAASiD,YAAY0K,KAAK3N,MAC3HpH,IAcL0lB,GAAgBkgB,kBAAoB,SAAUC,EAAWj/B,GACvDoC,GAAYpC,KAAeA,EAAY8H,GACvC,IAAI1O,GAASkG,KAAM89B,EAAkB6B,YAAqBtvB,MACxD,uBACA,sBACF,OAAO,IAAIhN,IAAoB,SAAUxJ,GACvC,GAAI4lC,IAAO,CAEX,OAAO,IAAI/1B,IACThJ,EAAUo9B,GAAiB6B,EAAW,WAAcF,GAAO,IAC3D3lC,EAAO6J,UACL,SAAUC,GAAK67B,GAAQ5lC,EAAEgK,OAAOD,IAChC,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,kBACnDrK,IASL0lB,GAAgBogB,kBAAoB,SAAUC,EAASn/B,GACrDoC,GAAYpC,KAAeA,EAAY8H,GACvC,IAAI1O,GAASkG,KAAM89B,EAAkB+B,YAAmBxvB,MACtD,uBACA,sBACF,OAAO,IAAIhN,IAAoB,SAAUxJ,GACvC,MAAO,IAAI6P,IACThJ,EAAUo9B,GAAiB+B,EAAS,WAAchmC,EAAEsK,gBACpDrK,EAAO6J,UAAU9J,KAClBC,IASL0lB,GAAgBsgB,cAAgB,SAAUC,EAAgBr/B,GACxDoC,GAAYpC,KAAeA,EAAY8H,GACvC,IAAI4jB,IAAY2T,GAAkB,CAClC,IAAgB,GAAZ3T,EAAiB,KAAM,IAAI4T,YAAW,+CAC1C,IAAIlmC,GAASkG,IACb,OAAO,IAAIqD,IAAoB,SAAUxJ,GACvC,GAAIomC,GAAa,CACjB,OAAOnmC,GAAO6J,UACZ,SAAUC,GACR,GAAIqJ,GAAMvM,EAAUuM,OACD,IAAfgzB,GAAoBhzB,EAAMgzB,GAAc7T,KAC1C6T,EAAahzB,EACbpT,EAAEgK,OAAOD,KAEX,SAAUxI,GAAKvB,EAAEkK,QAAQ3I,IAAO,WAAcvB,EAAEsK,iBAEnDrK,IAQL0lB,GAAgB0gB,UAAY,SAASC,GAGnC,QAASC,GAAqBvmC,GAC5B,OACEwmC,oBAAqB,WACnB,MAAOxmC,IAETymC,oBAAqB,SAASC,EAAKC,GACjC,MAAOD,GAAI18B,OAAO28B,IAEpBC,sBAAuB,SAASF,GAC9B,MAAOA,GAAIp8B,gBAXjB,GAAIrK,GAASkG,IAgBb,OAAO,IAAIqD,IAAoB,SAASxJ,GACtC,GAAI6mC,GAAQP,EAAWC,EAAqBvmC,GAC5C,OAAOC,GAAO6J,UACZ,SAAS+E,GACP,IACEg4B,EAAM,qBAAqB7mC,EAAG6O,GAC9B,MAAOtN,GACPvB,EAAEkK,QAAQ3I,KAGd,SAAUA,GAAKvB,EAAEkK,QAAQ3I,IACzB,WAAaslC,EAAM,uBAAuB7mC,MAE3CC,IAQL0lB,GAAgBmhB,UAAY,WAC1B,GAAIjuB,GAAU1S,IACd,OAAO,IAAIqD,IAAoB,SAAUnC,GACvC,GAAI0/B,IAAa,EACfz/B,GAAY,EACZiK,EAAI,GAAI7H,IACRgjB,EAAI,GAAI7c,GAkCV,OAhCA6c,GAAE5c,IAAIyB,GAENA,EAAE1H,cAAcgP,EAAQ/O,UACtB,SAAUijB,GACR,IAAKga,EAAY,CACfA,GAAa,EAEb58B,GAAU4iB,KAAiBA,EAAc3iB,GAAsB2iB,GAE/D,IAAIW,GAAoB,GAAIhkB,GAC5BgjB,GAAE5c,IAAI4d,GAENA,EAAkB7jB,cAAckjB,EAAYjjB,UAC1CzC,EAAS2C,OAAOgL,KAAK3N,GACrBA,EAAS6C,QAAQ8K,KAAK3N,GACtB,WACEqlB,EAAExS,OAAOwT,GACTqZ,GAAa,EACTz/B,GAA0B,IAAbolB,EAAEptB,QACjB+H,EAASiD,mBAKnBjD,EAAS6C,QAAQ8K,KAAK3N,GACtB,WACEC,GAAY,EACPy/B,GAA2B,IAAbra,EAAEptB,QACnB+H,EAASiD,iBAIRoiB,GACNvmB,OAULwf,GAAgBqhB,aAAe,SAAUh8B,EAAUC,GACjD,GAAI4N,GAAU1S,KACV+E,EAAeC,GAAaH,EAAUC,EAAS,EACnD,OAAO,IAAIzB,IAAoB,SAAUnC,GACvC,GAAIpE,GAAQ,EACV8jC,GAAa,EACbz/B,GAAY,EACZiK,EAAI,GAAI7H,IACRgjB,EAAI,GAAI7c,GA6CV,OA3CA6c,GAAE5c,IAAIyB,GAENA,EAAE1H,cAAcgP,EAAQ/O,UACtB,SAAUijB,GAEHga,IACHA,GAAa,EAEbrZ,kBAAoB,GAAIhkB,IACxBgjB,EAAE5c,IAAI4d,mBAENvjB,GAAU4iB,KAAiBA,EAAc3iB,GAAsB2iB,IAE/DW,kBAAkB7jB,cAAckjB,EAAYjjB,UAC1C,SAAUC,GACR,GAAI/H,EACJ,KACEA,EAASkJ,EAAanB,EAAG9G,IAAS8pB,GAClC,MAAOxrB,GAEP,WADA8F,GAAS6C,QAAQ3I,GAInB8F,EAAS2C,OAAOhI,IAElB,SAAUT,GAAK8F,EAAS6C,QAAQ3I,IAChC,WACEmrB,EAAExS,OAAOwT,mBACTqZ,GAAa,EAETz/B,GAA0B,IAAbolB,EAAEptB,QACjB+H,EAASiD,mBAKnB,SAAU/I,GAAK8F,EAAS6C,QAAQ3I,IAChC,WACE+F,GAAY,EACK,IAAbolB,EAAEptB,QAAiBynC,GACrB1/B,EAASiD,iBAGRoiB,GACNvmB,OAIL2P,GAAGmxB,qBAAwB,SAAUhlB,GAEnC,QAASilB,KACP,MAAO/gC,MAAKghC,iBAAiBhhC,KAAKihC,OAGpC,QAASxoB,GAAYrD,EAAOb,GAC1B,MAAOvU,MAAKkhC,0BAA0B9rB,EAAOpV,KAAKihC,MAAO1sB,GAG3D,QAASkB,GAAiBL,EAAO1I,EAAS6H,GACxC,MAAOvU,MAAKmhC,0BAA0B/rB,EAAOpV,KAAKohC,WAAW10B,GAAU6H,GAGzE,QAASmB,GAAiBN,EAAO1I,EAAS6H,GACxC,MAAOvU,MAAKmhC,0BAA0B/rB,EAAOpV,KAAKohC,WAAW10B,EAAU1M,KAAKiN,OAAQsH,GAGtF,QAASuB,GAAapV,EAAW6T,GAE/B,MADAA,KACOE,GAYT,QAASqsB,GAAqBO,EAAc77B,GAC1CxF,KAAKihC,MAAQI,EACbrhC,KAAKwF,SAAWA,EAChBxF,KAAKshC,WAAY,EACjBthC,KAAK4Y,MAAQ,GAAIzF,IAAc,MAC/B2I,EAAU3f,KAAK6D,KAAM+gC,EAAUtoB,EAAahD,EAAkBC,GAdhEpD,GAASwuB,EAAsBhlB,EAiB/B,IAAIylB,GAAgCT,EAAqB9jC,SAkLzD,OA1KAukC,GAA8B53B,IAAMyH,GAOpCmwB,EAA8BP,iBAAmB5vB,GAOjDmwB,EAA8BH,WAAahwB,GAS3CmwB,EAA8Bl0B,0BAA4B,SAAU+H,EAAOvI,EAAQ0H,GACjF,GAAIzT,GAAI,GAAIgX,IAA0B9X,KAAMoV,EAAOvI,EAAQ0H,EAC3D,OAAOzT,GAAEwX,SAUXipB,EAA8BJ,0BAA4B,SAAU/rB,EAAO1I,EAAS6H,GAClF,GAAIitB,GAAQxhC,KAAK2J,IAAI3J,KAAKihC,MAAOv0B,EACjC,OAAO1M,MAAKkhC,0BAA0B9rB,EAAOosB,EAAOjtB,IAStDgtB,EAA8B9rB,iBAAmB,SAAU/I,EAAS6H,GAClE,MAAOvU,MAAKmhC,0BAA0B5sB,EAAQ7H,EAASoJ,IAMzDyrB,EAA8BjpB,MAAQ,WACpC,IAAKtY,KAAKshC,UAAW,CACnBthC,KAAKshC,WAAY,CACjB,GAAG,CACD,GAAIx4B,GAAO9I,KAAKyhC,SACH,QAAT34B,GACF9I,KAAKwF,SAASsD,EAAK4D,QAAS1M,KAAKihC,OAAS,IAAMjhC,KAAKihC,MAAQn4B,EAAK4D,SAClE5D,EAAKuM,UAELrV,KAAKshC,WAAY,QAEZthC,KAAKshC,aAOlBC,EAA8BG,KAAO,WACnC1hC,KAAKshC,WAAY,GAOnBC,EAA8BI,UAAY,SAAUroB,GAClD,GAAIsoB,GAAa5hC,KAAKwF,SAASxF,KAAKihC,MAAO3nB,EAC3C,IAAItZ,KAAKwF,SAASxF,KAAKihC,MAAO3nB,GAAQ,EAAK,KAAM,IAAI1S,GACrD,IAAmB,IAAfg7B,IACC5hC,KAAKshC,UAAW,CACnBthC,KAAKshC,WAAY,CACjB,GAAG,CACD,GAAIx4B,GAAO9I,KAAKyhC,SACH,QAAT34B,GAAiB9I,KAAKwF,SAASsD,EAAK4D,QAAS4M,IAAS,GACxDtZ,KAAKwF,SAASsD,EAAK4D,QAAS1M,KAAKihC,OAAS,IAAMjhC,KAAKihC,MAAQn4B,EAAK4D,SAClE5D,EAAKuM,UAELrV,KAAKshC,WAAY,QAEZthC,KAAKshC,UACdthC,MAAKihC,MAAQ3nB,IAQjBioB,EAA8BM,UAAY,SAAUvoB,GAClD,GAAIrC,GAAKjX,KAAK2J,IAAI3J,KAAKihC,MAAO3nB,GAC1BsoB,EAAa5hC,KAAKwF,SAASxF,KAAKihC,MAAOhqB,EAC3C,IAAI2qB,EAAa,EAAK,KAAM,IAAIh7B,GACb,KAAfg7B,GAEJ5hC,KAAK2hC,UAAU1qB,IAOjBsqB,EAA8BO,MAAQ,SAAUxoB,GAC9C,GAAIrC,GAAKjX,KAAK2J,IAAI3J,KAAKihC,MAAO3nB,EAC9B,IAAItZ,KAAKwF,SAASxF,KAAKihC,MAAOhqB,IAAO,EAAK,KAAM,IAAIrQ,GAEpD5G,MAAKihC,MAAQhqB,GAOfsqB,EAA8BE,QAAU,WACtC,KAAOzhC,KAAK4Y,MAAMzf,OAAS,GAAG,CAC5B,GAAI2P,GAAO9I,KAAK4Y,MAAMjF,MACtB,KAAI7K,EAAKyM,cAGP,MAAOzM,EAFP9I,MAAK4Y,MAAM/E,UAKf,MAAO,OAUT0tB,EAA8B7rB,iBAAmB,SAAUhJ,EAAS6H,GAClE,MAAOvU,MAAKkhC,0BAA0B3sB,EAAQ7H,EAASoJ,IAUzDyrB,EAA8BL,0BAA4B,SAAU9rB,EAAO1I,EAAS6H,GAGlF,QAAStM,GAAIvH,EAAW6V,GAEtB,MADAxV,GAAK6X,MAAM7E,OAAO8E,GACXtE,EAAO7T,EAAW6V,GAJ3B,GAAIxV,GAAOf,KAOP6Y,EAAK,GAAI1D,IAAcnV,KAAMoV,EAAOnN,EAAKyE,EAAS1M,KAAKwF,SAG3D,OAFAxF,MAAK4Y,MAAM9E,QAAQ+E,GAEZA,EAAGlY,YAGLmgC,GACPtrB,IAGF7F,GAAGoyB,oBAAuB,SAAUjmB,GASlC,QAASimB,GAAoBV,EAAc77B,GACzC,GAAIy7B,GAAwB,MAAhBI,EAAuB,EAAIA,EACnCW,EAAMx8B,GAAYiL,EACtBqL,GAAU3f,KAAK6D,KAAMihC,EAAOe,GAX9B1vB,GAASyvB,EAAqBjmB,EAc9B,IAAImmB,GAA2BF,EAAoB/kC,SA0BnD,OAlBAilC,GAAyBt4B,IAAM,SAAUu4B,EAAUC,GACjD,MAAOD,GAAWC,GAGpBF,EAAyBjB,iBAAmB,SAAUkB,GACpD,MAAO,IAAI7xB,MAAK6xB,GAAUjG,WAS5BgG,EAAyBb,WAAa,SAAUjrB,GAC9C,MAAOA,IAGF4rB,GACPpyB,GAAGmxB,qBAEL,IAAIz9B,IAAsBsM,GAAGtM,oBAAuB,SAAUyY,GAI5D,QAASgF,GAAcC,GACrB,MAAOA,IAAczhB,GAAWyhB,EAAW/f,SAAW+f,EACpDzhB,GAAWyhB,GAAc3X,GAAiB2X,GAActM,GAG5D,QAAS/Q,GAAc5C,EAAGsU,GACxB,GAAI4L,GAAM5L,EAAM,GAAIzR,EAAYyR,EAAM,GAClC6L,EAAM9gB,EAASwD,GAAWqd,EAE9B,OAAIC,KAAQ/gB,IACN8gB,EAAIrB,KAAKzf,GAAS9E,OAExB4lB,GAAItd,cAAcod,EAAcG,IAFK3gB,EAAQJ,GAAS9E,GAKxD,QAASiI,GAAoBM,EAAWhB,GAGtC,QAAS7B,GAAEI,GACT,GAAI8f,GAAM,GAAIG,IAAmBjgB,GAAWkU,GAAS4L,EAAKrd,EAO1D,OALIZ,IAAuBgW,mBACzBhW,GAAuBmS,kBAAkBE,EAAO1R,GAEhDA,EAAc,KAAM0R,GAEf4L,EAVThhB,KAAKlG,OAAS6I,EAadmZ,EAAU3f,KAAK6D,KAAMc,GAGvB,MAnCAwR,IAASjP,EAAqByY,GAmCvBzY,GAEPid,IAEEa,GAAsB,SAAUrF,GAGlC,QAASqF,GAAmBjgB,GAC1B4a,EAAU3f,KAAK6D,MACfA,KAAKkB,SAAWA,EAChBlB,KAAKoL,EAAI,GAAI7H,IALf+O,GAAS6O,EAAoBrF,EAQ7B,IAAIsmB,GAA8BjhB,EAAmBnkB,SA8BrD,OA5BAolC,GAA4Bt5B,KAAO,SAAU9K,GAC3C,GAAInC,GAASsE,EAASH,KAAKkB,SAAS2C,QAAQ1H,KAAK6D,KAAKkB,SAAUlD,EAC5DnC,KAAWqE,KACbF,KAAKgB,UACLV,EAAQzE,EAAOT,KAInBgnC,EAA4B9oC,MAAQ,SAAU+O,GAC5C,GAAIxM,GAASsE,EAASH,KAAKkB,SAAS6C,SAAS5H,KAAK6D,KAAKkB,SAAUmH,EACjErI,MAAKgB,UACLnF,IAAWqE,IAAYI,EAAQzE,EAAOT,IAGxCgnC,EAA4B1iB,UAAY,WACtC,GAAI7jB,GAASsE,EAASH,KAAKkB,SAASiD,aAAahI,KAAK6D,KAAKkB,SAC3DlB,MAAKgB,UACLnF,IAAWqE,IAAYI,EAAQzE,EAAOT,IAGxCgnC,EAA4B1+B,cAAgB,SAAU1F,GAASgC,KAAKoL,EAAE1H,cAAc1F,IACpFokC,EAA4BrvB,cAAgB,WAAc,MAAO/S,MAAKoL,EAAE2H,iBAExEqvB,EAA4BphC,QAAU,WACpC8a,EAAU9e,UAAUgE,QAAQ7E,KAAK6D,MACjCA,KAAKoL,EAAEpK,WAGFmgB,GACP1B,IAEEyM,GAAqB,SAAUpQ,GAGjC,QAASnY,GAAUzC,GACjB,MAAOlB,MAAKqiC,qBAAqB1+B,UAAUzC,GAG7C,QAASgrB,GAAkBzvB,EAAK4lC,EAAsBC,GACpDxmB,EAAU3f,KAAK6D,KAAM2D,GACrB3D,KAAKvD,IAAMA,EACXuD,KAAKqiC,qBAAwBC,EAE3B,GAAIj/B,IAAoB,SAAUnC,GAChC,MAAO,IAAIwI,IAAoB44B,EAAiBvvB,gBAAiBsvB,EAAqB1+B,UAAUzC,MAFlGmhC,EAMJ,MAhBA/vB,IAAS4Z,EAAmBpQ,GAgBrBoQ,GACP5L,IAME1V,GAAU+E,GAAG/E,QAAW,SAAUkR,GACpC,QAASnY,GAAUzC,GAEjB,MADAyT,IAAc3U,MACTA,KAAKmB,UAINnB,KAAKk1B,UACPh0B,EAAS6C,QAAQ/D,KAAK1G,OACfmb,KAETvT,EAASiD,cACFsQ,KARLzU,KAAKi1B,UAAU77B,KAAK8H,GACb,GAAI8zB,IAAkBh1B,KAAMkB,IAevC,QAAS0J,KACPkR,EAAU3f,KAAK6D,KAAM2D,GACrB3D,KAAKY,YAAa,EAClBZ,KAAKmB,WAAY,EACjBnB,KAAKi1B,aACLj1B,KAAKk1B,UAAW,EAuElB,MAjFA5iB,IAAS1H,EAASkR,GAalBrJ,GAAc7H,EAAQ5N,UAAWwhB,GAASxhB,WAKxCo4B,aAAc,WAAc,MAAOp1B,MAAKi1B,UAAU97B,OAAS,GAI3DgL,YAAa,WAEX,GADAwQ,GAAc3U,OACTA,KAAKmB,UAAW,CACnBnB,KAAKmB,WAAY,CACjB,KAAK,GAAIlI,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAGkL,aAGRnE,MAAKi1B,UAAU97B,OAAS,IAO5B4K,QAAS,SAAUzK,GAEjB,GADAqb,GAAc3U,OACTA,KAAKmB,UAAW,CACnBnB,KAAKmB,WAAY,EACjBnB,KAAK1G,MAAQA,EACb0G,KAAKk1B,UAAW,CAChB,KAAK,GAAIj8B,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAG8K,QAAQzK,EAGhB0G,MAAKi1B,UAAU97B,OAAS,IAO5B0K,OAAQ,SAAU7F,GAEhB,GADA2W,GAAc3U,OACTA,KAAKmB,UACR,IAAK,GAAIlI,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAG4K,OAAO7F,IAOnBgD,QAAS,WACPhB,KAAKY,YAAa,EAClBZ,KAAKi1B,UAAY,QAUrBrqB,EAAQ4J,OAAS,SAAUtT,EAAU3H,GACnC,MAAO,IAAIgpC,IAAiBrhC,EAAU3H,IAGjCqR,GACP0V,IAMEiB,GAAe5R,GAAG4R,aAAgB,SAAUzF,GAE9C,QAASnY,GAAUzC,GAGjB,MAFAyT,IAAc3U,MAETA,KAAKmB,WAKNnB,KAAKk1B,SACPh0B,EAAS6C,QAAQ/D,KAAK1G,OACb0G,KAAKkG,UACdhF,EAAS2C,OAAO7D,KAAKhC,OACrBkD,EAASiD,eAETjD,EAASiD,cAGJsQ,KAbLzU,KAAKi1B,UAAU77B,KAAK8H,GACb,GAAI8zB,IAAkBh1B,KAAMkB,IAqBvC,QAASqgB,KACPzF,EAAU3f,KAAK6D,KAAM2D,GAErB3D,KAAKY,YAAa,EAClBZ,KAAKmB,WAAY,EACjBnB,KAAKkG,UAAW,EAChBlG,KAAKi1B,aACLj1B,KAAKk1B,UAAW,EA4ElB,MAzFA5iB,IAASiP,EAAczF,GAgBvBrJ,GAAc8O,EAAavkB,UAAWwhB,IAKpC4W,aAAc,WAEZ,MADAzgB,IAAc3U,MACPA,KAAKi1B,UAAU97B,OAAS,GAKjCgL,YAAa,WACX,GAAIlL,GAAGC,CAEP,IADAyb,GAAc3U,OACTA,KAAKmB,UAAW,CACnBnB,KAAKmB,WAAY,CACjB,IAAIk0B,GAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,MAE9C,IAAI6G,KAAKkG,SACP,IAAKjN,EAAI,EAAOC,EAAJD,EAASA,IAAK,CACxB,GAAIY,GAAIw7B,EAAGp8B,EACXY,GAAEgK,OAAO7D,KAAKhC,OACdnE,EAAEsK,kBAGJ,KAAKlL,EAAI,EAAOC,EAAJD,EAASA,IACnBo8B,EAAGp8B,GAAGkL,aAIVnE,MAAKi1B,UAAU97B,OAAS,IAO5B4K,QAAS,SAAUzK,GAEjB,GADAqb,GAAc3U,OACTA,KAAKmB,UAAW,CACnBnB,KAAKmB,WAAY,EACjBnB,KAAKk1B,UAAW,EAChBl1B,KAAK1G,MAAQA,CAEb,KAAK,GAAIL,GAAI,EAAGo8B,EAAKv8B,EAAWkH,KAAKi1B,WAAY/7B,EAAMm8B,EAAGl8B,OAAYD,EAAJD,EAASA,IACzEo8B,EAAGp8B,GAAG8K,QAAQzK,EAGhB0G,MAAKi1B,UAAU97B,OAAS,IAO5B0K,OAAQ,SAAU7F,GAChB2W,GAAc3U,MACVA,KAAKmB,YACTnB,KAAKhC,MAAQA,EACbgC,KAAKkG,UAAW,IAKlBlF,QAAS,WACPhB,KAAKY,YAAa,EAClBZ,KAAKi1B,UAAY,KACjBj1B,KAAK0N,UAAY,KACjB1N,KAAKhC,MAAQ,QAIVujB,GACPjB,IAEEiiB,GAAmB5yB,GAAG4yB,iBAAoB,SAAUzmB,GAGtD,QAASnY,GAAUzC,GACjB,MAAOlB,MAAKzG,WAAWoK,UAAUzC,GAGnC,QAASqhC,GAAiBrhC,EAAU3H,GAClCyG,KAAKkB,SAAWA,EAChBlB,KAAKzG,WAAaA,EAClBuiB,EAAU3f,KAAK6D,KAAM2D,GAevB,MAxBA2O,IAASiwB,EAAkBzmB,GAY3BrJ,GAAc8vB,EAAiBvlC,UAAWwhB,GAASxhB,WACjDmH,YAAa,WACXnE,KAAKkB,SAASiD,eAEhBJ,QAAS,SAAUzK,GACjB0G,KAAKkB,SAAS6C,QAAQzK,IAExBuK,OAAQ,SAAU7F,GAChBgC,KAAKkB,SAAS2C,OAAO7F,MAIlBukC,GACPjiB,GAKF3Q,IAAG6yB,OAAU,SAAU1mB,GAGrB,QAAS0mB,KACP1mB,EAAU3f,KAAK6D,MAajB,MAhBAsS,IAASkwB,EAAQ1mB,GASjB0mB,EAAOxlC,UAAU60B,MAAQ,WAAc7xB,KAAK6D,QAAO,IAKnD2+B,EAAOxlC,UAAU80B,OAAS,WAAc9xB,KAAK6D,QAAO,IAE7C2+B,GACP53B,IAEmB,kBAAV63B,SAA6C,gBAAdA,QAAOC,KAAmBD,OAAOC,KACzE5gC,GAAK6N,GAAKA,GAEV8yB,OAAO,WACL,MAAO9yB,OAEAR,IAAeG,GAEpBE,IACDF,GAAWF,QAAUO,IAAIA,GAAKA,GAE/BR,GAAYQ,GAAKA,GAInB7N,GAAK6N,GAAKA,EAIZ,IAAI1U,IAAcC,MAElBiB,KAAK6D"} \ No newline at end of file diff --git a/dist/rx.all.min.js b/dist/rx.all.min.js index 3395fd4e8..e14d49ff9 100644 --- a/dist/rx.all.min.js +++ b/dist/rx.all.min.js @@ -2,6 +2,6 @@ (function(a){function b(a){for(var b=[],c=0,d=a.length;d>c;c++)b.push(a[c]);return b}function c(a,b){if(Na&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(Ra)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+Ra+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===Pa&&d>=Qa&&Cd>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(Na)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return Pa=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!yb(a))return b;xb.nonEnumArgs&&a.length&&zb(a)&&(a=Cb.call(a));var c=xb.enumPrototypes&&"function"==typeof a,d=xb.enumErrorProps&&(a===sb||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(xb.nonEnumShadows&&a!==tb){var f=a.constructor,g=-1,h=eb;if(a===(f&&f.prototype))var i=a===ub?ob:a===sb?jb:pb.call(a),j=wb[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function o(){try{return Ab.apply(this,arguments)}catch(a){return Gb.e=a,Gb}}function p(a){if(!Ma(a))throw new TypeError("fn must be a function");return Ab=a,o}function q(a){throw a}function r(a,b){this.id=a,this.value=b}function t(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function u(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function v(a){this.observer=a,this.a=[],this.isStopped=!1}function w(){this._s=s}function x(){this._s=s,this._l=s.length,this._i=0}function y(a){this._a=a}function z(a){this._a=a,this._l=D(a),this._i=0}function A(a){return"number"==typeof a&&ya.isFinite(a)}function B(b){var c,d=b[Za];if(!d&&"string"==typeof b)return c=new w(b),c[Za]();if(!d&&b.length!==a)return c=new y(b),c[Za]();if(!d)throw new TypeError("Object is not iterable");return b[Za]()}function C(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function D(a){var b=+a.length;return isNaN(b)?0:0!==b&&A(b)?(b=C(b)*Math.floor(Math.abs(b)),0>=b?0:b>Ec?Ec:b):b}function E(a,b){this.observer=a,this.parent=b}function F(a,b){return Wb(a)||(a=_b),new Gc(b,a)}function G(a,b){this.observer=a,this.parent=b}function H(a,b){this.observer=a,this.parent=b}function I(a,b){return new wd(function(c){var d=new Qb,e=new Rb;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}Ka(d)&&(d=xc(d));var g=new Qb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function J(a,b){var c=this;return new wd(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function K(){return!1}function L(){return[]}function M(a,b,c){var d=cb(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return Ka(e)&&(e=xc(e)),(ab(e)||_a(e))&&(e=Fc(e)),e}).concatAll()}function N(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function O(a){this.comparer=a,this.set=[]}function P(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function Q(a,b,c){var d=cb(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return Ka(e)&&(e=xc(e)),(ab(e)||_a(e))&&(e=Fc(e)),e}).mergeAll()}function R(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function S(a,b,c){return new wd(function(d){var e=!1,f=null,g=[];return a.subscribe(function(a){var h,i;try{i=b(a)}catch(j){return void d.onError(j)}if(h=0,e)try{h=c(i,f)}catch(k){return void d.onError(k)}else e=!0,f=i;h>0&&(f=i,g=[]),h>=0&&g.push(a)},function(a){d.onError(a)},function(){d.onNext(g),d.onCompleted()})},a)}function T(a){if(0===a.length)throw new Sa;return a[0]}function U(a,b,c,d){if(0>b)throw new Ua;return new wd(function(e){var f=b;return a.subscribe(function(a){0===f--&&(e.onNext(a),e.onCompleted())},function(a){e.onError(a)},function(){c?(e.onNext(d),e.onCompleted()):e.onError(new Ua)})},a)}function V(a,b,c){return new wd(function(d){var e=c,f=!1;return a.subscribe(function(a){f?d.onError(new Error("Sequence contains more than one element")):(e=a,f=!0)},function(a){d.onError(a)},function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Sa)})},a)}function W(a,b,c){return new wd(function(d){return a.subscribe(function(a){d.onNext(a),d.onCompleted()},function(a){d.onError(a)},function(){b?(d.onNext(c),d.onCompleted()):d.onError(new Sa)})},a)}function X(a,b,c){return new wd(function(d){var e=c,f=!1;return a.subscribe(function(a){e=a,f=!0},function(a){d.onError(a)},function(){f||b?(d.onNext(e),d.onCompleted()):d.onError(new Sa)})},a)}function Y(b,c,d,e){var f=cb(c,d,3);return new wd(function(c){var d=0;return b.subscribe(function(a){var g;try{g=f(a,d,b)}catch(h){return void c.onError(h)}g?(c.onNext(e?d:a),c.onCompleted()):d++},function(a){c.onError(a)},function(){c.onNext(e?-1:a),c.onCompleted()})},b)}function Z(a,b){return Array.isArray(a)?$.call(b,a):ca(a)?dd(a.call(b)):da(a)?dd(a):ba(a)?_(a):Ka(a)?aa(a):typeof a===bd?a:yb(a)||Array.isArray(a)?$.call(b,a):a}function $(a){var b=this;return function(c){function d(a,d){if(!e)try{if(a=Z(a,b),typeof a!==bd)return h[d]=a,--g||c(null,h);a.call(b,function(a,b){if(!e){if(a)return e=!0,c(a);h[d]=b,--g||c(null,h)}})}catch(f){e=!0,c(f)}}var e,f=Object.keys(a),g=f.length,h=new a.constructor;if(!g)return void dc.schedule(function(){c(null,h)});for(var i=0,j=f.length;j>i;i++)d(a[f[i]],f[i])}}function _(a){return function(b){var c,d=!1;a.subscribe(function(a){c=a,d=!0},b,function(){d&&b(null,c)})}}function aa(a){return function(b){a.then(function(a){b(null,a)},b)}}function ba(a){return a&&typeof a.subscribe===bd}function ca(a){return a&&a.constructor&&"GeneratorFunction"===a.constructor.name}function da(a){return a&&typeof a.next===bd&&typeof a[cd]===bd}function ea(a){a&&dc.schedule(function(){throw a})}function fa(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),Mb(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function ga(a,b,c){var d=new Jb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(ga(a.item(e),b,c));else a&&d.add(fa(a,b,c));return d}function ha(a,b,c){return new wd(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(Fa))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new Jb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}function ia(a,b){return a.groupJoin(this,b,Bc,function(a,b){return b})}function ja(a){var b=this;return new wd(function(c){var d=new zd,e=new Jb,f=new Sb(e);return c.onNext(Fb(d,f)),e.add(b.subscribe(function(a){d.onNext(a)},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),Ka(a)&&(a=xc(a)),e.add(a.subscribe(function(){d.onCompleted(),d=new zd,c.onNext(Fb(d,f))},function(a){d.onError(a),c.onError(a)},function(){d.onCompleted(),c.onCompleted()})),f},b)}function ka(a){var b=this;return new wd(function(c){function d(){var b;try{b=a()}catch(f){return void c.onError(f)}Ka(b)&&(b=xc(b));var i=new Qb;e.setDisposable(i),i.setDisposable(b.take(1).subscribe(Ea,function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),h=new zd,c.onNext(Fb(h,g)),d()}))}var e=new Rb,f=new Jb(e),g=new Sb(f),h=new zd;return c.onNext(Fb(h,g)),f.add(b.subscribe(function(a){h.onNext(a)},function(a){h.onError(a),c.onError(a)},function(){h.onCompleted(),c.onCompleted()})),d(),g},b)}function la(b,c){return new kc(function(){return new jc(function(){return b()?{done:!1,value:c}:{done:!0,value:a}})})}function ma(a){this.patterns=a}function na(a,b){this.expression=a,this.selector=b}function oa(a,b,c){var d=a.get(b);if(!d){var e=new ud(b,c);return a.set(b,e),e}return d}function pa(a,b,c){this.joinObserverArray=a,this.onNext=b,this.onCompleted=c,this.joinObservers=new td;for(var d=0,e=this.joinObserverArray.length;e>d;d++){var f=this.joinObserverArray[d];this.joinObservers.set(f,f)}}function qa(a,b){return new wd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function ra(a,b,c){return new wd(function(d){var e=a,f=Vb(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function sa(a,b){return new wd(function(c){return b.scheduleWithRelative(Vb(a),function(){c.onNext(0),c.onCompleted()})})}function ta(a,b,c){return a===b?new wd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):zc(function(){return ra(c.now()+a,b,c)})}function ua(a,b,c){return new wd(function(d){var e,f=!1,g=new Rb,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new Qb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new Jb(e,g)},a)}function va(a,b,c){return zc(function(){return ua(a,b-c.now(),c)})}function wa(a,b){return new wd(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new Jb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}var xa={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},ya=xa[typeof window]&&window||this,za=xa[typeof exports]&&exports&&!exports.nodeType&&exports,Aa=xa[typeof module]&&module&&!module.nodeType&&module,Ba=Aa&&Aa.exports===za&&za,Ca=xa[typeof global]&&global;!Ca||Ca.global!==Ca&&Ca.window!==Ca||(ya=Ca);var Da={internals:{},config:{Promise:ya.Promise},helpers:{}},Ea=Da.helpers.noop=function(){},Fa=(Da.helpers.notDefined=function(a){return"undefined"==typeof a},Da.helpers.identity=function(a){return a}),Ga=(Da.helpers.pluck=function(a){return function(b){return b[a]}},Da.helpers.just=function(a){return function(){return a}},Da.helpers.defaultNow=Date.now),Ha=Da.helpers.defaultComparer=function(a,b){return Bb(a,b)},Ia=Da.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},Ja=(Da.helpers.defaultKeySerializer=function(a){return a.toString()},Da.helpers.defaultError=function(a){throw a}),Ka=Da.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},La=(Da.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},Da.helpers.not=function(a){return!a}),Ma=Da.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==pb.call(a)}),a}();Da.config.longStackSupport=!1;var Na=!1;try{throw new Error}catch(Oa){Na=!!Oa.stack}var Pa,Qa=g(),Ra="From previous event:",Sa=Da.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};Sa.prototype=Error.prototype;var Ta=Da.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};Ta.prototype=Error.prototype;var Ua=Da.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};Ua.prototype=Error.prototype;var Va=Da.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};Va.prototype=Error.prototype;var Wa=Da.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};Wa.prototype=Error.prototype;var Xa=Da.helpers.notImplemented=function(){throw new Wa},Ya=Da.helpers.notSupported=function(){throw new Va},Za="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";ya.Set&&"function"==typeof(new ya.Set)["@@iterator"]&&(Za="@@iterator");var $a=Da.doneEnumerator={done:!0,value:a},_a=Da.helpers.isIterable=function(b){return b[Za]!==a},ab=Da.helpers.isArrayLike=function(b){return b&&b.length!==a};Da.helpers.iterator=Za;var bb,cb=Da.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},db=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],eb=db.length,fb="[object Arguments]",gb="[object Array]",hb="[object Boolean]",ib="[object Date]",jb="[object Error]",kb="[object Function]",lb="[object Number]",mb="[object Object]",nb="[object RegExp]",ob="[object String]",pb=Object.prototype.toString,qb=Object.prototype.hasOwnProperty,rb=pb.call(arguments)==fb,sb=Error.prototype,tb=Object.prototype,ub=String.prototype,vb=tb.propertyIsEnumerable;try{bb=!(pb.call(document)==mb&&!({toString:0}+""))}catch(Oa){bb=!0}var wb={};wb[gb]=wb[ib]=wb[lb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},wb[hb]=wb[ob]={constructor:!0,toString:!0,valueOf:!0},wb[jb]=wb[kb]=wb[nb]={constructor:!0,toString:!0},wb[mb]={constructor:!0};var xb={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);xb.enumErrorProps=vb.call(sb,"message")||vb.call(sb,"name"),xb.enumPrototypes=vb.call(a,"prototype"),xb.nonEnumArgs=0!=c,xb.nonEnumShadows=!/valueOf/.test(b)}(1);var yb=Da.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},zb=function(a){return a&&"object"==typeof a?pb.call(a)==fb:!1};rb||(zb=function(a){return a&&"object"==typeof a?qb.call(a,"callee"):!1});var Ab,Bb=Da.internals.isEqual=function(a,b){return m(a,b,[],[])},Cb=({}.hasOwnProperty,Array.prototype.slice),Db=this.inherits=Da.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},Eb=Da.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}},Fb=Da.internals.addRef=function(a,b){return new wd(function(c){return new Jb(b.getDisposable(),a.subscribe(c))})},Gb={e:{}};r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Hb=Da.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},Ib=Hb.prototype;Ib.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},Ib.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)}}},Ib.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!Ob(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},Kb=Jb.prototype;Kb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},Kb.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},Kb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var Lb=Da.Disposable=function(a){this.isDisposed=!1,this.action=a||Ea};Lb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var Mb=Lb.create=function(a){return new Lb(a)},Nb=Lb.empty={dispose:Ea},Ob=Lb.isDisposable=function(a){return a&&Ma(a.dispose)},Pb=Lb.checkDisposed=function(a){if(a.isDisposed)throw new Ta},Qb=Da.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};Qb.prototype.getDisposable=function(){return this.current},Qb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},Qb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var Rb=Da.SerialDisposable=function(){this.isDisposed=!1,this.current=null};Rb.prototype.getDisposable=function(){return this.current},Rb.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},Rb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var Sb=Da.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?Nb:new a(this)},b}();t.prototype.dispose=function(){this.scheduler.scheduleWithState(this,u)};var Tb=Da.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||Ia,this.disposable=new Qb};Tb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},Tb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},Tb.prototype.isCancelled=function(){return this.disposable.isDisposed},Tb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var Ub=Da.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),Nb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=Ga,a.normalize=function(a){return 0>a&&(a=0),a},a}(),Vb=Ub.normalize,Wb=Ub.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),Nb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new Jb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),Nb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new Jb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(Ub.prototype),function(){Ub.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},Ub.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof ya.setInterval)throw new Va;b=Vb(b);var d=a,e=ya.setInterval(function(){d=c(d)},b);return Mb(function(){ya.clearInterval(e)})}}(Ub.prototype),function(a){a.catchError=a["catch"]=function(a){return new ec(this,a)}}(Ub.prototype);var Xb,Yb,Zb=Da.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 Qb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),$b=Ub.immediate=function(){function a(a,b){return b(this,a)}return new Ub(Ga,a,Ya,Ya)}(),_b=Ub.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new Tb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new Hb(4),c.enqueue(e);var f=p(a)();if(c=null,f===Gb)return q(f.e)}return e.disposable}var c,d=new Ub(Ga,b,Ya,Ya);return d.scheduleRequired=function(){return!c},d}(),ac=function(){var a,b=Ea;if(ya.setTimeout)a=ya.setTimeout,b=ya.clearTimeout;else{if(!ya.WScript)throw new Va;a=function(a,b){ya.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}(),bc=ac.setTimeout,cc=ac.clearTimeout;!function(){function a(b){if(f)bc(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=p(c)();if(Yb(b),f=!1,d===Gb)return q(d.e)}}}function b(){if(!ya.postMessage||ya.importScripts)return!1;var a=!1,b=ya.onmessage;return ya.onmessage=function(){a=!0},ya.postMessage("","*"),ya.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;Yb=function(a){delete e[a]};var g=RegExp("^"+String(pb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=Ca&&Ba&&Ca.setImmediate)&&!g.test(h)&&h;if(Ma(h))Xb=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Xb=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();ya.addEventListener?ya.addEventListener("message",c,!1):ya.attachEvent?ya.attachEvent("onmessage",c):ya.onmessage=c,Xb=function(a){var b=d++;return e[b]=a,ya.postMessage(i+currentId,"*"),b}}else if(ya.MessageChannel){var j=new ya.MessageChannel;j.port1.onmessage=function(b){a(b.data)},Xb=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else Xb="document"in ya&&"onreadystatechange"in ya.document.createElement("script")?function(b){var c=ya.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},ya.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,bc(function(){a(c)},0),c}}();var dc=Ub.timeout=Ub["default"]=function(){function a(a,b){var c=this,d=new Qb,e=Xb(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new Jb(d,Mb(function(){Yb(e)}))}function b(a,b,c){var d=this,e=Ub.normalize(b),f=new Qb;if(0===e)return d.scheduleWithState(a,c);var g=bc(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new Jb(f,Mb(function(){cc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new Ub(Ga,a,b,c)}(),ec=function(a){function b(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function c(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function d(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function e(e,f){this._scheduler=e,this._handler=f,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,this._scheduler.now.bind(this._scheduler),b,c,d)}return Db(e,a),e.prototype._clone=function(a){return new e(a,this._handler)},e.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return Nb}}},e.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},e.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new Qb;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},e}(Ub),fc=Da.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return Wb(a)||(a=$b),new wd(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),gc=fc.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){return new fc("N",d,null,a,b,c)}}(),hc=fc.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){return new fc("E",null,d,a,b,c)}}(),ic=fc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new fc("C",null,null,a,b,c)}}(),jc=Da.internals.Enumerator=function(a){this._next=a};jc.prototype.next=function(){return this._next()},jc.prototype[Za]=function(){return this};var kc=Da.internals.Enumerable=function(a){this._iterator=a};kc.prototype[Za]=function(){return this._iterator()},kc.prototype.concat=function(){var a=this;return new wd(function(b){var c,d=a[Za](),e=new Rb,f=$b.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;Ka(h)&&(h=xc(h));var i=new Qb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new Jb(e,f,Mb(function(){c=!0}))})},kc.prototype.catchError=function(){var a=this;return new wd(function(b){var c,d=a[Za](),e=new Rb,f=$b.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;Ka(i)&&(i=xc(i));var j=new Qb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new Jb(e,f,Mb(function(){c=!0}))})},kc.prototype.catchErrorWhen=function(a){var b=this;return new wd(function(c){var d,e,f=new zd,g=new zd,h=a(f),i=h.subscribe(g),j=b[Za](),k=new Rb,l=$b.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;Ka(i)&&(i=xc(i));var l=new Qb,m=new Qb;k.setDisposable(new Jb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new Jb(i,k,l,Mb(function(){d=!0}))})};var lc=kc.repeat=function(a,b){return null==b&&(b=-1),new kc(function(){var c=b;return new jc(function(){return 0===c?$a:(c>0&&c--,{done:!1,value:a})})})},mc=kc.of=function(a,b,c){if(b)var d=cb(b,c,3);return new kc(function(){var c=-1;return new jc(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(qc),uc=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return Db(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(tc),vc=Da.Observable=function(){function a(a){if(Da.config.longStackSupport&&Na){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){var e=b.onError.bind(b);return b.onError=function(a){c(a,d),e(a)},a.call(d,b)}}else this._subscribe=a}return pc=a.prototype,pc.subscribe=pc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:oc(a,b,c))},pc.subscribeOnNext=function(a,b){return this._subscribe(oc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},pc.subscribeOnError=function(a,b){return this._subscribe(oc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},pc.subscribeOnCompleted=function(a,b){return this._subscribe(oc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},a}(),wc=Da.ObservableBase=function(a){function b(a){return a&&Ma(a.dispose)?a:Ma(a)?Mb(a):Nb}function c(a,c){var d=c[0],e=c[1],f=p(e.subscribeCore).call(e,d);return f!==Gb||d.fail(Gb.e)?void d.setDisposable(b(f)):q(Gb.e)}function d(a){var b=new xd(a),d=[b,this];return _b.scheduleRequired()?_b.scheduleWithState(d,c):c(null,d),b}function e(){a.call(this,d)}return Db(e,a),e.prototype.subscribeCore=Xa,e}(vc);pc.observeOn=function(a){var b=this;return new wd(function(c){return b.subscribe(new uc(a,c))},b)},pc.subscribeOn=function(a){var b=this;return new wd(function(c){var d=new Qb,e=new Rb;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new t(a,b.subscribe(c)))})),e},b)};var xc=vc.fromPromise=function(a){return zc(function(){var b=new Da.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};pc.toPromise=function(a){if(a||(a=Da.config.Promise),!a)throw new Va("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})};var yc=function(a){function b(b){this.source=b,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new v(a))},b}(wc);v.prototype.onNext=function(a){this.isStopped||this.a.push(a)},v.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},v.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},v.prototype.dispose=function(){this.isStopped=!0},v.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},pc.toArray=function(){return new yc(this)},vc.create=vc.createWithDisposable=function(a,b){return new wd(a,b)};var zc=vc.defer=function(a){return new wd(function(b){var c;try{c=a()}catch(d){return Qc(d).subscribe(b)}return Ka(c)&&(c=xc(c)),c.subscribe(b)})},Ac=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(wc),Bc=vc.empty=function(a){return Wb(a)||(a=$b),new Ac(a)},Cc=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new Dc(a,this);return b.run()},b}(wc),Dc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=B(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),Ec=Math.pow(2,53)-1;w.prototype[Za]=function(){return new x(this._s)},x.prototype[Za]=function(){return this},x.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};var Hc=vc.fromArray=function(a,b){return Wb(b)||(b=_b),new Gc(a,b)};vc.generate=function(a,b,c,d,e){return Wb(e)||(e=_b),new wd(function(f){var g=!0;return e.scheduleRecursiveWithState(a,function(a,e){var h,i;try{g?g=!1:a=c(a),h=b(a),h&&(i=d(a))}catch(j){return f.onError(j)}h?(f.onNext(i),e(a)):f.onCompleted()})})},vc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new Gc(b,_b)},vc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new Gc(c,a)},vc.ofArrayChanges=function(a){if(!Array.isArray(a))throw new TypeError("Array.observe only accepts arrays.");if("function"!=typeof Array.observe&&"function"!=typeof Array.unobserve)throw new TypeError("Array.observe is not supported on your platform");return new wd(function(b){function c(a){for(var c=0,d=a.length;d>c;c++)b.onNext(a[c])}return Array.observe(a,c),function(){Array.unobserve(a,c)}})},vc.ofObjectChanges=function(a){if(null==a)throw new TypeError("object must not be null or undefined.");if("function"!=typeof Object.observe&&"function"!=typeof Object.unobserve)throw new TypeError("Array.observe is not supported on your platform");return new wd(function(b){function c(a){for(var c=0,d=a.length;d>c;c++)b.onNext(a[c])}return Object.observe(a,c),function(){Object.unobserve(a,c)}})};var Ic=function(a){function b(){a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(){return Nb},b}(wc),Jc=vc.never=function(){return new Ic},Kc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new G(a,this);return b.run()},b}(wc);G.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},vc.pairs=function(a,b){return b||(b=_b),new Kc(a,b)};var Lc=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new Mc(a,this);return b.run()},b}(wc),Mc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();vc.range=function(a,b,c){return Wb(c)||(c=_b),new Lc(a,b,c)};var Nc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new H(a,this);return b.run()},b}(wc);H.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},vc.repeat=function(a,b,c){return Wb(c)||(c=_b),new Nc(a,b,c)};var Oc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(wc),Pc=(vc["return"]=vc.just=vc.returnValue=function(a,b){return Wb(b)||(b=$b),new Oc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(wc)),Qc=vc["throw"]=vc.throwError=vc.throwException=function(a,b){return Wb(b)||(b=$b),new Pc(a,b)};vc.using=function(a,b){return new wd(function(c){var d,e,f=Nb;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new Jb(Qc(g).subscribe(c),f)}return new Jb(e.subscribe(c),f)})},pc.amb=function(a){var b=this;return new wd(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new Qb,j=new Qb;return Ka(a)&&(a=xc(a)),i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new Jb(i,j)})},vc.amb=function(){function a(a,b){return a.amb(b)}var b=Jc(),c=[];if(Array.isArray(arguments[0]))c=arguments[0];else for(var d=0,e=arguments.length;e>d;d++)c.push(arguments[d]);for(var d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},pc["catch"]=pc.catchError=pc.catchException=function(a){return"function"==typeof a?I(this,a):Rc([this,a])};var Rc=vc.catchError=vc["catch"]=vc.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return mc(a).catchError()};pc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),Sc.apply(this,b)};var Sc=vc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new wd(function(a){function c(b){if(h[b]=!0,i||(i=h.every(Fa))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(Fa)&&a.onCompleted()}function e(b){j[b]=!0,j.every(Fa)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=n(f,g),i=!1,j=n(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new Qb;Ka(f)&&(f=xc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new Jb(l)},this)};pc.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),Tc.apply(null,a)};var Tc=vc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return mc(a).concat()};pc.concatAll=pc.concatObservable=function(){return this.merge(1)};var Uc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new Jb;return b.add(this.source.subscribe(new Vc(a,this.maxConcurrent,b))),b},b}(wc),Vc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new Qb;this.g.add(c),Ka(a)&&(a=xc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();pc.merge=function(a){return"number"!=typeof a?Wc(this,a):new Uc(this,a)};var Wc=vc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(Wb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=$b,b=0;d>b;b++)c.push(arguments[b]);else for(a=$b,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),F(a,c).mergeAll()},Xc=function(a){function b(b){this.source=b,a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){var b=new Jb,c=new Qb;return b.add(c),c.setDisposable(this.source.subscribe(new Yc(a,b))),b},b}(wc),Yc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new Qb;this.g.add(c),Ka(a)&&(a=xc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();pc.mergeAll=pc.mergeObservable=function(){return new Xc(this)};var Zc=Da.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};Zc.prototype=Error.prototype,vc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=F(null,a);return new wd(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new Zc(g))}var c=new Jb,e=new Qb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new Qb;c.add(e),Ka(d)&&(d=xc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},pc.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return $c([this,a])};var $c=vc.onErrorResumeNext=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new wd(function(b){var c=0,d=new Rb,e=$b.scheduleRecursive(function(e){var f,g;cc;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new wd(function(a){for(var c=function(){return!1},f=b.length,g=n(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new Qb;Ka(d)&&(d=xc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(Fa)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new Qb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new Jb(j)},this)},pc.zip=function(){if(Array.isArray(arguments[0]))return J.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new wd(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(Fa)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=n(g,L),i=n(g,K),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new Qb;Ka(e)&&(e=xc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new Jb(j)},d)},vc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},vc.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new wd(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(Fa))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(Fa)?void b.onCompleted():void 0}for(var e=a.length,f=n(e,function(){return[]}),g=n(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new Qb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new Jb(h)})},pc.asObservable=function(){var a=this;return new wd(function(b){return a.subscribe(b)},this)},pc.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},pc.dematerialize=function(){var a=this;return new wd(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},pc.distinctUntilChanged=function(a,b){var c=this;return b||(b=Ha),new wd(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},pc["do"]=pc.tap=pc.doAction=function(a,b,c){var d=this;return new wd(function(e){var f=!a||Ma(a)?oc(a||Ea,b||Ea,c||Ea):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},pc.doOnNext=pc.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},pc.doOnError=pc.tapOnError=function(a,b){return this.tap(Ea,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},pc.doOnCompleted=pc.tapOnCompleted=function(a,b){return this.tap(Ea,null,"undefined"!=typeof b?function(){a.call(b)}:a)},pc["finally"]=pc.ensure=function(a){var b=this;return new wd(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return Mb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},pc.finallyAction=function(a){return this.ensure(a)},pc.ignoreElements=function(){var a=this;return new wd(function(b){return a.subscribe(Ea,function(a){b.onError(a)},function(){b.onCompleted()})},a)},pc.materialize=function(){var a=this;return new wd(function(b){return a.subscribe(function(a){b.onNext(gc(a))},function(a){b.onNext(hc(a)),b.onCompleted()},function(){b.onNext(ic()),b.onCompleted()})},a)},pc.repeat=function(a){return lc(this,a).concat()},pc.retry=function(a){return lc(this,a).catchError()},pc.retryWhen=function(a){return lc(this).catchErrorWhen(a)},pc.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 wd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},pc.skipLast=function(a){if(0>a)throw new Ua;var b=this;return new wd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},pc.startWith=function(){var a,b=0;arguments.length&&Wb(arguments[0])?(a=arguments[0],b=1):a=$b;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return mc([Hc(c,a),this]).concat()},pc.takeLast=function(a){if(0>a)throw new Ua;var b=this;return new wd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},pc.takeLastBuffer=function(a){var b=this;return new wd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){c.onNext(d),c.onCompleted()})},b)},pc.windowWithCount=function(a,b){var c=this;if(+a||(a=0),Math.abs(a)===1/0&&(a=0),0>=a)throw new Ua;if(null==b&&(b=a),+b||(b=0),Math.abs(b)===1/0&&(b=0),0>=b)throw new Ua;return new wd(function(d){function e(){var a=new zd;i.push(a),d.onNext(Fb(a,g))}var f=new Qb,g=new Sb(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},pc.selectConcat=pc.concatMap=function(a,b,c){return Ma(a)&&Ma(b)?this.concatMap(function(c,d){var e=a(c,d);return Ka(e)&&(e=xc(e)),(ab(e)||_a(e))&&(e=Fc(e)),e.map(function(a,e){return b(c,a,d,e)})}):Ma(a)?M(this,a,c):M(this,function(){return a})},pc.concatMapObserver=pc.selectConcatObserver=function(a,b,c,d){var e=this,f=cb(a,d,2),g=cb(b,d,1),h=cb(c,d,0);return new wd(function(a){var b=0;return e.subscribe(function(c){var d;try{d=f(c,b++)}catch(e){return void a.onError(e)}Ka(d)&&(d=xc(d)),a.onNext(d)},function(b){var c;try{c=g(b)}catch(d){return void a.onError(d)}Ka(c)&&(c=xc(c)),a.onNext(c),a.onCompleted()},function(){var b;try{b=h()}catch(c){return void a.onError(c)}Ka(b)&&(b=xc(b)),a.onNext(b),a.onCompleted()})},this).concatAll()},pc.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new wd(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},function(b){a.onError(b)},function(){!d&&a.onNext(b),a.onCompleted()})},c)},O.prototype.push=function(a){var b=-1===N(this.set,a,this.comparer);return b&&this.set.push(a),b},pc.distinct=function(a,b){var c=this;return b||(b=Ha),new wd(function(d){var e=new O(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},function(a){d.onError(a)},function(){d.onCompleted()})},this)},pc.groupBy=function(a,b,c){return this.groupByUntil(a,b,Jc,c)},pc.groupByUntil=function(a,b,c,d){var e=this;return b||(b=Fa),d||(d=Ha),new wd(function(f){function g(a){return function(b){b.onError(a)}}var h=new qd(0,d),i=new Jb,j=new Sb(i);return i.add(e.subscribe(function(d){var e;try{e=a(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}var l=!1,m=h.tryGetValue(e);if(m||(m=new zd,h.set(e,m),l=!0),l){var n=new yd(e,m,j),o=new yd(e,m);try{duration=c(o)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}f.onNext(n);var p=new Qb;i.add(p);var q=function(){h.remove(e)&&m.onCompleted(),i.remove(p)};p.setDisposable(duration.take(1).subscribe(Ea,function(a){h.getValues().forEach(g(a)),f.onError(a)},q))}var r;try{r=b(d)}catch(k){return h.getValues().forEach(g(k)),void f.onError(k)}m.onNext(r)},function(a){h.getValues().forEach(g(a)),f.onError(a)},function(){h.getValues().forEach(function(a){a.onCompleted()}),f.onCompleted()})),j},e)};var _c=function(a){function b(b,c,d){this.source=b,this.selector=cb(c,d,3),a.call(this)}return Db(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new P(a,this.selector,this))},b}(wc);P.prototype.onNext=function(a){if(!this.isStopped){var b=p(this.selector).call(this,a,this.i++,this.source);return b===Gb?this.observer.onError(b.e):void this.observer.onNext(b)}},P.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},P.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},P.prototype.dispose=function(){this.isStopped=!0},P.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},pc.map=pc.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof _c?this.internalMap(c,b):new _c(this,c,b)},pc.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},pc.selectMany=pc.flatMap=function(a,b,c){return Ma(a)&&Ma(b)?this.flatMap(function(c,d){var e=a(c,d);return Ka(e)&&(e=xc(e)),(ab(e)||_a(e))&&(e=Fc(e)),e.map(function(a,e){return b(c,a,d,e)})},c):Ma(a)?Q(this,a,c):Q(this,function(){return a})},pc.flatMapObserver=pc.selectManyObserver=function(a,b,c,d){var e=this;return new wd(function(f){var g=0;return e.subscribe(function(b){var c;try{c=a.call(d,b,g++)}catch(e){return void f.onError(e)}Ka(c)&&(c=xc(c)),f.onNext(c)},function(a){var c;try{c=b.call(d,a)}catch(e){return void f.onError(e)}Ka(c)&&(c=xc(c)),f.onNext(c),f.onCompleted()},function(){var a;try{a=c.call(d)}catch(b){return void f.onError(b)}Ka(a)&&(a=xc(a)),f.onNext(a),f.onCompleted()})},e).mergeAll()},pc.selectSwitch=pc.flatMapLatest=pc.switchMap=function(a,b){return this.select(a,b).switchLatest()},pc.skip=function(a){if(0>a)throw new Ua;var b=this;return new wd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},pc.skipWhile=function(a,b){var c=this,d=cb(a,b,3);return new wd(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},pc.take=function(a,b){if(0>a)throw new Ua;if(0===a)return Bc(b);var c=this;return new wd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},pc.takeWhile=function(a,b){var c=this,d=cb(a,b,3);return new wd(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var ad=function(a){function b(b,c,d){this.source=b,this.predicate=cb(c,d,3),a.call(this)}return Db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new R(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(wc);R.prototype.onNext=function(a){if(!this.isStopped){var b=p(this.predicate).call(this,a,this.i++,this.source);return b===Gb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},R.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},R.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},R.prototype.dispose=function(){this.isStopped=!0},R.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},pc.filter=pc.where=function(a,b){return this instanceof ad?this.internalFilter(a,b):new ad(this,a,b)},pc.aggregate=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,b=arguments[0],a=arguments[1]):a=arguments[0],new wd(function(e){var f,g,h;return d.subscribe(function(d){ -!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Sa),e.onCompleted()})},d)},pc.reduce=function(a){var b,c=!1,d=this;return 2===arguments.length&&(c=!0,b=arguments[1]),new wd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Sa),e.onCompleted()})},d)},pc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new wd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},function(b){a.onError(b)},function(){a.onNext(!1),a.onCompleted()})},c)},pc.any=function(){return this.some.apply(this,arguments)},pc.isEmpty=function(){return this.any().map(La)},pc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(La)},pc.all=function(){return this.every.apply(this,arguments)},pc.includes=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new wd(function(e){var f=0,g=+b||0;return Math.abs(g)===1/0&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),Nb):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},function(a){e.onError(a)},function(){e.onNext(!1),e.onCompleted()})},this)},pc.contains=function(a,b){pc.includes(a,b)},pc.count=function(a,b){return a?this.filter(a,b).count():this.reduce(function(a){return a+1},0)},pc.indexOf=function(a,b){var c=this;return new wd(function(d){var e=0,f=+b||0;return Math.abs(f)===1/0&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),Nb):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},function(a){d.onError(a)},function(){d.onNext(-1),d.onCompleted()})},c)},pc.sum=function(a,b){return a&&Ma(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},pc.minBy=function(a,b){return b||(b=Ia),S(this,a,function(a,c){return-1*b(a,c)})},pc.min=function(a){return this.minBy(Fa,a).map(function(a){return T(a)})},pc.maxBy=function(a,b){return b||(b=Ia),S(this,a,b)},pc.max=function(a){return this.maxBy(Fa,a).map(function(a){return T(a)})},pc.average=function(a,b){return a&&Ma(a)?this.map(a,b).average():this.reduce(function(a,b){return{sum:a.sum+b,count:a.count+1}},{sum:0,count:0}).map(function(a){if(0===a.count)throw new Sa;return a.sum/a.count})},pc.sequenceEqual=function(a,b){var c=this;return b||(b=Ha),new wd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(ab(a)||_a(a))&&(a=Fc(a)),Ka(a)&&(a=xc(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new Jb(i,j)},c)},pc.elementAt=function(a){return U(this,a,!1)},pc.elementAtOrDefault=function(a,b){return U(this,a,!0,b)},pc.single=function(a,b){return a&&Ma(a)?this.where(a,b).single():V(this,!1)},pc.singleOrDefault=function(a,b,c){return a&&Ma(a)?this.filter(a,c).singleOrDefault(null,b):V(this,!0,b)},pc.first=function(a,b){return a?this.where(a,b).first():W(this,!1)},pc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):W(this,!0,b)},pc.last=function(a,b){return a?this.where(a,b).last():X(this,!1)},pc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):X(this,!0,b)},pc.find=function(a,b){return Y(this,a,b,!1)},pc.findIndex=function(a,b){return Y(this,a,b,!0)},pc.toSet=function(){if("undefined"==typeof ya.Set)throw new TypeError;var a=this;return new wd(function(b){var c=new ya.Set;return a.subscribe(function(a){c.add(a)},function(a){b.onError(a)},function(){b.onNext(c),b.onCompleted()})},a)},pc.toMap=function(a,b){if("undefined"==typeof ya.Map)throw new TypeError;var c=this;return new wd(function(d){var e=new ya.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},function(a){d.onError(a)},function(){d.onNext(e),d.onCompleted()})},c)};var bd="function",cd="throw",yb=Da.internals.isObject,dd=Da.spawn=function(a){var b=ca(a);return function(c){function d(a,b){dc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2)for(var b=[],h=1,i=arguments.length;i>h;h++)b.push(arguments[h]);if(a)try{c=g[cd](a)}catch(j){return d(j)}if(!a)try{c=g.next(b)}catch(j){return d(j)}if(c.done)return d(null,c.value);if(c.value=Z(c.value,f),typeof c.value!==bd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var k=!1;try{c.value.call(f,function(){k||(k=!0,e.apply(f,arguments))})}catch(j){dc.schedule(function(){k||(k=!0,e.call(f,j))})}}}var f=this,g=a;if(b){for(var h=[],i=0,j=arguments.length;j>i;i++)h.push(arguments[i]);var j=h.length,k=j&&typeof h[j-1]===bd;c=k?h.pop():ea,g=a.apply(this,h)}else c=c||ea;e()}};vc.start=function(a,b,c){return ed(a,b,c)()};var ed=vc.toAsync=function(a,b,c){return Wb(c)||(c=dc),function(){var d=arguments,e=new Ad;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};vc.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new wd(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},vc.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new wd(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Da.config.useNativeEvents=!1,vc.fromEvent=function(a,b,c){return a.addListener?fd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new wd(function(d){return ga(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():fd(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var fd=vc.fromEventPattern=function(a,b,c){return new wd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return Mb(function(){b&&b(e,f)})}).publish().refCount()};vc.startAsync=function(a){var b;try{b=a()}catch(c){return Qc(c)}return xc(b)};var gd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=Nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=Nb)});return new Jb(c,d,e)}function c(c,d){this.source=c,this.controller=new zd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return Db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(vc);pc.pausable=function(a){return new gd(this,a)};var hd=function(b){function c(b){var c,d=[],e=ha(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new zd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return Db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(vc);pc.pausableBuffered=function(a){return new hd(this,a)};var id=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new jd(d),this.source=c.multicast(this.subject).refCount()}return Db(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(vc),jd=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new zd,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=Nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return Db(c,a),Eb(c.prototype,nc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Da.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Da.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Da.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?Nb:(this.requestedCount=a,this.requestedDisposable=Mb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=Nb}}),c}(vc);pc.controlled=function(a){return null==a&&(a=!0),new id(this,a)};var kd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return dc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}Db(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}Db(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;dc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(qc);return c}(vc);id.prototype.stopAndWait=function(){return new kd(this)};var ld=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return dc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}Db(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}Db(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;dc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(qc);return c}(vc);id.prototype.windowed=function(a){return new ld(this,a)},pc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},pc.multicast=function(a,b){var c=this;return"function"==typeof a?new wd(function(d){var e=c.multicast(a());return new Jb(b(e).subscribe(d),e.connect())},c):new pd(c,a)},pc.publish=function(a){return a&&Ma(a)?this.multicast(function(){return new zd},a):this.multicast(new zd)},pc.share=function(){return this.publish().refCount()},pc.publishLast=function(a){return a&&Ma(a)?this.multicast(function(){return new Ad},a):this.multicast(new Ad)},pc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new nd(b)},a):this.multicast(new nd(a))},pc.shareValue=function(a){return this.publishValue(a).refCount()},pc.replay=function(a,b,c,d){return a&&Ma(a)?this.multicast(function(){return new od(b,c,d)},a):this.multicast(new od(b,c,d))},pc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var md=function(a,b){this.subject=a,this.observer=b};md.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 nd=Da.BehaviorSubject=function(a){function c(a){return Pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),Nb):(this.observers.push(a),a.onNext(this.value),new md(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Db(d,a),Eb(d.prototype,nc,{getValue:function(){if(Pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(vc),od=Da.ReplaySubject=function(a){function c(a,b){return Mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new tc(this.scheduler,a),d=c(this,b);Pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||_b,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return Db(e,a),Eb(e.prototype,nc.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(Pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(vc),pd=Da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new Jb(f.subscribe(c),Mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return Db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new wd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(vc),qd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c=a)return d;for(e=1|a;ec;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Ua;a>0&&this._initialize(a),this.comparer=b||Ha,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof c)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;ee;++e)d[e]=f();for(var g=0;g=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();pc.join=function(a,b,c,d){var e=this;return new wd(function(f){var g=new Jb,h=!1,i=!1,j=0,k=0,l=new qd,m=new qd;return g.add(e.subscribe(function(a){var c=j++,e=new Qb;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(Ea,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new Qb;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(Ea,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},pc.groupJoin=function(a,b,c,d){var e=this;return new wd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Jb,i=new Sb(h),j=new qd,k=new qd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new zd,e=l++;j.add(e,c);var m;try{m=d(a,Fb(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new Qb;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(Ea,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new Qb;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(Ea,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},pc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},pc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ja.call(this,a):"function"==typeof a?ka.call(this,a):ia.call(this,a,b)},pc.pairwise=function(){var a=this;return new wd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},pc.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},pc.letBind=pc.let=function(a){return a(this)},vc["if"]=vc.ifThen=function(a,b,c){return zc(function(){return c||(c=Bc()),Ka(b)&&(b=xc(b)),Ka(c)&&(c=xc(c)),"function"==typeof c.now&&(c=Bc(c)),a()?b:c})},vc["for"]=vc.forIn=function(a,b,c){return mc(a,b,c).concat()};var rd=vc["while"]=vc.whileDo=function(a,b){return Ka(b)&&(b=xc(b)),la(a,b).concat()};pc.doWhile=function(a){return Tc([this,rd(a,this)])},vc["case"]=vc.switchCase=function(a,b,c){return zc(function(){Ka(c)&&(c=xc(c)),c||(c=Bc()),"function"==typeof c.now&&(c=Bc(c));var d=b[a()];return Ka(d)&&(d=xc(d)),d||c})},pc.expand=function(a,b){Wb(b)||(b=$b);var c=this;return new wd(function(d){var e=[],f=new Rb,g=new Jb(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new Qb;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},vc.forkJoin=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new wd(function(b){var c=a.length;if(0===c)return b.onCompleted(),Nb;for(var d=new Jb,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];Ka(j)&&(j=xc(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},pc.forkJoin=function(a,b){var c=this;return new wd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new Qb,l=new Qb;return Ka(a)&&(a=xc(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new Jb(k,l)},c)},pc.manySelect=function(a,b){Wb(b)||(b=$b);var c=this;return zc(function(){var d;return c.map(function(a){var b=new sd(a);return d&&d.onNext(a),d=b,b}).tap(Ea,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var sd=function(a){function b(a){var b=this,c=new Jb;return c.add(_b.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Ad}return Db(c,a),Eb(c.prototype,nc,{onCompleted:function(){this.onNext(vc.empty())},onError:function(a){this.onNext(vc.throwError(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(vc),td=ya.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();ma.prototype.and=function(a){return new ma(this.patterns.concat(a))},ma.prototype.thenDo=function(a){return new na(this,a)},na.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(oa(a,this.expression.patterns[f],b.onError.bind(b)));var h=new pa(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},pa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},pa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Ea,c.completed=Ea,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(qc);pc.and=function(a){return new ma([this,a])},pc.thenDo=function(a){return new ma([this]).thenDo(a)},vc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new wd(function(b){var c=[],d=new td,e=oc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){Qc(h).subscribe(b)}var i=new Jb;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};{var vd=vc.interval=function(a,b){return ta(a,a,Wb(b)?b:dc)};vc.timer=function(b,c,d){var e;return Wb(d)||(d=dc),c!==a&&"number"==typeof c?e=c:Wb(c)&&(d=c),b instanceof Date&&e===a?qa(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ra(b.getTime(),e,d)):e===a?sa(b,d):ta(b,e,d)}}pc.delay=function(a,b){return Wb(b)||(b=dc),a instanceof Date?va(this,a.getTime(),b):ua(this,a,b)},pc.debounce=pc.throttleWithTimeout=function(a,b){Wb(b)||(b=dc);var c=this;return new wd(function(d){var e,f=new Rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new Qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new Jb(i,f)},this)},pc.throttle=function(a,b){return this.debounce(a,b)},pc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),Wb(c)||(c=dc),"number"==typeof b?d=b:Wb(b)&&(d=a,c=b),new wd(function(b){function f(){var a=new Qb,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new zd;k.push(a),b.onNext(Fb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new Rb,m=0;return g=new Jb(l),h=new Sb(g),k.push(new zd),b.onNext(Fb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},pc.windowWithTimeOrCount=function(a,b,c){var d=this;return Wb(c)||(c=dc),new wd(function(e){function f(b){var d=new Qb;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new zd,e.onNext(Fb(l,i)),f(a)}}))}var g=new Rb,h=new Jb(g),i=new Sb(h),j=0,k=0,l=new zd;return e.onNext(Fb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new zd,e.onNext(Fb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},pc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},pc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},pc.timeInterval=function(a){var b=this;return Wb(a)||(a=dc),zc(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},pc.timestamp=function(a){return Wb(a)||(a=dc),this.map(function(b){return{value:b,timestamp:a.now()}})},pc.sample=pc.throttleLatest=function(a,b){return Wb(b)||(b=dc),"number"==typeof a?wa(this,vd(a,b)):wa(this,a)},pc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=Qc(new Error(b||"Timeout"))), -Wb(c)||(c=dc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Ka(b)&&(b=xc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new Qb,j=new Rb,k=!1,l=new Rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new Jb(j,l)},d)},vc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return Wb(f)||(f=dc),new wd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},vc.generateWithRelativeTime=function(a,b,c,d,e,f){return Wb(f)||(f=dc),new wd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},pc.delaySubscription=function(a,b){var c=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative",d=this;return Wb(b)||(b=dc),new wd(function(e){var f=new Rb;return f.setDisposable(b[c](a,function(){f.setDisposable(d.subscribe(e))})),f},this)},pc.delayWithSelector=function(a,b){var c,d,e=this;return Ma(a)?d=a:(c=a,d=b),new wd(function(a){function b(){i.setDisposable(e.subscribe(function(b){var c=p(d)(b);if(c===Gb)return a.onError(c.e);var e=new Qb;g.add(e),e.setDisposable(c.subscribe(function(){a.onNext(b),g.remove(e),f()},function(b){a.onError(b)},function(){a.onNext(b),g.remove(e),f()}))},function(b){a.onError(b)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&a.onCompleted()}var g=new Jb,h=!1,i=new Rb;return c?i.setDisposable(c.subscribe(b,function(b){a.onError(b)},b)):b(),new Jb(i,g)},this)},pc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=Jc()),c||(c=Qc(new Error("Timeout")));var d=this;return new wd(function(e){function f(a){function b(){return k===d}var d=k,f=new Qb;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new Rb,i=new Rb,j=new Qb;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Ka(c)?xc(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new Jb(h,i)},d)},pc.debounceWithSelector=function(a){var b=this;return new wd(function(c){var d,e=!1,f=new Rb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Ka(h)&&(h=xc(h)),e=!0,d=b,g++;var j=g,k=new Qb;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 Jb(h,f)},b)},pc.throttleWithSelector=function(a){return this.debounceWithSelector(a)},pc.skipLastWithTime=function(a,b){Wb(b)||(b=dc);var c=this;return new wd(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)},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},pc.takeLastWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(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()},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},pc.takeLastBufferWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(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()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},pc.takeWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(function(d){return new Jb(b.scheduleWithRelative(a,function(){d.onCompleted()}),c.subscribe(d))},c)},pc.skipWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(function(d){var e=!1;return new Jb(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},pc.skipUntilWithTime=function(a,b){Wb(b)||(b=dc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(e){var f=!1;return new Jb(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},function(a){e.onError(a)},function(){e.onCompleted()}))},c)},pc.takeUntilWithTime=function(a,b){Wb(b)||(b=dc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(e){return new Jb(b[d](a,function(){e.onCompleted()}),c.subscribe(e))},c)},pc.throttleFirst=function(a,b){Wb(b)||(b=dc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new wd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},pc.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new wd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)},pc.exclusive=function(){var a=this;return new wd(function(b){var c=!1,d=!1,e=new Qb,f=new Jb;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Ka(a)&&(a=xc(a));var e=new Qb;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},pc.exclusiveMap=function(a,b){var c=this,d=cb(a,b,3);return new wd(function(a){var b=0,e=!1,f=!0,g=new Qb,h=new Jb;return h.add(g),g.setDisposable(c.subscribe(function(c){e||(e=!0,innerSubscription=new Qb,h.add(innerSubscription),Ka(c)&&(c=xc(c)),innerSubscription.setDisposable(c.subscribe(function(e){var f;try{f=d(e,b++,c)}catch(g){return void a.onError(g)}a.onNext(f)},function(b){a.onError(b)},function(){h.remove(innerSubscription),e=!1,f&&1===h.length&&a.onCompleted()})))},function(b){a.onError(b)},function(){f=!0,1!==h.length||e||a.onCompleted()})),h},this)},Da.VirtualTimeScheduler=function(a){function b(){return this.toDateTimeOffset(this.clock)}function c(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function d(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function f(a,b){return b(),Nb}function g(f,g){this.clock=f,this.comparer=g,this.isEnabled=!1,this.queue=new Hb(1024),a.call(this,b,c,d,e)}Db(g,a);var h=g.prototype;return h.add=Xa,h.toDateTimeOffset=Xa,h.toRelative=Xa,h.schedulePeriodicWithState=function(a,b,c){var d=new Zb(this,a,b,c);return d.start()},h.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},h.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,f)},h.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},h.stop=function(){this.isEnabled=!1},h.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Ua;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},h.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Ua;0!==c&&this.advanceTo(b)},h.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Ua;this.clock=b},h.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},h.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,f)},h.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Tb(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},g}(Ub),Da.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ia;a.call(this,d,e)}Db(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(Da.VirtualTimeScheduler);var wd=Da.AnonymousObservable=function(a){function b(a){return a&&Ma(a.dispose)?a:Ma(a)?Mb(a):Nb}function c(a,c){var d=c[0],e=c[1],f=p(e)(d);return f!==Gb||d.fail(Gb.e)?void d.setDisposable(b(f)):q(Gb.e)}function d(b,d){function e(a){var d=new xd(a),e=[d,b];return _b.scheduleRequired()?_b.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return Db(d,a),d}(vc),xd=function(a){function b(b){a.call(this),this.observer=b,this.m=new Qb}Db(b,a);var c=b.prototype;return c.next=function(a){var b=p(this.observer.onNext).call(this.observer,a);b===Gb&&(this.dispose(),q(b.e))},c.error=function(a){var b=p(this.observer.onError).call(this.observer,a);this.dispose(),b===Gb&&q(b.e)},c.completed=function(){var a=p(this.observer.onCompleted).call(this.observer);this.dispose(),a===Gb&&q(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(qc),yd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new wd(function(a){return new Jb(e.getDisposable(),d.subscribe(a))}):d}return Db(c,a),c}(vc),zd=Da.Subject=function(a){function c(a){return Pb(this),this.isStopped?this.hasError?(a.onError(this.error),Nb):(a.onCompleted(),Nb):(this.observers.push(a),new md(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Db(d,a),Eb(d.prototype,nc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Bd(a,b)},d}(vc),Ad=Da.AsyncSubject=function(a){function c(a){return Pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),Nb):(this.observers.push(a),new md(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Db(d,a),Eb(d.prototype,nc,{hasObservers:function(){return Pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(Pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){Pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(vc),Bd=Da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return Db(c,a),Eb(c.prototype,nc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(vc);Da.Pauser=function(a){function b(){a.call(this)}return Db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(zd),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ya.Rx=Da,define(function(){return Da})):za&&Aa?Ba?(Aa.exports=Da).Rx=Da:za.Rx=Da:ya.Rx=Da;var Cd=g()}).call(this); +!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Sa),e.onCompleted()})},d)},pc.reduce=function(a){var b,c=!1,d=this;return 2===arguments.length&&(c=!0,b=arguments[1]),new wd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=a(g,d):(g=c?a(b,d):d,f=!0)}catch(i){return e.onError(i)}},function(a){e.onError(a)},function(){h&&e.onNext(g),!h&&c&&e.onNext(b),!h&&!c&&e.onError(new Sa),e.onCompleted()})},d)},pc.some=function(a,b){var c=this;return a?c.filter(a,b).some():new wd(function(a){return c.subscribe(function(){a.onNext(!0),a.onCompleted()},function(b){a.onError(b)},function(){a.onNext(!1),a.onCompleted()})},c)},pc.any=function(){return this.some.apply(this,arguments)},pc.isEmpty=function(){return this.any().map(La)},pc.every=function(a,b){return this.filter(function(b){return!a(b)},b).some().map(La)},pc.all=function(){return this.every.apply(this,arguments)},pc.includes=function(a,b){function c(a,b){return 0===a&&0===b||a===b||isNaN(a)&&isNaN(b)}var d=this;return new wd(function(e){var f=0,g=+b||0;return Math.abs(g)===1/0&&(g=0),0>g?(e.onNext(!1),e.onCompleted(),Nb):d.subscribe(function(b){f++>=g&&c(b,a)&&(e.onNext(!0),e.onCompleted())},function(a){e.onError(a)},function(){e.onNext(!1),e.onCompleted()})},this)},pc.contains=function(a,b){pc.includes(a,b)},pc.count=function(a,b){return a?this.filter(a,b).count():this.reduce(function(a){return a+1},0)},pc.indexOf=function(a,b){var c=this;return new wd(function(d){var e=0,f=+b||0;return Math.abs(f)===1/0&&(f=0),0>f?(d.onNext(-1),d.onCompleted(),Nb):c.subscribe(function(b){e>=f&&b===a&&(d.onNext(e),d.onCompleted()),e++},function(a){d.onError(a)},function(){d.onNext(-1),d.onCompleted()})},c)},pc.sum=function(a,b){return a&&Ma(a)?this.map(a,b).sum():this.reduce(function(a,b){return a+b},0)},pc.minBy=function(a,b){return b||(b=Ia),S(this,a,function(a,c){return-1*b(a,c)})},pc.min=function(a){return this.minBy(Fa,a).map(function(a){return T(a)})},pc.maxBy=function(a,b){return b||(b=Ia),S(this,a,b)},pc.max=function(a){return this.maxBy(Fa,a).map(function(a){return T(a)})},pc.average=function(a,b){return a&&Ma(a)?this.map(a,b).average():this.reduce(function(a,b){return{sum:a.sum+b,count:a.count+1}},{sum:0,count:0}).map(function(a){if(0===a.count)throw new Sa;return a.sum/a.count})},pc.sequenceEqual=function(a,b){var c=this;return b||(b=Ha),new wd(function(d){var e=!1,f=!1,g=[],h=[],i=c.subscribe(function(a){var c,e;if(h.length>0){e=h.shift();try{c=b(e,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else f?(d.onNext(!1),d.onCompleted()):g.push(a)},function(a){d.onError(a)},function(){e=!0,0===g.length&&(h.length>0?(d.onNext(!1),d.onCompleted()):f&&(d.onNext(!0),d.onCompleted()))});(ab(a)||_a(a))&&(a=Fc(a)),Ka(a)&&(a=xc(a));var j=a.subscribe(function(a){var c;if(g.length>0){var f=g.shift();try{c=b(f,a)}catch(i){return void d.onError(i)}c||(d.onNext(!1),d.onCompleted())}else e?(d.onNext(!1),d.onCompleted()):h.push(a)},function(a){d.onError(a)},function(){f=!0,0===h.length&&(g.length>0?(d.onNext(!1),d.onCompleted()):e&&(d.onNext(!0),d.onCompleted()))});return new Jb(i,j)},c)},pc.elementAt=function(a){return U(this,a,!1)},pc.elementAtOrDefault=function(a,b){return U(this,a,!0,b)},pc.single=function(a,b){return a&&Ma(a)?this.where(a,b).single():V(this,!1)},pc.singleOrDefault=function(a,b,c){return a&&Ma(a)?this.filter(a,c).singleOrDefault(null,b):V(this,!0,b)},pc.first=function(a,b){return a?this.where(a,b).first():W(this,!1)},pc.firstOrDefault=function(a,b){return a?this.where(a).firstOrDefault(null,b):W(this,!0,b)},pc.last=function(a,b){return a?this.where(a,b).last():X(this,!1)},pc.lastOrDefault=function(a,b,c){return a?this.where(a,c).lastOrDefault(null,b):X(this,!0,b)},pc.find=function(a,b){return Y(this,a,b,!1)},pc.findIndex=function(a,b){return Y(this,a,b,!0)},pc.toSet=function(){if("undefined"==typeof ya.Set)throw new TypeError;var a=this;return new wd(function(b){var c=new ya.Set;return a.subscribe(function(a){c.add(a)},function(a){b.onError(a)},function(){b.onNext(c),b.onCompleted()})},a)},pc.toMap=function(a,b){if("undefined"==typeof ya.Map)throw new TypeError;var c=this;return new wd(function(d){var e=new ya.Map;return c.subscribe(function(c){var f;try{f=a(c)}catch(g){return void d.onError(g)}var h=c;if(b)try{h=b(c)}catch(g){return void d.onError(g)}e.set(f,h)},function(a){d.onError(a)},function(){d.onNext(e),d.onCompleted()})},c)};var bd="function",cd="throw",yb=Da.internals.isObject,dd=Da.spawn=function(a){var b=ca(a);return function(c){function d(a,b){dc.schedule(c.bind(f,a,b))}function e(a,b){var c;if(arguments.length>2)for(var b=[],h=1,i=arguments.length;i>h;h++)b.push(arguments[h]);if(a)try{c=g[cd](a)}catch(j){return d(j)}if(!a)try{c=g.next(b)}catch(j){return d(j)}if(c.done)return d(null,c.value);if(c.value=Z(c.value,f),typeof c.value!==bd)e(new TypeError("Rx.spawn only supports a function, Promise, Observable, Object or Array."));else{var k=!1;try{c.value.call(f,function(){k||(k=!0,e.apply(f,arguments))})}catch(j){dc.schedule(function(){k||(k=!0,e.call(f,j))})}}}var f=this,g=a;if(b){for(var h=[],i=0,j=arguments.length;j>i;i++)h.push(arguments[i]);var j=h.length,k=j&&typeof h[j-1]===bd;c=k?h.pop():ea,g=a.apply(this,h)}else c=c||ea;e()}};vc.start=function(a,b,c){return ed(a,b,c)()};var ed=vc.toAsync=function(a,b,c){return Wb(c)||(c=dc),function(){var d=arguments,e=new Ad;return c.schedule(function(){var c;try{c=a.apply(b,d)}catch(f){return void e.onError(f)}e.onNext(c),e.onCompleted()}),e.asObservable()}};vc.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new wd(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},vc.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new wd(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Da.config.useNativeEvents=!1,vc.fromEvent=function(a,b,c){return a.addListener?fd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):Da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new wd(function(d){return ga(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():fd(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var fd=vc.fromEventPattern=function(a,b,c){return new wd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return Mb(function(){b&&b(e,f)})}).publish().refCount()};vc.startAsync=function(a){var b;try{b=a()}catch(c){return Qc(c)}return xc(b)};var gd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=Nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=Nb)});return new Jb(c,d,e)}function c(c,d){this.source=c,this.controller=new zd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return Db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(vc);pc.pausable=function(a){return new gd(this,a)};var hd=function(b){function c(b){var c,d=[],e=ha(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new zd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return Db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(vc);pc.pausableBuffered=function(a){return new hd(this,a)};var id=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new jd(d,e),this.source=c.multicast(this.subject).refCount()}return Db(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(vc),jd=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new zd,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=Nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||_b}return Db(c,a),Eb(c.prototype,nc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(fc.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(fc.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(fc.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=Mb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=Nb}}),c}(vc);pc.controlled=function(a,b){return a&&Wb(a)&&(b=a,a=!0),null==a&&(a=!0),new id(this,a,b)};var kd=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return dc.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}Db(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}Db(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;dc.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(qc);return c}(vc);id.prototype.stopAndWait=function(){return new kd(this)};var ld=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return dc.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}Db(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}Db(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;dc.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(qc);return c}(vc);id.prototype.windowed=function(a){return new ld(this,a)},pc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},pc.multicast=function(a,b){var c=this;return"function"==typeof a?new wd(function(d){var e=c.multicast(a());return new Jb(b(e).subscribe(d),e.connect())},c):new pd(c,a)},pc.publish=function(a){return a&&Ma(a)?this.multicast(function(){return new zd},a):this.multicast(new zd)},pc.share=function(){return this.publish().refCount()},pc.publishLast=function(a){return a&&Ma(a)?this.multicast(function(){return new Ad},a):this.multicast(new Ad)},pc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new nd(b)},a):this.multicast(new nd(a))},pc.shareValue=function(a){return this.publishValue(a).refCount()},pc.replay=function(a,b,c,d){return a&&Ma(a)?this.multicast(function(){return new od(b,c,d)},a):this.multicast(new od(b,c,d))},pc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var md=function(a,b){this.subject=a,this.observer=b};md.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 nd=Da.BehaviorSubject=function(a){function c(a){return Pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),Nb):(this.observers.push(a),a.onNext(this.value),new md(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return Db(d,a),Eb(d.prototype,nc,{getValue:function(){if(Pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(vc),od=Da.ReplaySubject=function(a){function c(a,b){return Mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new tc(this.scheduler,a),d=c(this,b);Pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||_b,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return Db(e,a),Eb(e.prototype,nc.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(Pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(vc),pd=Da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new Jb(f.subscribe(c),Mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return Db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new wd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(vc),qd=function(){function b(a){if(0===(1&a))return 2===a;for(var b=Math.sqrt(a),c=3;b>=c;){if(a%c===0)return!1;c+=2}return!0}function c(a){var c,d,e;for(c=0;c=a)return d;for(e=1|a;ec;c++){var e=a.charCodeAt(c);b=(b<<5)-b+e,b&=b}return b}function e(a){var b=668265261;return a=61^a^a>>>16,a+=a<<3,a^=a>>>4,a*=b,a^=a>>>15}function f(){return{key:null,value:null,next:0,hashCode:0}}function g(a,b){if(0>a)throw new Ua;a>0&&this._initialize(a),this.comparer=b||Ha,this.freeCount=0,this.size=0,this.freeList=-1}var h=[1,3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143,4194301,8388593,16777213,33554393,67108859,134217689,268435399,536870909,1073741789,2147483647],i="no such key",j="duplicate key",k=function(){var a=0;return function(b){if(null==b)throw new Error(i);if("string"==typeof b)return d(b);if("number"==typeof b)return e(b);if("boolean"==typeof b)return b===!0?1:0;if(b instanceof Date)return e(b.valueOf());if(b instanceof RegExp)return d(b.toString());if("function"==typeof b.valueOf){var c=b.valueOf();if("number"==typeof c)return e(c);if("string"==typeof c)return d(c)}if(b.hashCode)return b.hashCode();var f=17*a++;return b.hashCode=function(){return f},f}}(),l=g.prototype;return l._initialize=function(a){var b,d=c(a);for(this.buckets=new Array(d),this.entries=new Array(d),b=0;d>b;b++)this.buckets[b]=-1,this.entries[b]=f();this.freeList=-1},l.add=function(a,b){this._insert(a,b,!0)},l._insert=function(a,b,c){this.buckets||this._initialize(0);for(var d,e=2147483647&k(a),f=e%this.buckets.length,g=this.buckets[f];g>=0;g=this.entries[g].next)if(this.entries[g].hashCode===e&&this.comparer(this.entries[g].key,a)){if(c)throw new Error(j);return void(this.entries[g].value=b)}this.freeCount>0?(d=this.freeList,this.freeList=this.entries[d].next,--this.freeCount):(this.size===this.entries.length&&(this._resize(),f=e%this.buckets.length),d=this.size,++this.size),this.entries[d].hashCode=e,this.entries[d].next=this.buckets[f],this.entries[d].key=a,this.entries[d].value=b,this.buckets[f]=d},l._resize=function(){var a=c(2*this.size),b=new Array(a);for(e=0;ee;++e)d[e]=f();for(var g=0;g=0;e=this.entries[e].next){if(this.entries[e].hashCode===b&&this.comparer(this.entries[e].key,a))return 0>d?this.buckets[c]=this.entries[e].next:this.entries[d].next=this.entries[e].next,this.entries[e].hashCode=-1,this.entries[e].next=this.freeList,this.entries[e].key=null,this.entries[e].value=null,this.freeList=e,++this.freeCount,!0;d=e}return!1},l.clear=function(){var a,b;if(!(this.size<=0)){for(a=0,b=this.buckets.length;b>a;++a)this.buckets[a]=-1;for(a=0;a=0;c=this.entries[c].next)if(this.entries[c].hashCode===b&&this.comparer(this.entries[c].key,a))return c;return-1},l.count=function(){return this.size-this.freeCount},l.tryGetValue=function(b){var c=this._findEntry(b);return c>=0?this.entries[c].value:a},l.getValues=function(){var a=0,b=[];if(this.entries)for(var c=0;c=0&&(b[a++]=this.entries[c].value);return b},l.get=function(a){var b=this._findEntry(a);if(b>=0)return this.entries[b].value;throw new Error(i)},l.set=function(a,b){this._insert(a,b,!1)},l.containskey=function(a){return this._findEntry(a)>=0},g}();pc.join=function(a,b,c,d){var e=this;return new wd(function(f){var g=new Jb,h=!1,i=!1,j=0,k=0,l=new qd,m=new qd;return g.add(e.subscribe(function(a){var c=j++,e=new Qb;l.add(c,a),g.add(e);var i,k=function(){l.remove(c)&&0===l.count()&&h&&f.onCompleted(),g.remove(e)};try{i=b(a)}catch(n){return void f.onError(n)}e.setDisposable(i.take(1).subscribe(Ea,f.onError.bind(f),k)),m.getValues().forEach(function(b){var c;try{c=d(a,b)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){h=!0,(i||0===l.count())&&f.onCompleted()})),g.add(a.subscribe(function(a){var b=k++,e=new Qb;m.add(b,a),g.add(e);var h,j=function(){m.remove(b)&&0===m.count()&&i&&f.onCompleted(),g.remove(e)};try{h=c(a)}catch(n){return void f.onError(n)}e.setDisposable(h.take(1).subscribe(Ea,f.onError.bind(f),j)),l.getValues().forEach(function(b){var c;try{c=d(b,a)}catch(e){return void f.onError(e)}f.onNext(c)})},f.onError.bind(f),function(){i=!0,(h||0===m.count())&&f.onCompleted()})),g},e)},pc.groupJoin=function(a,b,c,d){var e=this;return new wd(function(f){function g(a){return function(b){b.onError(a)}}var h=new Jb,i=new Sb(h),j=new qd,k=new qd,l=0,m=0;return h.add(e.subscribe(function(a){var c=new zd,e=l++;j.add(e,c);var m;try{m=d(a,Fb(c,i))}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}f.onNext(m),k.getValues().forEach(function(a){c.onNext(a)});var o=new Qb;h.add(o);var p,q=function(){j.remove(e)&&c.onCompleted(),h.remove(o)};try{p=b(a)}catch(n){return j.getValues().forEach(g(n)),void f.onError(n)}o.setDisposable(p.take(1).subscribe(Ea,function(a){j.getValues().forEach(g(a)),f.onError(a)},q))},function(a){j.getValues().forEach(g(a)),f.onError(a)},f.onCompleted.bind(f))),h.add(a.subscribe(function(a){var b=m++;k.add(b,a);var d=new Qb;h.add(d);var e,i=function(){k.remove(b),h.remove(d)};try{e=c(a)}catch(l){return j.getValues().forEach(g(l)),void f.onError(l)}d.setDisposable(e.take(1).subscribe(Ea,function(a){j.getValues().forEach(g(a)),f.onError(a)},i)),j.getValues().forEach(function(b){b.onNext(a)})},function(a){j.getValues().forEach(g(a)),f.onError(a)})),i},e)},pc.buffer=function(){return this.window.apply(this,arguments).selectMany(function(a){return a.toArray()})},pc.window=function(a,b){return 1===arguments.length&&"function"!=typeof arguments[0]?ja.call(this,a):"function"==typeof a?ka.call(this,a):ia.call(this,a,b)},pc.pairwise=function(){var a=this;return new wd(function(b){var c,d=!1;return a.subscribe(function(a){d?b.onNext([c,a]):d=!0,c=a},b.onError.bind(b),b.onCompleted.bind(b))},a)},pc.partition=function(a,b){return[this.filter(a,b),this.filter(function(c,d,e){return!a.call(b,c,d,e)})]},pc.letBind=pc.let=function(a){return a(this)},vc["if"]=vc.ifThen=function(a,b,c){return zc(function(){return c||(c=Bc()),Ka(b)&&(b=xc(b)),Ka(c)&&(c=xc(c)),"function"==typeof c.now&&(c=Bc(c)),a()?b:c})},vc["for"]=vc.forIn=function(a,b,c){return mc(a,b,c).concat()};var rd=vc["while"]=vc.whileDo=function(a,b){return Ka(b)&&(b=xc(b)),la(a,b).concat()};pc.doWhile=function(a){return Tc([this,rd(a,this)])},vc["case"]=vc.switchCase=function(a,b,c){return zc(function(){Ka(c)&&(c=xc(c)),c||(c=Bc()),"function"==typeof c.now&&(c=Bc(c));var d=b[a()];return Ka(d)&&(d=xc(d)),d||c})},pc.expand=function(a,b){Wb(b)||(b=$b);var c=this;return new wd(function(d){var e=[],f=new Rb,g=new Jb(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return void(i=!1);c=e.shift();var f=new Qb;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g},this)},vc.forkJoin=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new wd(function(b){var c=a.length;if(0===c)return b.onCompleted(),Nb;for(var d=new Jb,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];Ka(j)&&(j=xc(j)),d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return void b.onCompleted();g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},pc.forkJoin=function(a,b){var c=this;return new wd(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new Qb,l=new Qb;return Ka(a)&&(a=xc(a)),k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return void d.onError(c)}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new Jb(k,l)},c)},pc.manySelect=function(a,b){Wb(b)||(b=$b);var c=this;return zc(function(){var d;return c.map(function(a){var b=new sd(a);return d&&d.onNext(a),d=b,b}).tap(Ea,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).map(a)},c)};var sd=function(a){function b(a){var b=this,c=new Jb;return c.add(_b.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeAll().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new Ad}return Db(c,a),Eb(c.prototype,nc,{onCompleted:function(){this.onNext(vc.empty())},onError:function(a){this.onNext(vc.throwError(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(vc),td=ya.Map||function(){function b(){this._keys=[],this._values=[]}return b.prototype.get=function(b){var c=this._keys.indexOf(b);return-1!==c?this._values[c]:a},b.prototype.set=function(a,b){var c=this._keys.indexOf(a);-1!==c&&(this._values[c]=b),this._values[this._keys.push(a)-1]=b},b.prototype.forEach=function(a,b){for(var c=0,d=this._keys.length;d>c;c++)a.call(b,this._values[c],this._keys[c])},b}();ma.prototype.and=function(a){return new ma(this.patterns.concat(a))},ma.prototype.thenDo=function(a){return new na(this,a)},na.prototype.activate=function(a,b,c){for(var d=this,e=[],f=0,g=this.expression.patterns.length;g>f;f++)e.push(oa(a,this.expression.patterns[f],b.onError.bind(b)));var h=new pa(e,function(){var a;try{a=d.selector.apply(d,arguments)}catch(c){return void b.onError(c)}b.onNext(a)},function(){for(var a=0,b=e.length;b>a;a++)e[a].removeActivePlan(h);c(h)});for(f=0,g=e.length;g>f;f++)e[f].addActivePlan(h);return h},pa.prototype.dequeue=function(){this.joinObservers.forEach(function(a){a.queue.shift()})},pa.prototype.match=function(){var a,b,c=!0;for(a=0,b=this.joinObserverArray.length;b>a;a++)if(0===this.joinObserverArray[a].queue.length){c=!1;break}if(c){var d=[],e=!1;for(a=0,b=this.joinObserverArray.length;b>a;a++)d.push(this.joinObserverArray[a].queue[0]),"C"===this.joinObserverArray[a].queue[0].kind&&(e=!0);if(e)this.onCompleted();else{this.dequeue();var f=[];for(a=0,b=d.length;ac;c++)b[c].match()}},c.error=Ea,c.completed=Ea,c.addActivePlan=function(a){this.activePlans.push(a)},c.subscribe=function(){this.subscription.setDisposable(this.source.materialize().subscribe(this))},c.removeActivePlan=function(a){this.activePlans.splice(this.activePlans.indexOf(a),1),0===this.activePlans.length&&this.dispose()},c.dispose=function(){a.prototype.dispose.call(this),this.isDisposed||(this.isDisposed=!0,this.subscription.dispose())},b}(qc);pc.and=function(a){return new ma([this,a])},pc.thenDo=function(a){return new ma([this]).thenDo(a)},vc.when=function(){var a,b=arguments.length;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new wd(function(b){var c=[],d=new td,e=oc(function(a){b.onNext(a)},function(a){d.forEach(function(b){b.onError(a)}),b.onError(a)},function(){b.onCompleted()});try{for(var f=0,g=a.length;g>f;f++)c.push(a[f].activate(d,e,function(a){var d=c.indexOf(a);c.splice(d,1),0===c.length&&b.onCompleted()}))}catch(h){Qc(h).subscribe(b)}var i=new Jb;return d.forEach(function(a){a.subscribe(),i.add(a)}),i})};{var vd=vc.interval=function(a,b){return ta(a,a,Wb(b)?b:dc)};vc.timer=function(b,c,d){var e;return Wb(d)||(d=dc),c!==a&&"number"==typeof c?e=c:Wb(c)&&(d=c),b instanceof Date&&e===a?qa(b.getTime(),d):b instanceof Date&&e!==a?(e=c,ra(b.getTime(),e,d)):e===a?sa(b,d):ta(b,e,d)}}pc.delay=function(a,b){return Wb(b)||(b=dc),a instanceof Date?va(this,a.getTime(),b):ua(this,a,b)},pc.debounce=pc.throttleWithTimeout=function(a,b){Wb(b)||(b=dc);var c=this;return new wd(function(d){var e,f=new Rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new Qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new Jb(i,f)},this)},pc.throttle=function(a,b){return this.debounce(a,b)},pc.windowWithTime=function(a,b,c){var d,e=this;return null==b&&(d=a),Wb(c)||(c=dc),"number"==typeof b?d=b:Wb(b)&&(d=a,c=b),new wd(function(b){function f(){var a=new Qb,e=!1,g=!1;l.setDisposable(a),j===i?(e=!0,g=!0):i>j?e=!0:g=!0;var n=e?j:i,o=n-m;m=n,e&&(j+=d),g&&(i+=d),a.setDisposable(c.scheduleWithRelative(o,function(){if(g){var a=new zd;k.push(a),b.onNext(Fb(a,h))}e&&k.shift().onCompleted(),f()}))}var g,h,i=d,j=a,k=[],l=new Rb,m=0;return g=new Jb(l),h=new Sb(g),k.push(new zd),b.onNext(Fb(k[0],h)),f(),g.add(e.subscribe(function(a){for(var b=0,c=k.length;c>b;b++)k[b].onNext(a)},function(a){for(var c=0,d=k.length;d>c;c++)k[c].onError(a);b.onError(a)},function(){for(var a=0,c=k.length;c>a;a++)k[a].onCompleted();b.onCompleted()})),h},e)},pc.windowWithTimeOrCount=function(a,b,c){var d=this;return Wb(c)||(c=dc),new wd(function(e){function f(b){var d=new Qb;g.setDisposable(d),d.setDisposable(c.scheduleWithRelative(a,function(){if(b===k){j=0;var a=++k;l.onCompleted(),l=new zd,e.onNext(Fb(l,i)),f(a)}}))}var g=new Rb,h=new Jb(g),i=new Sb(h),j=0,k=0,l=new zd;return e.onNext(Fb(l,i)),f(0),h.add(d.subscribe(function(a){var c=0,d=!1;l.onNext(a),++j===b&&(d=!0,j=0,c=++k,l.onCompleted(),l=new zd,e.onNext(Fb(l,i))),d&&f(c)},function(a){l.onError(a),e.onError(a)},function(){l.onCompleted(),e.onCompleted()})),i},d)},pc.bufferWithTime=function(){return this.windowWithTime.apply(this,arguments).selectMany(function(a){return a.toArray()})},pc.bufferWithTimeOrCount=function(a,b,c){return this.windowWithTimeOrCount(a,b,c).selectMany(function(a){return a.toArray()})},pc.timeInterval=function(a){var b=this;return Wb(a)||(a=dc),zc(function(){var c=a.now();return b.map(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},pc.timestamp=function(a){return Wb(a)||(a=dc),this.map(function(b){return{value:b,timestamp:a.now()}})},pc.sample=pc.throttleLatest=function(a,b){return Wb(b)||(b=dc),"number"==typeof a?wa(this,vd(a,b)):wa(this,a)}, +pc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=Qc(new Error(b||"Timeout"))),Wb(c)||(c=dc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(Ka(b)&&(b=xc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new Qb,j=new Rb,k=!1,l=new Rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new Jb(j,l)},d)},vc.generateWithAbsoluteTime=function(a,b,c,d,e,f){return Wb(f)||(f=dc),new wd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithAbsolute(f.now(),function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},vc.generateWithRelativeTime=function(a,b,c,d,e,f){return Wb(f)||(f=dc),new wd(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return void g.onError(f)}k?a(i):g.onCompleted()})})},pc.delaySubscription=function(a,b){var c=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative",d=this;return Wb(b)||(b=dc),new wd(function(e){var f=new Rb;return f.setDisposable(b[c](a,function(){f.setDisposable(d.subscribe(e))})),f},this)},pc.delayWithSelector=function(a,b){var c,d,e=this;return Ma(a)?d=a:(c=a,d=b),new wd(function(a){function b(){i.setDisposable(e.subscribe(function(b){var c=p(d)(b);if(c===Gb)return a.onError(c.e);var e=new Qb;g.add(e),e.setDisposable(c.subscribe(function(){a.onNext(b),g.remove(e),f()},function(b){a.onError(b)},function(){a.onNext(b),g.remove(e),f()}))},function(b){a.onError(b)},function(){h=!0,i.dispose(),f()}))}function f(){h&&0===g.length&&a.onCompleted()}var g=new Jb,h=!1,i=new Rb;return c?i.setDisposable(c.subscribe(b,function(b){a.onError(b)},b)):b(),new Jb(i,g)},this)},pc.timeoutWithSelector=function(a,b,c){1===arguments.length&&(b=a,a=Jc()),c||(c=Qc(new Error("Timeout")));var d=this;return new wd(function(e){function f(a){function b(){return k===d}var d=k,f=new Qb;i.setDisposable(f),f.setDisposable(a.subscribe(function(){b()&&h.setDisposable(c.subscribe(e)),f.dispose()},function(a){b()&&e.onError(a)},function(){b()&&h.setDisposable(c.subscribe(e))}))}function g(){var a=!l;return a&&k++,a}var h=new Rb,i=new Rb,j=new Qb;h.setDisposable(j);var k=0,l=!1;return f(a),j.setDisposable(d.subscribe(function(a){if(g()){e.onNext(a);var c;try{c=b(a)}catch(d){return void e.onError(d)}f(Ka(c)?xc(c):c)}},function(a){g()&&e.onError(a)},function(){g()&&e.onCompleted()})),new Jb(h,i)},d)},pc.debounceWithSelector=function(a){var b=this;return new wd(function(c){var d,e=!1,f=new Rb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return void c.onError(i)}Ka(h)&&(h=xc(h)),e=!0,d=b,g++;var j=g,k=new Qb;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 Jb(h,f)},b)},pc.throttleWithSelector=function(a){return this.debounceWithSelector(a)},pc.skipLastWithTime=function(a,b){Wb(b)||(b=dc);var c=this;return new wd(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)},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})},c)},pc.takeLastWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(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()},function(a){d.onError(a)},function(){for(var c=b.now();e.length>0;){var f=e.shift();c-f.interval<=a&&d.onNext(f.value)}d.onCompleted()})},c)},pc.takeLastBufferWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(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()},function(a){d.onError(a)},function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})},c)},pc.takeWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(function(d){return new Jb(b.scheduleWithRelative(a,function(){d.onCompleted()}),c.subscribe(d))},c)},pc.skipWithTime=function(a,b){var c=this;return Wb(b)||(b=dc),new wd(function(d){var e=!1;return new Jb(b.scheduleWithRelative(a,function(){e=!0}),c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d)))},c)},pc.skipUntilWithTime=function(a,b){Wb(b)||(b=dc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(e){var f=!1;return new Jb(b[d](a,function(){f=!0}),c.subscribe(function(a){f&&e.onNext(a)},function(a){e.onError(a)},function(){e.onCompleted()}))},c)},pc.takeUntilWithTime=function(a,b){Wb(b)||(b=dc);var c=this,d=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new wd(function(e){return new Jb(b[d](a,function(){e.onCompleted()}),c.subscribe(e))},c)},pc.throttleFirst=function(a,b){Wb(b)||(b=dc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new wd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)},pc.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new wd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)},pc.exclusive=function(){var a=this;return new wd(function(b){var c=!1,d=!1,e=new Qb,f=new Jb;return f.add(e),e.setDisposable(a.subscribe(function(a){if(!c){c=!0,Ka(a)&&(a=xc(a));var e=new Qb;f.add(e),e.setDisposable(a.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){f.remove(e),c=!1,d&&1===f.length&&b.onCompleted()}))}},b.onError.bind(b),function(){d=!0,c||1!==f.length||b.onCompleted()})),f},this)},pc.exclusiveMap=function(a,b){var c=this,d=cb(a,b,3);return new wd(function(a){var b=0,e=!1,f=!0,g=new Qb,h=new Jb;return h.add(g),g.setDisposable(c.subscribe(function(c){e||(e=!0,innerSubscription=new Qb,h.add(innerSubscription),Ka(c)&&(c=xc(c)),innerSubscription.setDisposable(c.subscribe(function(e){var f;try{f=d(e,b++,c)}catch(g){return void a.onError(g)}a.onNext(f)},function(b){a.onError(b)},function(){h.remove(innerSubscription),e=!1,f&&1===h.length&&a.onCompleted()})))},function(b){a.onError(b)},function(){f=!0,1!==h.length||e||a.onCompleted()})),h},this)},Da.VirtualTimeScheduler=function(a){function b(){return this.toDateTimeOffset(this.clock)}function c(a,b){return this.scheduleAbsoluteWithState(a,this.clock,b)}function d(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b),c)}function e(a,b,c){return this.scheduleRelativeWithState(a,this.toRelative(b-this.now()),c)}function f(a,b){return b(),Nb}function g(f,g){this.clock=f,this.comparer=g,this.isEnabled=!1,this.queue=new Hb(1024),a.call(this,b,c,d,e)}Db(g,a);var h=g.prototype;return h.add=Xa,h.toDateTimeOffset=Xa,h.toRelative=Xa,h.schedulePeriodicWithState=function(a,b,c){var d=new Zb(this,a,b,c);return d.start()},h.scheduleRelativeWithState=function(a,b,c){var d=this.add(this.clock,b);return this.scheduleAbsoluteWithState(a,d,c)},h.scheduleRelative=function(a,b){return this.scheduleRelativeWithState(b,a,f)},h.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var a=this.getNext();null!==a?(this.comparer(a.dueTime,this.clock)>0&&(this.clock=a.dueTime),a.invoke()):this.isEnabled=!1}while(this.isEnabled)}},h.stop=function(){this.isEnabled=!1},h.advanceTo=function(a){var b=this.comparer(this.clock,a);if(this.comparer(this.clock,a)>0)throw new Ua;if(0!==b&&!this.isEnabled){this.isEnabled=!0;do{var c=this.getNext();null!==c&&this.comparer(c.dueTime,a)<=0?(this.comparer(c.dueTime,this.clock)>0&&(this.clock=c.dueTime),c.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=a}},h.advanceBy=function(a){var b=this.add(this.clock,a),c=this.comparer(this.clock,b);if(c>0)throw new Ua;0!==c&&this.advanceTo(b)},h.sleep=function(a){var b=this.add(this.clock,a);if(this.comparer(this.clock,b)>=0)throw new Ua;this.clock=b},h.getNext=function(){for(;this.queue.length>0;){var a=this.queue.peek();if(!a.isCancelled())return a;this.queue.dequeue()}return null},h.scheduleAbsolute=function(a,b){return this.scheduleAbsoluteWithState(b,a,f)},h.scheduleAbsoluteWithState=function(a,b,c){function d(a,b){return e.queue.remove(f),c(a,b)}var e=this,f=new Tb(this,a,d,b,this.comparer);return this.queue.enqueue(f),f.disposable},g}(Ub),Da.HistoricalScheduler=function(a){function b(b,c){var d=null==b?0:b,e=c||Ia;a.call(this,d,e)}Db(b,a);var c=b.prototype;return c.add=function(a,b){return a+b},c.toDateTimeOffset=function(a){return new Date(a).getTime()},c.toRelative=function(a){return a},b}(Da.VirtualTimeScheduler);var wd=Da.AnonymousObservable=function(a){function b(a){return a&&Ma(a.dispose)?a:Ma(a)?Mb(a):Nb}function c(a,c){var d=c[0],e=c[1],f=p(e)(d);return f!==Gb||d.fail(Gb.e)?void d.setDisposable(b(f)):q(Gb.e)}function d(b,d){function e(a){var d=new xd(a),e=[d,b];return _b.scheduleRequired()?_b.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return Db(d,a),d}(vc),xd=function(a){function b(b){a.call(this),this.observer=b,this.m=new Qb}Db(b,a);var c=b.prototype;return c.next=function(a){var b=p(this.observer.onNext).call(this.observer,a);b===Gb&&(this.dispose(),q(b.e))},c.error=function(a){var b=p(this.observer.onError).call(this.observer,a);this.dispose(),b===Gb&&q(b.e)},c.completed=function(){var a=p(this.observer.onCompleted).call(this.observer);this.dispose(),a===Gb&&q(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(qc),yd=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new wd(function(a){return new Jb(e.getDisposable(),d.subscribe(a))}):d}return Db(c,a),c}(vc),zd=Da.Subject=function(a){function c(a){return Pb(this),this.isStopped?this.hasError?(a.onError(this.error),Nb):(a.onCompleted(),Nb):(this.observers.push(a),new md(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return Db(d,a),Eb(d.prototype,nc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(Pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(Pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Bd(a,b)},d}(vc),Ad=Da.AsyncSubject=function(a){function c(a){return Pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),Nb):(this.observers.push(a),new md(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return Db(d,a),Eb(d.prototype,nc,{hasObservers:function(){return Pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(Pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(Pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){Pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(vc),Bd=Da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return Db(c,a),Eb(c.prototype,nc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(vc);Da.Pauser=function(a){function b(){a.call(this)}return Db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(zd),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(ya.Rx=Da,define(function(){return Da})):za&&Aa?Ba?(Aa.exports=Da).Rx=Da:za.Rx=Da:ya.Rx=Da;var Cd=g()}).call(this); //# sourceMappingURL=rx.all.map \ No newline at end of file diff --git a/dist/rx.backpressure.js b/dist/rx.backpressure.js index bed434080..dc26619cf 100644 --- a/dist/rx.backpressure.js +++ b/dist/rx.backpressure.js @@ -38,6 +38,7 @@ AnonymousObservable = Rx.AnonymousObservable, AbstractObserver = Rx.internals.AbstractObserver, CompositeDisposable = Rx.CompositeDisposable, + Notification = Rx.Notification, Subject = Rx.Subject, Observer = Rx.Observer, disposableEmpty = Rx.Disposable.empty, @@ -47,6 +48,7 @@ timeoutScheduler = Rx.Scheduler.timeout, currentThreadScheduler = Rx.Scheduler.currentThread, identity = Rx.helpers.identity, + isScheduler = Rx.Scheduler.isScheduler, checkDisposed = Rx.Disposable.checkDisposed; /** @@ -288,15 +290,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -311,7 +312,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -323,29 +324,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -358,37 +362,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -404,12 +406,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; var StopAndWaitObservable = (function (__super__) { diff --git a/dist/rx.backpressure.map b/dist/rx.backpressure.map index e7703d6cc..10d2614b8 100644 --- a/dist/rx.backpressure.map +++ b/dist/rx.backpressure.map @@ -1 +1 @@ -{"version":3,"file":"rx.backpressure.min.js","sources":["rx.backpressure.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","combineLatestSource","source","subject","resultSelector","AnonymousObservable","o","next","x","i","values","res","hasValue","hasValueAll","every","identity","err","onError","apply","ex","onNext","isDone","onCompleted","Array","CompositeDisposable","subscribe","e","Observable","observableProto","prototype","AbstractObserver","internals","Subject","Observer","disposableEmpty","Disposable","empty","disposableCreate","create","inherits","addProperties","timeoutScheduler","Scheduler","timeout","currentThread","helpers","checkDisposed","Pauser","__super__","pause","resume","PausableObservable","observer","conn","publish","subscription","connection","pausable","pauser","distinctUntilChanged","b","connect","dispose","controller","merge","PausableBufferedObservable","previousShouldFire","q","startWith","data","shouldFire","results","length","shift","push","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","refCount","request","numberOfItems","queue","requestedCount","requestedDisposable","error","hasFailed","hasCompleted","Notification","createOnCompleted","createOnError","value","hasRequested","createOnNext","disposeCurrentRequest","_processRequest","kind","first","accept","returnValue","self","r","controlled","StopAndWaitObservable","StopAndWaitObserver","schedule","__sub__","observable","cancel","stopAndWaitObserverProto","completed","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.backpressure.min.js","sources":["rx.backpressure.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","combineLatestSource","source","subject","resultSelector","AnonymousObservable","o","next","x","i","values","res","hasValue","hasValueAll","every","identity","err","onError","apply","ex","onNext","isDone","onCompleted","Array","CompositeDisposable","subscribe","e","Observable","observableProto","prototype","AbstractObserver","internals","Notification","Subject","Observer","disposableEmpty","Disposable","empty","disposableCreate","create","inherits","addProperties","timeoutScheduler","Scheduler","timeout","currentThreadScheduler","currentThread","helpers","isScheduler","checkDisposed","Pauser","__super__","pause","resume","PausableObservable","observer","conn","publish","subscription","connection","pausable","pauser","distinctUntilChanged","b","connect","dispose","controller","merge","PausableBufferedObservable","previousShouldFire","q","startWith","data","shouldFire","results","length","shift","push","pausableBuffered","ControlledObservable","enableQueue","scheduler","ControlledSubject","multicast","refCount","request","numberOfItems","queue","requestedCount","requestedDisposable","error","hasFailed","hasCompleted","createOnCompleted","createOnError","value","hasRequested","createOnNext","disposeCurrentRequest","_processRequest","kind","first","accept","returnValue","self","scheduleWithState","s","r","remaining","controlled","StopAndWaitObservable","StopAndWaitObserver","schedule","__sub__","observable","cancel","stopAndWaitObserverProto","completed","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.backpressure.min.js b/dist/rx.backpressure.min.js index 1f5eb64ce..abe87a5a3 100644 --- a/dist/rx.backpressure.min.js +++ b/dist/rx.backpressure.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(a,b,c){return new h(function(d){function e(a,b){k[b]=a;var e;if(g[b]=!0,h||(h=g.every(r))){if(f)return void d.onError(f);try{e=c.apply(null,k)}catch(j){return void d.onError(j)}d.onNext(e)}i&&k[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,k=new Array(2);return new j(a.subscribe(function(a){e(a,0)},function(a){k[1]?d.onError(a):f=a},function(){i=!0,k[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}{var f=c.Observable,g=f.prototype,h=c.AnonymousObservable,i=c.internals.AbstractObserver,j=c.CompositeDisposable,k=c.Subject,l=c.Observer,m=c.Disposable.empty,n=c.Disposable.create,o=c.internals.inherits,p=c.internals.addProperties,q=c.Scheduler.timeout,r=(c.Scheduler.currentThread,c.helpers.identity);c.Disposable.checkDisposed}c.Pauser=function(a){function b(){a.call(this)}return o(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(k);var s=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=m,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=m)});return new j(c,d,e)}function c(c,d){this.source=c,this.controller=new k,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return o(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(f);g.pausable=function(a){return new s(this,a)};var t=function(a){function b(a){var b,c=[],f=e(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(b!==d&&e.shouldFire!=b){if(b=e.shouldFire,e.shouldFire)for(;c.length>0;)a.onNext(c.shift())}else b=e.shouldFire,e.shouldFire?a.onNext(e.data):c.push(e.data)},function(b){for(;c.length>0;)a.onNext(c.shift());a.onError(b)},function(){for(;c.length>0;)a.onNext(c.shift());a.onCompleted()});return f}function c(c,d){this.source=c,this.controller=new k,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return o(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(f);g.pausableBuffered=function(a){return new t(this,a)};var u=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new v(d),this.source=c.multicast(this.subject).refCount()}return o(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(f),v=function(a){function b(a){return this.subject.subscribe(a)}function d(c){null==c&&(c=!0),a.call(this,b),this.subject=new k,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=m,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return o(d,a),p(d.prototype,l,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(c.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(c.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(c.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?m:(this.requestedCount=a,this.requestedDisposable=n(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=m}}),d}(f);g.controlled=function(a){return null==a&&(a=!0),new u(this,a)};var w=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return q.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}o(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}o(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;q.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(i);return c}(f);u.prototype.stopAndWait=function(){return new w(this)};var x=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return q.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}o(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}o(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;q.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(i);return c}(f);return u.prototype.windowed=function(a){return new x(this,a)},c}); +(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(a,b,c){return new h(function(d){function e(a,b){k[b]=a;var e;if(g[b]=!0,h||(h=g.every(t))){if(f)return void d.onError(f);try{e=c.apply(null,k)}catch(j){return void d.onError(j)}d.onNext(e)}i&&k[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,k=new Array(2);return new j(a.subscribe(function(a){e(a,0)},function(a){k[1]?d.onError(a):f=a},function(){i=!0,k[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}{var f=c.Observable,g=f.prototype,h=c.AnonymousObservable,i=c.internals.AbstractObserver,j=c.CompositeDisposable,k=c.Notification,l=c.Subject,m=c.Observer,n=c.Disposable.empty,o=c.Disposable.create,p=c.internals.inherits,q=c.internals.addProperties,r=c.Scheduler.timeout,s=c.Scheduler.currentThread,t=c.helpers.identity,u=c.Scheduler.isScheduler;c.Disposable.checkDisposed}c.Pauser=function(a){function b(){a.call(this)}return p(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(l);var v=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=n,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=n)});return new j(c,d,e)}function c(c,d){this.source=c,this.controller=new l,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return p(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(f);g.pausable=function(a){return new v(this,a)};var w=function(a){function b(a){var b,c=[],f=e(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(b!==d&&e.shouldFire!=b){if(b=e.shouldFire,e.shouldFire)for(;c.length>0;)a.onNext(c.shift())}else b=e.shouldFire,e.shouldFire?a.onNext(e.data):c.push(e.data)},function(b){for(;c.length>0;)a.onNext(c.shift());a.onError(b)},function(){for(;c.length>0;)a.onNext(c.shift());a.onCompleted()});return f}function c(c,d){this.source=c,this.controller=new l,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return p(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(f);g.pausableBuffered=function(a){return new w(this,a)};var x=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new y(d,e),this.source=c.multicast(this.subject).refCount()}return p(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(f),y=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new l,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=n,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||s}return p(c,a),q(c.prototype,m,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(k.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(k.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(k.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=o(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=n}}),c}(f);g.controlled=function(a,b){return a&&u(a)&&(b=a,a=!0),null==a&&(a=!0),new x(this,a,b)};var z=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return r.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}p(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}p(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;r.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(i);return c}(f);x.prototype.stopAndWait=function(){return new z(this)};var A=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return r.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}p(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}p(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;r.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(i);return c}(f);return x.prototype.windowed=function(a){return new A(this,a)},c}); //# sourceMappingURL=rx.backpressure.map \ No newline at end of file diff --git a/dist/rx.lite.compat.js b/dist/rx.lite.compat.js index bd6a80737..308b1cba6 100644 --- a/dist/rx.lite.compat.js +++ b/dist/rx.lite.compat.js @@ -5422,15 +5422,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -5445,7 +5444,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -5457,29 +5456,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -5492,37 +5494,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -5538,12 +5538,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; /** diff --git a/dist/rx.lite.compat.map b/dist/rx.lite.compat.map index cbd364726..4351a44b7 100644 --- a/dist/rx.lite.compat.map +++ b/dist/rx.lite.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","name","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","results","t","isArray","searchElement","n","keys","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","m","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","name","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","results","t","isArray","searchElement","n","keys","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","m","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.lite.compat.min.js b/dist/rx.lite.compat.min.js index 05f469177..b4a7c3eb9 100644 --- a/dist/rx.lite.compat.min.js +++ b/dist/rx.lite.compat.min.js @@ -1,7 +1,6 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(ma&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(qa)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+qa+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===oa&&d>=pa&&Lc>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(ma)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return oa=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!Za(a))return b;Ya.nonEnumArgs&&a.length&&$a(a)&&(a=cb.call(a));var c=Ya.enumPrototypes&&"function"==typeof a,d=Ya.enumErrorProps&&(a===Ta||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(Ya.nonEnumShadows&&a!==Ua){var f=a.constructor,g=-1,h=Fa;if(a===(f&&f.prototype))var i=a===Va?Pa:a===Ta?Ka:Qa.call(a),j=Xa[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(){try{return _a.apply(this,arguments)}catch(a){return bb.e=a,bb}}function o(a){if(!la(a))throw new TypeError("fn must be a function");return _a=a,n}function p(a){throw a}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a,b){this.id=a,this.value=b}function t(a){this.observer=a,this.a=[],this.isStopped=!1}function u(){this._s=s}function v(){this._s=s,this._l=s.length,this._i=0}function w(a){this._a=a}function x(a){this._a=a,this._l=B(a),this._i=0}function y(a){return"number"==typeof a&&$.isFinite(a)}function z(b){var c,d=b[ya];if(!d&&"string"==typeof b)return c=new u(b),c[ya]();if(!d&&b.length!==a)return c=new w(b),c[ya]();if(!d)throw new TypeError("Object is not iterable");return b[ya]()}function A(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function B(a){var b=+a.length;return isNaN(b)?0:0!==b&&y(b)?(b=A(b)*Math.floor(Math.abs(b)),0>=b?0:b>$b?$b:b):b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return vb(a)||(a=zb),new ac(b,a)}function E(a,b){this.observer=a,this.parent=b}function F(a,b){this.observer=a,this.parent=b}function G(a,b){return new Dc(function(c){var d=new qb,e=new rb;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}ka(d)&&(d=wc(d));var g=new qb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function H(a,b){var c=this;return new Dc(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function I(){return!1}function J(){return[]}function K(a,b,c){var d=Da(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e}).concatAll()}function L(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function M(a,b,c){var d=Da(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e}).mergeAll()}function N(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function O(a){var b=function(){this.cancelBubble=!0},c=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(a||(a=$.event),!a.target)switch(a.target=a.target||a.srcElement,"mouseover"==a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=b,a.preventDefault=c),a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10==d?(d=0,a.keyCode=13):13==d||27==d?d=0:3==d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}return a}function P(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),mb(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var d=function(a){c(O(a))};return a.attachEvent("on"+b,d),mb(function(){a.detachEvent("on"+b,d)})}return a["on"+b]=c,mb(function(){a["on"+b]=null})}function Q(a,b,c){var d=new jb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Q(a.item(e),b,c));else a&&d.add(P(a,b,c));return d}function R(a,b){return new Dc(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function S(a,b,c){return new Dc(function(d){var e=a,f=ub(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function T(a,b){return new Dc(function(c){return b.scheduleWithRelative(ub(a),function(){c.onNext(0),c.onCompleted()})})}function U(a,b,c){return a===b?new Dc(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Vb(function(){return S(c.now()+a,b,c)})}function V(a,b,c){return new Dc(function(d){var e,f=!1,g=new rb,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new qb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new jb(e,g)},a)}function W(a,b,c){return Vb(function(){return V(a,b-c.now(),c)})}function X(a,b){return new Dc(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new jb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}function Y(a,b,c){return new Dc(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(fa))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new jb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}var Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},$=Z[typeof window]&&window||this,_=Z[typeof exports]&&exports&&!exports.nodeType&&exports,aa=Z[typeof module]&&module&&!module.nodeType&&module,ba=aa&&aa.exports===_&&_,ca=Z[typeof global]&&global;!ca||ca.global!==ca&&ca.window!==ca||($=ca);var da={internals:{},config:{Promise:$.Promise},helpers:{}},ea=da.helpers.noop=function(){},fa=(da.helpers.notDefined=function(a){return"undefined"==typeof a},da.helpers.identity=function(a){return a}),ga=(da.helpers.pluck=function(a){return function(b){return b[a]}},da.helpers.just=function(a){return function(){return a}},da.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}()),ha=da.helpers.defaultComparer=function(a,b){return ab(a,b)},ia=da.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},ja=(da.helpers.defaultKeySerializer=function(a){return a.toString()},da.helpers.defaultError=function(a){throw a}),ka=da.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},la=(da.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},da.helpers.not=function(a){return!a},da.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Qa.call(a)}),a}());da.config.longStackSupport=!1;var ma=!1;try{throw new Error}catch(na){ma=!!na.stack}var oa,pa=g(),qa="From previous event:",ra=da.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};ra.prototype=Error.prototype;var sa=da.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};sa.prototype=Error.prototype;var ta=da.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};ta.prototype=Error.prototype;var ua=da.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};ua.prototype=Error.prototype;var va=da.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};va.prototype=Error.prototype;var wa=da.helpers.notImplemented=function(){throw new va},xa=da.helpers.notSupported=function(){throw new ua},ya="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";$.Set&&"function"==typeof(new $.Set)["@@iterator"]&&(ya="@@iterator");var za=da.doneEnumerator={done:!0,value:a},Aa=da.helpers.isIterable=function(b){return b[ya]!==a},Ba=da.helpers.isArrayLike=function(b){return b&&b.length!==a};da.helpers.iterator=ya;var Ca,Da=da.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Ea=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Fa=Ea.length,Ga="[object Arguments]",Ha="[object Array]",Ia="[object Boolean]",Ja="[object Date]",Ka="[object Error]",La="[object Function]",Ma="[object Number]",Na="[object Object]",Oa="[object RegExp]",Pa="[object String]",Qa=Object.prototype.toString,Ra=Object.prototype.hasOwnProperty,Sa=Qa.call(arguments)==Ga,Ta=Error.prototype,Ua=Object.prototype,Va=String.prototype,Wa=Ua.propertyIsEnumerable;try{Ca=!(Qa.call(document)==Na&&!({toString:0}+""))}catch(na){Ca=!0}var Xa={};Xa[Ha]=Xa[Ja]=Xa[Ma]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Xa[Ia]=Xa[Pa]={constructor:!0,toString:!0,valueOf:!0},Xa[Ka]=Xa[La]=Xa[Oa]={constructor:!0,toString:!0},Xa[Na]={constructor:!0};var Ya={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);Ya.enumErrorProps=Wa.call(Ta,"message")||Wa.call(Ta,"name"),Ya.enumPrototypes=Wa.call(a,"prototype"),Ya.nonEnumArgs=0!=c,Ya.nonEnumShadows=!/valueOf/.test(b)}(1);var Za=da.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},$a=function(a){return a&&"object"==typeof a?Qa.call(a)==Ga:!1};Sa||($a=function(a){return a&&"object"==typeof a?Ra.call(a,"callee"):!1});{var _a,ab=da.internals.isEqual=function(a,b){return m(a,b,[],[])},bb={e:{}},cb=({}.hasOwnProperty,Array.prototype.slice),db=this.inherits=da.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},eb=da.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};da.internals.addRef=function(a,b){return new Dc(function(c){return new jb(b.getDisposable(),a.subscribe(c))})}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=cb.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(cb.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(cb.call(arguments)))};return d}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var fb=Object("a"),gb="a"!=fb[0]||!(0 in fb);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=gb&&{}.toString.call(this)==Pa?this.split(""):b,d=c.length>>>0,e=arguments[1];if({}.toString.call(a)!=La)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=gb&&{}.toString.call(this)==Pa?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if({}.toString.call(a)!=La)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return{}.toString.call(a)==Ha}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&d!=1/0&&d!==-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;Fa>e;e++)a.call(c,Ea[e])&&f.push(Ea[e]);return f}}()),r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var hb=da.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},ib=hb.prototype;ib.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},ib.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)}}},ib.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!ob(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},kb=jb.prototype;kb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},kb.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},kb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var lb=da.Disposable=function(a){this.isDisposed=!1,this.action=a||ea};lb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var mb=lb.create=function(a){return new lb(a)},nb=lb.empty={dispose:ea},ob=lb.isDisposable=function(a){return a&&la(a.dispose)},pb=lb.checkDisposed=function(a){if(a.isDisposed)throw new sa},qb=da.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};qb.prototype.getDisposable=function(){return this.current},qb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},qb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var rb=da.SerialDisposable=function(){this.isDisposed=!1,this.current=null};rb.prototype.getDisposable=function(){return this.current},rb.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},rb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var sb=(da.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?nb:new a(this)},b}(),da.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ia,this.disposable=new qb});sb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},sb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},sb.prototype.isCancelled=function(){return this.disposable.isDisposed},sb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var tb=da.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),nb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=ga,a.normalize=function(a){return 0>a&&(a=0),a},a}(),ub=tb.normalize,vb=tb.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),nb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new jb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),nb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new jb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(tb.prototype),function(){tb.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},tb.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof $.setInterval)throw new ua;b=ub(b);var d=a,e=$.setInterval(function(){d=c(d)},b);return mb(function(){$.clearInterval(e)})}}(tb.prototype);var wb,xb,yb=tb.immediate=function(){function a(a,b){return b(this,a)}return new tb(ga,a,xa,xa)}(),zb=tb.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new sb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new hb(4),c.enqueue(e);var f=o(a)();if(c=null,f===bb)return p(f.e)}return e.disposable}var c,d=new tb(ga,b,xa,xa);return d.scheduleRequired=function(){return!c},d}(),Ab=(da.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 qb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=ea;if($.setTimeout)a=$.setTimeout,b=$.clearTimeout;else{if(!$.WScript)throw new ua;a=function(a,b){$.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),Bb=Ab.setTimeout,Cb=Ab.clearTimeout;!function(){function a(b){if(f)Bb(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=o(c)();if(xb(b),f=!1,d===bb)return p(d.e)}}}function b(){if(!$.postMessage||$.importScripts)return!1;var a=!1,b=$.onmessage;return $.onmessage=function(){a=!0},$.postMessage("","*"),$.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;xb=function(a){delete e[a]};var g=RegExp("^"+String(Qa).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=ca&&ba&&ca.setImmediate)&&!g.test(h)&&h;if(la(h))wb=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))wb=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();$.addEventListener?$.addEventListener("message",c,!1):$.attachEvent?$.attachEvent("onmessage",c):$.onmessage=c,wb=function(a){var b=d++;return e[b]=a,$.postMessage(i+currentId,"*"),b}}else if($.MessageChannel){var j=new $.MessageChannel;j.port1.onmessage=function(b){a(b.data)},wb=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else wb="document"in $&&"onreadystatechange"in $.document.createElement("script")?function(b){var c=$.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},$.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,Bb(function(){a(c)},0),c}}();var Db=tb.timeout=tb["default"]=function(){function a(a,b){var c=this,d=new qb,e=wb(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new jb(d,mb(function(){xb(e)}))}function b(a,b,c){var d=this,e=tb.normalize(b),f=new qb;if(0===e)return d.scheduleWithState(a,c);var g=Bb(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new jb(f,mb(function(){Cb(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new tb(ga,a,b,c)}(),Eb=da.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return vb(a)||(a=yb),new Dc(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Fb=Eb.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){return new Eb("N",d,null,a,b,c)}}(),Gb=Eb.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){return new Eb("E",null,d,a,b,c)}}(),Hb=Eb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Eb("C",null,null,a,b,c)}}(),Ib=da.internals.Enumerator=function(a){this._next=a};Ib.prototype.next=function(){return this._next()},Ib.prototype[ya]=function(){return this};var Jb=da.internals.Enumerable=function(a){this._iterator=a};Jb.prototype[ya]=function(){return this._iterator()},Jb.prototype.concat=function(){var a=this;return new Dc(function(b){var c,d=a[ya](),e=new rb,f=yb.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;ka(h)&&(h=wc(h));var i=new qb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new jb(e,f,mb(function(){c=!0}))})},Jb.prototype.catchError=function(){var a=this;return new Dc(function(b){var c,d=a[ya](),e=new rb,f=yb.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;ka(i)&&(i=wc(i));var j=new qb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new jb(e,f,mb(function(){c=!0}))})},Jb.prototype.catchErrorWhen=function(a){var b=this;return new Dc(function(c){var d,e,f=new Gc,g=new Gc,h=a(f),i=h.subscribe(g),j=b[ya](),k=new rb,l=yb.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;ka(i)&&(i=wc(i));var l=new qb,m=new qb;k.setDisposable(new jb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new jb(i,k,l,mb(function(){d=!0}))})};var Kb,Lb=Jb.repeat=function(a,b){return null==b&&(b=-1),new Jb(function(){var c=b;return new Ib(function(){return 0===c?za:(c>0&&c--,{done:!1,value:a})})})},Mb=Jb.of=function(a,b,c){if(b)var d=Da(b,c,3);return new Jb(function(){var c=-1;return new Ib(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Pb),Ub=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new t(a))},b}(Sb);t.prototype.onNext=function(a){this.isStopped||this.a.push(a)},t.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},t.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},t.prototype.dispose=function(){this.isStopped=!0},t.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.toArray=function(){return new Ub(this)},Rb.create=Rb.createWithDisposable=function(a,b){return new Dc(a,b)};var Vb=Rb.defer=function(a){return new Dc(function(b){var c;try{c=a()}catch(d){return jc(d).subscribe(b); -}return ka(c)&&(c=wc(c)),c.subscribe(b)})},Wb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Sb),Xb=Rb.empty=function(a){return vb(a)||(a=yb),new Wb(a)},Yb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new Zb(a,this);return b.run()},b}(Sb),Zb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),$b=Math.pow(2,53)-1;u.prototype[ya]=function(){return new v(this._s)},v.prototype[ya]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var bc=Rb.fromArray=function(a,b){return vb(b)||(b=zb),new ac(a,b)},cc=function(a){function b(){a.call(this)}return db(b,a),b.prototype.subscribeCore=function(){return nb},b}(Sb);Rb.never=function(){return new cc}}Rb.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new ac(b,zb)},Rb.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new ac(c,a)};var dc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Sb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Rb.pairs=function(a,b){return b||(b=zb),new dc(a,b)};var ec=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new fc(a,this);return b.run()},b}(Sb),fc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Rb.range=function(a,b,c){return vb(c)||(c=zb),new ec(a,b,c)};var gc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Sb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Rb.repeat=function(a,b,c){return vb(c)||(c=zb),new gc(a,b,c)};var hc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Sb),ic=(Rb["return"]=Rb.just=Rb.returnValue=function(a,b){return vb(b)||(b=yb),new hc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Sb)),jc=Rb["throw"]=Rb.throwError=Rb.throwException=function(a,b){return vb(b)||(b=yb),new ic(a,b)};Kb["catch"]=Kb.catchError=Kb.catchException=function(a){return"function"==typeof a?G(this,a):kc([this,a])};var kc=Rb.catchError=Rb["catch"]=Rb.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Mb(a).catchError()};Kb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),lc.apply(this,b)};var lc=Rb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){function c(b){if(h[b]=!0,i||(i=h.every(fa))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function e(b){j[b]=!0,j.every(fa)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new qb;ka(f)&&(f=wc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new jb(l)},this)};Kb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),mc.apply(null,a)};var mc=Rb.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Mb(a).concat()};Kb.concatAll=Kb.concatObservable=function(){return this.merge(1)};var nc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb;return b.add(this.source.subscribe(new oc(a,this.maxConcurrent,b))),b},b}(Sb),oc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.merge=function(a){return"number"!=typeof a?pc(this,a):new nc(this,a)};var pc=Rb.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(vb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=yb,b=0;d>b;b++)c.push(arguments[b]);else for(a=yb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},qc=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb,c=new qb;return b.add(c),c.setDisposable(this.source.subscribe(new rc(a,b))),b},b}(Sb),rc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.mergeAll=Kb.mergeObservable=function(){return new qc(this)};var sc=da.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};sc.prototype=Error.prototype,Rb.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Dc(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new sc(g))}var c=new jb,e=new qb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new qb;c.add(e),ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Kb.skipUntil=function(a){var b=this;return new Dc(function(c){var d=!1,e=new jb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ka(a)&&(a=wc(a));var f=new qb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Kb["switch"]=Kb.switchLatest=function(){var a=this;return new Dc(function(b){var c=!1,d=new rb,e=!1,f=0,g=a.subscribe(function(a){var g=new qb,h=++f;c=!0,d.setDisposable(g),ka(a)&&(a=wc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new jb(g,d)},a)},Kb.takeUntil=function(a){var b=this;return new Dc(function(c){return ka(a)&&(a=wc(a)),new jb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},ea))},b)},Kb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new qb;ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(fa)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new qb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new jb(j)},this)},Kb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Dc(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new qb;ka(e)&&(e=wc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new jb(j)},d)},Rb.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Rb.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Dc(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(fa))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(fa)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new qb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new jb(h)})},Kb.asObservable=function(){var a=this;return new Dc(function(b){return a.subscribe(b)},this)},Kb.dematerialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Kb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ha),new Dc(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Kb["do"]=Kb.tap=Kb.doAction=function(a,b,c){var d=this;return new Dc(function(e){var f=!a||la(a)?Ob(a||ea,b||ea,c||ea):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Kb.doOnNext=Kb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnError=Kb.tapOnError=function(a,b){return this.tap(ea,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnCompleted=Kb.tapOnCompleted=function(a,b){return this.tap(ea,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Kb["finally"]=Kb.ensure=function(a){var b=this;return new Dc(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return mb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Kb.finallyAction=function(a){return this.ensure(a)},Kb.ignoreElements=function(){var a=this;return new Dc(function(b){return a.subscribe(ea,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Kb.materialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){b.onNext(Fb(a))},function(a){b.onNext(Gb(a)),b.onCompleted()},function(){b.onNext(Hb()),b.onCompleted()})},a)},Kb.repeat=function(a){return Lb(this,a).concat()},Kb.retry=function(a){return Lb(this,a).catchError()},Kb.retryWhen=function(a){return Lb(this).catchErrorWhen(a)},Kb.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 Dc(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Kb.skipLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.startWith=function(){var a,b=0;arguments.length&&vb(arguments[0])?(a=arguments[0],b=1):a=yb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Mb([bc(c,a),this]).concat()},Kb.takeLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Kb.selectConcat=Kb.concatMap=function(a,b,c){return la(a)&&la(b)?this.concatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})}):la(a)?K(this,a,c):K(this,function(){return a})};var tc=function(a){function b(b,c,d){this.source=b,this.selector=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Sb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.map=Kb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof tc?this.internalMap(c,b):new tc(this,c,b)},Kb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Kb.selectMany=Kb.flatMap=function(a,b,c){return la(a)&&la(b)?this.flatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})},c):la(a)?M(this,a,c):M(this,function(){return a})},Kb.selectSwitch=Kb.flatMapLatest=Kb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Kb.skip=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.skipWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Kb.take=function(a,b){if(0>a)throw new ta;if(0===a)return Xb(b);var c=this;return new Dc(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Kb.takeWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var uc=function(a){function b(b,c,d){this.source=b,this.predicate=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Sb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.filter=Kb.where=function(a,b){return this instanceof uc?this.internalFilter(a,b):new uc(this,a,b)},Rb.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Rb.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},da.config.useNativeEvents=!1,Rb.fromEvent=function(a,b,c){return a.addListener?vc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Dc(function(d){return Q(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():vc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var vc=Rb.fromEventPattern=function(a,b,c){return new Dc(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return mb(function(){b&&b(e,f)})}).publish().refCount()},wc=Rb.fromPromise=function(a){return Vb(function(){var b=new da.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Kb.toPromise=function(a){if(a||(a=da.config.Promise),!a)throw new ua("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Rb.startAsync=function(a){var b;try{b=a()}catch(c){return jc(c)}return wc(b)},Kb.multicast=function(a,b){var c=this;return"function"==typeof a?new Dc(function(d){var e=c.multicast(a());return new jb(b(e).subscribe(d),e.connect())},c):new xc(c,a)},Kb.publish=function(a){return a&&la(a)?this.multicast(function(){return new Gc},a):this.multicast(new Gc)},Kb.share=function(){return this.publish().refCount()},Kb.publishLast=function(a){return a&&la(a)?this.multicast(function(){return new Hc},a):this.multicast(new Hc)},Kb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Jc(b)},a):this.multicast(new Jc(a))},Kb.shareValue=function(a){return this.publishValue(a).refCount()},Kb.replay=function(a,b,c,d){return a&&la(a)?this.multicast(function(){return new Kc(b,c,d)},a):this.multicast(new Kc(b,c,d))},Kb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var xc=da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new jb(f.subscribe(c),mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Dc(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Rb),yc=Rb.interval=function(a,b){return U(a,a,vb(b)?b:Db)};Rb.timer=function(b,c,d){var e;return vb(d)||(d=Db),c!==a&&"number"==typeof c?e=c:vb(c)&&(d=c),b instanceof Date&&e===a?R(b.getTime(),d):b instanceof Date&&e!==a?(e=c,S(b.getTime(),e,d)):e===a?T(b,d):U(b,e,d)}}Kb.delay=function(a,b){return vb(b)||(b=Db),a instanceof Date?W(this,a.getTime(),b):V(this,a,b)},Kb.debounce=Kb.throttleWithTimeout=function(a,b){vb(b)||(b=Db);var c=this;return new Dc(function(d){var e,f=new rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new jb(i,f)},this)},Kb.throttle=function(a,b){return this.debounce(a,b)},Kb.timestamp=function(a){return vb(a)||(a=Db),this.map(function(b){return{value:b,timestamp:a.now()}})},Kb.sample=Kb.throttleLatest=function(a,b){return vb(b)||(b=Db),"number"==typeof a?X(this,yc(a,b)):X(this,a)},Kb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=jc(new Error(b||"Timeout"))),vb(c)||(c=Db);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Dc(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ka(b)&&(b=wc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new qb,j=new rb,k=!1,l=new rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new jb(j,l)},d)},Kb.throttleFirst=function(a,b){vb(b)||(b=Db);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Dc(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var zc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=nb)});return new jb(c,d,e)}function c(c,d){this.source=c,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rb);Kb.pausable=function(a){return new zc(this,a)};var Ac=function(b){function c(b){var c,d=[],e=Y(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Rb);Kb.pausableBuffered=function(a){return new Ac(this,a)};var Bc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new Cc(d),this.source=c.multicast(this.subject).refCount()}return db(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(Rb),Cc=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Gc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return db(c,a),eb(c.prototype,Nb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(da.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(da.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(da.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?nb:(this.requestedCount=a,this.requestedDisposable=mb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=nb}}),c}(Rb);Kb.controlled=function(a){return null==a&&(a=!0),new Bc(this,a)},Kb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Kb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Dc(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Dc=da.AnonymousObservable=function(a){function b(a){return a&&la(a.dispose)?a:la(a)?mb(a):nb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==bb||d.fail(bb.e)?void d.setDisposable(b(f)):p(bb.e)}function d(b,d){function e(a){var d=new Ec(a),e=[d,b];return zb.scheduleRequired()?zb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return db(d,a),d}(Rb),Ec=function(a){function b(b){a.call(this),this.observer=b,this.m=new qb}db(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===bb&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===bb&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===bb&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Pb),Fc=function(a,b){this.subject=a,this.observer=b};Fc.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 Gc=da.Subject=function(a){function c(a){return pb(this),this.isStopped?this.hasError?(a.onError(this.error),nb):(a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a); - -this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ic(a,b)},d}(Rb),Hc=da.AsyncSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{hasObservers:function(){return pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Rb),Ic=da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return db(c,a),eb(c.prototype,Nb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Rb),Jc=da.BehaviorSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),nb):(this.observers.push(a),a.onNext(this.value),new Fc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{getValue:function(){if(pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Rb),Kc=da.ReplaySubject=function(a){function c(a,b){return mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Tb(this.scheduler,a),d=c(this,b);pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||zb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return db(e,a),eb(e.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Rb);da.Pauser=function(a){function b(){a.call(this)}return db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Gc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?($.Rx=da,define(function(){return da})):_&&aa?ba?(aa.exports=da).Rx=da:_.Rx=da:$.Rx=da;var Lc=g()}).call(this); +}return ka(c)&&(c=wc(c)),c.subscribe(b)})},Wb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Sb),Xb=Rb.empty=function(a){return vb(a)||(a=yb),new Wb(a)},Yb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new Zb(a,this);return b.run()},b}(Sb),Zb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),$b=Math.pow(2,53)-1;u.prototype[ya]=function(){return new v(this._s)},v.prototype[ya]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var bc=Rb.fromArray=function(a,b){return vb(b)||(b=zb),new ac(a,b)},cc=function(a){function b(){a.call(this)}return db(b,a),b.prototype.subscribeCore=function(){return nb},b}(Sb);Rb.never=function(){return new cc}}Rb.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new ac(b,zb)},Rb.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new ac(c,a)};var dc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Sb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Rb.pairs=function(a,b){return b||(b=zb),new dc(a,b)};var ec=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new fc(a,this);return b.run()},b}(Sb),fc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Rb.range=function(a,b,c){return vb(c)||(c=zb),new ec(a,b,c)};var gc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Sb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Rb.repeat=function(a,b,c){return vb(c)||(c=zb),new gc(a,b,c)};var hc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Sb),ic=(Rb["return"]=Rb.just=Rb.returnValue=function(a,b){return vb(b)||(b=yb),new hc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Sb)),jc=Rb["throw"]=Rb.throwError=Rb.throwException=function(a,b){return vb(b)||(b=yb),new ic(a,b)};Kb["catch"]=Kb.catchError=Kb.catchException=function(a){return"function"==typeof a?G(this,a):kc([this,a])};var kc=Rb.catchError=Rb["catch"]=Rb.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Mb(a).catchError()};Kb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),lc.apply(this,b)};var lc=Rb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){function c(b){if(h[b]=!0,i||(i=h.every(fa))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function e(b){j[b]=!0,j.every(fa)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new qb;ka(f)&&(f=wc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new jb(l)},this)};Kb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),mc.apply(null,a)};var mc=Rb.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Mb(a).concat()};Kb.concatAll=Kb.concatObservable=function(){return this.merge(1)};var nc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb;return b.add(this.source.subscribe(new oc(a,this.maxConcurrent,b))),b},b}(Sb),oc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.merge=function(a){return"number"!=typeof a?pc(this,a):new nc(this,a)};var pc=Rb.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(vb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=yb,b=0;d>b;b++)c.push(arguments[b]);else for(a=yb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},qc=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb,c=new qb;return b.add(c),c.setDisposable(this.source.subscribe(new rc(a,b))),b},b}(Sb),rc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.mergeAll=Kb.mergeObservable=function(){return new qc(this)};var sc=da.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};sc.prototype=Error.prototype,Rb.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Dc(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new sc(g))}var c=new jb,e=new qb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new qb;c.add(e),ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Kb.skipUntil=function(a){var b=this;return new Dc(function(c){var d=!1,e=new jb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ka(a)&&(a=wc(a));var f=new qb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Kb["switch"]=Kb.switchLatest=function(){var a=this;return new Dc(function(b){var c=!1,d=new rb,e=!1,f=0,g=a.subscribe(function(a){var g=new qb,h=++f;c=!0,d.setDisposable(g),ka(a)&&(a=wc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new jb(g,d)},a)},Kb.takeUntil=function(a){var b=this;return new Dc(function(c){return ka(a)&&(a=wc(a)),new jb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},ea))},b)},Kb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new qb;ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(fa)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new qb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new jb(j)},this)},Kb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Dc(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new qb;ka(e)&&(e=wc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new jb(j)},d)},Rb.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Rb.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Dc(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(fa))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(fa)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new qb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new jb(h)})},Kb.asObservable=function(){var a=this;return new Dc(function(b){return a.subscribe(b)},this)},Kb.dematerialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Kb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ha),new Dc(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Kb["do"]=Kb.tap=Kb.doAction=function(a,b,c){var d=this;return new Dc(function(e){var f=!a||la(a)?Ob(a||ea,b||ea,c||ea):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Kb.doOnNext=Kb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnError=Kb.tapOnError=function(a,b){return this.tap(ea,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnCompleted=Kb.tapOnCompleted=function(a,b){return this.tap(ea,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Kb["finally"]=Kb.ensure=function(a){var b=this;return new Dc(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return mb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Kb.finallyAction=function(a){return this.ensure(a)},Kb.ignoreElements=function(){var a=this;return new Dc(function(b){return a.subscribe(ea,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Kb.materialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){b.onNext(Fb(a))},function(a){b.onNext(Gb(a)),b.onCompleted()},function(){b.onNext(Hb()),b.onCompleted()})},a)},Kb.repeat=function(a){return Lb(this,a).concat()},Kb.retry=function(a){return Lb(this,a).catchError()},Kb.retryWhen=function(a){return Lb(this).catchErrorWhen(a)},Kb.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 Dc(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Kb.skipLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.startWith=function(){var a,b=0;arguments.length&&vb(arguments[0])?(a=arguments[0],b=1):a=yb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Mb([bc(c,a),this]).concat()},Kb.takeLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Kb.selectConcat=Kb.concatMap=function(a,b,c){return la(a)&&la(b)?this.concatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})}):la(a)?K(this,a,c):K(this,function(){return a})};var tc=function(a){function b(b,c,d){this.source=b,this.selector=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Sb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.map=Kb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof tc?this.internalMap(c,b):new tc(this,c,b)},Kb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Kb.selectMany=Kb.flatMap=function(a,b,c){return la(a)&&la(b)?this.flatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})},c):la(a)?M(this,a,c):M(this,function(){return a})},Kb.selectSwitch=Kb.flatMapLatest=Kb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Kb.skip=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.skipWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Kb.take=function(a,b){if(0>a)throw new ta;if(0===a)return Xb(b);var c=this;return new Dc(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Kb.takeWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var uc=function(a){function b(b,c,d){this.source=b,this.predicate=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Sb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.filter=Kb.where=function(a,b){return this instanceof uc?this.internalFilter(a,b):new uc(this,a,b)},Rb.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Rb.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},da.config.useNativeEvents=!1,Rb.fromEvent=function(a,b,c){return a.addListener?vc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Dc(function(d){return Q(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():vc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var vc=Rb.fromEventPattern=function(a,b,c){return new Dc(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return mb(function(){b&&b(e,f)})}).publish().refCount()},wc=Rb.fromPromise=function(a){return Vb(function(){var b=new da.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Kb.toPromise=function(a){if(a||(a=da.config.Promise),!a)throw new ua("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Rb.startAsync=function(a){var b;try{b=a()}catch(c){return jc(c)}return wc(b)},Kb.multicast=function(a,b){var c=this;return"function"==typeof a?new Dc(function(d){var e=c.multicast(a());return new jb(b(e).subscribe(d),e.connect())},c):new xc(c,a)},Kb.publish=function(a){return a&&la(a)?this.multicast(function(){return new Gc},a):this.multicast(new Gc)},Kb.share=function(){return this.publish().refCount()},Kb.publishLast=function(a){return a&&la(a)?this.multicast(function(){return new Hc},a):this.multicast(new Hc)},Kb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Jc(b)},a):this.multicast(new Jc(a))},Kb.shareValue=function(a){return this.publishValue(a).refCount()},Kb.replay=function(a,b,c,d){return a&&la(a)?this.multicast(function(){return new Kc(b,c,d)},a):this.multicast(new Kc(b,c,d))},Kb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var xc=da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new jb(f.subscribe(c),mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Dc(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Rb),yc=Rb.interval=function(a,b){return U(a,a,vb(b)?b:Db)};Rb.timer=function(b,c,d){var e;return vb(d)||(d=Db),c!==a&&"number"==typeof c?e=c:vb(c)&&(d=c),b instanceof Date&&e===a?R(b.getTime(),d):b instanceof Date&&e!==a?(e=c,S(b.getTime(),e,d)):e===a?T(b,d):U(b,e,d)}}Kb.delay=function(a,b){return vb(b)||(b=Db),a instanceof Date?W(this,a.getTime(),b):V(this,a,b)},Kb.debounce=Kb.throttleWithTimeout=function(a,b){vb(b)||(b=Db);var c=this;return new Dc(function(d){var e,f=new rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new jb(i,f)},this)},Kb.throttle=function(a,b){return this.debounce(a,b)},Kb.timestamp=function(a){return vb(a)||(a=Db),this.map(function(b){return{value:b,timestamp:a.now()}})},Kb.sample=Kb.throttleLatest=function(a,b){return vb(b)||(b=Db),"number"==typeof a?X(this,yc(a,b)):X(this,a)},Kb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=jc(new Error(b||"Timeout"))),vb(c)||(c=Db);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Dc(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ka(b)&&(b=wc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new qb,j=new rb,k=!1,l=new rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new jb(j,l)},d)},Kb.throttleFirst=function(a,b){vb(b)||(b=Db);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Dc(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var zc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=nb)});return new jb(c,d,e)}function c(c,d){this.source=c,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rb);Kb.pausable=function(a){return new zc(this,a)};var Ac=function(b){function c(b){var c,d=[],e=Y(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Rb);Kb.pausableBuffered=function(a){return new Ac(this,a)};var Bc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new Cc(d,e),this.source=c.multicast(this.subject).refCount()}return db(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Rb),Cc=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Gc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||zb}return db(c,a),eb(c.prototype,Nb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Eb.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Eb.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Eb.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=mb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=nb}}),c}(Rb);Kb.controlled=function(a,b){return a&&vb(a)&&(b=a,a=!0),null==a&&(a=!0),new Bc(this,a,b)},Kb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Kb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Dc(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Dc=da.AnonymousObservable=function(a){function b(a){return a&&la(a.dispose)?a:la(a)?mb(a):nb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==bb||d.fail(bb.e)?void d.setDisposable(b(f)):p(bb.e)}function d(b,d){function e(a){var d=new Ec(a),e=[d,b];return zb.scheduleRequired()?zb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return db(d,a),d}(Rb),Ec=function(a){function b(b){a.call(this),this.observer=b,this.m=new qb}db(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===bb&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===bb&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===bb&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Pb),Fc=function(a,b){this.subject=a,this.observer=b};Fc.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 Gc=da.Subject=function(a){function c(a){return pb(this),this.isStopped?this.hasError?(a.onError(this.error),nb):(a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0, +this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ic(a,b)},d}(Rb),Hc=da.AsyncSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{hasObservers:function(){return pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Rb),Ic=da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return db(c,a),eb(c.prototype,Nb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Rb),Jc=da.BehaviorSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),nb):(this.observers.push(a),a.onNext(this.value),new Fc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{getValue:function(){if(pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Rb),Kc=da.ReplaySubject=function(a){function c(a,b){return mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Tb(this.scheduler,a),d=c(this,b);pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||zb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return db(e,a),eb(e.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Rb);da.Pauser=function(a){function b(){a.call(this)}return db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Gc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?($.Rx=da,define(function(){return da})):_&&aa?ba?(aa.exports=da).Rx=da:_.Rx=da:$.Rx=da;var Lc=g()}).call(this); //# sourceMappingURL=rx.lite.compat.map \ No newline at end of file diff --git a/dist/rx.lite.js b/dist/rx.lite.js index 979f8481b..2d7f08943 100644 --- a/dist/rx.lite.js +++ b/dist/rx.lite.js @@ -5165,15 +5165,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -5188,7 +5187,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -5200,29 +5199,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -5235,37 +5237,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -5281,12 +5281,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; /** diff --git a/dist/rx.lite.map b/dist/rx.lite.map index 3235c7d35..718f64130 100644 --- a/dist/rx.lite.map +++ b/dist/rx.lite.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.min.js","sources":["rx.lite.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","createListener","element","name","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isArray","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","concat","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","keys","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","n","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","m","innerSubscription","MergeAllObservable","MergeAllObserver","mergeObservable","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","results","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.min.js","sources":["rx.lite.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","createListener","element","name","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isArray","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","concat","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","keys","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","n","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","m","innerSubscription","MergeAllObservable","MergeAllObserver","mergeObservable","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","results","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/dist/rx.lite.min.js b/dist/rx.lite.min.js index 7dad36030..a0e4b350f 100644 --- a/dist/rx.lite.min.js +++ b/dist/rx.lite.min.js @@ -1,5 +1,5 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(la&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(pa)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+pa+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===na&&d>=oa&&Ic>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(la)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return na=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!Ya(a))return b;Xa.nonEnumArgs&&a.length&&Za(a)&&(a=bb.call(a));var c=Xa.enumPrototypes&&"function"==typeof a,d=Xa.enumErrorProps&&(a===Sa||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(Xa.nonEnumShadows&&a!==Ta){var f=a.constructor,g=-1,h=Ea;if(a===(f&&f.prototype))var i=a===Ua?Oa:a===Sa?Ja:Pa.call(a),j=Wa[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(){try{return $a.apply(this,arguments)}catch(a){return ab.e=a,ab}}function o(a){if(!ka(a))throw new TypeError("fn must be a function");return $a=a,n}function p(a){throw a}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a,b){this.id=a,this.value=b}function t(a){this.observer=a,this.a=[],this.isStopped=!1}function u(){this._s=s}function v(){this._s=s,this._l=s.length,this._i=0}function w(a){this._a=a}function x(a){this._a=a,this._l=B(a),this._i=0}function y(a){return"number"==typeof a&&Z.isFinite(a)}function z(b){var c,d=b[xa];if(!d&&"string"==typeof b)return c=new u(b),c[xa]();if(!d&&b.length!==a)return c=new w(b),c[xa]();if(!d)throw new TypeError("Object is not iterable");return b[xa]()}function A(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function B(a){var b=+a.length;return isNaN(b)?0:0!==b&&y(b)?(b=A(b)*Math.floor(Math.abs(b)),0>=b?0:b>Xb?Xb:b):b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return sb(a)||(a=wb),new Zb(b,a)}function E(a,b){this.observer=a,this.parent=b}function F(a,b){this.observer=a,this.parent=b}function G(a,b){return new Ac(function(c){var d=new nb,e=new ob;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}ja(d)&&(d=tc(d));var g=new nb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function H(a,b){var c=this;return new Ac(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function I(){return!1}function J(){return[]}function K(a,b,c){var d=Ca(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e}).concatAll()}function L(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function M(a,b,c){var d=Ca(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e}).mergeAll()}function N(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function O(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),jb(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function P(a,b,c){var d=new gb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(P(a.item(e),b,c));else a&&d.add(O(a,b,c));return d}function Q(a,b){return new Ac(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function R(a,b,c){return new Ac(function(d){var e=a,f=rb(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function S(a,b){return new Ac(function(c){return b.scheduleWithRelative(rb(a),function(){c.onNext(0),c.onCompleted()})})}function T(a,b,c){return a===b?new Ac(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Sb(function(){return R(c.now()+a,b,c)})}function U(a,b,c){return new Ac(function(d){var e,f=!1,g=new ob,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new nb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new gb(e,g)},a)}function V(a,b,c){return Sb(function(){return U(a,b-c.now(),c)})}function W(a,b){return new Ac(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new gb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}function X(a,b,c){return new Ac(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(ea))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new gb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}var Y={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z=Y[typeof window]&&window||this,$=Y[typeof exports]&&exports&&!exports.nodeType&&exports,_=Y[typeof module]&&module&&!module.nodeType&&module,aa=_&&_.exports===$&&$,ba=Y[typeof global]&&global;!ba||ba.global!==ba&&ba.window!==ba||(Z=ba);var ca={internals:{},config:{Promise:Z.Promise},helpers:{}},da=ca.helpers.noop=function(){},ea=(ca.helpers.notDefined=function(a){return"undefined"==typeof a},ca.helpers.identity=function(a){return a}),fa=(ca.helpers.pluck=function(a){return function(b){return b[a]}},ca.helpers.just=function(a){return function(){return a}},ca.helpers.defaultNow=Date.now),ga=ca.helpers.defaultComparer=function(a,b){return _a(a,b)},ha=ca.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},ia=(ca.helpers.defaultKeySerializer=function(a){return a.toString()},ca.helpers.defaultError=function(a){throw a}),ja=ca.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},ka=(ca.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ca.helpers.not=function(a){return!a},ca.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Pa.call(a)}),a}());ca.config.longStackSupport=!1;var la=!1;try{throw new Error}catch(ma){la=!!ma.stack}var na,oa=g(),pa="From previous event:",qa=ca.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};qa.prototype=Error.prototype;var ra=ca.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};ra.prototype=Error.prototype;var sa=ca.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};sa.prototype=Error.prototype;var ta=ca.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};ta.prototype=Error.prototype;var ua=ca.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};ua.prototype=Error.prototype;var va=ca.helpers.notImplemented=function(){throw new ua},wa=ca.helpers.notSupported=function(){throw new ta},xa="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";Z.Set&&"function"==typeof(new Z.Set)["@@iterator"]&&(xa="@@iterator");var ya=ca.doneEnumerator={done:!0,value:a},za=ca.helpers.isIterable=function(b){return b[xa]!==a},Aa=ca.helpers.isArrayLike=function(b){return b&&b.length!==a};ca.helpers.iterator=xa;var Ba,Ca=ca.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Da=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ea=Da.length,Fa="[object Arguments]",Ga="[object Array]",Ha="[object Boolean]",Ia="[object Date]",Ja="[object Error]",Ka="[object Function]",La="[object Number]",Ma="[object Object]",Na="[object RegExp]",Oa="[object String]",Pa=Object.prototype.toString,Qa=Object.prototype.hasOwnProperty,Ra=Pa.call(arguments)==Fa,Sa=Error.prototype,Ta=Object.prototype,Ua=String.prototype,Va=Ta.propertyIsEnumerable;try{Ba=!(Pa.call(document)==Ma&&!({toString:0}+""))}catch(ma){Ba=!0}var Wa={};Wa[Ga]=Wa[Ia]=Wa[La]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Wa[Ha]=Wa[Oa]={constructor:!0,toString:!0,valueOf:!0},Wa[Ja]=Wa[Ka]=Wa[Na]={constructor:!0,toString:!0},Wa[Ma]={constructor:!0};var Xa={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);Xa.enumErrorProps=Va.call(Sa,"message")||Va.call(Sa,"name"),Xa.enumPrototypes=Va.call(a,"prototype"),Xa.nonEnumArgs=0!=c,Xa.nonEnumShadows=!/valueOf/.test(b)}(1);var Ya=ca.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},Za=function(a){return a&&"object"==typeof a?Pa.call(a)==Fa:!1};Ra||(Za=function(a){return a&&"object"==typeof a?Qa.call(a,"callee"):!1});{var $a,_a=ca.internals.isEqual=function(a,b){return m(a,b,[],[])},ab={e:{}},bb=({}.hasOwnProperty,Array.prototype.slice),cb=this.inherits=ca.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},db=ca.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};ca.internals.addRef=function(a,b){return new Ac(function(c){return new gb(b.getDisposable(),a.subscribe(c))})}}r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var eb=ca.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},fb=eb.prototype;fb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},fb.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)}}},fb.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!lb(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},hb=gb.prototype;hb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},hb.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},hb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var ib=ca.Disposable=function(a){this.isDisposed=!1,this.action=a||da};ib.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var jb=ib.create=function(a){return new ib(a)},kb=ib.empty={dispose:da},lb=ib.isDisposable=function(a){return a&&ka(a.dispose)},mb=ib.checkDisposed=function(a){if(a.isDisposed)throw new ra},nb=ca.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};nb.prototype.getDisposable=function(){return this.current},nb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},nb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var ob=ca.SerialDisposable=function(){this.isDisposed=!1,this.current=null};ob.prototype.getDisposable=function(){return this.current},ob.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},ob.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var pb=(ca.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?kb:new a(this)},b}(),ca.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ha,this.disposable=new nb});pb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},pb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},pb.prototype.isCancelled=function(){return this.disposable.isDisposed},pb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var qb=ca.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),kb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=fa,a.normalize=function(a){return 0>a&&(a=0),a},a}(),rb=qb.normalize,sb=qb.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),kb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new gb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),kb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new gb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(qb.prototype),function(){qb.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},qb.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof Z.setInterval)throw new ta;b=rb(b);var d=a,e=Z.setInterval(function(){d=c(d)},b);return jb(function(){Z.clearInterval(e)})}}(qb.prototype);var tb,ub,vb=qb.immediate=function(){function a(a,b){return b(this,a)}return new qb(fa,a,wa,wa)}(),wb=qb.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new pb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new eb(4),c.enqueue(e);var f=o(a)();if(c=null,f===ab)return p(f.e)}return e.disposable}var c,d=new qb(fa,b,wa,wa);return d.scheduleRequired=function(){return!c},d}(),xb=(ca.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 nb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=da;if(Z.setTimeout)a=Z.setTimeout,b=Z.clearTimeout;else{if(!Z.WScript)throw new ta;a=function(a,b){Z.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),yb=xb.setTimeout,zb=xb.clearTimeout;!function(){function a(b){if(f)yb(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=o(c)();if(ub(b),f=!1,d===ab)return p(d.e)}}}function b(){if(!Z.postMessage||Z.importScripts)return!1;var a=!1,b=Z.onmessage;return Z.onmessage=function(){a=!0},Z.postMessage("","*"),Z.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;ub=function(a){delete e[a]};var g=RegExp("^"+String(Pa).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=ba&&aa&&ba.setImmediate)&&!g.test(h)&&h;if(ka(h))tb=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))tb=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();Z.addEventListener?Z.addEventListener("message",c,!1):Z.attachEvent?Z.attachEvent("onmessage",c):Z.onmessage=c,tb=function(a){var b=d++;return e[b]=a,Z.postMessage(i+currentId,"*"),b}}else if(Z.MessageChannel){var j=new Z.MessageChannel;j.port1.onmessage=function(b){a(b.data)},tb=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else tb="document"in Z&&"onreadystatechange"in Z.document.createElement("script")?function(b){var c=Z.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},Z.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,yb(function(){a(c)},0),c}}();var Ab=qb.timeout=qb["default"]=function(){function a(a,b){var c=this,d=new nb,e=tb(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new gb(d,jb(function(){ub(e)}))}function b(a,b,c){var d=this,e=qb.normalize(b),f=new nb;if(0===e)return d.scheduleWithState(a,c);var g=yb(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new gb(f,jb(function(){zb(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new qb(fa,a,b,c)}(),Bb=ca.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return sb(a)||(a=vb),new Ac(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Cb=Bb.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){return new Bb("N",d,null,a,b,c)}}(),Db=Bb.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){return new Bb("E",null,d,a,b,c)}}(),Eb=Bb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Bb("C",null,null,a,b,c)}}(),Fb=ca.internals.Enumerator=function(a){this._next=a};Fb.prototype.next=function(){return this._next()},Fb.prototype[xa]=function(){return this};var Gb=ca.internals.Enumerable=function(a){this._iterator=a};Gb.prototype[xa]=function(){return this._iterator()},Gb.prototype.concat=function(){var a=this;return new Ac(function(b){var c,d=a[xa](),e=new ob,f=vb.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;ja(h)&&(h=tc(h));var i=new nb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new gb(e,f,jb(function(){c=!0}))})},Gb.prototype.catchError=function(){var a=this;return new Ac(function(b){var c,d=a[xa](),e=new ob,f=vb.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;ja(i)&&(i=tc(i));var j=new nb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new gb(e,f,jb(function(){c=!0}))})},Gb.prototype.catchErrorWhen=function(a){var b=this;return new Ac(function(c){var d,e,f=new Dc,g=new Dc,h=a(f),i=h.subscribe(g),j=b[xa](),k=new ob,l=vb.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;ja(i)&&(i=tc(i));var l=new nb,m=new nb;k.setDisposable(new gb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new gb(i,k,l,jb(function(){d=!0}))})};var Hb,Ib=Gb.repeat=function(a,b){return null==b&&(b=-1),new Gb(function(){var c=b;return new Fb(function(){return 0===c?ya:(c>0&&c--,{done:!1,value:a})})})},Jb=Gb.of=function(a,b,c){if(b)var d=Ca(b,c,3);return new Gb(function(){var c=-1;return new Fb(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Mb),Qb=ca.ObservableBase=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e.subscribeCore).call(e,d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(a){var b=new Bc(a),d=[b,this];return wb.scheduleRequired()?wb.scheduleWithState(d,c):c(null,d),b}function e(){a.call(this,d)}return cb(e,a),e.prototype.subscribeCore=va,e}(Ob),Rb=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new t(a))},b}(Qb);t.prototype.onNext=function(a){this.isStopped||this.a.push(a)},t.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},t.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},t.prototype.dispose=function(){this.isStopped=!0},t.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.toArray=function(){return new Rb(this)},Ob.create=Ob.createWithDisposable=function(a,b){return new Ac(a,b)};var Sb=Ob.defer=function(a){return new Ac(function(b){var c;try{c=a()}catch(d){return gc(d).subscribe(b)}return ja(c)&&(c=tc(c)),c.subscribe(b)})},Tb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Qb),Ub=Ob.empty=function(a){return sb(a)||(a=vb),new Tb(a)},Vb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new Wb(a,this);return b.run()},b}(Qb),Wb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),Xb=Math.pow(2,53)-1;u.prototype[xa]=function(){return new v(this._s)},v.prototype[xa]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var $b=Ob.fromArray=function(a,b){return sb(b)||(b=wb),new Zb(a,b)},_b=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(){return kb},b}(Qb);Ob.never=function(){return new _b}}Ob.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new Zb(b,wb)},Ob.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new Zb(c,a)};var ac=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Qb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Ob.pairs=function(a,b){return b||(b=wb),new ac(a,b)};var bc=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new cc(a,this);return b.run()},b}(Qb),cc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){ -function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Ob.range=function(a,b,c){return sb(c)||(c=wb),new bc(a,b,c)};var dc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Qb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Ob.repeat=function(a,b,c){return sb(c)||(c=wb),new dc(a,b,c)};var ec=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Qb),fc=(Ob["return"]=Ob.just=Ob.returnValue=function(a,b){return sb(b)||(b=vb),new ec(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Qb)),gc=Ob["throw"]=Ob.throwError=Ob.throwException=function(a,b){return sb(b)||(b=vb),new fc(a,b)};Hb["catch"]=Hb.catchError=Hb.catchException=function(a){return"function"==typeof a?G(this,a):hc([this,a])};var hc=Ob.catchError=Ob["catch"]=Ob.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Jb(a).catchError()};Hb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),ic.apply(this,b)};var ic=Ob.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){function c(b){if(h[b]=!0,i||(i=h.every(ea))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function e(b){j[b]=!0,j.every(ea)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new nb;ja(f)&&(f=tc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new gb(l)},this)};Hb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),jc.apply(null,a)};var jc=Ob.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Jb(a).concat()};Hb.concatAll=Hb.concatObservable=function(){return this.merge(1)};var kc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb;return b.add(this.source.subscribe(new lc(a,this.maxConcurrent,b))),b},b}(Qb),lc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.merge=function(a){return"number"!=typeof a?mc(this,a):new kc(this,a)};var mc=Ob.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(sb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=vb,b=0;d>b;b++)c.push(arguments[b]);else for(a=vb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},nc=ca.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};nc.prototype=Error.prototype,Ob.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Ac(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new nc(g))}var c=new gb,e=new nb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new nb;c.add(e),ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})};var oc=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb,c=new nb;return b.add(c),c.setDisposable(this.source.subscribe(new pc(a,b))),b},b}(Qb),pc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.mergeAll=Hb.mergeObservable=function(){return new oc(this)},Hb.skipUntil=function(a){var b=this;return new Ac(function(c){var d=!1,e=new gb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ja(a)&&(a=tc(a));var f=new nb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Hb["switch"]=Hb.switchLatest=function(){var a=this;return new Ac(function(b){var c=!1,d=new ob,e=!1,f=0,g=a.subscribe(function(a){var g=new nb,h=++f;c=!0,d.setDisposable(g),ja(a)&&(a=tc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new gb(g,d)},a)},Hb.takeUntil=function(a){var b=this;return new Ac(function(c){return ja(a)&&(a=tc(a)),new gb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},da))},b)},Hb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new nb;ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(ea)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new nb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new gb(j)},this)},Hb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Ac(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new nb;ja(e)&&(e=tc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new gb(j)},d)},Ob.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Ob.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ac(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(ea))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(ea)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new nb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new gb(h)})},Hb.asObservable=function(){var a=this;return new Ac(function(b){return a.subscribe(b)},this)},Hb.dematerialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Hb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ga),new Ac(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Hb["do"]=Hb.tap=Hb.doAction=function(a,b,c){var d=this;return new Ac(function(e){var f=!a||ka(a)?Lb(a||da,b||da,c||da):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Hb.doOnNext=Hb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnError=Hb.tapOnError=function(a,b){return this.tap(da,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnCompleted=Hb.tapOnCompleted=function(a,b){return this.tap(da,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Hb["finally"]=Hb.ensure=function(a){var b=this;return new Ac(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return jb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Hb.finallyAction=function(a){return this.ensure(a)},Hb.ignoreElements=function(){var a=this;return new Ac(function(b){return a.subscribe(da,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Hb.materialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){b.onNext(Cb(a))},function(a){b.onNext(Db(a)),b.onCompleted()},function(){b.onNext(Eb()),b.onCompleted()})},a)},Hb.repeat=function(a){return Ib(this,a).concat()},Hb.retry=function(a){return Ib(this,a).catchError()},Hb.retryWhen=function(a){return Ib(this).catchErrorWhen(a)},Hb.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 Ac(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Hb.skipLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.startWith=function(){var a,b=0;arguments.length&&sb(arguments[0])?(a=arguments[0],b=1):a=vb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Jb([$b(c,a),this]).concat()},Hb.takeLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Hb.selectConcat=Hb.concatMap=function(a,b,c){return ka(a)&&ka(b)?this.concatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})}):ka(a)?K(this,a,c):K(this,function(){return a})};var qc=function(a){function b(b,c,d){this.source=b,this.selector=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Qb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.map=Hb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof qc?this.internalMap(c,b):new qc(this,c,b)},Hb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Hb.selectMany=Hb.flatMap=function(a,b,c){return ka(a)&&ka(b)?this.flatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})},c):ka(a)?M(this,a,c):M(this,function(){return a})},Hb.selectSwitch=Hb.flatMapLatest=Hb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Hb.skip=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.skipWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Hb.take=function(a,b){if(0>a)throw new sa;if(0===a)return Ub(b);var c=this;return new Ac(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Hb.takeWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var rc=function(a){function b(b,c,d){this.source=b,this.predicate=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Qb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.filter=Hb.where=function(a,b){return this instanceof rc?this.internalFilter(a,b):new rc(this,a,b)},Ob.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ob.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},ca.config.useNativeEvents=!1,Ob.fromEvent=function(a,b,c){return a.addListener?sc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):ca.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Ac(function(d){return P(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():sc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var sc=Ob.fromEventPattern=function(a,b,c){return new Ac(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return jb(function(){b&&b(e,f)})}).publish().refCount()},tc=Ob.fromPromise=function(a){return Sb(function(){var b=new ca.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Hb.toPromise=function(a){if(a||(a=ca.config.Promise),!a)throw new ta("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Ob.startAsync=function(a){var b;try{b=a()}catch(c){return gc(c)}return tc(b)},Hb.multicast=function(a,b){var c=this;return"function"==typeof a?new Ac(function(d){var e=c.multicast(a());return new gb(b(e).subscribe(d),e.connect())},c):new uc(c,a)},Hb.publish=function(a){return a&&ka(a)?this.multicast(function(){return new Dc},a):this.multicast(new Dc)},Hb.share=function(){return this.publish().refCount()},Hb.publishLast=function(a){return a&&ka(a)?this.multicast(function(){return new Ec},a):this.multicast(new Ec)},Hb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gc(b)},a):this.multicast(new Gc(a))},Hb.shareValue=function(a){return this.publishValue(a).refCount()},Hb.replay=function(a,b,c,d){return a&&ka(a)?this.multicast(function(){return new Hc(b,c,d)},a):this.multicast(new Hc(b,c,d))},Hb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var uc=ca.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new gb(f.subscribe(c),jb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return cb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Ac(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Ob),vc=Ob.interval=function(a,b){return T(a,a,sb(b)?b:Ab)};Ob.timer=function(b,c,d){var e;return sb(d)||(d=Ab),c!==a&&"number"==typeof c?e=c:sb(c)&&(d=c),b instanceof Date&&e===a?Q(b.getTime(),d):b instanceof Date&&e!==a?(e=c,R(b.getTime(),e,d)):e===a?S(b,d):T(b,e,d)}}Hb.delay=function(a,b){return sb(b)||(b=Ab),a instanceof Date?V(this,a.getTime(),b):U(this,a,b)},Hb.debounce=Hb.throttleWithTimeout=function(a,b){sb(b)||(b=Ab);var c=this;return new Ac(function(d){var e,f=new ob,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new nb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new gb(i,f)},this)},Hb.throttle=function(a,b){return this.debounce(a,b)},Hb.timestamp=function(a){return sb(a)||(a=Ab),this.map(function(b){return{value:b,timestamp:a.now()}})},Hb.sample=Hb.throttleLatest=function(a,b){return sb(b)||(b=Ab),"number"==typeof a?W(this,vc(a,b)):W(this,a)},Hb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=gc(new Error(b||"Timeout"))),sb(c)||(c=Ab);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Ac(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ja(b)&&(b=tc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new nb,j=new ob,k=!1,l=new ob;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new gb(j,l)},d)},Hb.throttleFirst=function(a,b){sb(b)||(b=Ab);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ac(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var wc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=kb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=kb)});return new gb(c,d,e)}function c(c,d){this.source=c,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return cb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Ob);Hb.pausable=function(a){return new wc(this,a)};var xc=function(b){function c(b){var c,d=[],e=X(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return cb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Ob);Hb.pausableBuffered=function(a){return new xc(this,a)};var yc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new zc(d),this.source=c.multicast(this.subject).refCount()}return cb(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(Ob),zc=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Dc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=kb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return cb(c,a),db(c.prototype,Kb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(ca.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(ca.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(ca.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?kb:(this.requestedCount=a,this.requestedDisposable=jb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=kb}}),c}(Ob);Hb.controlled=function(a){return null==a&&(a=!0),new yc(this,a)},Hb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Hb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Ac(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Ac=ca.AnonymousObservable=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(b,d){function e(a){var d=new Bc(a),e=[d,b];return wb.scheduleRequired()?wb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return cb(d,a),d}(Ob),Bc=function(a){function b(b){a.call(this),this.observer=b,this.m=new nb}cb(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===ab&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===ab&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===ab&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mb),Cc=function(a,b){this.subject=a,this.observer=b};Cc.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 Dc=ca.Subject=function(a){function c(a){return mb(this),this.isStopped?this.hasError?(a.onError(this.error),kb):(a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Fc(a,b)},d}(Ob),Ec=ca.AsyncSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{hasObservers:function(){return mb(this),this.observers.length>0},onCompleted:function(){var a,c;if(mb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){mb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Ob),Fc=ca.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return cb(c,a),db(c.prototype,Kb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Ob),Gc=ca.BehaviorSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),kb):(this.observers.push(a),a.onNext(this.value),new Cc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{getValue:function(){if(mb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Ob),Hc=ca.ReplaySubject=function(a){function c(a,b){return jb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Pb(this.scheduler,a),d=c(this,b);mb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b, -this.windowSize=null==c?f:c,this.scheduler=e||wb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return cb(e,a),db(e.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(mb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Ob);ca.Pauser=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Dc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Z.Rx=ca,define(function(){return ca})):$&&_?aa?(_.exports=ca).Rx=ca:$.Rx=ca:Z.Rx=ca;var Ic=g()}).call(this); +function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Ob.range=function(a,b,c){return sb(c)||(c=wb),new bc(a,b,c)};var dc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Qb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Ob.repeat=function(a,b,c){return sb(c)||(c=wb),new dc(a,b,c)};var ec=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Qb),fc=(Ob["return"]=Ob.just=Ob.returnValue=function(a,b){return sb(b)||(b=vb),new ec(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Qb)),gc=Ob["throw"]=Ob.throwError=Ob.throwException=function(a,b){return sb(b)||(b=vb),new fc(a,b)};Hb["catch"]=Hb.catchError=Hb.catchException=function(a){return"function"==typeof a?G(this,a):hc([this,a])};var hc=Ob.catchError=Ob["catch"]=Ob.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Jb(a).catchError()};Hb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),ic.apply(this,b)};var ic=Ob.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){function c(b){if(h[b]=!0,i||(i=h.every(ea))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function e(b){j[b]=!0,j.every(ea)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new nb;ja(f)&&(f=tc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new gb(l)},this)};Hb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),jc.apply(null,a)};var jc=Ob.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Jb(a).concat()};Hb.concatAll=Hb.concatObservable=function(){return this.merge(1)};var kc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb;return b.add(this.source.subscribe(new lc(a,this.maxConcurrent,b))),b},b}(Qb),lc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.merge=function(a){return"number"!=typeof a?mc(this,a):new kc(this,a)};var mc=Ob.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(sb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=vb,b=0;d>b;b++)c.push(arguments[b]);else for(a=vb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},nc=ca.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};nc.prototype=Error.prototype,Ob.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Ac(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new nc(g))}var c=new gb,e=new nb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new nb;c.add(e),ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})};var oc=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb,c=new nb;return b.add(c),c.setDisposable(this.source.subscribe(new pc(a,b))),b},b}(Qb),pc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.mergeAll=Hb.mergeObservable=function(){return new oc(this)},Hb.skipUntil=function(a){var b=this;return new Ac(function(c){var d=!1,e=new gb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ja(a)&&(a=tc(a));var f=new nb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Hb["switch"]=Hb.switchLatest=function(){var a=this;return new Ac(function(b){var c=!1,d=new ob,e=!1,f=0,g=a.subscribe(function(a){var g=new nb,h=++f;c=!0,d.setDisposable(g),ja(a)&&(a=tc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new gb(g,d)},a)},Hb.takeUntil=function(a){var b=this;return new Ac(function(c){return ja(a)&&(a=tc(a)),new gb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},da))},b)},Hb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new nb;ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(ea)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new nb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new gb(j)},this)},Hb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Ac(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new nb;ja(e)&&(e=tc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new gb(j)},d)},Ob.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Ob.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ac(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(ea))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(ea)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new nb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new gb(h)})},Hb.asObservable=function(){var a=this;return new Ac(function(b){return a.subscribe(b)},this)},Hb.dematerialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Hb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ga),new Ac(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Hb["do"]=Hb.tap=Hb.doAction=function(a,b,c){var d=this;return new Ac(function(e){var f=!a||ka(a)?Lb(a||da,b||da,c||da):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Hb.doOnNext=Hb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnError=Hb.tapOnError=function(a,b){return this.tap(da,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnCompleted=Hb.tapOnCompleted=function(a,b){return this.tap(da,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Hb["finally"]=Hb.ensure=function(a){var b=this;return new Ac(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return jb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Hb.finallyAction=function(a){return this.ensure(a)},Hb.ignoreElements=function(){var a=this;return new Ac(function(b){return a.subscribe(da,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Hb.materialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){b.onNext(Cb(a))},function(a){b.onNext(Db(a)),b.onCompleted()},function(){b.onNext(Eb()),b.onCompleted()})},a)},Hb.repeat=function(a){return Ib(this,a).concat()},Hb.retry=function(a){return Ib(this,a).catchError()},Hb.retryWhen=function(a){return Ib(this).catchErrorWhen(a)},Hb.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 Ac(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Hb.skipLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.startWith=function(){var a,b=0;arguments.length&&sb(arguments[0])?(a=arguments[0],b=1):a=vb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Jb([$b(c,a),this]).concat()},Hb.takeLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Hb.selectConcat=Hb.concatMap=function(a,b,c){return ka(a)&&ka(b)?this.concatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})}):ka(a)?K(this,a,c):K(this,function(){return a})};var qc=function(a){function b(b,c,d){this.source=b,this.selector=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Qb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.map=Hb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof qc?this.internalMap(c,b):new qc(this,c,b)},Hb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Hb.selectMany=Hb.flatMap=function(a,b,c){return ka(a)&&ka(b)?this.flatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})},c):ka(a)?M(this,a,c):M(this,function(){return a})},Hb.selectSwitch=Hb.flatMapLatest=Hb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Hb.skip=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.skipWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Hb.take=function(a,b){if(0>a)throw new sa;if(0===a)return Ub(b);var c=this;return new Ac(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Hb.takeWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var rc=function(a){function b(b,c,d){this.source=b,this.predicate=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Qb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.filter=Hb.where=function(a,b){return this instanceof rc?this.internalFilter(a,b):new rc(this,a,b)},Ob.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ob.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},ca.config.useNativeEvents=!1,Ob.fromEvent=function(a,b,c){return a.addListener?sc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):ca.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Ac(function(d){return P(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():sc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var sc=Ob.fromEventPattern=function(a,b,c){return new Ac(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return jb(function(){b&&b(e,f)})}).publish().refCount()},tc=Ob.fromPromise=function(a){return Sb(function(){var b=new ca.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Hb.toPromise=function(a){if(a||(a=ca.config.Promise),!a)throw new ta("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Ob.startAsync=function(a){var b;try{b=a()}catch(c){return gc(c)}return tc(b)},Hb.multicast=function(a,b){var c=this;return"function"==typeof a?new Ac(function(d){var e=c.multicast(a());return new gb(b(e).subscribe(d),e.connect())},c):new uc(c,a)},Hb.publish=function(a){return a&&ka(a)?this.multicast(function(){return new Dc},a):this.multicast(new Dc)},Hb.share=function(){return this.publish().refCount()},Hb.publishLast=function(a){return a&&ka(a)?this.multicast(function(){return new Ec},a):this.multicast(new Ec)},Hb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gc(b)},a):this.multicast(new Gc(a))},Hb.shareValue=function(a){return this.publishValue(a).refCount()},Hb.replay=function(a,b,c,d){return a&&ka(a)?this.multicast(function(){return new Hc(b,c,d)},a):this.multicast(new Hc(b,c,d))},Hb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var uc=ca.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new gb(f.subscribe(c),jb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return cb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Ac(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Ob),vc=Ob.interval=function(a,b){return T(a,a,sb(b)?b:Ab)};Ob.timer=function(b,c,d){var e;return sb(d)||(d=Ab),c!==a&&"number"==typeof c?e=c:sb(c)&&(d=c),b instanceof Date&&e===a?Q(b.getTime(),d):b instanceof Date&&e!==a?(e=c,R(b.getTime(),e,d)):e===a?S(b,d):T(b,e,d)}}Hb.delay=function(a,b){return sb(b)||(b=Ab),a instanceof Date?V(this,a.getTime(),b):U(this,a,b)},Hb.debounce=Hb.throttleWithTimeout=function(a,b){sb(b)||(b=Ab);var c=this;return new Ac(function(d){var e,f=new ob,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new nb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new gb(i,f)},this)},Hb.throttle=function(a,b){return this.debounce(a,b)},Hb.timestamp=function(a){return sb(a)||(a=Ab),this.map(function(b){return{value:b,timestamp:a.now()}})},Hb.sample=Hb.throttleLatest=function(a,b){return sb(b)||(b=Ab),"number"==typeof a?W(this,vc(a,b)):W(this,a)},Hb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=gc(new Error(b||"Timeout"))),sb(c)||(c=Ab);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Ac(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ja(b)&&(b=tc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new nb,j=new ob,k=!1,l=new ob;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new gb(j,l)},d)},Hb.throttleFirst=function(a,b){sb(b)||(b=Ab);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ac(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var wc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=kb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=kb)});return new gb(c,d,e)}function c(c,d){this.source=c,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return cb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Ob);Hb.pausable=function(a){return new wc(this,a)};var xc=function(b){function c(b){var c,d=[],e=X(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return cb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Ob);Hb.pausableBuffered=function(a){return new xc(this,a)};var yc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new zc(d,e),this.source=c.multicast(this.subject).refCount()}return cb(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Ob),zc=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Dc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=kb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||wb}return cb(c,a),db(c.prototype,Kb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Bb.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Bb.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Bb.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=jb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=kb}}),c}(Ob);Hb.controlled=function(a,b){return a&&sb(a)&&(b=a,a=!0),null==a&&(a=!0),new yc(this,a,b)},Hb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Hb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Ac(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Ac=ca.AnonymousObservable=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(b,d){function e(a){var d=new Bc(a),e=[d,b];return wb.scheduleRequired()?wb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return cb(d,a),d}(Ob),Bc=function(a){function b(b){a.call(this),this.observer=b,this.m=new nb}cb(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===ab&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===ab&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===ab&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mb),Cc=function(a,b){this.subject=a,this.observer=b};Cc.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 Dc=ca.Subject=function(a){function c(a){return mb(this),this.isStopped?this.hasError?(a.onError(this.error),kb):(a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Fc(a,b)},d}(Ob),Ec=ca.AsyncSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{hasObservers:function(){return mb(this),this.observers.length>0},onCompleted:function(){var a,c;if(mb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){mb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Ob),Fc=ca.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return cb(c,a),db(c.prototype,Kb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Ob),Gc=ca.BehaviorSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),kb):(this.observers.push(a),a.onNext(this.value),new Cc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{getValue:function(){if(mb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Ob),Hc=ca.ReplaySubject=function(a){function c(a,b){return jb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Pb(this.scheduler,a),d=c(this,b);mb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(), +b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||wb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return cb(e,a),db(e.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(mb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Ob);ca.Pauser=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Dc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Z.Rx=ca,define(function(){return ca})):$&&_?aa?(_.exports=ca).Rx=ca:$.Rx=ca:Z.Rx=ca;var Ic=g()}).call(this); //# sourceMappingURL=rx.lite.map \ No newline at end of file diff --git a/modules/rx-lite-aggregates-compat/package.json b/modules/rx-lite-aggregates-compat/package.json index d716066ec..0758b69c7 100644 --- a/modules/rx-lite-aggregates-compat/package.json +++ b/modules/rx-lite-aggregates-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-aggregates-compat", "title": "Reactive Extensions for JavaScript (RxJS) Aggregates", "description": "Lightweight older browser compatible library with aggregate functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-aggregates/package.json b/modules/rx-lite-aggregates/package.json index 56349146a..17c37a801 100644 --- a/modules/rx-lite-aggregates/package.json +++ b/modules/rx-lite-aggregates/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-aggregates", "title": "Reactive Extensions for JavaScript (RxJS) Aggregates", "description": "Lightweight library with aggregate functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-async-compat/package.json b/modules/rx-lite-async-compat/package.json index 9e15d88a6..133d274dc 100644 --- a/modules/rx-lite-async-compat/package.json +++ b/modules/rx-lite-async-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-async-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with asynchronous functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-async/package.json b/modules/rx-lite-async/package.json index 0f183807a..6947e681f 100644 --- a/modules/rx-lite-async/package.json +++ b/modules/rx-lite-async/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-async", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with asynchronous functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-backpressure-compat/package.json b/modules/rx-lite-backpressure-compat/package.json index db6edd7de..955303ee3 100644 --- a/modules/rx-lite-backpressure-compat/package.json +++ b/modules/rx-lite-backpressure-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-backpressure-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with backpressure functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.js b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.js index 7fa079089..564db126a 100644 --- a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.js +++ b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.js @@ -38,6 +38,7 @@ AnonymousObservable = Rx.AnonymousObservable, AbstractObserver = Rx.internals.AbstractObserver, CompositeDisposable = Rx.CompositeDisposable, + Notification = Rx.Notification, Subject = Rx.Subject, Observer = Rx.Observer, disposableEmpty = Rx.Disposable.empty, @@ -47,6 +48,7 @@ timeoutScheduler = Rx.Scheduler.timeout, currentThreadScheduler = Rx.Scheduler.currentThread, identity = Rx.helpers.identity, + isScheduler = Rx.Scheduler.isScheduler, checkDisposed = Rx.Disposable.checkDisposed; var StopAndWaitObservable = (function (__super__) { diff --git a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.map b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.map index 0f12ea36b..3b6b4a359 100644 --- a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.map +++ b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.backpressure.compat.min.js","sources":["rx.lite.backpressure.compat.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","Observable","AbstractObserver","prototype","AnonymousObservable","internals","inherits","CompositeDisposable","Subject","Observer","Disposable","empty","create","timeoutScheduler","addProperties","Scheduler","timeout","StopAndWaitObservable","currentThread","helpers","identity","checkDisposed","__super__","subscribe","observer","subscription","source","StopAndWaitObserver","self","schedule","request","__sub__","observable","cancel","stopAndWaitObserverProto","completed","onCompleted","dispose","error","onError","next","value","onNext","ControlledObservable","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.backpressure.compat.min.js","sources":["rx.lite.backpressure.compat.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","Observable","AbstractObserver","prototype","AnonymousObservable","internals","inherits","CompositeDisposable","Notification","Subject","Observer","Disposable","empty","create","timeoutScheduler","addProperties","Scheduler","timeout","StopAndWaitObservable","currentThread","helpers","identity","isScheduler","checkDisposed","__super__","subscribe","observer","subscription","source","StopAndWaitObserver","self","schedule","request","__sub__","observable","cancel","stopAndWaitObserverProto","completed","onCompleted","dispose","error","onError","next","value","onNext","ControlledObservable","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.min.js b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.min.js index e894f35c9..95db5b302 100644 --- a/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.min.js +++ b/modules/rx-lite-backpressure-compat/rx.lite.backpressure.compat.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx-lite-compat"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("rx-lite-compat")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){var d=c.Observable,e=(d.prototype,c.AnonymousObservable,c.internals.AbstractObserver),f=(c.CompositeDisposable,c.Subject,c.Observer,c.Disposable.empty,c.Disposable.create,c.internals.inherits),g=(c.internals.addProperties,c.Scheduler.timeout),h=(c.Scheduler.currentThread,c.helpers.identity,c.Disposable.checkDisposed,function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}f(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;g.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d));ControlledObservable.prototype.stopAndWait=function(){return new h(this)};var i=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}f(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;g.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d);return ControlledObservable.prototype.windowed=function(a){return new i(this,a)},c}); +(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx-lite-compat"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("rx-lite-compat")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){var d=c.Observable,e=(d.prototype,c.AnonymousObservable,c.internals.AbstractObserver),f=(c.CompositeDisposable,c.Notification,c.Subject,c.Observer,c.Disposable.empty,c.Disposable.create,c.internals.inherits),g=(c.internals.addProperties,c.Scheduler.timeout),h=(c.Scheduler.currentThread,c.helpers.identity,c.Scheduler.isScheduler,c.Disposable.checkDisposed,function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}f(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;g.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d));ControlledObservable.prototype.stopAndWait=function(){return new h(this)};var i=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}f(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;g.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d);return ControlledObservable.prototype.windowed=function(a){return new i(this,a)},c}); //# sourceMappingURL=rx.lite.backpressure.compat.map \ No newline at end of file diff --git a/modules/rx-lite-backpressure/package.json b/modules/rx-lite-backpressure/package.json index d953eb3d4..20147bdd2 100644 --- a/modules/rx-lite-backpressure/package.json +++ b/modules/rx-lite-backpressure/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-backpressure", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with backpressure functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-backpressure/rx.lite.backpressure.js b/modules/rx-lite-backpressure/rx.lite.backpressure.js index 09121a750..9837d77a2 100644 --- a/modules/rx-lite-backpressure/rx.lite.backpressure.js +++ b/modules/rx-lite-backpressure/rx.lite.backpressure.js @@ -38,6 +38,7 @@ AnonymousObservable = Rx.AnonymousObservable, AbstractObserver = Rx.internals.AbstractObserver, CompositeDisposable = Rx.CompositeDisposable, + Notification = Rx.Notification, Subject = Rx.Subject, Observer = Rx.Observer, disposableEmpty = Rx.Disposable.empty, @@ -47,6 +48,7 @@ timeoutScheduler = Rx.Scheduler.timeout, currentThreadScheduler = Rx.Scheduler.currentThread, identity = Rx.helpers.identity, + isScheduler = Rx.Scheduler.isScheduler, checkDisposed = Rx.Disposable.checkDisposed; var StopAndWaitObservable = (function (__super__) { diff --git a/modules/rx-lite-backpressure/rx.lite.backpressure.map b/modules/rx-lite-backpressure/rx.lite.backpressure.map index e301b6329..b543f7d3b 100644 --- a/modules/rx-lite-backpressure/rx.lite.backpressure.map +++ b/modules/rx-lite-backpressure/rx.lite.backpressure.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.backpressure.min.js","sources":["rx.lite.backpressure.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","Observable","AbstractObserver","prototype","AnonymousObservable","internals","inherits","CompositeDisposable","Subject","Observer","Disposable","empty","create","timeoutScheduler","addProperties","Scheduler","timeout","StopAndWaitObservable","currentThread","helpers","identity","checkDisposed","__super__","subscribe","observer","subscription","source","StopAndWaitObserver","self","schedule","request","__sub__","observable","cancel","stopAndWaitObserverProto","completed","onCompleted","dispose","error","onError","next","value","onNext","ControlledObservable","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":";CAEE,SAAUA,GACR,GAAIC,IACAC,WAAW,EACXC,YAAY,EACZC,QAAU,EACVC,QAAU,EACVC,QAAU,EACVC,WAAa,GAGbC,EAAQP,QAAmBQ,UAAWA,QAAWC,KACjDC,EAAcV,QAAmBW,WAAYA,UAAYA,QAAQC,UAAYD,QAC7EE,EAAab,QAAmBc,UAAWA,SAAWA,OAAOF,UAAYE,OAEzEC,GADgBF,GAAcA,EAAWF,UAAYD,GAAeA,EACvDV,QAAmBgB,UAAWA,SAE3CD,GAAeA,EAAWC,SAAWD,GAAcA,EAAWP,SAAWO,IACzER,EAAOQ,GAIW,kBAAXE,SAAyBA,OAAOC,IACvCD,QAAQ,WAAY,SAAUE,EAAIR,GAC9B,MAAOZ,GAAQQ,EAAMI,EAASQ,KAET,gBAAXL,SAAuBA,QAAUA,OAAOH,UAAYD,EAClEI,OAAOH,QAAUZ,EAAQQ,EAAMO,OAAOH,QAASS,QAAQ,YAEvDb,EAAKY,GAAKpB,EAAQQ,KAAUA,EAAKY,MAEvCE,KAAKZ,KAAM,SAAUF,EAAMe,EAAKH,GAGhC,GAAII,GAAaJ,EAAGI,WAGlBC,GAFkBD,EAAWE,UACPN,EAAGO,oBACNP,EAAGQ,UAAUH,kBAMhCI,GALsBT,EAAGU,oBACfV,EAAGW,QACFX,EAAGY,SACIZ,EAAGa,WAAWC,MACbd,EAAGa,WAAWE,OACtBf,EAAGQ,UAAUC,UAExBO,GADgBhB,EAAGQ,UAAUS,cACVjB,EAAGkB,UAAUC,SAK9BC,GAJuBpB,EAAGkB,UAAUG,cAC3BrB,EAAGsB,QAAQC,SACNvB,EAAGa,WAAWW,cAEH,SAAUC,GAErC,QAASC,GAAWC,GAClBrC,KAAKsC,aAAetC,KAAKuC,OAAOH,UAAU,GAAII,GAAoBH,EAAUrC,KAAMA,KAAKsC,cAEvF,IAAIG,GAAOzC,IAGX,OAFA0B,GAAiBgB,SAAS,WAAcD,EAAKF,OAAOI,QAAQ,KAErD3C,KAAKsC,aAKd,QAASR,GAAuBS,GAC9BJ,EAAUvB,KAAKZ,KAAMoC,EAAWG,GAChCvC,KAAKuC,OAASA,EAJhBpB,EAASW,EAAuBK,EAOhC,IAAIK,GAAuB,SAAUI,GAInC,QAASJ,GAAqBH,EAAUQ,EAAYC,GAClDF,EAAQhC,KAAKZ,MACbA,KAAKqC,SAAWA,EAChBrC,KAAK6C,WAAaA,EAClB7C,KAAK8C,OAASA,EANhB3B,EAASqB,EAAqBI,EAS9B,IAAIG,GAA2BP,EAAoBxB,SA8BnD,OA5BA+B,GAAyBC,UAAY,WACnChD,KAAKqC,SAASY,cACdjD,KAAKkD,WAGPH,EAAyBI,MAAQ,SAAUA,GACzCnD,KAAKqC,SAASe,QAAQD,GACtBnD,KAAKkD,WAGPH,EAAyBM,KAAO,SAAUC,GACxCtD,KAAKqC,SAASkB,OAAOD,EAErB,IAAIb,GAAOzC,IACX0B,GAAiBgB,SAAS,WACxBD,EAAKI,WAAWN,OAAOI,QAAQ,MAInCI,EAAyBG,QAAU,WACjClD,KAAKqC,SAAW,KACZrC,KAAK8C,SACP9C,KAAK8C,OAAOI,UACZlD,KAAK8C,OAAS,MAEhBF,EAAQ5B,UAAUkC,QAAQtC,KAAKZ,OAG1BwC,GACPzB,EAEF,OAAOe,IACPhB,GAOF0C,sBAAqBxC,UAAUyC,YAAc,WAC3C,MAAO,IAAI3B,GAAsB9B,MAGnC,IAAI0D,GAAsB,SAAUvB,GAElC,QAASC,GAAWC,GAClBrC,KAAKsC,aAAetC,KAAKuC,OAAOH,UAAU,GAAIuB,GAAiBtB,EAAUrC,KAAMA,KAAKsC,cAEpF,IAAIG,GAAOzC,IAKX,OAJA0B,GAAiBgB,SAAS,WACxBD,EAAKF,OAAOI,QAAQF,EAAKmB,cAGpB5D,KAAKsC,aAKd,QAASoB,GAAmBnB,EAAQqB,GAClCzB,EAAUvB,KAAKZ,KAAMoC,EAAWG,GAChCvC,KAAKuC,OAASA,EACdvC,KAAK4D,WAAaA,EALpBzC,EAASuC,EAAoBvB,EAQ7B,IAAIwB,GAAoB,SAAUf,GAIhC,QAASe,GAAiBtB,EAAUQ,EAAYC,GAC9C9C,KAAKqC,SAAWA,EAChBrC,KAAK6C,WAAaA,EAClB7C,KAAK8C,OAASA,EACd9C,KAAK6D,SAAW,EANlB1C,EAASwC,EAAkBf,EAS3B,IAAIkB,GAA4BH,EAAiB3C,SAiCjD,OA/BA8C,GAA0Bd,UAAY,WACpChD,KAAKqC,SAASY,cACdjD,KAAKkD,WAGPY,EAA0BX,MAAQ,SAAUA,GAC1CnD,KAAKqC,SAASe,QAAQD,GACtBnD,KAAKkD,WAGPY,EAA0BT,KAAO,SAAUC,GAIzC,GAHAtD,KAAKqC,SAASkB,OAAOD,GAErBtD,KAAK6D,WAAa7D,KAAK6D,SAAW7D,KAAK6C,WAAWe,WAC5B,IAAlB5D,KAAK6D,SAAgB,CACvB,GAAIpB,GAAOzC,IACX0B,GAAiBgB,SAAS,WACxBD,EAAKI,WAAWN,OAAOI,QAAQF,EAAKI,WAAWe,gBAKrDE,EAA0BZ,QAAU,WAClClD,KAAKqC,SAAW,KACZrC,KAAK8C,SACP9C,KAAK8C,OAAOI,UACZlD,KAAK8C,OAAS,MAEhBF,EAAQ5B,UAAUkC,QAAQtC,KAAKZ,OAG1B2D,GACP5C,EAEF,OAAO2C,IACP5C,EAWA,OAJF0C,sBAAqBxC,UAAU+C,SAAW,SAAUH,GAClD,MAAO,IAAIF,GAAmB1D,KAAM4D,IAG7BlD"} \ No newline at end of file +{"version":3,"file":"rx.lite.backpressure.min.js","sources":["rx.lite.backpressure.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","Observable","AbstractObserver","prototype","AnonymousObservable","internals","inherits","CompositeDisposable","Notification","Subject","Observer","Disposable","empty","create","timeoutScheduler","addProperties","Scheduler","timeout","StopAndWaitObservable","currentThread","helpers","identity","isScheduler","checkDisposed","__super__","subscribe","observer","subscription","source","StopAndWaitObserver","self","schedule","request","__sub__","observable","cancel","stopAndWaitObserverProto","completed","onCompleted","dispose","error","onError","next","value","onNext","ControlledObservable","stopAndWait","WindowedObservable","WindowedObserver","windowSize","received","windowedObserverPrototype","windowed"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-backpressure/rx.lite.backpressure.min.js b/modules/rx-lite-backpressure/rx.lite.backpressure.min.js index c41c5f99a..3e33be119 100644 --- a/modules/rx-lite-backpressure/rx.lite.backpressure.min.js +++ b/modules/rx-lite-backpressure/rx.lite.backpressure.min.js @@ -1,3 +1,3 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ -(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx-lite"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("rx-lite")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){var d=c.Observable,e=(d.prototype,c.AnonymousObservable,c.internals.AbstractObserver),f=(c.CompositeDisposable,c.Subject,c.Observer,c.Disposable.empty,c.Disposable.create,c.internals.inherits),g=(c.internals.addProperties,c.Scheduler.timeout),h=(c.Scheduler.currentThread,c.helpers.identity,c.Disposable.checkDisposed,function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}f(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;g.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d));ControlledObservable.prototype.stopAndWait=function(){return new h(this)};var i=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}f(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;g.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d);return ControlledObservable.prototype.windowed=function(a){return new i(this,a)},c}); +(function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx-lite"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("rx-lite")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c){var d=c.Observable,e=(d.prototype,c.AnonymousObservable,c.internals.AbstractObserver),f=(c.CompositeDisposable,c.Notification,c.Subject,c.Observer,c.Disposable.empty,c.Disposable.create,c.internals.inherits),g=(c.internals.addProperties,c.Scheduler.timeout),h=(c.Scheduler.currentThread,c.helpers.identity,c.Scheduler.isScheduler,c.Disposable.checkDisposed,function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(1)}),this.subscription}function c(c){a.call(this,b,c),this.source=c}f(c,a);var d=function(a){function b(b,c,d){a.call(this),this.observer=b,this.observable=c,this.cancel=d}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){this.observer.onNext(a);var b=this;g.schedule(function(){b.observable.source.request(1)})},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d));ControlledObservable.prototype.stopAndWait=function(){return new h(this)};var i=function(a){function b(a){this.subscription=this.source.subscribe(new d(a,this,this.subscription));var b=this;return g.schedule(function(){b.source.request(b.windowSize)}),this.subscription}function c(c,d){a.call(this,b,c),this.source=c,this.windowSize=d}f(c,a);var d=function(a){function b(a,b,c){this.observer=a,this.observable=b,this.cancel=c,this.received=0}f(b,a);var c=b.prototype;return c.completed=function(){this.observer.onCompleted(),this.dispose()},c.error=function(a){this.observer.onError(a),this.dispose()},c.next=function(a){if(this.observer.onNext(a),this.received=++this.received%this.observable.windowSize,0===this.received){var b=this;g.schedule(function(){b.observable.source.request(b.observable.windowSize)})}},c.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),a.prototype.dispose.call(this)},b}(e);return c}(d);return ControlledObservable.prototype.windowed=function(a){return new i(this,a)},c}); //# sourceMappingURL=rx.lite.backpressure.map \ No newline at end of file diff --git a/modules/rx-lite-coincidence-compat/package.json b/modules/rx-lite-coincidence-compat/package.json index 8ff8291cc..39bc6c813 100644 --- a/modules/rx-lite-coincidence-compat/package.json +++ b/modules/rx-lite-coincidence-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-coincidence-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with coincidence functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-coincidence/package.json b/modules/rx-lite-coincidence/package.json index 72668bd25..99ed1ebb9 100644 --- a/modules/rx-lite-coincidence/package.json +++ b/modules/rx-lite-coincidence/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-coincidence", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with coincidence functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-compat/package.json b/modules/rx-lite-compat/package.json index 2e06be36a..8f43e35db 100644 --- a/modules/rx-lite-compat/package.json +++ b/modules/rx-lite-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-compat", "title": "Reactive Extensions for JavaScript (RxJS) Lite", "description": "Lightweight IE6 compatible library for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-compat/rx.lite.compat.js b/modules/rx-lite-compat/rx.lite.compat.js index bd6a80737..308b1cba6 100644 --- a/modules/rx-lite-compat/rx.lite.compat.js +++ b/modules/rx-lite-compat/rx.lite.compat.js @@ -5422,15 +5422,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -5445,7 +5444,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -5457,29 +5456,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -5492,37 +5494,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -5538,12 +5538,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; /** diff --git a/modules/rx-lite-compat/rx.lite.compat.map b/modules/rx-lite-compat/rx.lite.compat.map index cbd364726..4351a44b7 100644 --- a/modules/rx-lite-compat/rx.lite.compat.map +++ b/modules/rx-lite-compat/rx.lite.compat.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","name","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","results","t","isArray","searchElement","n","keys","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","m","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","name","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","results","t","isArray","searchElement","n","keys","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","m","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite-compat/rx.lite.compat.min.js b/modules/rx-lite-compat/rx.lite.compat.min.js index 05f469177..b4a7c3eb9 100644 --- a/modules/rx-lite-compat/rx.lite.compat.min.js +++ b/modules/rx-lite-compat/rx.lite.compat.min.js @@ -1,7 +1,6 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(ma&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(qa)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+qa+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===oa&&d>=pa&&Lc>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(ma)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return oa=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!Za(a))return b;Ya.nonEnumArgs&&a.length&&$a(a)&&(a=cb.call(a));var c=Ya.enumPrototypes&&"function"==typeof a,d=Ya.enumErrorProps&&(a===Ta||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(Ya.nonEnumShadows&&a!==Ua){var f=a.constructor,g=-1,h=Fa;if(a===(f&&f.prototype))var i=a===Va?Pa:a===Ta?Ka:Qa.call(a),j=Xa[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(){try{return _a.apply(this,arguments)}catch(a){return bb.e=a,bb}}function o(a){if(!la(a))throw new TypeError("fn must be a function");return _a=a,n}function p(a){throw a}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a,b){this.id=a,this.value=b}function t(a){this.observer=a,this.a=[],this.isStopped=!1}function u(){this._s=s}function v(){this._s=s,this._l=s.length,this._i=0}function w(a){this._a=a}function x(a){this._a=a,this._l=B(a),this._i=0}function y(a){return"number"==typeof a&&$.isFinite(a)}function z(b){var c,d=b[ya];if(!d&&"string"==typeof b)return c=new u(b),c[ya]();if(!d&&b.length!==a)return c=new w(b),c[ya]();if(!d)throw new TypeError("Object is not iterable");return b[ya]()}function A(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function B(a){var b=+a.length;return isNaN(b)?0:0!==b&&y(b)?(b=A(b)*Math.floor(Math.abs(b)),0>=b?0:b>$b?$b:b):b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return vb(a)||(a=zb),new ac(b,a)}function E(a,b){this.observer=a,this.parent=b}function F(a,b){this.observer=a,this.parent=b}function G(a,b){return new Dc(function(c){var d=new qb,e=new rb;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}ka(d)&&(d=wc(d));var g=new qb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function H(a,b){var c=this;return new Dc(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function I(){return!1}function J(){return[]}function K(a,b,c){var d=Da(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e}).concatAll()}function L(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function M(a,b,c){var d=Da(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e}).mergeAll()}function N(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function O(a){var b=function(){this.cancelBubble=!0},c=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(a||(a=$.event),!a.target)switch(a.target=a.target||a.srcElement,"mouseover"==a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=b,a.preventDefault=c),a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10==d?(d=0,a.keyCode=13):13==d||27==d?d=0:3==d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}return a}function P(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),mb(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var d=function(a){c(O(a))};return a.attachEvent("on"+b,d),mb(function(){a.detachEvent("on"+b,d)})}return a["on"+b]=c,mb(function(){a["on"+b]=null})}function Q(a,b,c){var d=new jb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Q(a.item(e),b,c));else a&&d.add(P(a,b,c));return d}function R(a,b){return new Dc(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function S(a,b,c){return new Dc(function(d){var e=a,f=ub(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function T(a,b){return new Dc(function(c){return b.scheduleWithRelative(ub(a),function(){c.onNext(0),c.onCompleted()})})}function U(a,b,c){return a===b?new Dc(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Vb(function(){return S(c.now()+a,b,c)})}function V(a,b,c){return new Dc(function(d){var e,f=!1,g=new rb,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new qb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new jb(e,g)},a)}function W(a,b,c){return Vb(function(){return V(a,b-c.now(),c)})}function X(a,b){return new Dc(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new jb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}function Y(a,b,c){return new Dc(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(fa))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new jb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}var Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},$=Z[typeof window]&&window||this,_=Z[typeof exports]&&exports&&!exports.nodeType&&exports,aa=Z[typeof module]&&module&&!module.nodeType&&module,ba=aa&&aa.exports===_&&_,ca=Z[typeof global]&&global;!ca||ca.global!==ca&&ca.window!==ca||($=ca);var da={internals:{},config:{Promise:$.Promise},helpers:{}},ea=da.helpers.noop=function(){},fa=(da.helpers.notDefined=function(a){return"undefined"==typeof a},da.helpers.identity=function(a){return a}),ga=(da.helpers.pluck=function(a){return function(b){return b[a]}},da.helpers.just=function(a){return function(){return a}},da.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}()),ha=da.helpers.defaultComparer=function(a,b){return ab(a,b)},ia=da.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},ja=(da.helpers.defaultKeySerializer=function(a){return a.toString()},da.helpers.defaultError=function(a){throw a}),ka=da.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},la=(da.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},da.helpers.not=function(a){return!a},da.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Qa.call(a)}),a}());da.config.longStackSupport=!1;var ma=!1;try{throw new Error}catch(na){ma=!!na.stack}var oa,pa=g(),qa="From previous event:",ra=da.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};ra.prototype=Error.prototype;var sa=da.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};sa.prototype=Error.prototype;var ta=da.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};ta.prototype=Error.prototype;var ua=da.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};ua.prototype=Error.prototype;var va=da.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};va.prototype=Error.prototype;var wa=da.helpers.notImplemented=function(){throw new va},xa=da.helpers.notSupported=function(){throw new ua},ya="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";$.Set&&"function"==typeof(new $.Set)["@@iterator"]&&(ya="@@iterator");var za=da.doneEnumerator={done:!0,value:a},Aa=da.helpers.isIterable=function(b){return b[ya]!==a},Ba=da.helpers.isArrayLike=function(b){return b&&b.length!==a};da.helpers.iterator=ya;var Ca,Da=da.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Ea=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Fa=Ea.length,Ga="[object Arguments]",Ha="[object Array]",Ia="[object Boolean]",Ja="[object Date]",Ka="[object Error]",La="[object Function]",Ma="[object Number]",Na="[object Object]",Oa="[object RegExp]",Pa="[object String]",Qa=Object.prototype.toString,Ra=Object.prototype.hasOwnProperty,Sa=Qa.call(arguments)==Ga,Ta=Error.prototype,Ua=Object.prototype,Va=String.prototype,Wa=Ua.propertyIsEnumerable;try{Ca=!(Qa.call(document)==Na&&!({toString:0}+""))}catch(na){Ca=!0}var Xa={};Xa[Ha]=Xa[Ja]=Xa[Ma]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Xa[Ia]=Xa[Pa]={constructor:!0,toString:!0,valueOf:!0},Xa[Ka]=Xa[La]=Xa[Oa]={constructor:!0,toString:!0},Xa[Na]={constructor:!0};var Ya={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);Ya.enumErrorProps=Wa.call(Ta,"message")||Wa.call(Ta,"name"),Ya.enumPrototypes=Wa.call(a,"prototype"),Ya.nonEnumArgs=0!=c,Ya.nonEnumShadows=!/valueOf/.test(b)}(1);var Za=da.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},$a=function(a){return a&&"object"==typeof a?Qa.call(a)==Ga:!1};Sa||($a=function(a){return a&&"object"==typeof a?Ra.call(a,"callee"):!1});{var _a,ab=da.internals.isEqual=function(a,b){return m(a,b,[],[])},bb={e:{}},cb=({}.hasOwnProperty,Array.prototype.slice),db=this.inherits=da.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},eb=da.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};da.internals.addRef=function(a,b){return new Dc(function(c){return new jb(b.getDisposable(),a.subscribe(c))})}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=cb.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(cb.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(cb.call(arguments)))};return d}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var fb=Object("a"),gb="a"!=fb[0]||!(0 in fb);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=gb&&{}.toString.call(this)==Pa?this.split(""):b,d=c.length>>>0,e=arguments[1];if({}.toString.call(a)!=La)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=gb&&{}.toString.call(this)==Pa?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if({}.toString.call(a)!=La)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return{}.toString.call(a)==Ha}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&d!=1/0&&d!==-(1/0)&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;Fa>e;e++)a.call(c,Ea[e])&&f.push(Ea[e]);return f}}()),r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var hb=da.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},ib=hb.prototype;ib.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},ib.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)}}},ib.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!ob(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},kb=jb.prototype;kb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},kb.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},kb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var lb=da.Disposable=function(a){this.isDisposed=!1,this.action=a||ea};lb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var mb=lb.create=function(a){return new lb(a)},nb=lb.empty={dispose:ea},ob=lb.isDisposable=function(a){return a&&la(a.dispose)},pb=lb.checkDisposed=function(a){if(a.isDisposed)throw new sa},qb=da.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};qb.prototype.getDisposable=function(){return this.current},qb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},qb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var rb=da.SerialDisposable=function(){this.isDisposed=!1,this.current=null};rb.prototype.getDisposable=function(){return this.current},rb.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},rb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var sb=(da.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?nb:new a(this)},b}(),da.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ia,this.disposable=new qb});sb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},sb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},sb.prototype.isCancelled=function(){return this.disposable.isDisposed},sb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var tb=da.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),nb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=ga,a.normalize=function(a){return 0>a&&(a=0),a},a}(),ub=tb.normalize,vb=tb.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),nb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new jb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),nb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new jb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(tb.prototype),function(){tb.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},tb.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof $.setInterval)throw new ua;b=ub(b);var d=a,e=$.setInterval(function(){d=c(d)},b);return mb(function(){$.clearInterval(e)})}}(tb.prototype);var wb,xb,yb=tb.immediate=function(){function a(a,b){return b(this,a)}return new tb(ga,a,xa,xa)}(),zb=tb.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new sb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new hb(4),c.enqueue(e);var f=o(a)();if(c=null,f===bb)return p(f.e)}return e.disposable}var c,d=new tb(ga,b,xa,xa);return d.scheduleRequired=function(){return!c},d}(),Ab=(da.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 qb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=ea;if($.setTimeout)a=$.setTimeout,b=$.clearTimeout;else{if(!$.WScript)throw new ua;a=function(a,b){$.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),Bb=Ab.setTimeout,Cb=Ab.clearTimeout;!function(){function a(b){if(f)Bb(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=o(c)();if(xb(b),f=!1,d===bb)return p(d.e)}}}function b(){if(!$.postMessage||$.importScripts)return!1;var a=!1,b=$.onmessage;return $.onmessage=function(){a=!0},$.postMessage("","*"),$.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;xb=function(a){delete e[a]};var g=RegExp("^"+String(Qa).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=ca&&ba&&ca.setImmediate)&&!g.test(h)&&h;if(la(h))wb=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))wb=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();$.addEventListener?$.addEventListener("message",c,!1):$.attachEvent?$.attachEvent("onmessage",c):$.onmessage=c,wb=function(a){var b=d++;return e[b]=a,$.postMessage(i+currentId,"*"),b}}else if($.MessageChannel){var j=new $.MessageChannel;j.port1.onmessage=function(b){a(b.data)},wb=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else wb="document"in $&&"onreadystatechange"in $.document.createElement("script")?function(b){var c=$.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},$.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,Bb(function(){a(c)},0),c}}();var Db=tb.timeout=tb["default"]=function(){function a(a,b){var c=this,d=new qb,e=wb(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new jb(d,mb(function(){xb(e)}))}function b(a,b,c){var d=this,e=tb.normalize(b),f=new qb;if(0===e)return d.scheduleWithState(a,c);var g=Bb(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new jb(f,mb(function(){Cb(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new tb(ga,a,b,c)}(),Eb=da.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return vb(a)||(a=yb),new Dc(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Fb=Eb.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){return new Eb("N",d,null,a,b,c)}}(),Gb=Eb.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){return new Eb("E",null,d,a,b,c)}}(),Hb=Eb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Eb("C",null,null,a,b,c)}}(),Ib=da.internals.Enumerator=function(a){this._next=a};Ib.prototype.next=function(){return this._next()},Ib.prototype[ya]=function(){return this};var Jb=da.internals.Enumerable=function(a){this._iterator=a};Jb.prototype[ya]=function(){return this._iterator()},Jb.prototype.concat=function(){var a=this;return new Dc(function(b){var c,d=a[ya](),e=new rb,f=yb.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;ka(h)&&(h=wc(h));var i=new qb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new jb(e,f,mb(function(){c=!0}))})},Jb.prototype.catchError=function(){var a=this;return new Dc(function(b){var c,d=a[ya](),e=new rb,f=yb.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;ka(i)&&(i=wc(i));var j=new qb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new jb(e,f,mb(function(){c=!0}))})},Jb.prototype.catchErrorWhen=function(a){var b=this;return new Dc(function(c){var d,e,f=new Gc,g=new Gc,h=a(f),i=h.subscribe(g),j=b[ya](),k=new rb,l=yb.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;ka(i)&&(i=wc(i));var l=new qb,m=new qb;k.setDisposable(new jb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new jb(i,k,l,mb(function(){d=!0}))})};var Kb,Lb=Jb.repeat=function(a,b){return null==b&&(b=-1),new Jb(function(){var c=b;return new Ib(function(){return 0===c?za:(c>0&&c--,{done:!1,value:a})})})},Mb=Jb.of=function(a,b,c){if(b)var d=Da(b,c,3);return new Jb(function(){var c=-1;return new Ib(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Pb),Ub=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new t(a))},b}(Sb);t.prototype.onNext=function(a){this.isStopped||this.a.push(a)},t.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},t.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},t.prototype.dispose=function(){this.isStopped=!0},t.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.toArray=function(){return new Ub(this)},Rb.create=Rb.createWithDisposable=function(a,b){return new Dc(a,b)};var Vb=Rb.defer=function(a){return new Dc(function(b){var c;try{c=a()}catch(d){return jc(d).subscribe(b); -}return ka(c)&&(c=wc(c)),c.subscribe(b)})},Wb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Sb),Xb=Rb.empty=function(a){return vb(a)||(a=yb),new Wb(a)},Yb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new Zb(a,this);return b.run()},b}(Sb),Zb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),$b=Math.pow(2,53)-1;u.prototype[ya]=function(){return new v(this._s)},v.prototype[ya]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var bc=Rb.fromArray=function(a,b){return vb(b)||(b=zb),new ac(a,b)},cc=function(a){function b(){a.call(this)}return db(b,a),b.prototype.subscribeCore=function(){return nb},b}(Sb);Rb.never=function(){return new cc}}Rb.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new ac(b,zb)},Rb.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new ac(c,a)};var dc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Sb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Rb.pairs=function(a,b){return b||(b=zb),new dc(a,b)};var ec=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new fc(a,this);return b.run()},b}(Sb),fc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Rb.range=function(a,b,c){return vb(c)||(c=zb),new ec(a,b,c)};var gc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Sb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Rb.repeat=function(a,b,c){return vb(c)||(c=zb),new gc(a,b,c)};var hc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Sb),ic=(Rb["return"]=Rb.just=Rb.returnValue=function(a,b){return vb(b)||(b=yb),new hc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Sb)),jc=Rb["throw"]=Rb.throwError=Rb.throwException=function(a,b){return vb(b)||(b=yb),new ic(a,b)};Kb["catch"]=Kb.catchError=Kb.catchException=function(a){return"function"==typeof a?G(this,a):kc([this,a])};var kc=Rb.catchError=Rb["catch"]=Rb.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Mb(a).catchError()};Kb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),lc.apply(this,b)};var lc=Rb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){function c(b){if(h[b]=!0,i||(i=h.every(fa))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function e(b){j[b]=!0,j.every(fa)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new qb;ka(f)&&(f=wc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new jb(l)},this)};Kb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),mc.apply(null,a)};var mc=Rb.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Mb(a).concat()};Kb.concatAll=Kb.concatObservable=function(){return this.merge(1)};var nc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb;return b.add(this.source.subscribe(new oc(a,this.maxConcurrent,b))),b},b}(Sb),oc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.merge=function(a){return"number"!=typeof a?pc(this,a):new nc(this,a)};var pc=Rb.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(vb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=yb,b=0;d>b;b++)c.push(arguments[b]);else for(a=yb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},qc=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb,c=new qb;return b.add(c),c.setDisposable(this.source.subscribe(new rc(a,b))),b},b}(Sb),rc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.mergeAll=Kb.mergeObservable=function(){return new qc(this)};var sc=da.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};sc.prototype=Error.prototype,Rb.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Dc(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new sc(g))}var c=new jb,e=new qb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new qb;c.add(e),ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Kb.skipUntil=function(a){var b=this;return new Dc(function(c){var d=!1,e=new jb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ka(a)&&(a=wc(a));var f=new qb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Kb["switch"]=Kb.switchLatest=function(){var a=this;return new Dc(function(b){var c=!1,d=new rb,e=!1,f=0,g=a.subscribe(function(a){var g=new qb,h=++f;c=!0,d.setDisposable(g),ka(a)&&(a=wc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new jb(g,d)},a)},Kb.takeUntil=function(a){var b=this;return new Dc(function(c){return ka(a)&&(a=wc(a)),new jb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},ea))},b)},Kb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new qb;ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(fa)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new qb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new jb(j)},this)},Kb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Dc(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new qb;ka(e)&&(e=wc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new jb(j)},d)},Rb.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Rb.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Dc(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(fa))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(fa)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new qb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new jb(h)})},Kb.asObservable=function(){var a=this;return new Dc(function(b){return a.subscribe(b)},this)},Kb.dematerialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Kb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ha),new Dc(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Kb["do"]=Kb.tap=Kb.doAction=function(a,b,c){var d=this;return new Dc(function(e){var f=!a||la(a)?Ob(a||ea,b||ea,c||ea):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Kb.doOnNext=Kb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnError=Kb.tapOnError=function(a,b){return this.tap(ea,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnCompleted=Kb.tapOnCompleted=function(a,b){return this.tap(ea,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Kb["finally"]=Kb.ensure=function(a){var b=this;return new Dc(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return mb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Kb.finallyAction=function(a){return this.ensure(a)},Kb.ignoreElements=function(){var a=this;return new Dc(function(b){return a.subscribe(ea,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Kb.materialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){b.onNext(Fb(a))},function(a){b.onNext(Gb(a)),b.onCompleted()},function(){b.onNext(Hb()),b.onCompleted()})},a)},Kb.repeat=function(a){return Lb(this,a).concat()},Kb.retry=function(a){return Lb(this,a).catchError()},Kb.retryWhen=function(a){return Lb(this).catchErrorWhen(a)},Kb.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 Dc(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Kb.skipLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.startWith=function(){var a,b=0;arguments.length&&vb(arguments[0])?(a=arguments[0],b=1):a=yb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Mb([bc(c,a),this]).concat()},Kb.takeLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Kb.selectConcat=Kb.concatMap=function(a,b,c){return la(a)&&la(b)?this.concatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})}):la(a)?K(this,a,c):K(this,function(){return a})};var tc=function(a){function b(b,c,d){this.source=b,this.selector=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Sb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.map=Kb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof tc?this.internalMap(c,b):new tc(this,c,b)},Kb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Kb.selectMany=Kb.flatMap=function(a,b,c){return la(a)&&la(b)?this.flatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})},c):la(a)?M(this,a,c):M(this,function(){return a})},Kb.selectSwitch=Kb.flatMapLatest=Kb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Kb.skip=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.skipWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Kb.take=function(a,b){if(0>a)throw new ta;if(0===a)return Xb(b);var c=this;return new Dc(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Kb.takeWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var uc=function(a){function b(b,c,d){this.source=b,this.predicate=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Sb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.filter=Kb.where=function(a,b){return this instanceof uc?this.internalFilter(a,b):new uc(this,a,b)},Rb.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Rb.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},da.config.useNativeEvents=!1,Rb.fromEvent=function(a,b,c){return a.addListener?vc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Dc(function(d){return Q(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():vc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var vc=Rb.fromEventPattern=function(a,b,c){return new Dc(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return mb(function(){b&&b(e,f)})}).publish().refCount()},wc=Rb.fromPromise=function(a){return Vb(function(){var b=new da.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Kb.toPromise=function(a){if(a||(a=da.config.Promise),!a)throw new ua("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Rb.startAsync=function(a){var b;try{b=a()}catch(c){return jc(c)}return wc(b)},Kb.multicast=function(a,b){var c=this;return"function"==typeof a?new Dc(function(d){var e=c.multicast(a());return new jb(b(e).subscribe(d),e.connect())},c):new xc(c,a)},Kb.publish=function(a){return a&&la(a)?this.multicast(function(){return new Gc},a):this.multicast(new Gc)},Kb.share=function(){return this.publish().refCount()},Kb.publishLast=function(a){return a&&la(a)?this.multicast(function(){return new Hc},a):this.multicast(new Hc)},Kb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Jc(b)},a):this.multicast(new Jc(a))},Kb.shareValue=function(a){return this.publishValue(a).refCount()},Kb.replay=function(a,b,c,d){return a&&la(a)?this.multicast(function(){return new Kc(b,c,d)},a):this.multicast(new Kc(b,c,d))},Kb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var xc=da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new jb(f.subscribe(c),mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Dc(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Rb),yc=Rb.interval=function(a,b){return U(a,a,vb(b)?b:Db)};Rb.timer=function(b,c,d){var e;return vb(d)||(d=Db),c!==a&&"number"==typeof c?e=c:vb(c)&&(d=c),b instanceof Date&&e===a?R(b.getTime(),d):b instanceof Date&&e!==a?(e=c,S(b.getTime(),e,d)):e===a?T(b,d):U(b,e,d)}}Kb.delay=function(a,b){return vb(b)||(b=Db),a instanceof Date?W(this,a.getTime(),b):V(this,a,b)},Kb.debounce=Kb.throttleWithTimeout=function(a,b){vb(b)||(b=Db);var c=this;return new Dc(function(d){var e,f=new rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new jb(i,f)},this)},Kb.throttle=function(a,b){return this.debounce(a,b)},Kb.timestamp=function(a){return vb(a)||(a=Db),this.map(function(b){return{value:b,timestamp:a.now()}})},Kb.sample=Kb.throttleLatest=function(a,b){return vb(b)||(b=Db),"number"==typeof a?X(this,yc(a,b)):X(this,a)},Kb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=jc(new Error(b||"Timeout"))),vb(c)||(c=Db);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Dc(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ka(b)&&(b=wc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new qb,j=new rb,k=!1,l=new rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new jb(j,l)},d)},Kb.throttleFirst=function(a,b){vb(b)||(b=Db);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Dc(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var zc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=nb)});return new jb(c,d,e)}function c(c,d){this.source=c,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rb);Kb.pausable=function(a){return new zc(this,a)};var Ac=function(b){function c(b){var c,d=[],e=Y(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Rb);Kb.pausableBuffered=function(a){return new Ac(this,a)};var Bc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new Cc(d),this.source=c.multicast(this.subject).refCount()}return db(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(Rb),Cc=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Gc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return db(c,a),eb(c.prototype,Nb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(da.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(da.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(da.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?nb:(this.requestedCount=a,this.requestedDisposable=mb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=nb}}),c}(Rb);Kb.controlled=function(a){return null==a&&(a=!0),new Bc(this,a)},Kb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Kb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Dc(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Dc=da.AnonymousObservable=function(a){function b(a){return a&&la(a.dispose)?a:la(a)?mb(a):nb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==bb||d.fail(bb.e)?void d.setDisposable(b(f)):p(bb.e)}function d(b,d){function e(a){var d=new Ec(a),e=[d,b];return zb.scheduleRequired()?zb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return db(d,a),d}(Rb),Ec=function(a){function b(b){a.call(this),this.observer=b,this.m=new qb}db(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===bb&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===bb&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===bb&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Pb),Fc=function(a,b){this.subject=a,this.observer=b};Fc.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 Gc=da.Subject=function(a){function c(a){return pb(this),this.isStopped?this.hasError?(a.onError(this.error),nb):(a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a); - -this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ic(a,b)},d}(Rb),Hc=da.AsyncSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{hasObservers:function(){return pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Rb),Ic=da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return db(c,a),eb(c.prototype,Nb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Rb),Jc=da.BehaviorSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),nb):(this.observers.push(a),a.onNext(this.value),new Fc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{getValue:function(){if(pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Rb),Kc=da.ReplaySubject=function(a){function c(a,b){return mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Tb(this.scheduler,a),d=c(this,b);pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||zb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return db(e,a),eb(e.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Rb);da.Pauser=function(a){function b(){a.call(this)}return db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Gc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?($.Rx=da,define(function(){return da})):_&&aa?ba?(aa.exports=da).Rx=da:_.Rx=da:$.Rx=da;var Lc=g()}).call(this); +}return ka(c)&&(c=wc(c)),c.subscribe(b)})},Wb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Sb),Xb=Rb.empty=function(a){return vb(a)||(a=yb),new Wb(a)},Yb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new Zb(a,this);return b.run()},b}(Sb),Zb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),$b=Math.pow(2,53)-1;u.prototype[ya]=function(){return new v(this._s)},v.prototype[ya]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var bc=Rb.fromArray=function(a,b){return vb(b)||(b=zb),new ac(a,b)},cc=function(a){function b(){a.call(this)}return db(b,a),b.prototype.subscribeCore=function(){return nb},b}(Sb);Rb.never=function(){return new cc}}Rb.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new ac(b,zb)},Rb.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new ac(c,a)};var dc=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Sb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Rb.pairs=function(a,b){return b||(b=zb),new dc(a,b)};var ec=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new fc(a,this);return b.run()},b}(Sb),fc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Rb.range=function(a,b,c){return vb(c)||(c=zb),new ec(a,b,c)};var gc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Sb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Rb.repeat=function(a,b,c){return vb(c)||(c=zb),new gc(a,b,c)};var hc=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Sb),ic=(Rb["return"]=Rb.just=Rb.returnValue=function(a,b){return vb(b)||(b=yb),new hc(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Sb)),jc=Rb["throw"]=Rb.throwError=Rb.throwException=function(a,b){return vb(b)||(b=yb),new ic(a,b)};Kb["catch"]=Kb.catchError=Kb.catchException=function(a){return"function"==typeof a?G(this,a):kc([this,a])};var kc=Rb.catchError=Rb["catch"]=Rb.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Mb(a).catchError()};Kb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),lc.apply(this,b)};var lc=Rb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){function c(b){if(h[b]=!0,i||(i=h.every(fa))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function e(b){j[b]=!0,j.every(fa)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new qb;ka(f)&&(f=wc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new jb(l)},this)};Kb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),mc.apply(null,a)};var mc=Rb.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Mb(a).concat()};Kb.concatAll=Kb.concatObservable=function(){return this.merge(1)};var nc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb;return b.add(this.source.subscribe(new oc(a,this.maxConcurrent,b))),b},b}(Sb),oc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.merge=function(a){return"number"!=typeof a?pc(this,a):new nc(this,a)};var pc=Rb.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(vb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=yb,b=0;d>b;b++)c.push(arguments[b]);else for(a=yb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},qc=function(a){function b(b){this.source=b,a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){var b=new jb,c=new qb;return b.add(c),c.setDisposable(this.source.subscribe(new rc(a,b))),b},b}(Sb),rc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new qb;this.g.add(c),ka(a)&&(a=wc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kb.mergeAll=Kb.mergeObservable=function(){return new qc(this)};var sc=da.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};sc.prototype=Error.prototype,Rb.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Dc(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new sc(g))}var c=new jb,e=new qb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new qb;c.add(e),ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Kb.skipUntil=function(a){var b=this;return new Dc(function(c){var d=!1,e=new jb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ka(a)&&(a=wc(a));var f=new qb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Kb["switch"]=Kb.switchLatest=function(){var a=this;return new Dc(function(b){var c=!1,d=new rb,e=!1,f=0,g=a.subscribe(function(a){var g=new qb,h=++f;c=!0,d.setDisposable(g),ka(a)&&(a=wc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new jb(g,d)},a)},Kb.takeUntil=function(a){var b=this;return new Dc(function(c){return ka(a)&&(a=wc(a)),new jb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},ea))},b)},Kb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Dc(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new qb;ka(d)&&(d=wc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(fa)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new qb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new jb(j)},this)},Kb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Dc(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(fa)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new qb;ka(e)&&(e=wc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new jb(j)},d)},Rb.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Rb.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Dc(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(fa))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(fa)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new qb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new jb(h)})},Kb.asObservable=function(){var a=this;return new Dc(function(b){return a.subscribe(b)},this)},Kb.dematerialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Kb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ha),new Dc(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Kb["do"]=Kb.tap=Kb.doAction=function(a,b,c){var d=this;return new Dc(function(e){var f=!a||la(a)?Ob(a||ea,b||ea,c||ea):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Kb.doOnNext=Kb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnError=Kb.tapOnError=function(a,b){return this.tap(ea,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kb.doOnCompleted=Kb.tapOnCompleted=function(a,b){return this.tap(ea,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Kb["finally"]=Kb.ensure=function(a){var b=this;return new Dc(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return mb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Kb.finallyAction=function(a){return this.ensure(a)},Kb.ignoreElements=function(){var a=this;return new Dc(function(b){return a.subscribe(ea,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Kb.materialize=function(){var a=this;return new Dc(function(b){return a.subscribe(function(a){b.onNext(Fb(a))},function(a){b.onNext(Gb(a)),b.onCompleted()},function(){b.onNext(Hb()),b.onCompleted()})},a)},Kb.repeat=function(a){return Lb(this,a).concat()},Kb.retry=function(a){return Lb(this,a).catchError()},Kb.retryWhen=function(a){return Lb(this).catchErrorWhen(a)},Kb.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 Dc(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Kb.skipLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.startWith=function(){var a,b=0;arguments.length&&vb(arguments[0])?(a=arguments[0],b=1):a=yb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Mb([bc(c,a),this]).concat()},Kb.takeLast=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Kb.selectConcat=Kb.concatMap=function(a,b,c){return la(a)&&la(b)?this.concatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})}):la(a)?K(this,a,c):K(this,function(){return a})};var tc=function(a){function b(b,c,d){this.source=b,this.selector=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Sb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.map=Kb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof tc?this.internalMap(c,b):new tc(this,c,b)},Kb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Kb.selectMany=Kb.flatMap=function(a,b,c){return la(a)&&la(b)?this.flatMap(function(c,d){var e=a(c,d);return ka(e)&&(e=wc(e)),(Ba(e)||Aa(e))&&(e=_b(e)),e.map(function(a,e){return b(c,a,d,e)})},c):la(a)?M(this,a,c):M(this,function(){return a})},Kb.selectSwitch=Kb.flatMapLatest=Kb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Kb.skip=function(a){if(0>a)throw new ta;var b=this;return new Dc(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kb.skipWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Kb.take=function(a,b){if(0>a)throw new ta;if(0===a)return Xb(b);var c=this;return new Dc(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Kb.takeWhile=function(a,b){var c=this,d=Da(a,b,3);return new Dc(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var uc=function(a){function b(b,c,d){this.source=b,this.predicate=Da(c,d,3),a.call(this)}return db(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Sb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===bb?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kb.filter=Kb.where=function(a,b){return this instanceof uc?this.internalFilter(a,b):new uc(this,a,b)},Rb.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Rb.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dc(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},da.config.useNativeEvents=!1,Rb.fromEvent=function(a,b,c){return a.addListener?vc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):da.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Dc(function(d){return Q(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():vc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var vc=Rb.fromEventPattern=function(a,b,c){return new Dc(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return mb(function(){b&&b(e,f)})}).publish().refCount()},wc=Rb.fromPromise=function(a){return Vb(function(){var b=new da.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Kb.toPromise=function(a){if(a||(a=da.config.Promise),!a)throw new ua("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Rb.startAsync=function(a){var b;try{b=a()}catch(c){return jc(c)}return wc(b)},Kb.multicast=function(a,b){var c=this;return"function"==typeof a?new Dc(function(d){var e=c.multicast(a());return new jb(b(e).subscribe(d),e.connect())},c):new xc(c,a)},Kb.publish=function(a){return a&&la(a)?this.multicast(function(){return new Gc},a):this.multicast(new Gc)},Kb.share=function(){return this.publish().refCount()},Kb.publishLast=function(a){return a&&la(a)?this.multicast(function(){return new Hc},a):this.multicast(new Hc)},Kb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Jc(b)},a):this.multicast(new Jc(a))},Kb.shareValue=function(a){return this.publishValue(a).refCount()},Kb.replay=function(a,b,c,d){return a&&la(a)?this.multicast(function(){return new Kc(b,c,d)},a):this.multicast(new Kc(b,c,d))},Kb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var xc=da.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new jb(f.subscribe(c),mb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return db(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Dc(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Rb),yc=Rb.interval=function(a,b){return U(a,a,vb(b)?b:Db)};Rb.timer=function(b,c,d){var e;return vb(d)||(d=Db),c!==a&&"number"==typeof c?e=c:vb(c)&&(d=c),b instanceof Date&&e===a?R(b.getTime(),d):b instanceof Date&&e!==a?(e=c,S(b.getTime(),e,d)):e===a?T(b,d):U(b,e,d)}}Kb.delay=function(a,b){return vb(b)||(b=Db),a instanceof Date?W(this,a.getTime(),b):V(this,a,b)},Kb.debounce=Kb.throttleWithTimeout=function(a,b){vb(b)||(b=Db);var c=this;return new Dc(function(d){var e,f=new rb,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new qb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new jb(i,f)},this)},Kb.throttle=function(a,b){return this.debounce(a,b)},Kb.timestamp=function(a){return vb(a)||(a=Db),this.map(function(b){return{value:b,timestamp:a.now()}})},Kb.sample=Kb.throttleLatest=function(a,b){return vb(b)||(b=Db),"number"==typeof a?X(this,yc(a,b)):X(this,a)},Kb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=jc(new Error(b||"Timeout"))),vb(c)||(c=Db);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Dc(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ka(b)&&(b=wc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new qb,j=new rb,k=!1,l=new rb;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new jb(j,l)},d)},Kb.throttleFirst=function(a,b){vb(b)||(b=Db);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Dc(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var zc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=nb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=nb)});return new jb(c,d,e)}function c(c,d){this.source=c,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return db(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rb);Kb.pausable=function(a){return new zc(this,a)};var Ac=function(b){function c(b){var c,d=[],e=Y(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Gc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return db(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Rb);Kb.pausableBuffered=function(a){return new Ac(this,a)};var Bc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new Cc(d,e),this.source=c.multicast(this.subject).refCount()}return db(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Rb),Cc=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Gc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=nb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||zb}return db(c,a),eb(c.prototype,Nb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Eb.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Eb.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Eb.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=mb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=nb}}),c}(Rb);Kb.controlled=function(a,b){return a&&vb(a)&&(b=a,a=!0),null==a&&(a=!0),new Bc(this,a,b)},Kb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Kb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Dc(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Dc=da.AnonymousObservable=function(a){function b(a){return a&&la(a.dispose)?a:la(a)?mb(a):nb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==bb||d.fail(bb.e)?void d.setDisposable(b(f)):p(bb.e)}function d(b,d){function e(a){var d=new Ec(a),e=[d,b];return zb.scheduleRequired()?zb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return db(d,a),d}(Rb),Ec=function(a){function b(b){a.call(this),this.observer=b,this.m=new qb}db(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===bb&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===bb&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===bb&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Pb),Fc=function(a,b){this.subject=a,this.observer=b};Fc.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 Gc=da.Subject=function(a){function c(a){return pb(this),this.isStopped?this.hasError?(a.onError(this.error),nb):(a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0, +this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Ic(a,b)},d}(Rb),Hc=da.AsyncSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),nb):(this.observers.push(a),new Fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{hasObservers:function(){return pb(this),this.observers.length>0},onCompleted:function(){var a,c;if(pb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){pb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Rb),Ic=da.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return db(c,a),eb(c.prototype,Nb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Rb),Jc=da.BehaviorSubject=function(a){function c(a){return pb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),nb):(this.observers.push(a),a.onNext(this.value),new Fc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return db(d,a),eb(d.prototype,Nb,{getValue:function(){if(pb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Rb),Kc=da.ReplaySubject=function(a){function c(a,b){return mb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Tb(this.scheduler,a),d=c(this,b);pb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||zb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return db(e,a),eb(e.prototype,Nb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(pb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(pb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(pb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Rb);da.Pauser=function(a){function b(){a.call(this)}return db(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Gc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?($.Rx=da,define(function(){return da})):_&&aa?ba?(aa.exports=da).Rx=da:_.Rx=da:$.Rx=da;var Lc=g()}).call(this); //# sourceMappingURL=rx.lite.compat.map \ No newline at end of file diff --git a/modules/rx-lite-experimental-compat/package.json b/modules/rx-lite-experimental-compat/package.json index e913ab3b3..8e288f327 100644 --- a/modules/rx-lite-experimental-compat/package.json +++ b/modules/rx-lite-experimental-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-experimental-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with experimental functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-experimental/package.json b/modules/rx-lite-experimental/package.json index eef2f397d..f3075f6f2 100644 --- a/modules/rx-lite-experimental/package.json +++ b/modules/rx-lite-experimental/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-experimental", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with experimental functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-extras-compat/package.json b/modules/rx-lite-extras-compat/package.json index 92219a885..cf9618bd3 100644 --- a/modules/rx-lite-extras-compat/package.json +++ b/modules/rx-lite-extras-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-extras-compat", "title": "Reactive Extensions for JavaScript (RxJS) Lite", "description": "Lightweight IE6 compatible library extras for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-extras/package.json b/modules/rx-lite-extras/package.json index 37ef8b1ac..e0a882b19 100644 --- a/modules/rx-lite-extras/package.json +++ b/modules/rx-lite-extras/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-extras", "title": "Reactive Extensions for JavaScript (RxJS) Lite", "description": "Lightweight library extras for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-joinpatterns-compat/package.json b/modules/rx-lite-joinpatterns-compat/package.json index b7b5f6cfd..0ae3a0825 100644 --- a/modules/rx-lite-joinpatterns-compat/package.json +++ b/modules/rx-lite-joinpatterns-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-joinpatterns-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with join pattern functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-joinpatterns/package.json b/modules/rx-lite-joinpatterns/package.json index 29d501fd5..de56a5990 100644 --- a/modules/rx-lite-joinpatterns/package.json +++ b/modules/rx-lite-joinpatterns/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-joinpatterns", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with join pattern functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-testing-compat/package.json b/modules/rx-lite-testing-compat/package.json index a7705f077..2a8c6beda 100644 --- a/modules/rx-lite-testing-compat/package.json +++ b/modules/rx-lite-testing-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-testing-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with testing functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-testing/package.json b/modules/rx-lite-testing/package.json index 3753c425e..4a28fb576 100644 --- a/modules/rx-lite-testing/package.json +++ b/modules/rx-lite-testing/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-testing", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with testing functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-time-compat/package.json b/modules/rx-lite-time-compat/package.json index b34555f80..818a9b920 100644 --- a/modules/rx-lite-time-compat/package.json +++ b/modules/rx-lite-time-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-time-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with time-based functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-time/package.json b/modules/rx-lite-time/package.json index 7f67e6634..71b7d906f 100644 --- a/modules/rx-lite-time/package.json +++ b/modules/rx-lite-time/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-time", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with time-based functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-virtualtime-compat/package.json b/modules/rx-lite-virtualtime-compat/package.json index 12359d4c9..23ddff235 100644 --- a/modules/rx-lite-virtualtime-compat/package.json +++ b/modules/rx-lite-virtualtime-compat/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-virtualtime-compat", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight older browser compatible library with virtual time functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite-virtualtime/package.json b/modules/rx-lite-virtualtime/package.json index 4b37b901f..eebf51c9f 100644 --- a/modules/rx-lite-virtualtime/package.json +++ b/modules/rx-lite-virtualtime/package.json @@ -2,7 +2,7 @@ "name": "rx-lite-virtualtime", "title": "Reactive Extensions for JavaScript (RxJS) Async", "description": "Lightweight library with virtual time functions for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite/package.json b/modules/rx-lite/package.json index eee25d6fc..654d661c3 100644 --- a/modules/rx-lite/package.json +++ b/modules/rx-lite/package.json @@ -2,7 +2,7 @@ "name": "rx-lite", "title": "Reactive Extensions for JavaScript (RxJS) Lite", "description": "Lightweight library for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/modules/rx-lite/rx.lite.js b/modules/rx-lite/rx.lite.js index 979f8481b..2d7f08943 100644 --- a/modules/rx-lite/rx.lite.js +++ b/modules/rx-lite/rx.lite.js @@ -5165,15 +5165,14 @@ return this.source.subscribe(observer); } - function ControlledObservable (source, enableQueue) { + function ControlledObservable (source, enableQueue, scheduler) { __super__.call(this, subscribe, source); - this.subject = new ControlledSubject(enableQueue); + this.subject = new ControlledSubject(enableQueue, scheduler); this.source = source.multicast(this.subject).refCount(); } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -5188,7 +5187,7 @@ inherits(ControlledSubject, __super__); - function ControlledSubject(enableQueue) { + function ControlledSubject(enableQueue, scheduler) { enableQueue == null && (enableQueue = true); __super__.call(this, subscribe); @@ -5200,29 +5199,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -5235,37 +5237,35 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; } - //TODO I don't think this is ever necessary, since termination of a sequence without a queue occurs in the onCompletion or onError function - //if (this.hasFailed) { - // this.subject.onError(this.error); - //} else if (this.hasCompleted) { - // this.subject.onCompleted(); - //} - return { numberOfItems: numberOfItems, returnValue: false }; }, request: function (number) { this.disposeCurrentRequest(); - var self = this, r = this._processRequest(number); + var self = this; - var number = r.numberOfItems; - if (!r.returnValue) { - this.requestedCount = number; - this.requestedDisposable = disposableCreate(function () { - self.requestedCount = 0; - }); + this.requestedDisposable = this.scheduler.scheduleWithState(number, + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; + if (!r.returnValue) { + self.requestedCount = remaining; + self.requestedDisposable = disposableCreate(function () { + self.requestedCount = 0; + }); + } + }); - return this.requestedDisposable; - } else { - return disposableEmpty; - } + return this.requestedDisposable; }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); @@ -5281,12 +5281,19 @@ * @example * var source = Rx.Observable.interval(100).controlled(); * source.request(3); // Reads 3 values - * @param {Observable} pauser The observable sequence used to pause the underlying sequence. + * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request + * @param {Scheduler} scheduler determines how the requests will be scheduled * @returns {Observable} The observable sequence which is paused based upon the pauser. */ - observableProto.controlled = function (enableQueue) { + observableProto.controlled = function (enableQueue, scheduler) { + + if (enableQueue && isScheduler(enableQueue)) { + scheduler = enableQueue; + enableQueue = true; + } + if (enableQueue == null) { enableQueue = true; } - return new ControlledObservable(this, enableQueue); + return new ControlledObservable(this, enableQueue, scheduler); }; /** diff --git a/modules/rx-lite/rx.lite.map b/modules/rx-lite/rx.lite.map index 3235c7d35..718f64130 100644 --- a/modules/rx-lite/rx.lite.map +++ b/modules/rx-lite/rx.lite.map @@ -1 +1 @@ -{"version":3,"file":"rx.lite.min.js","sources":["rx.lite.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","createListener","element","name","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isArray","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","concat","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","keys","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","n","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","m","innerSubscription","MergeAllObservable","MergeAllObserver","mergeObservable","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","results","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"rx.lite.min.js","sources":["rx.lite.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","createListener","element","name","addEventListener","disposableCreate","removeEventListener","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","compareTo","other","c","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","args","isArray","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","event","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","attachEvent","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","concat","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","forEach","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","keys","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","returnValue","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","filter","j","n","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","m","innerSubscription","MergeAllObservable","MergeAllObserver","mergeObservable","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","results","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","innerHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/modules/rx-lite/rx.lite.min.js b/modules/rx-lite/rx.lite.min.js index 7dad36030..a0e4b350f 100644 --- a/modules/rx-lite/rx.lite.min.js +++ b/modules/rx-lite/rx.lite.min.js @@ -1,5 +1,5 @@ /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(la&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(pa)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+pa+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===na&&d>=oa&&Ic>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(la)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return na=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!Ya(a))return b;Xa.nonEnumArgs&&a.length&&Za(a)&&(a=bb.call(a));var c=Xa.enumPrototypes&&"function"==typeof a,d=Xa.enumErrorProps&&(a===Sa||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(Xa.nonEnumShadows&&a!==Ta){var f=a.constructor,g=-1,h=Ea;if(a===(f&&f.prototype))var i=a===Ua?Oa:a===Sa?Ja:Pa.call(a),j=Wa[i];for(;++g-1:void 0});return c.pop(),d.pop(),q}function n(){try{return $a.apply(this,arguments)}catch(a){return ab.e=a,ab}}function o(a){if(!ka(a))throw new TypeError("fn must be a function");return $a=a,n}function p(a){throw a}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a,b){this.id=a,this.value=b}function t(a){this.observer=a,this.a=[],this.isStopped=!1}function u(){this._s=s}function v(){this._s=s,this._l=s.length,this._i=0}function w(a){this._a=a}function x(a){this._a=a,this._l=B(a),this._i=0}function y(a){return"number"==typeof a&&Z.isFinite(a)}function z(b){var c,d=b[xa];if(!d&&"string"==typeof b)return c=new u(b),c[xa]();if(!d&&b.length!==a)return c=new w(b),c[xa]();if(!d)throw new TypeError("Object is not iterable");return b[xa]()}function A(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function B(a){var b=+a.length;return isNaN(b)?0:0!==b&&y(b)?(b=A(b)*Math.floor(Math.abs(b)),0>=b?0:b>Xb?Xb:b):b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return sb(a)||(a=wb),new Zb(b,a)}function E(a,b){this.observer=a,this.parent=b}function F(a,b){this.observer=a,this.parent=b}function G(a,b){return new Ac(function(c){var d=new nb,e=new ob;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}ja(d)&&(d=tc(d));var g=new nb;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function H(a,b){var c=this;return new Ac(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function I(){return!1}function J(){return[]}function K(a,b,c){var d=Ca(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e}).concatAll()}function L(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function M(a,b,c){var d=Ca(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e}).mergeAll()}function N(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function O(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),jb(function(){a.removeEventListener(b,c,!1)});throw new Error("No listener found")}function P(a,b,c){var d=new gb;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(P(a.item(e),b,c));else a&&d.add(O(a,b,c));return d}function Q(a,b){return new Ac(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function R(a,b,c){return new Ac(function(d){var e=a,f=rb(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function S(a,b){return new Ac(function(c){return b.scheduleWithRelative(rb(a),function(){c.onNext(0),c.onCompleted()})})}function T(a,b,c){return a===b?new Ac(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Sb(function(){return R(c.now()+a,b,c)})}function U(a,b,c){return new Ac(function(d){var e,f=!1,g=new ob,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new nb,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new gb(e,g)},a)}function V(a,b,c){return Sb(function(){return U(a,b-c.now(),c)})}function W(a,b){return new Ac(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new gb(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}function X(a,b,c){return new Ac(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(ea))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new gb(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}var Y={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Z=Y[typeof window]&&window||this,$=Y[typeof exports]&&exports&&!exports.nodeType&&exports,_=Y[typeof module]&&module&&!module.nodeType&&module,aa=_&&_.exports===$&&$,ba=Y[typeof global]&&global;!ba||ba.global!==ba&&ba.window!==ba||(Z=ba);var ca={internals:{},config:{Promise:Z.Promise},helpers:{}},da=ca.helpers.noop=function(){},ea=(ca.helpers.notDefined=function(a){return"undefined"==typeof a},ca.helpers.identity=function(a){return a}),fa=(ca.helpers.pluck=function(a){return function(b){return b[a]}},ca.helpers.just=function(a){return function(){return a}},ca.helpers.defaultNow=Date.now),ga=ca.helpers.defaultComparer=function(a,b){return _a(a,b)},ha=ca.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},ia=(ca.helpers.defaultKeySerializer=function(a){return a.toString()},ca.helpers.defaultError=function(a){throw a}),ja=ca.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},ka=(ca.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},ca.helpers.not=function(a){return!a},ca.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Pa.call(a)}),a}());ca.config.longStackSupport=!1;var la=!1;try{throw new Error}catch(ma){la=!!ma.stack}var na,oa=g(),pa="From previous event:",qa=ca.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};qa.prototype=Error.prototype;var ra=ca.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};ra.prototype=Error.prototype;var sa=ca.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};sa.prototype=Error.prototype;var ta=ca.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};ta.prototype=Error.prototype;var ua=ca.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};ua.prototype=Error.prototype;var va=ca.helpers.notImplemented=function(){throw new ua},wa=ca.helpers.notSupported=function(){throw new ta},xa="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";Z.Set&&"function"==typeof(new Z.Set)["@@iterator"]&&(xa="@@iterator");var ya=ca.doneEnumerator={done:!0,value:a},za=ca.helpers.isIterable=function(b){return b[xa]!==a},Aa=ca.helpers.isArrayLike=function(b){return b&&b.length!==a};ca.helpers.iterator=xa;var Ba,Ca=ca.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Da=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ea=Da.length,Fa="[object Arguments]",Ga="[object Array]",Ha="[object Boolean]",Ia="[object Date]",Ja="[object Error]",Ka="[object Function]",La="[object Number]",Ma="[object Object]",Na="[object RegExp]",Oa="[object String]",Pa=Object.prototype.toString,Qa=Object.prototype.hasOwnProperty,Ra=Pa.call(arguments)==Fa,Sa=Error.prototype,Ta=Object.prototype,Ua=String.prototype,Va=Ta.propertyIsEnumerable;try{Ba=!(Pa.call(document)==Ma&&!({toString:0}+""))}catch(ma){Ba=!0}var Wa={};Wa[Ga]=Wa[Ia]=Wa[La]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Wa[Ha]=Wa[Oa]={constructor:!0,toString:!0,valueOf:!0},Wa[Ja]=Wa[Ka]=Wa[Na]={constructor:!0,toString:!0},Wa[Ma]={constructor:!0};var Xa={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);Xa.enumErrorProps=Va.call(Sa,"message")||Va.call(Sa,"name"),Xa.enumPrototypes=Va.call(a,"prototype"),Xa.nonEnumArgs=0!=c,Xa.nonEnumShadows=!/valueOf/.test(b)}(1);var Ya=ca.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},Za=function(a){return a&&"object"==typeof a?Pa.call(a)==Fa:!1};Ra||(Za=function(a){return a&&"object"==typeof a?Qa.call(a,"callee"):!1});{var $a,_a=ca.internals.isEqual=function(a,b){return m(a,b,[],[])},ab={e:{}},bb=({}.hasOwnProperty,Array.prototype.slice),cb=this.inherits=ca.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},db=ca.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};ca.internals.addRef=function(a,b){return new Ac(function(c){return new gb(b.getDisposable(),a.subscribe(c))})}}r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var eb=ca.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},fb=eb.prototype;fb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},fb.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)}}},fb.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(ba;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!lb(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},hb=gb.prototype;hb.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},hb.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},hb.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var ib=ca.Disposable=function(a){this.isDisposed=!1,this.action=a||da};ib.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var jb=ib.create=function(a){return new ib(a)},kb=ib.empty={dispose:da},lb=ib.isDisposable=function(a){return a&&ka(a.dispose)},mb=ib.checkDisposed=function(a){if(a.isDisposed)throw new ra},nb=ca.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};nb.prototype.getDisposable=function(){return this.current},nb.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},nb.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var ob=ca.SerialDisposable=function(){this.isDisposed=!1,this.current=null};ob.prototype.getDisposable=function(){return this.current},ob.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},ob.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var pb=(ca.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?kb:new a(this)},b}(),ca.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ha,this.disposable=new nb});pb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},pb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},pb.prototype.isCancelled=function(){return this.disposable.isDisposed},pb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var qb=ca.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),kb}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=fa,a.normalize=function(a){return 0>a&&(a=0),a},a}(),rb=qb.normalize,sb=qb.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),kb});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new gb;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),kb});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new gb;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(qb.prototype),function(){qb.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},qb.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof Z.setInterval)throw new ta;b=rb(b);var d=a,e=Z.setInterval(function(){d=c(d)},b);return jb(function(){Z.clearInterval(e)})}}(qb.prototype);var tb,ub,vb=qb.immediate=function(){function a(a,b){return b(this,a)}return new qb(fa,a,wa,wa)}(),wb=qb.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new pb(this,b,d,this.now());if(c)c.enqueue(e);else{c=new eb(4),c.enqueue(e);var f=o(a)();if(c=null,f===ab)return p(f.e)}return e.disposable}var c,d=new qb(fa,b,wa,wa);return d.scheduleRequired=function(){return!c},d}(),xb=(ca.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 nb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=da;if(Z.setTimeout)a=Z.setTimeout,b=Z.clearTimeout;else{if(!Z.WScript)throw new ta;a=function(a,b){Z.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),yb=xb.setTimeout,zb=xb.clearTimeout;!function(){function a(b){if(f)yb(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=o(c)();if(ub(b),f=!1,d===ab)return p(d.e)}}}function b(){if(!Z.postMessage||Z.importScripts)return!1;var a=!1,b=Z.onmessage;return Z.onmessage=function(){a=!0},Z.postMessage("","*"),Z.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;ub=function(a){delete e[a]};var g=RegExp("^"+String(Pa).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=ba&&aa&&ba.setImmediate)&&!g.test(h)&&h;if(ka(h))tb=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))tb=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();Z.addEventListener?Z.addEventListener("message",c,!1):Z.attachEvent?Z.attachEvent("onmessage",c):Z.onmessage=c,tb=function(a){var b=d++;return e[b]=a,Z.postMessage(i+currentId,"*"),b}}else if(Z.MessageChannel){var j=new Z.MessageChannel;j.port1.onmessage=function(b){a(b.data)},tb=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else tb="document"in Z&&"onreadystatechange"in Z.document.createElement("script")?function(b){var c=Z.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},Z.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,yb(function(){a(c)},0),c}}();var Ab=qb.timeout=qb["default"]=function(){function a(a,b){var c=this,d=new nb,e=tb(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new gb(d,jb(function(){ub(e)}))}function b(a,b,c){var d=this,e=qb.normalize(b),f=new nb;if(0===e)return d.scheduleWithState(a,c);var g=yb(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new gb(f,jb(function(){zb(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new qb(fa,a,b,c)}(),Bb=ca.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return sb(a)||(a=vb),new Ac(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Cb=Bb.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){return new Bb("N",d,null,a,b,c)}}(),Db=Bb.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){return new Bb("E",null,d,a,b,c)}}(),Eb=Bb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Bb("C",null,null,a,b,c)}}(),Fb=ca.internals.Enumerator=function(a){this._next=a};Fb.prototype.next=function(){return this._next()},Fb.prototype[xa]=function(){return this};var Gb=ca.internals.Enumerable=function(a){this._iterator=a};Gb.prototype[xa]=function(){return this._iterator()},Gb.prototype.concat=function(){var a=this;return new Ac(function(b){var c,d=a[xa](),e=new ob,f=vb.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;ja(h)&&(h=tc(h));var i=new nb;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new gb(e,f,jb(function(){c=!0}))})},Gb.prototype.catchError=function(){var a=this;return new Ac(function(b){var c,d=a[xa](),e=new ob,f=vb.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;ja(i)&&(i=tc(i));var j=new nb;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new gb(e,f,jb(function(){c=!0}))})},Gb.prototype.catchErrorWhen=function(a){var b=this;return new Ac(function(c){var d,e,f=new Dc,g=new Dc,h=a(f),i=h.subscribe(g),j=b[xa](),k=new ob,l=vb.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;ja(i)&&(i=tc(i));var l=new nb,m=new nb;k.setDisposable(new gb(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new gb(i,k,l,jb(function(){d=!0}))})};var Hb,Ib=Gb.repeat=function(a,b){return null==b&&(b=-1),new Gb(function(){var c=b;return new Fb(function(){return 0===c?ya:(c>0&&c--,{done:!1,value:a})})})},Jb=Gb.of=function(a,b,c){if(b)var d=Ca(b,c,3);return new Gb(function(){var c=-1;return new Fb(function(){return++c0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return void(b.isAcquired=!1);c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Mb),Qb=ca.ObservableBase=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e.subscribeCore).call(e,d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(a){var b=new Bc(a),d=[b,this];return wb.scheduleRequired()?wb.scheduleWithState(d,c):c(null,d),b}function e(){a.call(this,d)}return cb(e,a),e.prototype.subscribeCore=va,e}(Ob),Rb=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new t(a))},b}(Qb);t.prototype.onNext=function(a){this.isStopped||this.a.push(a)},t.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},t.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},t.prototype.dispose=function(){this.isStopped=!0},t.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.toArray=function(){return new Rb(this)},Ob.create=Ob.createWithDisposable=function(a,b){return new Ac(a,b)};var Sb=Ob.defer=function(a){return new Ac(function(b){var c;try{c=a()}catch(d){return gc(d).subscribe(b)}return ja(c)&&(c=tc(c)),c.subscribe(b)})},Tb=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Qb),Ub=Ob.empty=function(a){return sb(a)||(a=vb),new Tb(a)},Vb=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new Wb(a,this);return b.run()},b}(Qb),Wb=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),Xb=Math.pow(2,53)-1;u.prototype[xa]=function(){return new v(this._s)},v.prototype[xa]=function(){return this},v.prototype.next=function(){return this._ia?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var $b=Ob.fromArray=function(a,b){return sb(b)||(b=wb),new Zb(a,b)},_b=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(){return kb},b}(Qb);Ob.never=function(){return new _b}}Ob.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new Zb(b,wb)},Ob.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new Zb(c,a)};var ac=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Qb);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Ob.pairs=function(a,b){return b||(b=wb),new ac(a,b)};var bc=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new cc(a,this);return b.run()},b}(Qb),cc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){ -function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Ob.range=function(a,b,c){return sb(c)||(c=wb),new bc(a,b,c)};var dc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Qb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Ob.repeat=function(a,b,c){return sb(c)||(c=wb),new dc(a,b,c)};var ec=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Qb),fc=(Ob["return"]=Ob.just=Ob.returnValue=function(a,b){return sb(b)||(b=vb),new ec(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Qb)),gc=Ob["throw"]=Ob.throwError=Ob.throwException=function(a,b){return sb(b)||(b=vb),new fc(a,b)};Hb["catch"]=Hb.catchError=Hb.catchException=function(a){return"function"==typeof a?G(this,a):hc([this,a])};var hc=Ob.catchError=Ob["catch"]=Ob.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Jb(a).catchError()};Hb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),ic.apply(this,b)};var ic=Ob.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){function c(b){if(h[b]=!0,i||(i=h.every(ea))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function e(b){j[b]=!0,j.every(ea)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new nb;ja(f)&&(f=tc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new gb(l)},this)};Hb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),jc.apply(null,a)};var jc=Ob.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Jb(a).concat()};Hb.concatAll=Hb.concatObservable=function(){return this.merge(1)};var kc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb;return b.add(this.source.subscribe(new lc(a,this.maxConcurrent,b))),b},b}(Qb),lc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.merge=function(a){return"number"!=typeof a?mc(this,a):new kc(this,a)};var mc=Ob.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(sb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=vb,b=0;d>b;b++)c.push(arguments[b]);else for(a=vb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},nc=ca.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};nc.prototype=Error.prototype,Ob.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Ac(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new nc(g))}var c=new gb,e=new nb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new nb;c.add(e),ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})};var oc=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb,c=new nb;return b.add(c),c.setDisposable(this.source.subscribe(new pc(a,b))),b},b}(Qb),pc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.mergeAll=Hb.mergeObservable=function(){return new oc(this)},Hb.skipUntil=function(a){var b=this;return new Ac(function(c){var d=!1,e=new gb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ja(a)&&(a=tc(a));var f=new nb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Hb["switch"]=Hb.switchLatest=function(){var a=this;return new Ac(function(b){var c=!1,d=new ob,e=!1,f=0,g=a.subscribe(function(a){var g=new nb,h=++f;c=!0,d.setDisposable(g),ja(a)&&(a=tc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new gb(g,d)},a)},Hb.takeUntil=function(a){var b=this;return new Ac(function(c){return ja(a)&&(a=tc(a)),new gb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},da))},b)},Hb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new nb;ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(ea)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new nb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new gb(j)},this)},Hb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Ac(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new nb;ja(e)&&(e=tc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new gb(j)},d)},Ob.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Ob.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ac(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(ea))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(ea)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new nb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new gb(h)})},Hb.asObservable=function(){var a=this;return new Ac(function(b){return a.subscribe(b)},this)},Hb.dematerialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Hb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ga),new Ac(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Hb["do"]=Hb.tap=Hb.doAction=function(a,b,c){var d=this;return new Ac(function(e){var f=!a||ka(a)?Lb(a||da,b||da,c||da):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Hb.doOnNext=Hb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnError=Hb.tapOnError=function(a,b){return this.tap(da,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnCompleted=Hb.tapOnCompleted=function(a,b){return this.tap(da,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Hb["finally"]=Hb.ensure=function(a){var b=this;return new Ac(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return jb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Hb.finallyAction=function(a){return this.ensure(a)},Hb.ignoreElements=function(){var a=this;return new Ac(function(b){return a.subscribe(da,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Hb.materialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){b.onNext(Cb(a))},function(a){b.onNext(Db(a)),b.onCompleted()},function(){b.onNext(Eb()),b.onCompleted()})},a)},Hb.repeat=function(a){return Ib(this,a).concat()},Hb.retry=function(a){return Ib(this,a).catchError()},Hb.retryWhen=function(a){return Ib(this).catchErrorWhen(a)},Hb.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 Ac(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Hb.skipLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.startWith=function(){var a,b=0;arguments.length&&sb(arguments[0])?(a=arguments[0],b=1):a=vb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Jb([$b(c,a),this]).concat()},Hb.takeLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Hb.selectConcat=Hb.concatMap=function(a,b,c){return ka(a)&&ka(b)?this.concatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})}):ka(a)?K(this,a,c):K(this,function(){return a})};var qc=function(a){function b(b,c,d){this.source=b,this.selector=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Qb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.map=Hb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof qc?this.internalMap(c,b):new qc(this,c,b)},Hb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Hb.selectMany=Hb.flatMap=function(a,b,c){return ka(a)&&ka(b)?this.flatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})},c):ka(a)?M(this,a,c):M(this,function(){return a})},Hb.selectSwitch=Hb.flatMapLatest=Hb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Hb.skip=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.skipWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Hb.take=function(a,b){if(0>a)throw new sa;if(0===a)return Ub(b);var c=this;return new Ac(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Hb.takeWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var rc=function(a){function b(b,c,d){this.source=b,this.predicate=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Qb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.filter=Hb.where=function(a,b){return this instanceof rc?this.internalFilter(a,b):new rc(this,a,b)},Ob.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ob.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},ca.config.useNativeEvents=!1,Ob.fromEvent=function(a,b,c){return a.addListener?sc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):ca.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Ac(function(d){return P(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():sc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var sc=Ob.fromEventPattern=function(a,b,c){return new Ac(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return jb(function(){b&&b(e,f)})}).publish().refCount()},tc=Ob.fromPromise=function(a){return Sb(function(){var b=new ca.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Hb.toPromise=function(a){if(a||(a=ca.config.Promise),!a)throw new ta("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Ob.startAsync=function(a){var b;try{b=a()}catch(c){return gc(c)}return tc(b)},Hb.multicast=function(a,b){var c=this;return"function"==typeof a?new Ac(function(d){var e=c.multicast(a());return new gb(b(e).subscribe(d),e.connect())},c):new uc(c,a)},Hb.publish=function(a){return a&&ka(a)?this.multicast(function(){return new Dc},a):this.multicast(new Dc)},Hb.share=function(){return this.publish().refCount()},Hb.publishLast=function(a){return a&&ka(a)?this.multicast(function(){return new Ec},a):this.multicast(new Ec)},Hb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gc(b)},a):this.multicast(new Gc(a))},Hb.shareValue=function(a){return this.publishValue(a).refCount()},Hb.replay=function(a,b,c,d){return a&&ka(a)?this.multicast(function(){return new Hc(b,c,d)},a):this.multicast(new Hc(b,c,d))},Hb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var uc=ca.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new gb(f.subscribe(c),jb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return cb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Ac(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Ob),vc=Ob.interval=function(a,b){return T(a,a,sb(b)?b:Ab)};Ob.timer=function(b,c,d){var e;return sb(d)||(d=Ab),c!==a&&"number"==typeof c?e=c:sb(c)&&(d=c),b instanceof Date&&e===a?Q(b.getTime(),d):b instanceof Date&&e!==a?(e=c,R(b.getTime(),e,d)):e===a?S(b,d):T(b,e,d)}}Hb.delay=function(a,b){return sb(b)||(b=Ab),a instanceof Date?V(this,a.getTime(),b):U(this,a,b)},Hb.debounce=Hb.throttleWithTimeout=function(a,b){sb(b)||(b=Ab);var c=this;return new Ac(function(d){var e,f=new ob,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new nb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new gb(i,f)},this)},Hb.throttle=function(a,b){return this.debounce(a,b)},Hb.timestamp=function(a){return sb(a)||(a=Ab),this.map(function(b){return{value:b,timestamp:a.now()}})},Hb.sample=Hb.throttleLatest=function(a,b){return sb(b)||(b=Ab),"number"==typeof a?W(this,vc(a,b)):W(this,a)},Hb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=gc(new Error(b||"Timeout"))),sb(c)||(c=Ab);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Ac(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ja(b)&&(b=tc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new nb,j=new ob,k=!1,l=new ob;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new gb(j,l)},d)},Hb.throttleFirst=function(a,b){sb(b)||(b=Ab);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ac(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var wc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=kb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=kb)});return new gb(c,d,e)}function c(c,d){this.source=c,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return cb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Ob);Hb.pausable=function(a){return new wc(this,a)};var xc=function(b){function c(b){var c,d=[],e=X(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return cb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Ob);Hb.pausableBuffered=function(a){return new xc(this,a)};var yc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d){a.call(this,b,c),this.subject=new zc(d),this.source=c.multicast(this.subject).refCount()}return cb(c,a),c.prototype.request=function(a){return null==a&&(a=-1),this.subject.request(a)},c}(Ob),zc=function(a){function b(a){return this.subject.subscribe(a)}function c(c){null==c&&(c=!0),a.call(this,b),this.subject=new Dc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=kb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1}return cb(c,a),db(c.prototype,Kb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(ca.Notification.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(ca.Notification.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(ca.Notification.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this,c=this._processRequest(a),a=c.numberOfItems;return c.returnValue?kb:(this.requestedCount=a,this.requestedDisposable=jb(function(){b.requestedCount=0}),this.requestedDisposable)},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=kb}}),c}(Ob);Hb.controlled=function(a){return null==a&&(a=!0),new yc(this,a)},Hb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Hb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Ac(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Ac=ca.AnonymousObservable=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(b,d){function e(a){var d=new Bc(a),e=[d,b];return wb.scheduleRequired()?wb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return cb(d,a),d}(Ob),Bc=function(a){function b(b){a.call(this),this.observer=b,this.m=new nb}cb(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===ab&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===ab&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===ab&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mb),Cc=function(a,b){this.subject=a,this.observer=b};Cc.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 Dc=ca.Subject=function(a){function c(a){return mb(this),this.isStopped?this.hasError?(a.onError(this.error),kb):(a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Fc(a,b)},d}(Ob),Ec=ca.AsyncSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{hasObservers:function(){return mb(this),this.observers.length>0},onCompleted:function(){var a,c;if(mb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){mb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Ob),Fc=ca.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return cb(c,a),db(c.prototype,Kb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Ob),Gc=ca.BehaviorSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),kb):(this.observers.push(a),a.onNext(this.value),new Cc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{getValue:function(){if(mb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Ob),Hc=ca.ReplaySubject=function(a){function c(a,b){return jb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Pb(this.scheduler,a),d=c(this,b);mb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b, -this.windowSize=null==c?f:c,this.scheduler=e||wb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return cb(e,a),db(e.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(mb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Ob);ca.Pauser=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Dc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Z.Rx=ca,define(function(){return ca})):$&&_?aa?(_.exports=ca).Rx=ca:$.Rx=ca:Z.Rx=ca;var Ic=g()}).call(this); +function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Ob.range=function(a,b,c){return sb(c)||(c=wb),new bc(a,b,c)};var dc=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Qb);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Ob.repeat=function(a,b,c){return sb(c)||(c=wb),new dc(a,b,c)};var ec=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Qb),fc=(Ob["return"]=Ob.just=Ob.returnValue=function(a,b){return sb(b)||(b=vb),new ec(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Qb)),gc=Ob["throw"]=Ob.throwError=Ob.throwException=function(a,b){return sb(b)||(b=vb),new fc(a,b)};Hb["catch"]=Hb.catchError=Hb.catchException=function(a){return"function"==typeof a?G(this,a):hc([this,a])};var hc=Ob.catchError=Ob["catch"]=Ob.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Jb(a).catchError()};Hb.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),ic.apply(this,b)};var ic=Ob.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){function c(b){if(h[b]=!0,i||(i=h.every(ea))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function e(b){j[b]=!0,j.every(ea)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new nb;ja(f)&&(f=tc(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new gb(l)},this)};Hb.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),jc.apply(null,a)};var jc=Ob.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Jb(a).concat()};Hb.concatAll=Hb.concatObservable=function(){return this.merge(1)};var kc=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb;return b.add(this.source.subscribe(new lc(a,this.maxConcurrent,b))),b},b}(Qb),lc=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.merge=function(a){return"number"!=typeof a?mc(this,a):new kc(this,a)};var mc=Ob.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(sb(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=vb,b=0;d>b;b++)c.push(arguments[b]);else for(a=vb,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},nc=ca.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};nc.prototype=Error.prototype,Ob.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Ac(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new nc(g))}var c=new gb,e=new nb,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new nb;c.add(e),ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})};var oc=function(a){function b(b){this.source=b,a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){var b=new gb,c=new nb;return b.add(c),c.setDisposable(this.source.subscribe(new pc(a,b))),b},b}(Qb),pc=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new nb;this.g.add(c),ja(a)&&(a=tc(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Hb.mergeAll=Hb.mergeObservable=function(){return new oc(this)},Hb.skipUntil=function(a){var b=this;return new Ac(function(c){var d=!1,e=new gb(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));ja(a)&&(a=tc(a));var f=new nb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Hb["switch"]=Hb.switchLatest=function(){var a=this;return new Ac(function(b){var c=!1,d=new ob,e=!1,f=0,g=a.subscribe(function(a){var g=new nb,h=++f;c=!0,d.setDisposable(g),ja(a)&&(a=tc(a)),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new gb(g,d)},a)},Hb.takeUntil=function(a){var b=this;return new Ac(function(c){return ja(a)&&(a=tc(a)),new gb(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},da))},b)},Hb.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Ac(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new nb;ja(d)&&(d=tc(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(ea)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new nb;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new gb(j)},this)},Hb.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Ac(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(ea)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new nb;ja(e)&&(e=tc(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new gb(j)},d)},Ob.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Ob.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Ac(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(ea))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(ea)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new nb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new gb(h)})},Hb.asObservable=function(){var a=this;return new Ac(function(b){return a.subscribe(b)},this)},Hb.dematerialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Hb.distinctUntilChanged=function(a,b){var c=this;return b||(b=ga),new Ac(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Hb["do"]=Hb.tap=Hb.doAction=function(a,b,c){var d=this;return new Ac(function(e){var f=!a||ka(a)?Lb(a||da,b||da,c||da):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Hb.doOnNext=Hb.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnError=Hb.tapOnError=function(a,b){return this.tap(da,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Hb.doOnCompleted=Hb.tapOnCompleted=function(a,b){return this.tap(da,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Hb["finally"]=Hb.ensure=function(a){var b=this;return new Ac(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return jb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Hb.finallyAction=function(a){return this.ensure(a)},Hb.ignoreElements=function(){var a=this;return new Ac(function(b){return a.subscribe(da,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Hb.materialize=function(){var a=this;return new Ac(function(b){return a.subscribe(function(a){b.onNext(Cb(a))},function(a){b.onNext(Db(a)),b.onCompleted()},function(){b.onNext(Eb()),b.onCompleted()})},a)},Hb.repeat=function(a){return Ib(this,a).concat()},Hb.retry=function(a){return Ib(this,a).catchError()},Hb.retryWhen=function(a){return Ib(this).catchErrorWhen(a)},Hb.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 Ac(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Hb.skipLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.startWith=function(){var a,b=0;arguments.length&&sb(arguments[0])?(a=arguments[0],b=1):a=vb;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Jb([$b(c,a),this]).concat()},Hb.takeLast=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Hb.selectConcat=Hb.concatMap=function(a,b,c){return ka(a)&&ka(b)?this.concatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})}):ka(a)?K(this,a,c):K(this,function(){return a})};var qc=function(a){function b(b,c,d){this.source=b,this.selector=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Qb);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.map=Hb.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof qc?this.internalMap(c,b):new qc(this,c,b)},Hb.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Hb.selectMany=Hb.flatMap=function(a,b,c){return ka(a)&&ka(b)?this.flatMap(function(c,d){var e=a(c,d);return ja(e)&&(e=tc(e)),(Aa(e)||za(e))&&(e=Yb(e)),e.map(function(a,e){return b(c,a,d,e)})},c):ka(a)?M(this,a,c):M(this,function(){return a})},Hb.selectSwitch=Hb.flatMapLatest=Hb.switchMap=function(a,b){return this.select(a,b).switchLatest()},Hb.skip=function(a){if(0>a)throw new sa;var b=this;return new Ac(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Hb.skipWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Hb.take=function(a,b){if(0>a)throw new sa;if(0===a)return Ub(b);var c=this;return new Ac(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Hb.takeWhile=function(a,b){var c=this,d=Ca(a,b,3);return new Ac(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var rc=function(a){function b(b,c,d){this.source=b,this.predicate=Ca(c,d,3),a.call(this)}return cb(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Qb);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===ab?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Hb.filter=Hb.where=function(a,b){return this instanceof rc?this.internalFilter(a,b):new rc(this,a,b)},Ob.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Ob.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Ac(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},ca.config.useNativeEvents=!1,Ob.fromEvent=function(a,b,c){return a.addListener?sc(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):ca.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Ac(function(d){return P(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():sc(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var sc=Ob.fromEventPattern=function(a,b,c){return new Ac(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return jb(function(){b&&b(e,f)})}).publish().refCount()},tc=Ob.fromPromise=function(a){return Sb(function(){var b=new ca.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Hb.toPromise=function(a){if(a||(a=ca.config.Promise),!a)throw new ta("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Ob.startAsync=function(a){var b;try{b=a()}catch(c){return gc(c)}return tc(b)},Hb.multicast=function(a,b){var c=this;return"function"==typeof a?new Ac(function(d){var e=c.multicast(a());return new gb(b(e).subscribe(d),e.connect())},c):new uc(c,a)},Hb.publish=function(a){return a&&ka(a)?this.multicast(function(){return new Dc},a):this.multicast(new Dc)},Hb.share=function(){return this.publish().refCount()},Hb.publishLast=function(a){return a&&ka(a)?this.multicast(function(){return new Ec},a):this.multicast(new Ec)},Hb.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Gc(b)},a):this.multicast(new Gc(a))},Hb.shareValue=function(a){return this.publishValue(a).refCount()},Hb.replay=function(a,b,c,d){return a&&ka(a)?this.multicast(function(){return new Hc(b,c,d)},a):this.multicast(new Hc(b,c,d))},Hb.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var uc=ca.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new gb(f.subscribe(c),jb(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return cb(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Ac(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Ob),vc=Ob.interval=function(a,b){return T(a,a,sb(b)?b:Ab)};Ob.timer=function(b,c,d){var e;return sb(d)||(d=Ab),c!==a&&"number"==typeof c?e=c:sb(c)&&(d=c),b instanceof Date&&e===a?Q(b.getTime(),d):b instanceof Date&&e!==a?(e=c,R(b.getTime(),e,d)):e===a?S(b,d):T(b,e,d)}}Hb.delay=function(a,b){return sb(b)||(b=Ab),a instanceof Date?V(this,a.getTime(),b):U(this,a,b)},Hb.debounce=Hb.throttleWithTimeout=function(a,b){sb(b)||(b=Ab);var c=this;return new Ac(function(d){var e,f=new ob,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new nb;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new gb(i,f)},this)},Hb.throttle=function(a,b){return this.debounce(a,b)},Hb.timestamp=function(a){return sb(a)||(a=Ab),this.map(function(b){return{value:b,timestamp:a.now()}})},Hb.sample=Hb.throttleLatest=function(a,b){return sb(b)||(b=Ab),"number"==typeof a?W(this,vc(a,b)):W(this,a)},Hb.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=gc(new Error(b||"Timeout"))),sb(c)||(c=Ab);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Ac(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(ja(b)&&(b=tc(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new nb,j=new ob,k=!1,l=new ob;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new gb(j,l)},d)},Hb.throttleFirst=function(a,b){sb(b)||(b=Ab);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Ac(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var wc=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=kb,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=kb)});return new gb(c,d,e)}function c(c,d){this.source=c,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return cb(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Ob);Hb.pausable=function(a){return new wc(this,a)};var xc=function(b){function c(b){var c,d=[],e=X(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Dc,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return cb(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Ob);Hb.pausableBuffered=function(a){return new xc(this,a)};var yc=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new zc(d,e),this.source=c.multicast(this.subject).refCount()}return cb(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Ob),zc=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Dc,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=kb,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||wb}return cb(c,a),db(c.prototype,Kb,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Bb.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Bb.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Bb.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=jb(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=kb}}),c}(Ob);Hb.controlled=function(a,b){return a&&sb(a)&&(b=a,a=!0),null==a&&(a=!0),new yc(this,a,b)},Hb.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Hb.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Ac(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Ac=ca.AnonymousObservable=function(a){function b(a){return a&&ka(a.dispose)?a:ka(a)?jb(a):kb}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==ab||d.fail(ab.e)?void d.setDisposable(b(f)):p(ab.e)}function d(b,d){function e(a){var d=new Bc(a),e=[d,b];return wb.scheduleRequired()?wb.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return cb(d,a),d}(Ob),Bc=function(a){function b(b){a.call(this),this.observer=b,this.m=new nb}cb(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===ab&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===ab&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===ab&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Mb),Cc=function(a,b){this.subject=a,this.observer=b};Cc.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 Dc=ca.Subject=function(a){function c(a){return mb(this),this.isStopped?this.hasError?(a.onError(this.error),kb):(a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Fc(a,b)},d}(Ob),Ec=ca.AsyncSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),kb):(this.observers.push(a),new Cc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{hasObservers:function(){return mb(this),this.observers.length>0},onCompleted:function(){var a,c;if(mb(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){mb(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Ob),Fc=ca.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return cb(c,a),db(c.prototype,Kb.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Ob),Gc=ca.BehaviorSubject=function(a){function c(a){return mb(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),kb):(this.observers.push(a),a.onNext(this.value),new Cc(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return cb(d,a),db(d.prototype,Kb,{getValue:function(){if(mb(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(mb(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Ob),Hc=ca.ReplaySubject=function(a){function c(a,b){return jb(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Pb(this.scheduler,a),d=c(this,b);mb(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(), +b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||wb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return cb(e,a),db(e.prototype,Kb.prototype,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){if(mb(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(mb(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(mb(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Ob);ca.Pauser=function(a){function b(){a.call(this)}return cb(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Dc),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Z.Rx=ca,define(function(){return ca})):$&&_?aa?(_.exports=ca).Rx=ca:$.Rx=ca:Z.Rx=ca;var Ic=g()}).call(this); //# sourceMappingURL=rx.lite.map \ No newline at end of file diff --git a/package.json b/package.json index 830031e6c..a9dcd8e75 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "rx", "title": "Reactive Extensions for JavaScript (RxJS)", "description": "Library for composing asynchronous and event-based operations in JavaScript", - "version": "2.5.1", + "version": "2.5.2", "homepage": "https://github.com/Reactive-Extensions/RxJS", "author": { "name": "Cloud Programmability Team", diff --git a/src/core/backpressure/controlled.js b/src/core/backpressure/controlled.js index 26ac0cdeb..14894e930 100644 --- a/src/core/backpressure/controlled.js +++ b/src/core/backpressure/controlled.js @@ -13,8 +13,7 @@ } ControlledObservable.prototype.request = function (numberOfItems) { - if (numberOfItems == null) { numberOfItems = -1; } - return this.subject.request(numberOfItems); + return this.subject.request(numberOfItems == null ? -1 : numberOfItems); }; return ControlledObservable; @@ -41,30 +40,32 @@ this.error = null; this.hasFailed = false; this.hasCompleted = false; - this.scheduler = scheduler || Rx.Scheduler['currentThread']; + this.scheduler = scheduler || currentThreadScheduler; } addProperties(ControlledSubject.prototype, Observer, { onCompleted: function () { this.hasCompleted = true; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onCompleted(); - else - this.queue.push(Rx.Notification.createOnCompleted()); + } else { + this.queue.push(Notification.createOnCompleted()); + } }, onError: function (error) { this.hasFailed = true; this.error = error; - if (!this.enableQueue || this.queue.length === 0) + if (!this.enableQueue || this.queue.length === 0) { this.subject.onError(error); - else - this.queue.push(Rx.Notification.createOnError(error)); + } else { + this.queue.push(Notification.createOnError(error)); + } }, onNext: function (value) { var hasRequested = false; if (this.requestedCount === 0) { - this.enableQueue && this.queue.push(Rx.Notification.createOnNext(value)); + this.enableQueue && this.queue.push(Notification.createOnNext(value)); } else { (this.requestedCount !== -1 && this.requestedCount-- === 0) && this.disposeCurrentRequest(); hasRequested = true; @@ -77,8 +78,12 @@ (this.queue.length > 0 && this.queue[0].kind !== 'N')) { var first = this.queue.shift(); first.accept(this.subject); - if (first.kind === 'N') numberOfItems--; - else { this.disposeCurrentRequest(); this.queue = []; } + if (first.kind === 'N') { + numberOfItems--; + } else { + this.disposeCurrentRequest(); + this.queue = []; + } } return { numberOfItems : numberOfItems, returnValue: this.queue.length !== 0}; @@ -88,24 +93,20 @@ }, request: function (number) { this.disposeCurrentRequest(); - var self = this; //r = this._processRequest(number); + var self = this; this.requestedDisposable = this.scheduler.scheduleWithState(number, - function(s, i){ - var r = self._processRequest(i); - var remaining = r.numberOfItems; + function(s, i) { + var r = self._processRequest(i), remaining = r.numberOfItems; if (!r.returnValue) { self.requestedCount = remaining; - self.requestedDisposable = disposableCreate(function(){ + self.requestedDisposable = disposableCreate(function () { self.requestedCount = 0; }); } - - }); return this.requestedDisposable; - }, disposeCurrentRequest: function () { this.requestedDisposable.dispose(); diff --git a/src/core/headers/backpressureheader.js b/src/core/headers/backpressureheader.js index ffdda2014..69c5e373f 100644 --- a/src/core/headers/backpressureheader.js +++ b/src/core/headers/backpressureheader.js @@ -4,6 +4,7 @@ AnonymousObservable = Rx.AnonymousObservable, AbstractObserver = Rx.internals.AbstractObserver, CompositeDisposable = Rx.CompositeDisposable, + Notification = Rx.Notification, Subject = Rx.Subject, Observer = Rx.Observer, disposableEmpty = Rx.Disposable.empty, @@ -13,6 +14,5 @@ timeoutScheduler = Rx.Scheduler.timeout, currentThreadScheduler = Rx.Scheduler.currentThread, identity = Rx.helpers.identity, - //TODO Get some consistency about where this is declared - isScheduler = Rx.helpers.isScheduler || Rx.Scheduler.isScheduler, + isScheduler = Rx.Scheduler.isScheduler, checkDisposed = Rx.Disposable.checkDisposed; diff --git a/tests/observable/controlled.js b/tests/observable/controlled.js index b80bc3b6c..83bbfca06 100644 --- a/tests/observable/controlled.js +++ b/tests/observable/controlled.js @@ -162,7 +162,7 @@ test('controlled fires onError', function(){ var error = new Error("expected"); var source = Rx.Observable.range(1, 2, scheduler) - .concat(Rx.Observable.throw(error, scheduler)) + .concat(Rx.Observable.throwError(error, scheduler)) .controlled(); scheduler.scheduleAbsolute(200, function(){