{"version":3,"sources":["webpack:///connector.bundle.js","webpack:///../src/AsyncSubject.ts","webpack:///../../src/operators/combineLatest.ts","webpack:///../../src/operators/zip.ts","webpack:///../src/ReplaySubject.ts","webpack:///../../src/operators/throttle.ts","webpack:///../../src/observable/race.ts","webpack:///../../src/operators/onErrorResumeNext.ts","webpack:///../../src/operators/concatMap.ts","webpack:///../../src/operators/distinctUntilChanged.ts","webpack:///../../src/operators/find.ts","webpack:///../../src/operators/timestamp.ts","webpack:///./src/xcomponents/connector/definition.ts","webpack:///./src/app/connector/external.props.ts","webpack:///./node_modules/color-name/index.js","webpack:///./node_modules/color-convert/conversions.js","webpack:///../../../src/observable/dom/AjaxObservable.ts","webpack:///../../src/scheduler/queue.ts","webpack:///../../src/operators/buffer.ts","webpack:///../../src/operators/bufferCount.ts","webpack:///../../src/operators/bufferTime.ts","webpack:///../../src/operators/bufferToggle.ts","webpack:///../../src/operators/bufferWhen.ts","webpack:///../../src/operators/combineAll.ts","webpack:///../../src/operators/concat.ts","webpack:///../../src/operators/concatMapTo.ts","webpack:///../../src/operators/count.ts","webpack:///../../src/operators/dematerialize.ts","webpack:///../../src/operators/debounce.ts","webpack:///../../src/operators/delayWhen.ts","webpack:///../../src/operators/distinct.ts","webpack:///../../src/operators/distinctUntilKeyChanged.ts","webpack:///../../src/operators/exhaust.ts","webpack:///../../src/operators/exhaustMap.ts","webpack:///../../src/operators/expand.ts","webpack:///../../src/operators/elementAt.ts","webpack:///../../src/operators/findIndex.ts","webpack:///../../src/operators/groupBy.ts","webpack:///../../src/operators/ignoreElements.ts","webpack:///../../src/operators/isEmpty.ts","webpack:///../../src/operators/last.ts","webpack:///../../src/operators/every.ts","webpack:///../../src/operators/mapTo.ts","webpack:///../../src/operators/materialize.ts","webpack:///../../src/operators/max.ts","webpack:///../../src/operators/mergeMapTo.ts","webpack:///../../src/operators/mergeScan.ts","webpack:///../../src/operators/min.ts","webpack:///../../src/operators/pairwise.ts","webpack:///../../src/operators/partition.ts","webpack:///../../src/operators/pluck.ts","webpack:///../../src/operators/publish.ts","webpack:///../../src/operators/publishBehavior.ts","webpack:///../../src/operators/publishReplay.ts","webpack:///../../src/operators/publishLast.ts","webpack:///../../src/operators/race.ts","webpack:///../../src/operators/repeat.ts","webpack:///../../src/operators/repeatWhen.ts","webpack:///../../src/operators/retry.ts","webpack:///../../src/operators/retryWhen.ts","webpack:///../../src/operators/sample.ts","webpack:///../../src/operators/sampleTime.ts","webpack:///../../src/operators/sequenceEqual.ts","webpack:///../../src/operators/shareReplay.ts","webpack:///../../src/operators/single.ts","webpack:///../../src/operators/skip.ts","webpack:///../../src/operators/skipLast.ts","webpack:///../../src/operators/skipUntil.ts","webpack:///../../src/operators/skipWhile.ts","webpack:///../../src/scheduler/asap.ts","webpack:///../../src/operators/switchAll.ts","webpack:///../../src/operators/switchMapTo.ts","webpack:///../../src/operators/takeWhile.ts","webpack:///../../src/operators/throttleTime.ts","webpack:///../../src/operator/timeInterval.ts","webpack:///../../src/operators/timeInterval.ts","webpack:///../../src/operators/timeout.ts","webpack:///../../src/util/TimeoutError.ts","webpack:///../../src/operators/timeoutWith.ts","webpack:///../../src/operators/window.ts","webpack:///../../src/operators/windowCount.ts","webpack:///../../src/operators/windowTime.ts","webpack:///../../src/operators/windowToggle.ts","webpack:///../../src/operators/windowWhen.ts","webpack:///../../src/operators/withLatestFrom.ts","webpack:///../../src/operators/zipAll.ts","webpack:///../../src/testing/SubscriptionLoggable.ts","webpack:///../../src/testing/SubscriptionLog.ts","webpack:///../../src/util/applyMixins.ts","webpack:///../../src/scheduler/VirtualTimeScheduler.ts","webpack:///./src/xcomponents/connector/index.ts","webpack:///./src/app/connector/index.ts","webpack:///./src/app/connector/connector.component.ts","webpack:///./src/app/connector/theme-generator.ts","webpack:///./node_modules/color/index.js","webpack:///./node_modules/color-string/index.js","webpack:///./node_modules/simple-swizzle/index.js","webpack:///./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack:///./node_modules/color-convert/index.js","webpack:///./node_modules/color-convert/route.js","webpack:///../src/Rx.ts","webpack:///../../../src/add/observable/bindCallback.ts","webpack:///../../src/observable/bindCallback.ts","webpack:///../../src/observable/BoundCallbackObservable.ts","webpack:///../../../src/add/observable/bindNodeCallback.ts","webpack:///../../src/observable/bindNodeCallback.ts","webpack:///../../src/observable/BoundNodeCallbackObservable.ts","webpack:///../../../src/add/observable/combineLatest.ts","webpack:///../../src/observable/combineLatest.ts","webpack:///../../../src/add/observable/concat.ts","webpack:///../../../src/add/observable/defer.ts","webpack:///../../../src/add/observable/empty.ts","webpack:///../../src/observable/empty.ts","webpack:///../../../src/add/observable/forkJoin.ts","webpack:///../../../src/add/observable/from.ts","webpack:///../../../src/add/observable/fromEvent.ts","webpack:///../../../src/add/observable/fromEventPattern.ts","webpack:///../../src/observable/fromEventPattern.ts","webpack:///../../src/observable/FromEventPatternObservable.ts","webpack:///../../../src/add/observable/generate.ts","webpack:///../../src/observable/generate.ts","webpack:///../../src/observable/GenerateObservable.ts","webpack:///../../../src/add/observable/if.ts","webpack:///../../src/observable/if.ts","webpack:///../../src/observable/IfObservable.ts","webpack:///../../../src/add/observable/interval.ts","webpack:///../../src/observable/interval.ts","webpack:///../../src/observable/IntervalObservable.ts","webpack:///../../../src/add/observable/merge.ts","webpack:///../../../src/add/observable/race.ts","webpack:///../../../src/add/observable/never.ts","webpack:///../../src/observable/never.ts","webpack:///../../src/observable/NeverObservable.ts","webpack:///../../../src/add/observable/onErrorResumeNext.ts","webpack:///../../src/observable/onErrorResumeNext.ts","webpack:///../../../src/add/observable/pairs.ts","webpack:///../../src/observable/pairs.ts","webpack:///../../src/observable/PairsObservable.ts","webpack:///../../../src/add/observable/range.ts","webpack:///../../src/observable/range.ts","webpack:///../../src/observable/RangeObservable.ts","webpack:///../../../src/add/observable/using.ts","webpack:///../../src/observable/using.ts","webpack:///../../src/observable/UsingObservable.ts","webpack:///../../../src/add/observable/timer.ts","webpack:///../../../src/add/observable/zip.ts","webpack:///../../src/observable/zip.ts","webpack:///../../../../src/add/observable/dom/ajax.ts","webpack:///../../../src/observable/dom/ajax.ts","webpack:///../../../../src/add/observable/dom/webSocket.ts","webpack:///../../../src/observable/dom/webSocket.ts","webpack:///../../../src/observable/dom/WebSocketSubject.ts","webpack:///../../src/scheduler/QueueAction.ts","webpack:///../../src/scheduler/QueueScheduler.ts","webpack:///../../src/util/assign.ts","webpack:///../../../src/add/operator/buffer.ts","webpack:///../../src/operator/buffer.ts","webpack:///../../../src/add/operator/bufferCount.ts","webpack:///../../src/operator/bufferCount.ts","webpack:///../../../src/add/operator/bufferTime.ts","webpack:///../../src/operator/bufferTime.ts","webpack:///../../../src/add/operator/bufferToggle.ts","webpack:///../../src/operator/bufferToggle.ts","webpack:///../../../src/add/operator/bufferWhen.ts","webpack:///../../src/operator/bufferWhen.ts","webpack:///../../../src/add/operator/combineAll.ts","webpack:///../../src/operator/combineAll.ts","webpack:///../../../src/add/operator/combineLatest.ts","webpack:///../../src/operator/combineLatest.ts","webpack:///../../../src/add/operator/concat.ts","webpack:///../../src/operator/concat.ts","webpack:///../../../src/add/operator/concatAll.ts","webpack:///../../src/operator/concatAll.ts","webpack:///../../../src/add/operator/concatMap.ts","webpack:///../../src/operator/concatMap.ts","webpack:///../../../src/add/operator/concatMapTo.ts","webpack:///../../src/operator/concatMapTo.ts","webpack:///../../../src/add/operator/count.ts","webpack:///../../src/operator/count.ts","webpack:///../../../src/add/operator/dematerialize.ts","webpack:///../../src/operator/dematerialize.ts","webpack:///../../../src/add/operator/debounce.ts","webpack:///../../src/operator/debounce.ts","webpack:///../../../src/add/operator/defaultIfEmpty.ts","webpack:///../../src/operator/defaultIfEmpty.ts","webpack:///../../../src/add/operator/delay.ts","webpack:///../../../src/add/operator/delayWhen.ts","webpack:///../../src/operator/delayWhen.ts","webpack:///../../../src/add/operator/distinct.ts","webpack:///../../src/operator/distinct.ts","webpack:///../../src/util/Set.ts","webpack:///../../../src/add/operator/distinctUntilChanged.ts","webpack:///../../src/operator/distinctUntilChanged.ts","webpack:///../../../src/add/operator/distinctUntilKeyChanged.ts","webpack:///../../src/operator/distinctUntilKeyChanged.ts","webpack:///../../../src/add/operator/do.ts","webpack:///../../../src/add/operator/exhaust.ts","webpack:///../../src/operator/exhaust.ts","webpack:///../../../src/add/operator/exhaustMap.ts","webpack:///../../src/operator/exhaustMap.ts","webpack:///../../../src/add/operator/expand.ts","webpack:///../../src/operator/expand.ts","webpack:///../../../src/add/operator/elementAt.ts","webpack:///../../src/operator/elementAt.ts","webpack:///../../../src/add/operator/filter.ts","webpack:///../../../src/add/operator/finally.ts","webpack:///../../../src/add/operator/find.ts","webpack:///../../src/operator/find.ts","webpack:///../../../src/add/operator/findIndex.ts","webpack:///../../src/operator/findIndex.ts","webpack:///../../../src/add/operator/first.ts","webpack:///../../../src/add/operator/groupBy.ts","webpack:///../../src/operator/groupBy.ts","webpack:///../../src/util/Map.ts","webpack:///../../src/util/MapPolyfill.ts","webpack:///../../src/util/FastMap.ts","webpack:///../../../src/add/operator/ignoreElements.ts","webpack:///../../src/operator/ignoreElements.ts","webpack:///../../../src/add/operator/isEmpty.ts","webpack:///../../src/operator/isEmpty.ts","webpack:///../../../src/add/operator/audit.ts","webpack:///../../src/operator/audit.ts","webpack:///../../../src/add/operator/auditTime.ts","webpack:///../../../src/add/operator/last.ts","webpack:///../../src/operator/last.ts","webpack:///../../../src/add/operator/let.ts","webpack:///../../src/operator/let.ts","webpack:///../../../src/add/operator/every.ts","webpack:///../../src/operator/every.ts","webpack:///../../../src/add/operator/mapTo.ts","webpack:///../../src/operator/mapTo.ts","webpack:///../../../src/add/operator/materialize.ts","webpack:///../../src/operator/materialize.ts","webpack:///../../../src/add/operator/max.ts","webpack:///../../src/operator/max.ts","webpack:///../../../src/add/operator/mergeAll.ts","webpack:///../../src/operator/mergeAll.ts","webpack:///../../../src/add/operator/mergeMapTo.ts","webpack:///../../src/operator/mergeMapTo.ts","webpack:///../../../src/add/operator/mergeScan.ts","webpack:///../../src/operator/mergeScan.ts","webpack:///../../../src/add/operator/min.ts","webpack:///../../src/operator/min.ts","webpack:///../../../src/add/operator/multicast.ts","webpack:///../../src/operator/multicast.ts","webpack:///../../../src/add/operator/observeOn.ts","webpack:///../../src/operator/observeOn.ts","webpack:///../../../src/add/operator/onErrorResumeNext.ts","webpack:///../../src/operator/onErrorResumeNext.ts","webpack:///../../../src/add/operator/pairwise.ts","webpack:///../../src/operator/pairwise.ts","webpack:///../../../src/add/operator/partition.ts","webpack:///../../src/operator/partition.ts","webpack:///../../src/util/not.ts","webpack:///../../../src/add/operator/pluck.ts","webpack:///../../src/operator/pluck.ts","webpack:///../../../src/add/operator/publish.ts","webpack:///../../src/operator/publish.ts","webpack:///../../../src/add/operator/publishBehavior.ts","webpack:///../../src/operator/publishBehavior.ts","webpack:///../../../src/add/operator/publishReplay.ts","webpack:///../../src/operator/publishReplay.ts","webpack:///../../../src/add/operator/publishLast.ts","webpack:///../../src/operator/publishLast.ts","webpack:///../../../src/add/operator/race.ts","webpack:///../../src/operator/race.ts","webpack:///../../../src/add/operator/reduce.ts","webpack:///../../src/operator/reduce.ts","webpack:///../../../src/add/operator/repeat.ts","webpack:///../../src/operator/repeat.ts","webpack:///../../../src/add/operator/repeatWhen.ts","webpack:///../../src/operator/repeatWhen.ts","webpack:///../../../src/add/operator/retry.ts","webpack:///../../src/operator/retry.ts","webpack:///../../../src/add/operator/retryWhen.ts","webpack:///../../src/operator/retryWhen.ts","webpack:///../../../src/add/operator/sample.ts","webpack:///../../src/operator/sample.ts","webpack:///../../../src/add/operator/sampleTime.ts","webpack:///../../src/operator/sampleTime.ts","webpack:///../../../src/add/operator/scan.ts","webpack:///../../src/operator/scan.ts","webpack:///../../../src/add/operator/sequenceEqual.ts","webpack:///../../src/operator/sequenceEqual.ts","webpack:///../../../src/add/operator/shareReplay.ts","webpack:///../../src/operator/shareReplay.ts","webpack:///../../../src/add/operator/single.ts","webpack:///../../src/operator/single.ts","webpack:///../../../src/add/operator/skip.ts","webpack:///../../src/operator/skip.ts","webpack:///../../../src/add/operator/skipLast.ts","webpack:///../../src/operator/skipLast.ts","webpack:///../../../src/add/operator/skipUntil.ts","webpack:///../../src/operator/skipUntil.ts","webpack:///../../../src/add/operator/skipWhile.ts","webpack:///../../src/operator/skipWhile.ts","webpack:///../../../src/add/operator/startWith.ts","webpack:///../../../src/add/operator/subscribeOn.ts","webpack:///../../src/operator/subscribeOn.ts","webpack:///../../src/operators/subscribeOn.ts","webpack:///../../src/observable/SubscribeOnObservable.ts","webpack:///../../src/scheduler/AsapAction.ts","webpack:///../../src/util/Immediate.ts","webpack:///../../src/scheduler/AsapScheduler.ts","webpack:///../../../src/add/operator/switch.ts","webpack:///../../src/operator/switch.ts","webpack:///../../../src/add/operator/switchMap.ts","webpack:///../../../src/add/operator/switchMapTo.ts","webpack:///../../src/operator/switchMapTo.ts","webpack:///../../../src/add/operator/takeLast.ts","webpack:///../../src/operator/takeLast.ts","webpack:///../../../src/add/operator/takeUntil.ts","webpack:///../../../src/add/operator/takeWhile.ts","webpack:///../../src/operator/takeWhile.ts","webpack:///../../../src/add/operator/throttle.ts","webpack:///../../src/operator/throttle.ts","webpack:///../../../src/add/operator/throttleTime.ts","webpack:///../../src/operator/throttleTime.ts","webpack:///../../../src/add/operator/timeInterval.ts","webpack:///../../../src/add/operator/timeout.ts","webpack:///../../src/operator/timeout.ts","webpack:///../../../src/add/operator/timeoutWith.ts","webpack:///../../src/operator/timeoutWith.ts","webpack:///../../../src/add/operator/timestamp.ts","webpack:///../../src/operator/timestamp.ts","webpack:///../../../src/add/operator/window.ts","webpack:///../../src/operator/window.ts","webpack:///../../../src/add/operator/windowCount.ts","webpack:///../../src/operator/windowCount.ts","webpack:///../../../src/add/operator/windowTime.ts","webpack:///../../src/operator/windowTime.ts","webpack:///../../../src/add/operator/windowToggle.ts","webpack:///../../src/operator/windowToggle.ts","webpack:///../../../src/add/operator/windowWhen.ts","webpack:///../../src/operator/windowWhen.ts","webpack:///../../../src/add/operator/withLatestFrom.ts","webpack:///../../src/operator/withLatestFrom.ts","webpack:///../../../src/add/operator/zip.ts","webpack:///../../src/operator/zip.ts","webpack:///../../../src/add/operator/zipAll.ts","webpack:///../../src/operator/zipAll.ts","webpack:///../../src/testing/TestScheduler.ts","webpack:///../../src/testing/ColdObservable.ts","webpack:///../../src/testing/HotObservable.ts","webpack:///../../src/scheduler/animationFrame.ts","webpack:///../../src/scheduler/AnimationFrameAction.ts","webpack:///../../src/util/AnimationFrame.ts","webpack:///../../src/scheduler/AnimationFrameScheduler.ts","webpack:///../src/operators.ts","webpack:///./src/app/connector/connector.component.html","webpack:///./src/app/connector/connector.component.css","webpack:///./src/app/connector/services/session-storage.service.ts"],"names":["xtensionsClientWebpackJsonp","Array","concat","module","exports","__webpack_require__","__extends","this","d","b","__","constructor","p","hasOwnProperty","prototype","Object","create","value","hasNext","hasCompleted","_subscribe","subscriber","hasError","error","thrownError","Subscription","EMPTY","next","complete","Subject","AsyncSubject","project","observables","length","pop","isArray","slice","source","lift","call","ArrayObservable","CombineLatestOperator","none","combineLatest","subscribe","CombineLatestSubscriber","destination","active","values","_next","observable","push","_complete","len","toRespond","i","add","subscribeToResult","notifyComplete","unused","notifyNext","outerValue","innerValue","outerIndex","innerIndex","innerSub","oldVal","_tryProject","result","apply","err","OuterSubscriber","zipStatic","ZipOperator","zip","ZipSubscriber","iterators","StaticArrayIterator","StaticIterator","ZipBufferIterator","iterator","stillUnsubscribed","notifyInactive","checkIterators","hasValue","shouldComplete","args","done","Subscriber","nextResult","array","index","parent","buffer","isComplete","shift","bufferSize","windowTime","scheduler","Number","POSITIVE_INFINITY","_events","_bufferSize","_windowTime","now","_getNow","ReplayEvent","_trimBufferThenGetEvents","subscription","closed","ObjectUnsubscribedError","isStopped","observers","SubjectSubscription","ObserveOnSubscriber","queue","eventsCount","spliceCount","time","Math","max","splice","ReplaySubject","durationSelector","config","ThrottleOperator","leading","trailing","defaultThrottleConfig","throttle","ThrottleSubscriber","_leading","_trailing","_hasTrailingValue","throttled","_trailingValue","duration","tryDurationSelector","_unsubscribe","remove","unsubscribe","_sendTrailing","RaceOperator","race","RaceSubscriber","hasFirst","subscriptions","nextSources","OnErrorResumeNextOperator","FromObservable","onErrorResumeNext","onErrorResumeNextStatic","OnErrorResumeNextSubscriber","notifyError","subscribeToNextSource","_error","resultSelector","mergeMap","concatMap","compare","keySelector","DistinctUntilChangedOperator","distinctUntilChanged","DistinctUntilChangedSubscriber","hasKey","x","y","key","tryCatch","errorObject","e","Boolean","predicate","thisArg","TypeError","FindValueOperator","find","yieldIndex","observer","FindValueSubscriber","undefined","map","Timestamp","timestamp","__webpack_exports__","componentCurrentScript","window","NtxConnector","tag","url","src","replace","bridgeUrl","dimensions","width","height","contexts","popup","defaultLogLevel","props","getAccessTokenAsync","type","required","selectedAppId","selectedConnectionId","onSuccess","onFailure","theme","langs","ConnectorExternalProps","__WEBPACK_IMPORTED_MODULE_0__common_external_props__","extendStatics","setPrototypeOf","__proto__","_super","arguments","comparativeDistance","pow","cssKeywords","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","Error","defineProperty","h","s","l","r","g","min","delta","rdif","gdif","bdif","v","diff","diffc","c","w","m","k","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","a","z","t1","t2","t3","val","sv","smin","lmin","hi","floor","f","q","t","sl","vmin","n","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","round","ansi","color","mult","rem","integer","string","toString","toUpperCase","substring","match","colorString","split","char","join","parseInt","grayscale","hue","chroma","pure","mg","getCORSRequest","root","XMLHttpRequest","XDomainRequest","getXMLHttpRequest","progId","progIds","ActiveXObject","headers","AjaxObservable","method","body","mapResponse","responseType","parseXhrResponse","xhr","response","JSON","parse","responseText","responseXML","ajaxGet","ajaxPost","ajaxDelete","ajaxPut","ajaxPatch","ajaxGetJSON","urlOrRequest","request","async","createXHR","crossDomain","withCredentials","timeout","prop","AjaxSubscriber","get","post","delete","put","patch","getJSON","Observable","FormData","serializeBody","send","AjaxResponse","user","password","setupEvents","open","setHeaders","contentType","splitIndex","indexOf","keys","encodeURIComponent","stringify","setRequestHeader","xhrTimeout","progressSubscriber","AjaxTimeoutError","xhrReadyStateChange","readyState","status","AjaxError","ontimeout","upload","onprogress","onerror","onreadystatechange","abort","originalEvent","message","QueueScheduler","QueueAction","closingNotifier","BufferOperator","BufferSubscriber","startBufferEvery","BufferCountOperator","bufferCount","subscriberClass","BufferSkipCountSubscriber","BufferCountSubscriber","buffers","count","bufferTimeSpan","isScheduler","bufferCreationInterval","maxBufferSize","BufferTimeOperator","dispatchBufferTimeSpanOnly","state","prevContext","context","closeContext","openContext","closeAction","schedule","dispatchBufferCreation","action","dispatchBufferClose","arg","bufferTime","BufferTimeSubscriber","timespanOnly","timeSpanOnlyState","closeState","creationState","filledBufferContext","onBufferFull","Context","openings","closingSelector","BufferToggleOperator","bufferToggle","BufferToggleSubscriber","closeBuffer","openBuffer","trySubscribe","innerSubscription","BufferWhenOperator","bufferWhen","BufferWhenSubscriber","subscribing","closingSubscription","combineAll","innerObservable","concatMapTo","CountOperator","CountSubscriber","_tryPredicate","DeMaterializeOperator","dematerialize","DeMaterializeSubscriber","observe","DebounceOperator","debounce","DebounceSubscriber","durationSubscription","_tryNext","emitValue","delayDurationSelector","subscriptionDelay","SubscriptionDelayObservable","DelayWhenOperator","delayWhen","DelayWhenSubscriber","completed","delayNotifierSubscriptions","removeSubscription","tryComplete","delayNotifier","tryDelay","subscriptionIdx","notifierSubscription","SubscriptionDelaySubscriber","sourceSubscribed","subscribeToSource","flushes","DistinctOperator","distinct","DistinctSubscriber","Set","clear","_useKeySelector","_finalizeNext","has","distinctUntilKeyChanged","SwitchFirstOperator","exhaust","SwitchFirstSubscriber","hasSubscription","SwitchFirstMapOperator","exhaustMap","SwitchFirstMapSubscriber","tryNext","trySelectResult","concurrent","ExpandOperator","expand","ExpandSubscriber","dispatch","subscribeToProjection","defaultValue","ElementAtOperator","elementAt","ArgumentOutOfRangeError","ElementAtSubscriber","findIndex","elementSelector","subjectSelector","GroupByOperator","groupBy","GroupBySubscriber","groups","attemptedToUnsubscribe","_group","FastMap","Map","element","group","set","groupedObservable","GroupedObservable","GroupDurationSubscriber","forEach","removeGroup","groupSubject","refCountSubscription","InnerRefCountSubscription","IgnoreElementsOperator","ignoreElements","IgnoreElementsSubscriber","noop","IsEmptyOperator","isEmpty","IsEmptySubscriber","LastOperator","last","LastSubscriber","lastValue","_tryResultSelector","EmptyError","EveryOperator","every","EverySubscriber","everyValueMatch","MapToOperator","mapTo","MapToSubscriber","MaterializeOperator","materialize","MaterializeSubscriber","Notification","createNext","createError","createComplete","comparer","reduce","MergeMapToOperator","mergeMapTo","ish","MergeMapToSubscriber","_innerSub","accumulator","seed","MergeScanOperator","mergeScan","MergeScanSubscriber","acc","PairwiseOperator","pairwise","PairwiseSubscriber","hasPrev","prev","filter","not","partition","properties","plucker","currentProp","pluck","selector","multicast","publish","BehaviorSubject","publishBehavior","selectorOrScheduler","subject","publishReplay","publishLast","EmptyObservable","RepeatOperator","repeat","RepeatSubscriber","_unsubscribeAndRecycle","notifier","RepeatWhenOperator","repeatWhen","RepeatWhenSubscriber","sourceIsBeingSubscribedTo","retries","subscribeToRetries","retriesSubscription","notifications","RetryOperator","retry","RetrySubscriber","RetryWhenOperator","retryWhen","RetryWhenSubscriber","errors","SampleOperator","sample","sampleSubscriber","SampleSubscriber","period","SampleTimeOperator","dispatchNotification","sampleTime","SampleTimeSubscriber","compareTo","comparor","SequenceEqualOperator","sequenceEqual","SequenceEqualSubscriber","_a","_b","_oneComplete","SequenceEqualCompareToSubscriber","emit","checkValues","areEqual","nextB","shareReplayOperator","refCount","shareReplay","SingleOperator","single","SingleSubscriber","seenValue","applySingleValue","singleValue","SkipOperator","skip","total","SkipSubscriber","SkipLastOperator","skipLast","_skipCount","SkipLastSubscriber","_count","_ring","skipCount","currentIndex","ring","oldValue","SkipUntilOperator","skipUntil","SkipUntilSubscriber","isInnerStopped","SkipWhileOperator","skipWhile","SkipWhileSubscriber","skipping","tryCallPredicate","asap","AsapScheduler","AsapAction","switchMap","identity","switchAll","SwitchMapToOperator","switchMapTo","SwitchMapToSubscriber","inner","tryResultSelector","TakeWhileOperator","takeWhile","TakeWhileSubscriber","nextOrComplete","predicateResult","ThrottleTimeOperator","dispatchNext","clearThrottle","throttleTime","ThrottleTimeSubscriber","TimeInterval","timeInterval","TimeIntervalOperator","interval","TimeIntervalSubscriber","lastTime","span","due","absoluteTimeout","isDate","waitFor","abs","TimeoutOperator","TimeoutError","errorInstance","TimeoutSubscriber","scheduleTimeout","dispatchTimeout","name","stack","withObservable","TimeoutWithOperator","timeoutWith","TimeoutWithSubscriber","windowBoundaries","WindowOperator","windowSubscriber","WindowSubscriber","sourceSubscription","openWindow","prevWindow","newWindow","windowSize","startWindowEvery","WindowCountOperator","windowCount","WindowCountSubscriber","windows","windowTimeSpan","windowCreationInterval","maxWindowSize","isNumeric","WindowTimeOperator","dispatchWindowTimeSpanOnly","closeWindow","dispatchWindowCreation","timeSpanState","dispatchWindowClose","WindowTimeSubscriber","_numberOfNextedValues","enumerable","configurable","numberOfNextedValues","CountedSubject","WindowToggleOperator","windowToggle","WindowToggleSubscriber","openSubscription","windowWhen","unsubscribeClosingNotification","closingNotification","WithLatestFromOperator","withLatestFrom","WithLatestFromSubscriber","found","zipAll","logSubscribedFrame","SubscriptionLog","logUnsubscribedFrame","subscriptionLogs","oldSubscriptionLog","subscribedFrame","SubscriptionLoggable","unsubscribedFrame","derivedCtor","baseCtors","baseCtor","propertyKeys","getOwnPropertyNames","j","len2","applyMixins","SchedulerAction","maxFrames","frame","flush","actions","delay","execute","frameTimeFactor","AsyncScheduler","VirtualTimeScheduler","work","id","VirtualAction","requestAsyncId","sort","sortActions","recycleAsyncId","_execute","AsyncAction","production","connectorProps","xprops","providers","provide","useValue","bootstrapModule","createSessionStorage","ConnectorModule","__WEBPACK_IMPORTED_MODULE_0__common__","__WEBPACK_IMPORTED_MODULE_1__common_services_window_location_service__","__WEBPACK_IMPORTED_MODULE_2__common_services_api_service__","__WEBPACK_IMPORTED_MODULE_3__angular_http__","__WEBPACK_IMPORTED_MODULE_4__angular_core__","__WEBPACK_IMPORTED_MODULE_5__connector_component__","__WEBPACK_IMPORTED_MODULE_6__services_session_storage_service__","__WEBPACK_IMPORTED_MODULE_7__common_services_get_token__","__WEBPACK_IMPORTED_MODULE_8__common_services_nintext_connection_http_service__","__WEBPACK_IMPORTED_MODULE_9__common_external_props__","__WEBPACK_IMPORTED_MODULE_10__external_props__","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","declarations","imports","useFactory","deps","bootstrap","ConnectorComponent","__WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__","__WEBPACK_IMPORTED_MODULE_1__common_services_api_service__","__WEBPACK_IMPORTED_MODULE_2__angular_core__","__WEBPACK_IMPORTED_MODULE_3__angular_forms__","__WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__","__WEBPACK_IMPORTED_MODULE_5__external_props__","__WEBPACK_IMPORTED_MODULE_6__common_services_styling_service__","__WEBPACK_IMPORTED_MODULE_7__theme_generator__","__WEBPACK_IMPORTED_MODULE_8_rxjs__","__WEBPACK_IMPORTED_MODULE_9__common_components_alert_alert_component__","__metadata","metadata","apiService","_location","externalProps","stylingService","Dormant","schemaForm","isFormValid","loading","formLoadHasFailed","isMultiApps","segmentIndex","segments","changeAppAlertStatus","Warning","multiAuthLabel","backButtonLabel","addGlobal","valueChanges","valid","selectApp","app","setValidators","schema","connectionDisplayName","default","getCurrentAppConnectionDisplayName","jsonSchema","apps","currentConnectionApp","saveConnection","Loading","connectionId","redirect_uri","getFullUrl","updatedAppId","renewConnection","res","json","go","mode","errorId","code","errorMessage","processSessionVerification","session","verifySession","processAuthCallback","getQueryParam","errorMsg","errorDetails","decodeURIComponent","tryParseJSON","jsonString","o","handleError","_body","errorBody","onCancel","ngOnInit","initOnUpdate","initOnCreate","appIds","initMultiApp","getConnectionSchema","getConnectionUpdateSchema","contractApps","appId","currentAppId","currentSchema","mappedApps","data","of","forkJoin","results","selectedAppIndex","formIsLoading","loadingState","formLoadFailed","loadFailed","close","_c","_d","template","defaultTheme","themeGenerator","xpropsTheme","assign","base","text","darken","primary","disabled","light","lighten","Color","obj","skippedModels","valpha","newArr","_slice","zeroArray","alpha","hashedKeys","hashedModelKeys","limiters","limit","freeze","roundTo","num","places","toFixed","roundToPlace","getset","channel","modifier","maxfn","assertArray","arr","toJSON","self","to","percentString","percent","object","unitArray","unitObject","red","green","blue","saturationl","lightness","saturationv","white","wblack","cyan","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","negate","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","newAlpha","raw","clamp","hexDouble","str","colorNames","swizzle","reverseNames","cs","prefix","toLowerCase","hexAlpha","abbr","rgba","per","i2","parseFloat","isNaN","hsla","hwba","isArrayish","wrap","fn","Function","wrapRaw","wrappedFn","conversion","wrapRounded","conversions","route","fromModel","routes","toModel","buildGraph","graph","models","deriveBFS","current","adjacents","adjacent","node","unshift","link","from","wrapConversion","path","cur","AnonymousSubject","ConnectableObservable","UnsubscriptionError","TestScheduler","pipe","_operators","operators","Scheduler","animationFrame","Symbol","rxSubscriber","bindCallback","BoundCallbackObservable","dispatchError","callbackFunc","func","handler","handlerFn","innerArgs","bindNodeCallback","BoundNodeCallbackObservable","defer","empty","fromEvent","fromEventPattern","FromEventPatternObservable","addHandler","removeHandler","_callSelector","retValue","_callAddHandler","isFunction","errorSubscriber","generate","GenerateObservable","selfSelector","initialState","condition","iterate","initialStateOrOptions","resultSelectorOrObservable","conditionResult","needIterate","if","_if","IfObservable","thenSource","elseSource","IfSubscriber","tryIf","IntervalObservable","merge","never","NeverObservable","pairs","PairsObservable","idx","range","RangeObservable","start","using","UsingObservable","resourceFactory","observableFactory","resource","UsingSubscriber","tryUse","timer","ajax","webSocket","WebSocketSubject","urlConfigOrSource","WebSocketCtor","WebSocket","_output","operator","sock","_resetState","socket","multiplex","subMsg","unsubMsg","messageFilter","_connectSocket","protocol","binaryType","onopen","openObserver","closingObserver","reason","onclose","closeObserver","wasClean","onmessage","sources","assignImpl","getAssign","concatAll","defaultIfEmpty","_values","minimalSetImpl","do","_do","finally","_finally","first","MapPolyfill","size","_keys","cb","audit","auditTime","let","letProto","letBind","mergeAll","flatMapTo","subjectOrSubjectFactory","observeOn","pred","notPred","scan","startWith","subscribeOn","SubscribeOnOperator","SubscribeOnObservable","delayTime","scheduled","Immediate","setImmediate","bind","clearImmediate","nextHandle","tasksByHandle","currentlyRunningATask","canUseProcessNextTick","createProcessNextTickSetImmediate","canUsePostMessage","createPostMessageSetImmediate","canUseMessageChannel","createMessageChannelSetImmediate","canUseReadyStateChange","createReadyStateChangeSetImmediate","createSetTimeoutSetImmediate","ci","handle","instance","identify","process","MessageChannel","document","createElement","postMessage","importScripts","oldOnMessage","partiallyApplied","addFromSetImmediateArguments","nextTick","runIfPresent","messagePrefix","random","onGlobalMessage","globalMessageHandler","event","addEventListener","setTimeout","task","port1","port2","doc","html","documentElement","script","removeChild","appendChild","ImmediateDefinition","switch","_switch","takeLast","takeUntil","zipProto","defaultMaxFrame","assertDeepEqual","hotObservables","coldObservables","flushTests","createTime","marbles","createColdObservable","messages","parseMarbles","cold","ColdObservable","createHotObservable","HotObservable","materializeInnerObservable","outerFrame","notification","expectObservable","unsubscriptionMarbles","actual","flushTest","ready","unsubscriptionFrame","parseMarblesAsSubscriptions","toBe","errorValue","expected","expectSubscriptions","actualSubscriptionLogs","marblesArray","setup","readyFlushTests","test","groupStart","subscriptionFrame","materializeInnerObservables","testMessages","subIndex","frameOffset","getValue","scheduleMessages","messagesLength","AnimationFrameScheduler","AnimationFrameAction","AnimationFrame","requestAnimationFrame","cancelAnimationFrame","mozRequestAnimationFrame","mozCancelAnimationFrame","webkitRequestAnimationFrame","webkitCancelAnimationFrame","msRequestAnimationFrame","msCancelAnimationFrame","oRequestAnimationFrame","oCancelAnimationFrame","clearTimeout","RequestAnimationFrameDefinition","catchError","debounceTime","finalize","share","take","tap","toArray","SessionStorageService","__WEBPACK_IMPORTED_MODULE_0__angular_core__","sessionStorage","setItem","getItem","removeItem"],"mappings":"AAAAA,6BAA6B,GAAGC,MAAM,KAAKC,QAErC,SAAUC,EAAQC,EAASC,GAEjC,YAEA,IAAIC,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KCTnF,IAAwB,GAExB,IAA6B,IAK7B,2BAAqC,wBAC3B,KAAAO,MAAW,KACX,KAAAC,SAAmB,EACnB,KAAAC,cAAwB,EAkClC,MArCqC,QAKE,YAAAC,WAAA,SAAWC,GAC9C,MAAId,MAAKe,UACPD,EAAWE,MAAMhB,KAAKiB,aACf,EAAAC,aAAaC,OACXnB,KAAKY,cAAgBZ,KAAKW,SACnCG,EAAWM,KAAKpB,KAAKU,OACrBI,EAAWO,WACJ,EAAAH,aAAaC,OAEf,YAAMN,WAAU,UAACC,IAG1B,YAAAM,KAAA,SAAKV,GACEV,KAAKY,eACRZ,KAAKU,MAAQA,EACbV,KAAKW,SAAU,IAInB,YAAAK,MAAA,SAAMA,GACChB,KAAKY,cACR,YAAMI,MAAK,UAACA,IAIhB,YAAAK,SAAA,WACErB,KAAKY,cAAe,EAChBZ,KAAKW,SACP,YAAMS,KAAI,UAACpB,KAAKU,OAElB,YAAMW,SAAQ,YAElB,GArCqC,EAAAC,QAAxB,GAAAC,aAAY,GDsDnB,SAAU3B,EAAQC,EAASC,GAEjC,YESA,cFiDI,IEjDgC,uDAGlC,IAAI0B,GAAwC,IAW5C,OAVmD,kBAAxCC,GAAYA,EAAYC,OAAS,KAC1CF,EAAwCC,EAAYE,OAK3B,IAAvBF,EAAYC,QAAgB,EAAAE,QAAQH,EAAY,MAClDA,EAAoBA,EAAY,GAAII,SAG/B,SAACC,GAA0B,MAAAA,GAAOC,KAAKC,KAAK,GAAI,GAAAC,iBAAiBH,GAAM,OAAKL,IAAe,GAAIS,GAAsBV,KFrB9H,GAAIzB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KEnEnF,IAAgC,IAChC,IAAwB,IAGxB,IAAgC,GAEhC,IAAkC,GAG5BgC,IA8DU,GAAAC,cAAa,CAiB7B,kBACE,WAAoBZ,GAAA,KAAAA,UAMtB,MAHE,aAAAQ,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIC,GAAwBxB,EAAYd,KAAKwB,WAEzE,IAPa,GAAAU,sBAAqB,CAclC,mBAME,WAAYK,EAAoCf,GAC9C,YAAMe,GADwC,KAAAf,UALxC,KAAAgB,OAAiB,EACjB,KAAAC,UACA,KAAAhB,eA8DV,MAjEmD,QAUvC,YAAAiB,MAAV,SAAgBC,GACd3C,KAAKyC,OAAOG,KAAKT,GACjBnC,KAAKyB,YAAYmB,KAAKD,IAGd,YAAAE,UAAV,WACE,GAAMpB,GAAczB,KAAKyB,YACnBqB,EAAMrB,EAAYC,MACxB,IAAY,IAARoB,EACF9C,KAAKuC,YAAYlB,eACZ,CACLrB,KAAKwC,OAASM,EACd9C,KAAK+C,UAAYD,CACjB,KAAK,GAAIE,GAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAML,GAAalB,EAAYuB,EAC/BhD,MAAKiD,IAAI,EAAAC,kBAAkBlD,KAAM2C,EAAYA,EAAYK,OAK/D,YAAAG,eAAA,SAAeC,GACc,IAAtBpD,KAAKwC,QAAU,IAClBxC,KAAKuC,YAAYlB,YAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,GAAMjB,GAASzC,KAAKyC,OACdkB,EAASlB,EAAOe,GAChBT,EAAa/C,KAAK+C,UAEpBY,IAAWxB,IAASnC,KAAK+C,UAAY/C,KAAK+C,UAD1C,CAEJN,GAAOe,GAAcD,EAEH,IAAdR,IACE/C,KAAKwB,QACPxB,KAAK4D,YAAYnB,GAEjBzC,KAAKuC,YAAYnB,KAAKqB,EAAOZ,WAK3B,YAAA+B,YAAR,SAAoBnB,GAClB,GAAIoB,EACJ,KACEA,EAAS7D,KAAKwB,QAAQsC,MAAM9D,KAAMyC,GAClC,MAAOsB,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAGzB/D,KAAKuC,YAAYnB,KAAKyC,IAE1B,GAjEmD,EAAAG,gBAAtC,GAAA1B,wBAAuB,GFmH9B,SAAU1C,EAAQC,EAASC,GAEjC,YGzLA,cH+MI,IG/MsB,uDACxB,OAAO,UAA6BgC,GAClC,MAAOA,GAAOC,KAAKC,KAAKiC,EAAS,cAAInC,GAAM,OAAKL,MA2DpD,aH4LI,IG5L4B,uDAC9B,IAAMD,GAAuCC,EAAYA,EAAYC,OAAS,EAI9E,OAHuB,kBAAZF,IACTC,EAAYE,MAEP,GAAI,GAAAM,gBAAgBR,GAAaM,KAAK,GAAImC,GAAY1C,IHyH/D,GAAIzB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KGhOnF,IAAgC,IAChC,IAAwB,IAGxB,IAA2B,GAC3B,IAAgC,GAEhC,IAAkC,GAClC,IAA4C,IA0B5B,GAAAgE,IAAG,EA6DH,EAAAF,UAAS,CAQzB,kBAIE,WAAYzC,GACVxB,KAAKwB,QAAUA,EAMnB,MAHE,aAAAQ,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI+B,GAActD,EAAYd,KAAKwB,WAE/D,IAXa,GAAA0C,YAAW,CAkBxB,mBAME,WAAY3B,EACAf,EACAiB,OAAA,KAAAA,MAAcjC,OAAOC,OAAO,OACtC,YAAM8B,GANA,KAAA8B,aACA,KAAA7B,OAAS,EAMfxC,KAAKwB,QAA8B,kBAAZA,GAA0BA,EAAU,KAC3DxB,KAAKyC,OAASA,EA+FlB,MA1GyC,QAc7B,YAAAC,MAAV,SAAgBhC,GACd,GAAM2D,GAAYrE,KAAKqE,SACnB,GAAAzC,QAAQlB,GACV2D,EAAUzB,KAAK,GAAI0B,GAAoB5D,IACI,kBAA3BA,GAAM,YACtB2D,EAAUzB,KAAK,GAAI2B,GAAe7D,EAAM,gBAExC2D,EAAUzB,KAAK,GAAI4B,GAAkBxE,KAAKuC,YAAavC,KAAMU,KAIvD,YAAAmC,UAAV,WACE,GAAMwB,GAAYrE,KAAKqE,UACjBvB,EAAMuB,EAAU3C,MAEtB,IAAY,IAARoB,EAEF,WADA9C,MAAKuC,YAAYlB,UAInBrB,MAAKwC,OAASM,CACd,KAAK,GAAIE,GAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAIyB,GAA6CJ,EAAUrB,EACvDyB,GAASC,kBACX1E,KAAKiD,IAAIwB,EAASpC,UAAUoC,EAAUzB,IAEtChD,KAAKwC,WAKX,YAAAmC,eAAA,WAEsB,MADpB3E,KAAKwC,QAEHxC,KAAKuC,YAAYlB,YAIrB,YAAAuD,eAAA,WAME,IAAK,GALCP,GAAYrE,KAAKqE,UACjBvB,EAAMuB,EAAU3C,OAChBa,EAAcvC,KAAKuC,YAGhBS,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAIyB,GAAWJ,EAAUrB,EACzB,IAAiC,kBAAtByB,GAASI,WAA4BJ,EAASI,WACvD,OAMJ,IAAK,GAFDC,IAAiB,EACfC,KACG/B,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAIyB,GAAWJ,EAAUrB,GACrBa,EAASY,EAASrD,MAQtB,IAJIqD,EAAS7D,iBACXkE,GAAiB,GAGfjB,EAAOmB,KAET,WADAzC,GAAYlB,UAId0D,GAAKnC,KAAKiB,EAAOnD,OAGfV,KAAKwB,QACPxB,KAAK4D,YAAYmB,GAEjBxC,EAAYnB,KAAK2D,GAGfD,GACFvC,EAAYlB,YAIN,YAAAuC,YAAV,SAAsBmB,GACpB,GAAIlB,EACJ,KACEA,EAAS7D,KAAKwB,QAAQsC,MAAM9D,KAAM+E,GAClC,MAAOhB,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAGzB/D,KAAKuC,YAAYnB,KAAKyC,IAE1B,GA1GyC,EAAAoB,WAA5B,GAAAb,cAAa,CAiH1B,kBAGE,WAAoBK,GAAA,KAAAA,WAClBzE,KAAKkF,WAAaT,EAASrD,OAiB/B,MAdE,aAAAyD,SAAA,WACE,OAAO,GAGT,YAAAzD,KAAA,WACE,GAAMyC,GAAS7D,KAAKkF,UAEpB,OADAlF,MAAKkF,WAAalF,KAAKyE,SAASrD,OACzByC,GAGT,YAAAjD,aAAA,WACE,GAAMsE,GAAalF,KAAKkF,UACxB,OAAOA,IAAcA,EAAWF,MAEpC,KAEA,aAIE,WAAoBG,GAAA,KAAAA,QAHZ,KAAAC,MAAQ,EACR,KAAA1D,OAAS,EAGf1B,KAAK0B,OAASyD,EAAMzD,OAoBxB,MAjBE,aAAC,YAAD,WACE,MAAO1B,OAGT,YAAAoB,KAAA,SAAKV,GACH,GAAMsC,GAAIhD,KAAKoF,QACTD,EAAQnF,KAAKmF,KACnB,OAAOnC,GAAIhD,KAAK0B,QAAWhB,MAAOyE,EAAMnC,GAAIgC,MAAM,IAAYtE,MAAO,KAAMsE,MAAM,IAGnF,YAAAH,SAAA,WACE,MAAO7E,MAAKmF,MAAMzD,OAAS1B,KAAKoF,OAGlC,YAAAxE,aAAA,WACE,MAAOZ,MAAKmF,MAAMzD,SAAW1B,KAAKoF,OAEtC,KAOA,cAKE,WAAY7C,EACQ8C,EACA1C,GAClB,YAAMJ,GAFY,KAAA8C,SACA,KAAA1C,aANpB,KAAA+B,mBAAoB,EACpB,KAAAY,UACA,KAAAC,YAAa,EAkDf,MArDsC,QAWpC,YAAC,YAAD,WACE,MAAOvF,OAKT,YAAAoB,KAAA,WACE,GAAMkE,GAAStF,KAAKsF,MACpB,OAAsB,KAAlBA,EAAO5D,QAAgB1B,KAAKuF,YACrB7E,MAAO,KAAMsE,MAAM,IAEnBtE,MAAO4E,EAAOE,QAASR,MAAM,IAI1C,YAAAH,SAAA,WACE,MAAO7E,MAAKsF,OAAO5D,OAAS,GAG9B,YAAAd,aAAA,WACE,MAA8B,KAAvBZ,KAAKsF,OAAO5D,QAAgB1B,KAAKuF,YAG1C,YAAApC,eAAA,WACMnD,KAAKsF,OAAO5D,OAAS,GACvB1B,KAAKuF,YAAa,EAClBvF,KAAKqF,OAAOV,kBAEZ3E,KAAKuC,YAAYlB,YAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKsF,OAAO1C,KAAKW,GACjBvD,KAAKqF,OAAOT,kBAGd,YAAAvC,UAAA,SAAU3B,EAAY0E,GACpB,MAAO,GAAAlC,kBAA4BlD,KAAMA,KAAK2C,WAAY3C,KAAMoF,IAEpE,GArDsC,EAAApB,kBHuNhC,SAAUpE,EAAQC,EAASC,GAEjC,YAEA,IAAIC,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KIhgBnF,IAAwB,GAExB,IAAsB,KAEtB,IAA6B,IAC7B,IAAoC,KACpC,IAAwC,KACxC,IAAoC,KAIpC,cAKE,WAAYsF,EACAC,EACQC,OAFR,KAAAF,MAAqBG,OAAOC,uBAC5B,KAAAH,MAAqBE,OAAOC,mBAEtC,aADkB,KAAAF,YANZ,KAAAG,WAQN9F,KAAK+F,YAAcN,EAAa,EAAI,EAAIA,EACxCzF,KAAKgG,YAAcN,EAAa,EAAI,EAAIA,EA6E5C,MAvFsC,QAapC,YAAAtE,KAAA,SAAKV,GACH,GAAMuF,GAAMjG,KAAKkG,SACjBlG,MAAK8F,QAAQlD,KAAK,GAAIuD,GAAYF,EAAKvF,IACvCV,KAAKoG,2BACL,YAAMhF,KAAI,UAACV,IAGwB,YAAAG,WAAA,SAAWC,GAC9C,GAEIuF,GAFEP,EAAU9F,KAAKoG,2BACfT,EAAY3F,KAAK2F,SAGvB,IAAI3F,KAAKsG,OACP,KAAM,IAAI,GAAAC,uBACDvG,MAAKe,SACdsF,EAAe,EAAAnF,aAAaC,MACnBnB,KAAKwG,UACdH,EAAe,EAAAnF,aAAaC,OAE5BnB,KAAKyG,UAAU7D,KAAK9B,GACpBuF,EAAe,GAAI,GAAAK,oBAAoB1G,KAAMc,IAG3C6E,GACF7E,EAAWmC,IAAInC,EAAa,GAAI,GAAA6F,oBAAuB7F,EAAY6E,GAIrE,KAAK,GADC7C,GAAMgD,EAAQpE,OACXsB,EAAI,EAAGA,EAAIF,IAAQhC,EAAWwF,OAAQtD,IAC7ClC,EAAWM,KAAK0E,EAAQ9C,GAAGtC,MAS7B,OANIV,MAAKe,SACPD,EAAWE,MAAMhB,KAAKiB,aACbjB,KAAKwG,WACd1F,EAAWO,WAGNgF,GAGT,YAAAH,QAAA,WACE,OAAQlG,KAAK2F,WAAa,EAAAiB,OAAOX,OAG3B,YAAAG,yBAAR,WAYE,IAXA,GAAMH,GAAMjG,KAAKkG,UACXH,EAAc/F,KAAK+F,YACnBC,EAAchG,KAAKgG,YACnBF,EAAU9F,KAAK8F,QAEjBe,EAAcf,EAAQpE,OACtBoF,EAAc,EAKXA,EAAcD,KACdZ,EAAMH,EAAQgB,GAAaC,KAAQf,IAGxCc,GAWF,OARID,GAAcd,IAChBe,EAAcE,KAAKC,IAAIH,EAAaD,EAAcd,IAGhDe,EAAc,GAChBhB,EAAQoB,OAAO,EAAGJ,GAGbhB,GAEX,GAvFsC,EAAAxE,QAAzB,GAAA6F,cAAa,CAyF1B,kBACE,WAAmBJ,EAAqBrG,GAArB,KAAAqG,OAAqB,KAAArG,QAE1C,aJ8fM,SAAUd,EAAQC,EAASC,GAEjC,YK1iBA,YAA4BsH,EACAC,GAC1B,WAD0B,KAAAA,MAAA,yBACnB,SAACvF,GAA0B,MAAAA,GAAOC,KAAK,GAAIuF,GAAiBF,EAAkBC,EAAOE,QAASF,EAAOG,YL0iB9G,GAAIzH,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KKvmBnF,IAAgC,GAEhC,IAAkC,EASrB,GAAAsH,uBACXF,SAAS,EACTC,UAAU,GA2CI,EAAAE,SAAQ,CAKxB,kBACE,WAAoBN,EACAG,EACAC,GAFA,KAAAJ,mBACA,KAAAG,UACA,KAAAC,WAQtB,MALE,aAAAxF,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UACZ,GAAIsF,GAAmB7G,EAAYd,KAAKoH,iBAAkBpH,KAAKuH,QAASvH,KAAKwH,YAGnF,KAOA,cAKE,WAAsBjF,EACF6E,EACAQ,EACAC,GAClB,YAAMtF,GAJc,KAAAA,cACF,KAAA6E,mBACA,KAAAQ,WACA,KAAAC,YALZ,KAAAC,mBAAoB,EAwE9B,MA3EuC,QAY3B,YAAApF,MAAV,SAAgBhC,GACd,GAAIV,KAAK+H,UACH/H,KAAK6H,YACP7H,KAAK8H,mBAAoB,EACzB9H,KAAKgI,eAAiBtH,OAEnB,CACL,GAAMuH,GAAWjI,KAAKkI,oBAAoBxH,EACtCuH,IACFjI,KAAKiD,IAAIjD,KAAK+H,UAAY,EAAA7E,kBAAkBlD,KAAMiI,IAEhDjI,KAAK4H,WACP5H,KAAKuC,YAAYnB,KAAKV,GAClBV,KAAK6H,YACP7H,KAAK8H,mBAAoB,EACzB9H,KAAKgI,eAAiBtH,MAMtB,YAAAwH,oBAAR,SAA4BxH,GAC1B,IACE,MAAOV,MAAKoH,iBAAiB1G,GAC7B,MAAOqD,GAEP,MADA/D,MAAKuC,YAAYvB,MAAM+C,GAChB,OAI0B,YAAAoE,aAAA,WACnC,WAAQJ,EAAA,EAAAA,SAAW,GAAAC,eAAgB,EAAAF,kBAAmB,EAAAD,SAEtD7H,MAAKgI,eAAiB,KACtBhI,KAAK8H,mBAAoB,EAErBC,IACF/H,KAAKoI,OAAOL,GACZ/H,KAAK+H,UAAY,KACjBA,EAAUM,gBAIN,YAAAC,cAAR,WACE,WAAQ/F,EAAA,EAAAA,YAAawF,EAAA,EAAAA,UAAWF,EAAA,EAAAA,UAAWG,EAAA,EAAAA,eAAgBF,EAAA,EAAAA,iBACvDC,IAAaF,GAAaC,IAC5BvF,EAAYnB,KAAK4G,GACjBhI,KAAKgI,eAAiB,KACtBhI,KAAK8H,mBAAoB,IAI7B,YAAAzE,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKsI,gBACLtI,KAAKmI,gBAGP,YAAAhF,eAAA,WACEnD,KAAKsI,gBACLtI,KAAKmI,gBAET,GA3EuC,EAAAnE,kBLoqB9B,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUpE,EAAQC,EAASC,GAEjC,YMlzBA,cN+zBI,IM/zBoB,uDAGtB,IAA2B,IAAvB2B,EAAYC,OAAc,CAC5B,IAAI,EAAAE,QAAQH,EAAY,IAGtB,MAAwBA,GAAY,EAFpCA,GAAsCA,EAAY,GAMtD,MAAO,IAAI,GAAAQ,gBAAwBR,GAAaM,KAAK,GAAIwG,INyyB3D,GAAIxI,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KM30BnF,IAAwB,IACxB,IAAgC,IAIhC,IAAgC,GAEhC,IAAkC,EAalB,GAAAqI,KAAI,CAcpB,gCAIA,MAHE,aAAAxG,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIoG,GAAe3H,KAE/C,IAJa,GAAAyH,aAAY,CAWzB,mBAKE,WAAYhG,GACV,YAAMA,GALA,KAAAmG,UAAoB,EACpB,KAAAjH,eACA,KAAAkH,iBAkDV,MArDuC,QAS3B,YAAAjG,MAAV,SAAgBC,GACd3C,KAAKyB,YAAYmB,KAAKD,IAGd,YAAAE,UAAV,WACE,GAAMpB,GAAczB,KAAKyB,YACnBqB,EAAMrB,EAAYC,MAExB,IAAY,IAARoB,EACF9C,KAAKuC,YAAYlB,eACZ,CACL,IAAK,GAAI2B,GAAI,EAAGA,EAAIF,IAAQ9C,KAAK0I,SAAU1F,IAAK,CAC9C,GAAIL,GAAalB,EAAYuB,GACzBqD,EAAe,EAAAnD,kBAAkBlD,KAAM2C,EAAYA,EAAYK,EAE/DhD,MAAK2I,eACP3I,KAAK2I,cAAc/F,KAAKyD,GAE1BrG,KAAKiD,IAAIoD,GAEXrG,KAAKyB,YAAc,OAIvB,YAAA4B,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,IAAK1D,KAAK0I,SAAU,CAClB1I,KAAK0I,UAAW,CAEhB,KAAK,GAAI1F,GAAI,EAAGA,EAAIhD,KAAK2I,cAAcjH,OAAQsB,IAC7C,GAAIA,IAAMQ,EAAY,CACpB,GAAI6C,GAAerG,KAAK2I,cAAc3F,EAEtCqD,GAAagC,cACbrI,KAAKoI,OAAO/B,GAIhBrG,KAAK2I,cAAgB,KAGvB3I,KAAKuC,YAAYnB,KAAKmC,IAE1B,GArDuC,EAAAS,gBAA1B,GAAAyE,eAAc,GNs3BrB,SAAU7I,EAAQC,EAASC,GAEjC,YOp1BA,cP+5BI,IO/5BoC,uDAOtC,OAJ2B,KAAvB8I,EAAYlH,QAAgB,EAAAE,QAAQgH,EAAY,MAClDA,EAAsCA,EAAY,IAG7C,SAAC9G,GAA0B,MAAAA,GAAOC,KAAK,GAAI8G,GAAgCD,KAcpF,aPs5BI,IOt5B0C,uDAG5C,IAAI9G,GAA+B,IAOnC,OAL2B,KAAvB8G,EAAYlH,QAAgB,EAAAE,QAAQgH,EAAY,MAClDA,EAA2CA,EAAY,IAEzD9G,EAAS8G,EAAYpD,QAEd,GAAI,GAAAsD,eAAehH,EAAQ,MAAMC,KAAK,GAAI8G,GAAgCD,IPuzBnF,GAAI7I,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KO16BnF,IAA+B,KAG/B,IAAwB,IACxB,IAAgC,GAEhC,IAAkC,EA2ElB,GAAA4I,kBAAiB,EAqBjB,EAAAC,wBAAuB,CAavC,kBACE,WAAoBJ,GAAA,KAAAA,cAMtB,MAHE,aAAA5G,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI4G,GAA4BnI,EAAYd,KAAK4I,eAE7E,KAEA,cACE,WAAsBrG,EACFqG,GAClB,YAAMrG,GAFc,KAAAA,cACF,KAAAqG,cA4BtB,MA9BgD,QAM9C,YAAAM,YAAA,SAAYlI,EAAY0C,GACtB1D,KAAKmJ,yBAGP,YAAAhG,eAAA,SAAeO,GACb1D,KAAKmJ,yBAGG,YAAAC,OAAV,SAAiBrF,GACf/D,KAAKmJ,yBAGG,YAAAtG,UAAV,WACE7C,KAAKmJ,yBAGC,YAAAA,sBAAR,WACE,GAAM/H,GAAOpB,KAAK4I,YAAYpD,OAC1BpE,GACFpB,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAMoB,IAEjCpB,KAAKuC,YAAYlB,YAGvB,GA9BgD,EAAA2C,kBPs7B1C,SAAUpE,EAAQC,EAASC,GAEjC,YQj/BA,YAAmC0B,EACA6H,GACjC,MAAO,GAAAC,SAAS9H,EAAS6H,EAAgB,GAtE3C,QAAyB,GAoET,GAAAE,UAAS,GRwjCnB,SAAU3J,EAAQC,EAASC,GAEjC,YS1kCA,YAA2C0J,EAAmCC,GAC5E,MAAO,UAAC3H,GAA0B,MAAAA,GAAOC,KAAK,GAAI2H,GAAmCF,EAASC,KT2kChG,GAAI1J,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KSloCnF,IAA2B,GAC3B,IAAyB,IACzB,IAA4B,GAiDZ,GAAAwJ,qBAAoB,CAIpC,kBACE,WAAoBH,EACAC,GADA,KAAAD,UACA,KAAAC,cAMtB,MAHE,aAAAzH,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIuH,GAA+B9I,EAAYd,KAAKwJ,QAASxJ,KAAKyJ,eAE9F,KAOA,cAIE,WAAYlH,EACAiH,EACQC,GAClB,YAAMlH,GADY,KAAAkH,cAJZ,KAAAI,QAAkB,EAMD,kBAAZL,KACTxJ,KAAKwJ,QAAUA,GAoCrB,MA7CmD,QAazC,YAAAA,QAAR,SAAgBM,EAAQC,GACtB,MAAOD,KAAMC,GAGL,YAAArH,MAAV,SAAgBhC,GAEd,GAAM+I,GAAczJ,KAAKyJ,YACrBO,EAAWtJ,CAEf,IAAI+I,IACFO,EAAM,EAAAC,SAASjK,KAAKyJ,aAAa/I,MACrB,EAAAwJ,YACV,MAAOlK,MAAKuC,YAAYvB,MAAM,EAAAkJ,YAAYC,EAI9C,IAAItG,IAAc,CAElB,IAAI7D,KAAK6J,QAEP,IADAhG,EAAS,EAAAoG,SAASjK,KAAKwJ,SAASxJ,KAAKgK,IAAKA,MAC3B,EAAAE,YACb,MAAOlK,MAAKuC,YAAYvB,MAAM,EAAAkJ,YAAYC,OAG5CnK,MAAK6J,QAAS,GAGQ,IAApBO,QAAQvG,KACV7D,KAAKgK,IAAMA,EACXhK,KAAKuC,YAAYnB,KAAKV,KAG5B,GA7CmD,EAAAuE,aTuqC7C,SAAUrF,EAAQC,EAASC,GAEjC,YUlsCA,YAAwBuK,EACAC,GACtB,GAAyB,kBAAdD,GACT,KAAM,IAAIE,WAAU,8BAEtB,OAAO,UAACzI,GAA0B,MAAAA,GAAOC,KAAK,GAAIyI,GAAkBH,EAAWvI,GAAQ,EAAOwI,KV+rChG,GAAIvK,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KUnvCnF,IAA2B,EA4CX,GAAAsK,KAAI,CAQpB,kBACE,WAAoBJ,EACAvI,EACA4I,EACAJ,GAHA,KAAAD,YACA,KAAAvI,SACA,KAAA4I,aACA1K,KAAAsK,UAMtB,MAHE,aAAAtI,KAAA,SAAK2I,EAAyB7I,GAC5B,MAAOA,GAAOO,UAAU,GAAIuI,GAAoBD,EAAU3K,KAAKqK,UAAWrK,KAAK8B,OAAQ9B,KAAK0K,WAAY1K,KAAKsK,WAEjH,IAVa,GAAAE,kBAAiB,CAiB9B,mBAGE,WAAYjI,EACQ8H,EACAvI,EACA4I,EACAJ,GAClB,YAAM/H,GAJY,KAAA8H,YACA,KAAAvI,SACA,KAAA4I,aACA1K,KAAAsK,UANZ,KAAAlF,MAAgB,EAiC1B,MAlC4C,QAWlC,YAAAjC,eAAR,SAAuBzC,GACrB,GAAM6B,GAAcvC,KAAKuC,WAEzBA,GAAYnB,KAAKV,GACjB6B,EAAYlB,YAGJ,YAAAqB,MAAV,SAAgBhC,GACd,WAAQ2J,EAAA,EAAAA,UAAWC,EAAA,EAAAA,QACblF,EAAQpF,KAAKoF,OACnB,KACiBiF,EAAUrI,KAAKsI,GAAWtK,KAAMU,EAAO0E,EAAOpF,KAAK8B,SAEhE9B,KAAKmD,eAAenD,KAAK0K,WAAatF,EAAQ1E,GAEhD,MAAOqD,GACP/D,KAAKuC,YAAYvB,MAAM+C,KAIjB,YAAAlB,UAAV,WACE7C,KAAKmD,eAAenD,KAAK0K,YAAc,MAAIG,KAE/C,GAlC4C,EAAA5F,WAA/B,GAAA2F,oBAAmB,GVixC1B,SAAUhL,EAAQC,EAASC,GAEjC,YW90CA,YAA6B6F,GAC3B,WAD2B,KAAAA,MAAA,SACpB,EAAAmF,IAAI,SAACpK,GAAa,UAAIqK,GAAUrK,EAAOiF,EAAUM,SAX1D,QAAsB,IAEtB,IAAoB,IAQJ,GAAA+E,UAAS,CAKzB,kBACE,WAAmBtK,EAAiBsK,GAAjB,KAAAtK,QAAiB,KAAAsK,YAEtC,WAHa,GAAAD,UAAS,GXs2ChB,SAAUnL,EAAQqL,EAAqBnL,GAE7C,YYx3CA,+EAGMoL,EAAyB,aAA2B,+BAAgC,uBAEpFC,QAAQC,aAAe,IAAW3K,QAEpC4K,IAAK,mBAGLC,IAAKJ,EAAuBK,IAAIC,QAAQ,UAAW,kBAGnDC,UAAWP,EAAuBK,IAAIC,QAAQ,UAAW,4BAGzDE,YACIC,MAAO,QACPC,OAAQ,SAGZC,UACIC,OAAO,GAGXC,gBAAiB,OAGjBC,OACIC,qBACIC,KAAM,WACNC,UAAU,GAEdC,eACIF,KAAM,SACNC,UAAU,GAEdE,sBACIH,KAAM,SACNC,UAAU,GAEdG,WACIJ,KAAM,WACNC,UAAU,GAEdI,WACIL,KAAM,WACNC,UAAU,GAEdK,OACIN,KAAM,SACNC,UAAU,GAEdM,OACEP,KAAM,SACNC,UAAU,OZ43CX,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEH,SAAUvM,EAAQqL,EAAqBnL,GAE7C,YAC+BA,GAAoBG,EAAEgL,EAAqB,IAAK,WAAa,MAAOyB,IAC9E,IAAIC,GAAuD7M,EAAoB,IAChGC,EAAaC,MAAQA,KAAKD,WAAc,WACxC,GAAI6M,GAAgB,SAAU3M,EAAGC,GAI7B,OAHA0M,EAAgBpM,OAAOqM,iBAChBC,uBAA2BpN,QAAS,SAAUO,EAAGC,GAAKD,EAAE6M,UAAY5M,IACvE,SAAUD,EAAGC,GAAK,IAAK,GAAIG,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,MACpDJ,EAAGC,GAE5B,OAAO,UAAUD,EAAGC,GAEhB,QAASC,KAAOH,KAAKI,YAAcH,EADnC2M,EAAc3M,EAAGC,GAEjBD,EAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,Qa3hDvF,2BbkiDQ,MAAkB,QAAX4M,GAAmBA,EAAOjJ,MAAM9D,KAAMgN,YAAchN,Ka5hDnE,MANqD,QAMrD,GANqD,Mb4iD/C,SAAUJ,EAAQC,EAASC,GAEjC,Yc9iDAF,GAAOC,SACN,WAAc,IAAK,IAAK,KACxB,cAAiB,IAAK,IAAK,KAC3B,MAAS,EAAG,IAAK,KACjB,YAAe,IAAK,IAAK,KACzB,OAAU,IAAK,IAAK,KACpB,OAAU,IAAK,IAAK,KACpB,QAAW,IAAK,IAAK,KACrB,OAAU,EAAG,EAAG,GAChB,gBAAmB,IAAK,IAAK,KAC7B,MAAS,EAAG,EAAG,KACf,YAAe,IAAK,GAAI,KACxB,OAAU,IAAK,GAAI,IACnB,WAAc,IAAK,IAAK,KACxB,WAAc,GAAI,IAAK,KACvB,YAAe,IAAK,IAAK,GACzB,WAAc,IAAK,IAAK,IACxB,OAAU,IAAK,IAAK,IACpB,gBAAmB,IAAK,IAAK,KAC7B,UAAa,IAAK,IAAK,KACvB,SAAY,IAAK,GAAI,IACrB,MAAS,EAAG,IAAK,KACjB,UAAa,EAAG,EAAG,KACnB,UAAa,EAAG,IAAK,KACrB,eAAkB,IAAK,IAAK,IAC5B,UAAa,IAAK,IAAK,KACvB,WAAc,EAAG,IAAK,GACtB,UAAa,IAAK,IAAK,KACvB,WAAc,IAAK,IAAK,KACxB,aAAgB,IAAK,EAAG,KACxB,gBAAmB,GAAI,IAAK,IAC5B,YAAe,IAAK,IAAK,GACzB,YAAe,IAAK,GAAI,KACxB,SAAY,IAAK,EAAG,GACpB,YAAe,IAAK,IAAK,KACzB,cAAiB,IAAK,IAAK,KAC3B,eAAkB,GAAI,GAAI,KAC1B,eAAkB,GAAI,GAAI,IAC1B,eAAkB,GAAI,GAAI,IAC1B,eAAkB,EAAG,IAAK,KAC1B,YAAe,IAAK,EAAG,KACvB,UAAa,IAAK,GAAI,KACtB,aAAgB,EAAG,IAAK,KACxB,SAAY,IAAK,IAAK,KACtB,SAAY,IAAK,IAAK,KACtB,YAAe,GAAI,IAAK,KACxB,WAAc,IAAK,GAAI,IACvB,aAAgB,IAAK,IAAK,KAC1B,aAAgB,GAAI,IAAK,IACzB,SAAY,IAAK,EAAG,KACpB,WAAc,IAAK,IAAK,KACxB,YAAe,IAAK,IAAK,KACzB,MAAS,IAAK,IAAK,GACnB,WAAc,IAAK,IAAK,IACxB,MAAS,IAAK,IAAK,KACnB,OAAU,EAAG,IAAK,GAClB,aAAgB,IAAK,IAAK,IAC1B,MAAS,IAAK,IAAK,KACnB,UAAa,IAAK,IAAK,KACvB,SAAY,IAAK,IAAK,KACtB,WAAc,IAAK,GAAI,IACvB,QAAW,GAAI,EAAG,KAClB,OAAU,IAAK,IAAK,KACpB,OAAU,IAAK,IAAK,KACpB,UAAa,IAAK,IAAK,KACvB,eAAkB,IAAK,IAAK,KAC5B,WAAc,IAAK,IAAK,GACxB,cAAiB,IAAK,IAAK,KAC3B,WAAc,IAAK,IAAK,KACxB,YAAe,IAAK,IAAK,KACzB,WAAc,IAAK,IAAK,KACxB,sBAAyB,IAAK,IAAK,KACnC,WAAc,IAAK,IAAK,KACxB,YAAe,IAAK,IAAK,KACzB,WAAc,IAAK,IAAK,KACxB,WAAc,IAAK,IAAK,KACxB,aAAgB,IAAK,IAAK,KAC1B,eAAkB,GAAI,IAAK,KAC3B,cAAiB,IAAK,IAAK,KAC3B,gBAAmB,IAAK,IAAK,KAC7B,gBAAmB,IAAK,IAAK,KAC7B,gBAAmB,IAAK,IAAK,KAC7B,aAAgB,IAAK,IAAK,KAC1B,MAAS,EAAG,IAAK,GACjB,WAAc,GAAI,IAAK,IACvB,OAAU,IAAK,IAAK,KACpB,SAAY,IAAK,EAAG,KACpB,QAAW,IAAK,EAAG,GACnB,kBAAqB,IAAK,IAAK,KAC/B,YAAe,EAAG,EAAG,KACrB,cAAiB,IAAK,GAAI,KAC1B,cAAiB,IAAK,IAAK,KAC3B,gBAAmB,GAAI,IAAK,KAC5B,iBAAoB,IAAK,IAAK,KAC9B,mBAAsB,EAAG,IAAK,KAC9B,iBAAoB,GAAI,IAAK,KAC7B,iBAAoB,IAAK,GAAI,KAC7B,cAAiB,GAAI,GAAI,KACzB,WAAc,IAAK,IAAK,KACxB,WAAc,IAAK,IAAK,KACxB,UAAa,IAAK,IAAK,KACvB,aAAgB,IAAK,IAAK,KAC1B,MAAS,EAAG,EAAG,KACf,SAAY,IAAK,IAAK,KACtB,OAAU,IAAK,IAAK,GACpB,WAAc,IAAK,IAAK,IACxB,QAAW,IAAK,IAAK,GACrB,WAAc,IAAK,GAAI,GACvB,QAAW,IAAK,IAAK,KACrB,eAAkB,IAAK,IAAK,KAC5B,WAAc,IAAK,IAAK,KACxB,eAAkB,IAAK,IAAK,KAC5B,eAAkB,IAAK,IAAK,KAC5B,YAAe,IAAK,IAAK,KACzB,WAAc,IAAK,IAAK,KACxB,MAAS,IAAK,IAAK,IACnB,MAAS,IAAK,IAAK,KACnB,MAAS,IAAK,IAAK,KACnB,YAAe,IAAK,IAAK,KACzB,QAAW,IAAK,EAAG,KACnB,eAAkB,IAAK,GAAI,KAC3B,KAAQ,IAAK,EAAG,GAChB,WAAc,IAAK,IAAK,KACxB,WAAc,GAAI,IAAK,KACvB,aAAgB,IAAK,GAAI,IACzB,QAAW,IAAK,IAAK,KACrB,YAAe,IAAK,IAAK,IACzB,UAAa,GAAI,IAAK,IACtB,UAAa,IAAK,IAAK,KACvB,QAAW,IAAK,GAAI,IACpB,QAAW,IAAK,IAAK,KACrB,SAAY,IAAK,IAAK,KACtB,WAAc,IAAK,GAAI,KACvB,WAAc,IAAK,IAAK,KACxB,WAAc,IAAK,IAAK,KACxB,MAAS,IAAK,IAAK,KACnB,aAAgB,EAAG,IAAK,KACxB,WAAc,GAAI,IAAK,KACvB,KAAQ,IAAK,IAAK,KAClB,MAAS,EAAG,IAAK,KACjB,SAAY,IAAK,IAAK,KACtB,QAAW,IAAK,GAAI,IACpB,WAAc,GAAI,IAAK,KACvB,QAAW,IAAK,IAAK,KACrB,OAAU,IAAK,IAAK,KACpB,OAAU,IAAK,IAAK,KACpB,YAAe,IAAK,IAAK,KACzB,QAAW,IAAK,IAAK,GACrB,aAAgB,IAAK,IAAK,MdujDrB,SAAUD,EAAQC,EAASC,GehiDjC,QAASmN,GAAoBnD,EAAGC,GAC/B,MACC/C,MAAKkG,IAAIpD,EAAE,GAAKC,EAAE,GAAI,GACtB/C,KAAKkG,IAAIpD,EAAE,GAAKC,EAAE,GAAI,GACtB/C,KAAKkG,IAAIpD,EAAE,GAAKC,EAAE,GAAI,GAhLxB,GAAIoD,GAAc,EAAQ,KAMtBC,IACJ,KAAK,GAAIpD,KAAOmD,GACXA,EAAY7M,eAAe0J,KAC9BoD,EAAgBD,EAAYnD,IAAQA,EAItC,IAAIqD,GAAUzN,EAAOC,SACpByN,KAAMC,SAAU,EAAGC,OAAQ,OAC3BC,KAAMF,SAAU,EAAGC,OAAQ,OAC3BE,KAAMH,SAAU,EAAGC,OAAQ,OAC3BG,KAAMJ,SAAU,EAAGC,OAAQ,OAC3BI,MAAOL,SAAU,EAAGC,OAAQ,QAC5BK,KAAMN,SAAU,EAAGC,OAAQ,OAC3BM,KAAMP,SAAU,EAAGC,OAAQ,OAC3BO,KAAMR,SAAU,EAAGC,OAAQ,OAC3BQ,KAAMT,SAAU,EAAGC,QAAS,QAC5BS,SAAUV,SAAU,EAAGC,QAAS,YAChCU,QAASX,SAAU,EAAGC,QAAS,WAC/BW,SAAUZ,SAAU,EAAGC,QAAS,YAChCY,KAAMb,SAAU,EAAGC,QAAS,IAAK,IAAK,MACtCa,OAAQd,SAAU,EAAGC,QAAS,MAAO,MAAO,QAC5Cc,MAAOf,SAAU,EAAGC,QAAS,SAI9B,KAAK,GAAIe,KAASlB,GACjB,GAAIA,EAAQ/M,eAAeiO,GAAQ,CAClC,KAAM,YAAclB,GAAQkB,IAC3B,KAAM,IAAIC,OAAM,8BAAgCD,EAGjD,MAAM,UAAYlB,GAAQkB,IACzB,KAAM,IAAIC,OAAM,oCAAsCD,EAGvD,IAAIlB,EAAQkB,GAAOf,OAAO9L,SAAW2L,EAAQkB,GAAOhB,SACnD,KAAM,IAAIiB,OAAM,sCAAwCD,EAGzD,IAAIhB,GAAWF,EAAQkB,GAAOhB,SAC1BC,EAASH,EAAQkB,GAAOf,aACrBH,GAAQkB,GAAOhB,eACfF,GAAQkB,GAAOf,OACtBhN,OAAOiO,eAAepB,EAAQkB,GAAQ,YAAa7N,MAAO6M,IAC1D/M,OAAOiO,eAAepB,EAAQkB,GAAQ,UAAW7N,MAAO8M,IAI1DH,EAAQC,IAAIG,IAAM,SAAUH,GAC3B,GAMIoB,GACAC,EACAC,EARAC,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbpN,EAAIoN,EAAI,GAAK,IACbyB,EAAM/H,KAAK+H,IAAIF,EAAGC,EAAG5O,GACrB+G,EAAMD,KAAKC,IAAI4H,EAAGC,EAAG5O,GACrB8O,EAAQ/H,EAAM8H,CA+BlB,OA1BI9H,KAAQ8H,EACXL,EAAI,EACMG,IAAM5H,EAChByH,GAAKI,EAAI5O,GAAK8O,EACJF,IAAM7H,EAChByH,EAAI,GAAKxO,EAAI2O,GAAKG,EACR9O,IAAM+G,IAChByH,EAAI,GAAKG,EAAIC,GAAKE,GAGnBN,EAAI1H,KAAK+H,IAAQ,GAAJL,EAAQ,KAEjBA,EAAI,IACPA,GAAK,KAGNE,GAAKG,EAAM9H,GAAO,EAGjB0H,EADG1H,IAAQ8H,EACP,EACMH,GAAK,GACXI,GAAS/H,EAAM8H,GAEfC,GAAS,EAAI/H,EAAM8H,IAGhBL,EAAO,IAAJC,EAAa,IAAJC,IAGrBvB,EAAQC,IAAII,IAAM,SAAUJ,GAC3B,GAAI2B,GACAC,EACAC,EACAT,EACAC,EAEAE,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbpN,EAAIoN,EAAI,GAAK,IACb8B,EAAIpI,KAAKC,IAAI4H,EAAGC,EAAG5O,GACnBmP,EAAOD,EAAIpI,KAAK+H,IAAIF,EAAGC,EAAG5O,GAC1BoP,EAAQ,SAAUC,GACrB,OAAQH,EAAIG,GAAK,EAAIF,EAAO,GAyB7B,OAtBa,KAATA,EACHX,EAAIC,EAAI,GAERA,EAAIU,EAAOD,EACXH,EAAOK,EAAMT,GACbK,EAAOI,EAAMR,GACbK,EAAOG,EAAMpP,GAET2O,IAAMO,EACTV,EAAIS,EAAOD,EACDJ,IAAMM,EAChBV,EAAK,EAAI,EAAKO,EAAOE,EACXjP,IAAMkP,IAChBV,EAAK,EAAI,EAAKQ,EAAOD,GAElBP,EAAI,EACPA,GAAK,EACKA,EAAI,IACdA,GAAK,KAKF,IAAJA,EACI,IAAJC,EACI,IAAJS,IAIF/B,EAAQC,IAAIK,IAAM,SAAUL,GAC3B,GAAIuB,GAAIvB,EAAI,GACRwB,EAAIxB,EAAI,GACRpN,EAAIoN,EAAI,GACRoB,EAAIrB,EAAQC,IAAIG,IAAIH,GAAK,GACzBkC,EAAI,EAAI,IAAMxI,KAAK+H,IAAIF,EAAG7H,KAAK+H,IAAID,EAAG5O,GAI1C,OAFAA,GAAI,EAAI,EAAI,IAAM8G,KAAKC,IAAI4H,EAAG7H,KAAKC,IAAI6H,EAAG5O,KAElCwO,EAAO,IAAJc,EAAa,IAAJtP,IAGrBmN,EAAQC,IAAIM,KAAO,SAAUN,GAC5B,GAGIiC,GACAE,EACA1F,EACA2F,EANAb,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbpN,EAAIoN,EAAI,GAAK,GAWjB,OALAoC,GAAI1I,KAAK+H,IAAI,EAAIF,EAAG,EAAIC,EAAG,EAAI5O,GAC/BqP,GAAK,EAAIV,EAAIa,IAAM,EAAIA,IAAM,EAC7BD,GAAK,EAAIX,EAAIY,IAAM,EAAIA,IAAM,EAC7B3F,GAAK,EAAI7J,EAAIwP,IAAM,EAAIA,IAAM,GAEjB,IAAJH,EAAa,IAAJE,EAAa,IAAJ1F,EAAa,IAAJ2F,IAcpCrC,EAAQC,IAAIW,QAAU,SAAUX,GAC/B,GAAIqC,GAAWvC,EAAgBE,EAC/B,IAAIqC,EACH,MAAOA,EAGR,IACIC,GADAC,EAAyBC,GAG7B,KAAK,GAAI7B,KAAWd,GACnB,GAAIA,EAAY7M,eAAe2N,GAAU,CACxC,GAAIvN,GAAQyM,EAAYc,GAGpB8B,EAAW9C,EAAoBK,EAAK5M,EAGpCqP,GAAWF,IACdA,EAAyBE,EACzBH,EAAwB3B,GAK3B,MAAO2B,IAGRvC,EAAQY,QAAQX,IAAM,SAAUW,GAC/B,MAAOd,GAAYc,IAGpBZ,EAAQC,IAAIO,IAAM,SAAUP,GAC3B,GAAIuB,GAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbpN,EAAIoN,EAAI,GAAK,GAWjB,OARAuB,GAAIA,EAAI,OAAU7H,KAAKkG,KAAM2B,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9DC,EAAIA,EAAI,OAAU9H,KAAKkG,KAAM4B,EAAI,MAAS,MAAQ,KAAQA,EAAI,MAC9D5O,EAAIA,EAAI,OAAU8G,KAAKkG,KAAMhN,EAAI,MAAS,MAAQ,KAAQA,EAAI,OAMlD,KAJC,MAAJ2O,EAAmB,MAAJC,EAAmB,MAAJ5O,GAIlB,KAHR,MAAJ2O,EAAmB,MAAJC,EAAmB,MAAJ5O,GAGT,KAFjB,MAAJ2O,EAAmB,MAAJC,EAAmB,MAAJ5O,KAKxCmN,EAAQC,IAAIQ,IAAM,SAAUR,GAC3B,GAIIsB,GACAoB,EACA9P,EANA2N,EAAMR,EAAQC,IAAIO,IAAIP,GACtBxD,EAAI+D,EAAI,GACR9D,EAAI8D,EAAI,GACRoC,EAAIpC,EAAI,EAiBZ,OAZA/D,IAAK,OACLC,GAAK,IACLkG,GAAK,QAELnG,EAAIA,EAAI,QAAW9C,KAAKkG,IAAIpD,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DC,EAAIA,EAAI,QAAW/C,KAAKkG,IAAInD,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DkG,EAAIA,EAAI,QAAWjJ,KAAKkG,IAAI+C,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DrB,EAAK,IAAM7E,EAAK,GAChBiG,EAAI,KAAOlG,EAAIC,GACf7J,EAAI,KAAO6J,EAAIkG,IAEPrB,EAAGoB,EAAG9P,IAGfmN,EAAQI,IAAIH,IAAM,SAAUG,GAC3B,GAGIyC,GACAC,EACAC,EACA9C,EACA+C,EAPA3B,EAAIjB,EAAI,GAAK,IACbkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,GAOjB,IAAU,IAANkB,EAEH,MADA0B,GAAU,IAAJzB,GACEyB,EAAKA,EAAKA,EAIlBF,GADGvB,EAAI,GACFA,GAAK,EAAID,GAETC,EAAID,EAAIC,EAAID,EAGlBuB,EAAK,EAAItB,EAAIuB,EAEb7C,GAAO,EAAG,EAAG,EACb,KAAK,GAAItK,GAAI,EAAGA,EAAI,EAAGA,IACtBoN,EAAK1B,EAAI,EAAI,IAAM1L,EAAI,GACnBoN,EAAK,GACRA,IAEGA,EAAK,GACRA,IAIAC,EADG,EAAID,EAAK,EACNF,EAAiB,GAAXC,EAAKD,GAAUE,EACjB,EAAIA,EAAK,EACbD,EACI,EAAIC,EAAK,EACbF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAM,EAEhCF,EAGP5C,EAAItK,GAAW,IAANqN,CAGV,OAAO/C,IAGRD,EAAQI,IAAIC,IAAM,SAAUD,GAC3B,GAKI6C,GACAlB,EANAV,EAAIjB,EAAI,GACRkB,EAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACb8C,EAAO5B,EACP6B,EAAOxJ,KAAKC,IAAI2H,EAAG,IAUvB,OANAA,IAAK,EACLD,GAAMC,GAAK,EAAKA,EAAI,EAAIA,EACxB2B,GAAQC,GAAQ,EAAIA,EAAO,EAAIA,EAC/BpB,GAAKR,EAAID,GAAK,EACd2B,EAAW,IAAN1B,EAAW,EAAI2B,GAASC,EAAOD,GAAS,EAAI5B,GAAMC,EAAID,IAEnDD,EAAQ,IAAL4B,EAAc,IAAJlB,IAGtB/B,EAAQK,IAAIJ,IAAM,SAAUI,GAC3B,GAAIgB,GAAIhB,EAAI,GAAK,GACbiB,EAAIjB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACb+C,EAAKzJ,KAAK0J,MAAMhC,GAAK,EAErBiC,EAAIjC,EAAI1H,KAAK0J,MAAMhC,GACnBrO,EAAI,IAAM+O,GAAK,EAAIT,GACnBiC,EAAI,IAAMxB,GAAK,EAAKT,EAAIgC,GACxBE,EAAI,IAAMzB,GAAK,EAAKT,GAAK,EAAIgC,GAGjC,QAFAvB,GAAK,IAEGqB,GACP,IAAK,GACJ,OAAQrB,EAAGyB,EAAGxQ,EACf,KAAK,GACJ,OAAQuQ,EAAGxB,EAAG/O,EACf,KAAK,GACJ,OAAQA,EAAG+O,EAAGyB,EACf,KAAK,GACJ,OAAQxQ,EAAGuQ,EAAGxB,EACf,KAAK,GACJ,OAAQyB,EAAGxQ,EAAG+O,EACf,KAAK,GACJ,OAAQA,EAAG/O,EAAGuQ,KAIjBvD,EAAQK,IAAID,IAAM,SAAUC,GAC3B,GAII8C,GACAM,EACAlC,EANAF,EAAIhB,EAAI,GACRiB,EAAIjB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IACbqD,EAAO/J,KAAKC,IAAImI,EAAG,IAYvB,OAPAR,IAAK,EAAID,GAAKS,EACdoB,GAAQ,EAAI7B,GAAKoC,EACjBD,EAAKnC,EAAIoC,EACTD,GAAON,GAAQ,EAAKA,EAAO,EAAIA,EAC/BM,EAAKA,GAAM,EACXlC,GAAK,GAEGF,EAAQ,IAALoC,EAAc,IAAJlC,IAItBvB,EAAQM,IAAIL,IAAM,SAAUK,GAC3B,GAII3K,GACAoM,EACAuB,EACAK,EAPAtC,EAAIf,EAAI,GAAK,IACbsD,EAAKtD,EAAI,GAAK,IACduD,EAAKvD,EAAI,GAAK,IACdwD,EAAQF,EAAKC,CAObC,GAAQ,IACXF,GAAME,EACND,GAAMC,GAGPnO,EAAIgE,KAAK0J,MAAM,EAAIhC,GACnBU,EAAI,EAAI8B,EACRP,EAAI,EAAIjC,EAAI1L,EAEO,IAAV,EAAJA,KACJ2N,EAAI,EAAIA,GAGTK,EAAIC,EAAKN,GAAKvB,EAAI6B,EAElB,IAAIpC,GACAC,EACA5O,CACJ,QAAQ8C,GACP,QACA,IAAK,GACL,IAAK,GAAG6L,EAAIO,EAAGN,EAAIkC,EAAG9Q,EAAI+Q,CAAI,MAC9B,KAAK,GAAGpC,EAAImC,EAAGlC,EAAIM,EAAGlP,EAAI+Q,CAAI,MAC9B,KAAK,GAAGpC,EAAIoC,EAAInC,EAAIM,EAAGlP,EAAI8Q,CAAG,MAC9B,KAAK,GAAGnC,EAAIoC,EAAInC,EAAIkC,EAAG9Q,EAAIkP,CAAG,MAC9B,KAAK,GAAGP,EAAImC,EAAGlC,EAAImC,EAAI/Q,EAAIkP,CAAG,MAC9B,KAAK,GAAGP,EAAIO,EAAGN,EAAImC,EAAI/Q,EAAI8Q,EAG5B,OAAY,IAAJnC,EAAa,IAAJC,EAAa,IAAJ5O,IAG3BmN,EAAQO,KAAKN,IAAM,SAAUM,GAC5B,GAIIiB,GACAC,EACA5O,EANAqP,EAAI3B,EAAK,GAAK,IACd6B,EAAI7B,EAAK,GAAK,IACd7D,EAAI6D,EAAK,GAAK,IACd8B,EAAI9B,EAAK,GAAK,GASlB,OAJAiB,GAAI,EAAI7H,KAAK+H,IAAI,EAAGQ,GAAK,EAAIG,GAAKA,GAClCZ,EAAI,EAAI9H,KAAK+H,IAAI,EAAGU,GAAK,EAAIC,GAAKA,GAClCxP,EAAI,EAAI8G,KAAK+H,IAAI,EAAGhF,GAAK,EAAI2F,GAAKA,IAEtB,IAAJb,EAAa,IAAJC,EAAa,IAAJ5O,IAG3BmN,EAAQQ,IAAIP,IAAM,SAAUO,GAC3B,GAGIgB,GACAC,EACA5O,EALA4J,EAAI+D,EAAI,GAAK,IACb9D,EAAI8D,EAAI,GAAK,IACboC,EAAIpC,EAAI,GAAK,GA0BjB,OArBAgB,GAAS,OAAJ/E,GAAoB,OAALC,GAAqB,MAALkG,EACpCnB,GAAU,MAALhF,EAAoB,OAAJC,EAAmB,MAAJkG,EACpC/P,EAAS,MAAJ4J,GAAoB,KAALC,EAAoB,MAAJkG,EAGpCpB,EAAIA,EAAI,SACH,MAAQ7H,KAAKkG,IAAI2B,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEHC,EAAIA,EAAI,SACH,MAAQ9H,KAAKkG,IAAI4B,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEH5O,EAAIA,EAAI,SACH,MAAQ8G,KAAKkG,IAAIhN,EAAG,EAAM,KAAQ,KAChC,MAAJA,EAEH2O,EAAI7H,KAAK+H,IAAI/H,KAAKC,IAAI,EAAG4H,GAAI,GAC7BC,EAAI9H,KAAK+H,IAAI/H,KAAKC,IAAI,EAAG6H,GAAI,GAC7B5O,EAAI8G,KAAK+H,IAAI/H,KAAKC,IAAI,EAAG/G,GAAI,IAEjB,IAAJ2O,EAAa,IAAJC,EAAa,IAAJ5O,IAG3BmN,EAAQQ,IAAIC,IAAM,SAAUD,GAC3B,GAGIe,GACAoB,EACA9P,EALA4J,EAAI+D,EAAI,GACR9D,EAAI8D,EAAI,GACRoC,EAAIpC,EAAI,EAiBZ,OAZA/D,IAAK,OACLC,GAAK,IACLkG,GAAK,QAELnG,EAAIA,EAAI,QAAW9C,KAAKkG,IAAIpD,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DC,EAAIA,EAAI,QAAW/C,KAAKkG,IAAInD,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAC5DkG,EAAIA,EAAI,QAAWjJ,KAAKkG,IAAI+C,EAAG,EAAI,GAAM,MAAQA,EAAM,GAAK,IAE5DrB,EAAK,IAAM7E,EAAK,GAChBiG,EAAI,KAAOlG,EAAIC,GACf7J,EAAI,KAAO6J,EAAIkG,IAEPrB,EAAGoB,EAAG9P,IAGfmN,EAAQS,IAAID,IAAM,SAAUC,GAC3B,GAGIhE,GACAC,EACAkG,EALArB,EAAId,EAAI,GACRkC,EAAIlC,EAAI,GACR5N,EAAI4N,EAAI,EAKZ/D,IAAK6E,EAAI,IAAM,IACf9E,EAAIkG,EAAI,IAAMjG,EACdkG,EAAIlG,EAAI7J,EAAI,GAEZ,IAAIkR,GAAKpK,KAAKkG,IAAInD,EAAG,GACjBsH,EAAKrK,KAAKkG,IAAIpD,EAAG,GACjBwH,EAAKtK,KAAKkG,IAAI+C,EAAG,EASrB,OARAlG,GAAIqH,EAAK,QAAWA,GAAMrH,EAAI,GAAK,KAAO,MAC1CD,EAAIuH,EAAK,QAAWA,GAAMvH,EAAI,GAAK,KAAO,MAC1CmG,EAAIqB,EAAK,QAAWA,GAAMrB,EAAI,GAAK,KAAO,MAE1CnG,GAAK,OACLC,GAAK,IACLkG,GAAK,SAEGnG,EAAGC,EAAGkG,IAGf5C,EAAQS,IAAIC,IAAM,SAAUD,GAC3B,GAGIyD,GACA7C,EACAa,EALAX,EAAId,EAAI,GACRkC,EAAIlC,EAAI,GACR5N,EAAI4N,EAAI,EAcZ,OATAyD,GAAKvK,KAAKwK,MAAMtR,EAAG8P,GACnBtB,EAAS,IAAL6C,EAAW,EAAIvK,KAAKyK,GAEpB/C,EAAI,IACPA,GAAK,KAGNa,EAAIvI,KAAK0K,KAAK1B,EAAIA,EAAI9P,EAAIA,IAElB0O,EAAGW,EAAGb,IAGfrB,EAAQU,IAAID,IAAM,SAAUC,GAC3B,GAGIiC,GACA9P,EACAqR,EALA3C,EAAIb,EAAI,GACRwB,EAAIxB,EAAI,GACRW,EAAIX,EAAI,EASZ,OAJAwD,GAAK7C,EAAI,IAAM,EAAI1H,KAAKyK,GACxBzB,EAAIT,EAAIvI,KAAK2K,IAAIJ,GACjBrR,EAAIqP,EAAIvI,KAAK4K,IAAIL,IAET3C,EAAGoB,EAAG9P,IAGfmN,EAAQC,IAAIY,OAAS,SAAUnJ,GAC9B,GAAI8J,GAAI9J,EAAK,GACT+J,EAAI/J,EAAK,GACT7E,EAAI6E,EAAK,GACTrE,EAAQ,IAAKsM,WAAYA,UAAU,GAAKK,EAAQC,IAAII,IAAI3I,GAAM,EAIlE,IAAc,KAFdrE,EAAQsG,KAAK6K,MAAMnR,EAAQ,KAG1B,MAAO,GAGR,IAAIoR,GAAO,IACN9K,KAAK6K,MAAM3R,EAAI,MAAQ,EACxB8G,KAAK6K,MAAM/C,EAAI,MAAQ,EACxB9H,KAAK6K,MAAMhD,EAAI,KAMlB,OAJc,KAAVnO,IACHoR,GAAQ,IAGFA,GAGRzE,EAAQK,IAAIQ,OAAS,SAAUnJ,GAG9B,MAAOsI,GAAQC,IAAIY,OAAOb,EAAQK,IAAIJ,IAAIvI,GAAOA,EAAK,KAGvDsI,EAAQC,IAAIa,QAAU,SAAUpJ,GAC/B,GAAI8J,GAAI9J,EAAK,GACT+J,EAAI/J,EAAK,GACT7E,EAAI6E,EAAK,EAIb,OAAI8J,KAAMC,GAAKA,IAAM5O,EAChB2O,EAAI,EACA,GAGJA,EAAI,IACA,IAGD7H,KAAK6K,OAAQhD,EAAI,GAAK,IAAO,IAAM,IAGhC,GACP,GAAK7H,KAAK6K,MAAMhD,EAAI,IAAM,GAC1B,EAAI7H,KAAK6K,MAAM/C,EAAI,IAAM,GAC1B9H,KAAK6K,MAAM3R,EAAI,IAAM,IAKzBmN,EAAQa,OAAOZ,IAAM,SAAUvI,GAC9B,GAAIgN,GAAQhN,EAAO,EAGnB,IAAc,IAAVgN,GAAyB,IAAVA,EAOlB,MANIhN,GAAO,KACVgN,GAAS,KAGVA,EAAQA,EAAQ,KAAO,KAEfA,EAAOA,EAAOA,EAGvB,IAAIC,GAA6B,IAAL,KAAbjN,EAAO,IAKtB,SAJkB,EAARgN,GAAaC,EAAQ,KACpBD,GAAS,EAAK,GAAKC,EAAQ,KAC3BD,GAAS,EAAK,GAAKC,EAAQ,MAKvC3E,EAAQc,QAAQb,IAAM,SAAUvI,GAE/B,GAAIA,GAAQ,IAAK,CAChB,GAAIwK,GAAmB,IAAdxK,EAAO,KAAY,CAC5B,QAAQwK,EAAGA,EAAGA,GAGfxK,GAAQ,EAER,IAAIkN,EAKJ,QAJQjL,KAAK0J,MAAM3L,EAAO,IAAM,EAAI,IAC5BiC,KAAK0J,OAAOuB,EAAMlN,EAAO,IAAM,GAAK,EAAI,IACvCkN,EAAM,EAAK,EAAI,MAKzB5E,EAAQC,IAAIU,IAAM,SAAUjJ,GAC3B,GAAImN,KAAkC,IAAtBlL,KAAK6K,MAAM9M,EAAK,MAAe,MACpB,IAAtBiC,KAAK6K,MAAM9M,EAAK,MAAe,IACV,IAAtBiC,KAAK6K,MAAM9M,EAAK,KAEhBoN,EAASD,EAAQE,SAAS,IAAIC,aAClC,OAAO,SAASC,UAAUH,EAAOzQ,QAAUyQ,GAG5C9E,EAAQW,IAAIV,IAAM,SAAUvI,GAC3B,GAAIwN,GAAQxN,EAAKqN,SAAS,IAAIG,MAAM,2BACpC,KAAKA,EACJ,OAAQ,EAAG,EAAG,EAGf,IAAIC,GAAcD,EAAM,EAEA,KAApBA,EAAM,GAAG7Q,SACZ8Q,EAAcA,EAAYC,MAAM,IAAI3H,IAAI,SAAU4H,GACjD,MAAOA,GAAOA,IACZC,KAAK,IAGT,IAAIT,GAAUU,SAASJ,EAAa,GAKpC,QAJSN,GAAW,GAAM,IACjBA,GAAW,EAAK,IACP,IAAVA,IAKT7E,EAAQC,IAAIc,IAAM,SAAUd,GAC3B,GAMIuF,GACAC,EAPAjE,EAAIvB,EAAI,GAAK,IACbwB,EAAIxB,EAAI,GAAK,IACbpN,EAAIoN,EAAI,GAAK,IACbrG,EAAMD,KAAKC,IAAID,KAAKC,IAAI4H,EAAGC,GAAI5O,GAC/B6O,EAAM/H,KAAK+H,IAAI/H,KAAK+H,IAAIF,EAAGC,GAAI5O,GAC/B6S,EAAU9L,EAAM8H,CAyBpB,OApBC8D,GADGE,EAAS,EACAhE,GAAO,EAAIgE,GAEX,EAIZD,EADGC,GAAU,EACP,EAEH9L,IAAQ4H,GACHC,EAAI5O,GAAK6S,EAAU,EAExB9L,IAAQ6H,EACL,GAAK5O,EAAI2O,GAAKkE,EAEd,GAAKlE,EAAIC,GAAKiE,EAAS,EAG9BD,GAAO,EACPA,GAAO,GAEO,IAANA,EAAoB,IAATC,EAA0B,IAAZF,IAGlCxF,EAAQI,IAAIW,IAAM,SAAUX,GAC3B,GAAIkB,GAAIlB,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACb8B,EAAI,EACJoB,EAAI,CAYR,OATCpB,GADGX,EAAI,GACH,EAAMD,EAAIC,EAEV,EAAMD,GAAK,EAAMC,GAGlBW,EAAI,IACPoB,GAAK/B,EAAI,GAAMW,IAAM,EAAMA,KAGpB9B,EAAI,GAAQ,IAAJ8B,EAAa,IAAJoB,IAG1BtD,EAAQK,IAAIU,IAAM,SAAUV,GAC3B,GAAIiB,GAAIjB,EAAI,GAAK,IACb0B,EAAI1B,EAAI,GAAK,IAEb6B,EAAIZ,EAAIS,EACRuB,EAAI,CAMR,OAJIpB,GAAI,IACPoB,GAAKvB,EAAIG,IAAM,EAAIA,KAGZ7B,EAAI,GAAQ,IAAJ6B,EAAa,IAAJoB,IAG1BtD,EAAQe,IAAId,IAAM,SAAUc,GAC3B,GAAIM,GAAIN,EAAI,GAAK,IACbmB,EAAInB,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,GAEjB,IAAU,IAANmB,EACH,OAAY,IAAJT,EAAa,IAAJA,EAAa,IAAJA,EAG3B,IAAIkE,IAAQ,EAAG,EAAG,GACdvC,EAAM/B,EAAI,EAAK,EACfU,EAAIqB,EAAK,EACTjB,EAAI,EAAIJ,EACR6D,EAAK,CAET,QAAQjM,KAAK0J,MAAMD,IAClB,IAAK,GACJuC,EAAK,GAAK,EAAGA,EAAK,GAAK5D,EAAG4D,EAAK,GAAK,CAAG,MACxC,KAAK,GACJA,EAAK,GAAKxD,EAAGwD,EAAK,GAAK,EAAGA,EAAK,GAAK,CAAG,MACxC,KAAK,GACJA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAK5D,CAAG,MACxC,KAAK,GACJ4D,EAAK,GAAK,EAAGA,EAAK,GAAKxD,EAAGwD,EAAK,GAAK,CAAG,MACxC,KAAK,GACJA,EAAK,GAAK5D,EAAG4D,EAAK,GAAK,EAAGA,EAAK,GAAK,CAAG,MACxC,SACCA,EAAK,GAAK,EAAGA,EAAK,GAAK,EAAGA,EAAK,GAAKxD,EAKtC,MAFAyD,IAAM,EAAM1D,GAAKT,GAGK,KAApBS,EAAIyD,EAAK,GAAKC,GACM,KAApB1D,EAAIyD,EAAK,GAAKC,GACM,KAApB1D,EAAIyD,EAAK,GAAKC,KAIjB5F,EAAQe,IAAIV,IAAM,SAAUU,GAC3B,GAAImB,GAAInB,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEbgB,EAAIG,EAAIT,GAAK,EAAMS,GACnBoB,EAAI,CAMR,OAJIvB,GAAI,IACPuB,EAAIpB,EAAIH,IAGDhB,EAAI,GAAQ,IAAJuC,EAAa,IAAJvB,IAG1B/B,EAAQe,IAAIX,IAAM,SAAUW,GAC3B,GAAImB,GAAInB,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IAEbQ,EAAIE,GAAK,EAAMS,GAAK,GAAMA,EAC1BZ,EAAI,CASR,OAPIC,GAAI,GAAOA,EAAI,GAClBD,EAAIY,GAAK,EAAIX,GAEVA,GAAK,IAAOA,EAAI,IACnBD,EAAIY,GAAK,GAAK,EAAIX,MAGXR,EAAI,GAAQ,IAAJO,EAAa,IAAJC,IAG1BvB,EAAQe,IAAIT,IAAM,SAAUS,GAC3B,GAAImB,GAAInB,EAAI,GAAK,IACbU,EAAIV,EAAI,GAAK,IACbgB,EAAIG,EAAIT,GAAK,EAAMS,EACvB,QAAQnB,EAAI,GAAc,KAATgB,EAAIG,GAAoB,KAAT,EAAIH,KAGrC/B,EAAQM,IAAIS,IAAM,SAAUT,GAC3B,GAAI6B,GAAI7B,EAAI,GAAK,IACbzN,EAAIyN,EAAI,GAAK,IACbyB,EAAI,EAAIlP,EACRqP,EAAIH,EAAII,EACRV,EAAI,CAMR,OAJIS,GAAI,IACPT,GAAKM,EAAIG,IAAM,EAAIA,KAGZ5B,EAAI,GAAQ,IAAJ4B,EAAa,IAAJT,IAG1BzB,EAAQgB,MAAMf,IAAM,SAAUe,GAC7B,OAASA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,IAAMA,EAAM,GAAK,MAAS,MAGlFhB,EAAQC,IAAIe,MAAQ,SAAUf,GAC7B,OAASA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,MAAQA,EAAI,GAAK,IAAO,QAG1ED,EAAQiB,KAAKhB,IAAM,SAAUvI,GAC5B,OAAQA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,IAAKA,EAAK,GAAK,IAAM,MAGnEsI,EAAQiB,KAAKb,IAAMJ,EAAQiB,KAAKZ,IAAM,SAAU3I,GAC/C,OAAQ,EAAG,EAAGA,EAAK,KAGpBsI,EAAQiB,KAAKX,IAAM,SAAUW,GAC5B,OAAQ,EAAG,IAAKA,EAAK,KAGtBjB,EAAQiB,KAAKV,KAAO,SAAUU,GAC7B,OAAQ,EAAG,EAAG,EAAGA,EAAK,KAGvBjB,EAAQiB,KAAKR,IAAM,SAAUQ,GAC5B,OAAQA,EAAK,GAAI,EAAG,IAGrBjB,EAAQiB,KAAKN,IAAM,SAAUM,GAC5B,GAAI+B,GAAwC,IAAlCrJ,KAAK6K,MAAMvD,EAAK,GAAK,IAAM,KACjC4D,GAAW7B,GAAO,KAAOA,GAAO,GAAKA,EAErC8B,EAASD,EAAQE,SAAS,IAAIC,aAClC,OAAO,SAASC,UAAUH,EAAOzQ,QAAUyQ,GAG5C9E,EAAQC,IAAIgB,KAAO,SAAUhB,GAE5B,QADWA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAAM,EACzB,IAAM,OfqtDf,SAAU1N,EAAQC,EAASC,GAEjC,YgBhiFA,SAASoT,KACP,GAAI,EAAAC,KAAKC,eACP,MAAO,IAAI,GAAAD,KAAKC,cACX,IAAM,EAAAD,KAAKE,eAChB,MAAO,IAAI,GAAAF,KAAKE,cAEhB,MAAM,IAAI7E,OAAM,yCAIpB,QAAS8E,KACP,GAAI,EAAAH,KAAKC,eACP,MAAO,IAAI,GAAAD,KAAKC,cAEhB,IAAIG,OAAM,EACV,KAEE,IAAK,GADCC,IAAW,iBAAkB,oBAAqB,sBAC/CxQ,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAEE,GADAuQ,EAASC,EAAQxQ,GACb,GAAI,GAAAmQ,KAAKM,cAAcF,GACzB,MAEF,MAAOpJ,IAIX,MAAO,IAAI,GAAAgJ,KAAKM,cAAcF,GAC9B,MAAOpJ,GACP,KAAM,IAAIqE,OAAM,oDAetB,WAAwBlD,EAAaoI,GACnC,WADmC,KAAAA,MAAA,MAC5B,GAAIC,IAA+BC,OAAQ,MAAOtI,MAAKoI,YAGhE,WAAyBpI,EAAauI,EAAYH,GAChD,MAAO,IAAIC,IAA+BC,OAAQ,OAAQtI,MAAKuI,OAAMH,YAGvE,WAA2BpI,EAAaoI,GACtC,MAAO,IAAIC,IAA+BC,OAAQ,SAAUtI,MAAKoI,YAGnE,WAAwBpI,EAAauI,EAAYH,GAC/C,MAAO,IAAIC,IAA+BC,OAAQ,MAAOtI,MAAKuI,OAAMH,YAGtE,WAA0BpI,EAAauI,EAAYH,GACjD,MAAO,IAAIC,IAA+BC,OAAQ,QAAStI,MAAKuI,OAAMH,YAKxE,WAA+BpI,EAAaoI,GAC1C,MAAOI,GACL,GAAIH,IACFC,OAAQ,MACRtI,MACAyI,aAAc,OACdL,aAwWN,QAASM,GAAiBD,EAAsBE,GAC9C,OAAQF,GACN,IAAK,OACD,MAAI,YAAcE,GAETA,EAAIF,aAAeE,EAAIC,SAAWC,KAAKC,MAAMH,EAAIC,UAAYD,EAAII,cAAgB,QAIjFF,KAAKC,MAAOH,EAAYI,cAAgB,OAEnD,KAAK,MACH,MAAOJ,GAAIK,WACb,KAAK,OACL,QAGI,MAAS,YAAcL,GAAOA,EAAIC,SAAYD,EAAYI,chBimEpE,GAAItU,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KgB9jFnF,IAAqB,IACrB,IAAyB,IACzB,IAA4B,IAC5B,IAA2B,GAC3B,IAA2B,GAE3B,IAAoB,IA+DJ,GAAAoU,QAAO,EAIP,EAAAC,SAAQ,EAIR,EAAAC,WAAU,EAIV,EAAAC,QAAO,EAIP,EAAAC,UAAS,CAIzB,IAAMb,GAAc,EAAAhJ,IAAI,SAAChB,EAAiB1E,GAAkB,MAAA0E,GAAEoK,UAE9C,GAAAU,YAAW,CAgB3B,mBA4CE,WAAYC,GACV,YAEA,IAAMC,IACJC,OAAO,EACPC,UAAW,WACT,MAAOhV,MAAKiV,YAAc/B,EAAelR,KAAKhC,MAAQsT,KAExD2B,aAAa,EACbC,iBAAiB,EACjBxB,WACAE,OAAQ,MACRG,aAAc,OACdoB,QAAS,EAGX,IAA4B,gBAAjBN,GACTC,EAAQxJ,IAAMuJ,MAEd,KAAK,GAAMO,KAAQP,GACbA,EAAavU,eAAe8U,KAC9BN,EAAQM,GAAQP,EAAaO,GAKnCpV,MAAK8U,QAAUA,EAMnB,MA5EuC,QAyEA,YAAAjU,WAAA,SAAWC,GAC9C,MAAO,IAAIuU,GAAevU,EAAYd,KAAK8U,UA/CtC,EAAArU,OAA6B,WAClC,GAAMA,GAAc,SAACoU,GACnB,MAAO,IAAIlB,GAAekB,GAU5B,OAPApU,GAAO6U,IAAMf,EACb9T,EAAO8U,KAAOf,EACd/T,EAAO+U,OAASf,EAChBhU,EAAOgV,IAAMf,EACbjU,EAAOiV,MAAQf,EACflU,EAAOkV,QAAUf,EAEUnU,KAqC/B,GA5EuC,EAAAmV,WAA1B,GAAAjC,eAAc,CAmF3B,mBAIE,WAAYpR,EAAmCuS,GAC7C,YAAMvS,GADuC,KAAAuS,UAFvC,KAAA9P,MAAgB,CAKtB,IAAM0O,GAAUoB,EAAQpB,QAAUoB,EAAQpB,WAGrCoB,GAAQG,aAAgBvB,EAAQ,sBACnCA,EAAQ,oBAAsB,kBAI1B,gBAAkBA,IAAc,EAAAP,KAAK0C,UAAYf,EAAQjB,eAAgB,GAAAV,KAAK0C,cAAqC,KAAjBf,EAAQjB,OAC9GH,EAAQ,gBAAkB,oDAI5BoB,EAAQjB,KAAO7T,KAAK8V,cAAchB,EAAQjB,KAAMiB,EAAQpB,QAAQ,iBAEhE1T,KAAK+V,OAsLT,MA5MuC,QAyBrC,YAAA3U,KAAA,SAAK+I,GACHnK,KAAKgF,MAAO,CACZ,YAAQiP,EAAA,EAAAA,IAAKa,EAAA,EAAAA,QAASvS,EAAA,EAAAA,YAChB2R,EAAW,GAAI8B,GAAa7L,EAAG8J,EAAKa,EAE1CvS,GAAYnB,KAAK8S,IAGX,YAAA6B,KAAR,WACE,WACEjB,EAAA,EAAAA,QACA,IAAAA,QAAWmB,EAAA,EAAAA,KAAMrC,EAAA,EAAAA,OAAQtI,EAAA,EAAAA,IAAKyJ,EAAA,EAAAA,MAAOmB,EAAA,EAAAA,SAAUxC,EAAA,EAAAA,QAASG,EAAA,EAAAA,KAEpDmB,EAAYF,EAAQE,UACpBf,EAAsB,EAAAhK,SAAS+K,GAAWhT,KAAK8S,EAErD,IAASb,IAAQ,EAAA/J,YACflK,KAAKgB,MAAM,EAAAkJ,YAAYC,OAClB,CACLnK,KAAKiU,IAAMA,EAMXjU,KAAKmW,YAAYlC,EAAKa,EAStB,KANImB,EACO,EAAAhM,SAASgK,EAAImC,MAAMpU,KAAKiS,EAAKL,EAAQtI,EAAKyJ,EAAOkB,EAAMC,GAEvD,EAAAjM,SAASgK,EAAImC,MAAMpU,KAAKiS,EAAKL,EAAQtI,EAAKyJ,MAGtC,EAAA7K,YAEb,MADAlK,MAAKgB,MAAM,EAAAkJ,YAAYC,GAChB,IAkBT,IAdI4K,IACFd,EAAIkB,QAAUL,EAAQK,QACtBlB,EAAIF,aAAee,EAAQf,cAGzB,mBAAqBE,KACvBA,EAAIiB,kBAAoBJ,EAAQI,iBAIlClV,KAAKqW,WAAWpC,EAAKP,IAGZG,EAAO,EAAA5J,SAASgK,EAAI8B,MAAM/T,KAAKiS,EAAKJ,GAAQ,EAAA5J,SAASgK,EAAI8B,MAAM/T,KAAKiS,MAC9D,EAAA/J,YAEb,MADAlK,MAAKgB,MAAM,EAAAkJ,YAAYC,GAChB,KAIX,MAAO8J,IAGD,YAAA6B,cAAR,SAAsBjC,EAAWyC,GAC/B,IAAKzC,GAAwB,gBAATA,GAClB,MAAOA,EACF,IAAI,EAAAV,KAAK0C,UAAYhC,YAAgB,GAAAV,KAAK0C,SAC/C,MAAOhC,EAGT,IAAIyC,EAAa,CACf,GAAMC,GAAaD,EAAYE,QAAQ,MACnB,IAAhBD,IACFD,EAAcA,EAAYhE,UAAU,EAAGiE,IAI3C,OAAQD,GACN,IAAK,oCACH,MAAO9V,QAAOiW,KAAK5C,GAAM/I,IAAI,SAAAd,GAAO,MAAG0M,oBAAmB1M,GAAI,IAAI0M,mBAAmB7C,EAAK7J,MAAS2I,KAAK,IAC1G,KAAK,mBACH,MAAOwB,MAAKwC,UAAU9C,EACxB,SACE,MAAOA,KAIL,YAAAwC,WAAR,SAAmBpC,EAAqBP,GACtC,IAAK,GAAI1J,KAAO0J,GACVA,EAAQpT,eAAe0J,IACzBiK,EAAI2C,iBAAiB5M,EAAK0J,EAAQ1J,KAKhC,YAAAmM,YAAR,SAAoBlC,EAAqBa,GAGvC,QAAS+B,GAAiC1M,GACxC,QAAOrJ,EAAA,EAAAA,WAAYgW,EAAA,EAAAA,mBAAoBhC,EAAA,EAAAA,OACnCgC,IACFA,EAAmB9V,MAAMmJ,GAE3BrJ,EAAWE,MAAM,GAAI+V,GAAiB/W,KAAM8U,IAkC9C,QAASkC,GAA0C7M,GACjD,QAAQrJ,EAAA,EAAAA,WAAYgW,EAAA,EAAAA,mBAAoBhC,EAAA,EAAAA,OACxC,IAAwB,IAApB9U,KAAKiX,WAAkB,CAEzB,GAAI,GAAiC,OAAhBjX,KAAKkX,OAAkB,IAAMlX,KAAKkX,OACnDhD,EAAuC,SAAtBlU,KAAK+T,aACxB/T,KAAKkU,UAAYlU,KAAKqU,aAAgBrU,KAAKkU,QAK9B,KAAX,IACF,EAASA,EAAW,IAAM,GAGxB,KAAO,GAAU,EAAS,KACxB4C,GACFA,EAAmBzV,WAErBP,EAAWM,KAAK+I,GAChBrJ,EAAWO,aAEPyV,GACFA,EAAmB9V,MAAMmJ,GAE3BrJ,EAAWE,MAAM,GAAImW,GAAU,cAAgB,EAAQnX,KAAM8U,MAlEnE,GAAMgC,GAAqBhC,EAAQgC,kBAanC,IAJA7C,EAAImD,UAAYP,EACVA,EAAY/B,QAAUA,EACtB+B,EAAY/V,WAAad,KACzB6W,EAAYC,mBAAqBA,EACnC7C,EAAIoD,QAAU,mBAAqBpD,GAAK,CAC1C,GAAI6C,EAAoB,CACtB,GAAI,EACJ,GAAc,SAAS3M,GACb,EAAA2M,mBACW1V,KAAK+I,IAEtB,EAAAgJ,KAAKE,eACPY,EAAIqD,WAAa,EAEjBrD,EAAIoD,OAAOC,WAAa,EAEpB,EAAaR,mBAAqBA,EAE1C,GAAI,EACJ,GAAW,SAA+B3M,GACxC,QAAQ2M,EAAA,EAAAA,mBAAoBhW,EAAA,EAAAA,WAAYgU,EAAA,EAAAA,OACpCgC,IACFA,EAAmB9V,MAAMmJ,GAE3BrJ,EAAWE,MAAM,GAAImW,GAAU,aAAcnX,KAAM8U,KAErDb,EAAIsD,QAAU,EACR,EAAUzC,QAAUA,EACpB,EAAUhU,WAAad,KACvB,EAAU8W,mBAAqBA,EAgCvC7C,EAAIuD,mBAAqBR,EACnBA,EAAqBlW,WAAad,KAClCgX,EAAqBF,mBAAqBA,EAC1CE,EAAqBlC,QAAUA,GAGvC,YAAAzM,YAAA,WACE,WAAQrD,EAAA,EAAAA,KAAMiP,EAAA,EAAAA,KACTjP,GAAQiP,GAA0B,IAAnBA,EAAIgD,YAAyC,kBAAdhD,GAAIwD,OACrDxD,EAAIwD,QAEN,YAAMpP,YAAW,YAErB,GA5MuC,EAAApD,WAA1B,GAAAoQ,eAAc,CAqN3B,kBAaE,WAAmBqC,EAA6BzD,EAA4Ba,GAAzD,KAAA4C,gBAA6B,KAAAzD,MAA4B,KAAAa,UAC1E9U,KAAKkX,OAASjD,EAAIiD,OAClBlX,KAAK+T,aAAeE,EAAIF,cAAgBe,EAAQf,aAChD/T,KAAKkU,SAAWF,EAAiBhU,KAAK+T,aAAcE,GAExD,WAlBa,GAAA+B,aAAY,CA2BzB,mBAgBE,WAAY2B,EAAiB1D,EAAqBa,GAChD,YAAM6C,GACN3X,KAAK2X,QAAUA,EACf3X,KAAKiU,IAAMA,EACXjU,KAAK8U,QAAUA,EACf9U,KAAKkX,OAASjD,EAAIiD,OAClBlX,KAAK+T,aAAeE,EAAIF,cAAgBe,EAAQf,aAChD/T,KAAKkU,SAAWF,EAAiBhU,KAAK+T,aAAcE,GAExD,MAzB+B,QAyB/B,GAzB+BzF,MAAlB,GAAA2I,UAAS,CAqDtB,mBACE,WAAYlD,EAAqBa,GAC/B,YAAM,eAAgBb,EAAKa,GAE/B,MAJsC,QAItC,GAJsCqC,EAAzB,GAAAJ,iBAAgB,GhBogFvB,SAAUnX,EAAQC,EAASC,GAEjC,YiBz+FA,SAA4B,KAC5B,IAA+B,IAgElB,GAAA8G,MAAQ,GAAI,GAAAgR,eAAe,EAAAC,cjB8+FlC,SAAUjY,EAAQC,EAASC,GAEjC,YkBzgGA,YAA0BgY,GACxB,MAAO,UAAgChW,GACrC,MAAOA,GAAOC,KAAK,GAAIgW,GAAkBD,KlBygG7C,GAAI/X,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KkBnjGnF,IAAgC,GAEhC,IAAkC,EAmClB,GAAAmF,OAAM,CAMtB,kBAEE,WAAoBwS,GAAA,KAAAA,kBAMtB,MAHE,aAAA9V,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAI2V,GAAiBlX,EAAYd,KAAK8X,mBAElE,KAOA,cAGE,WAAYvV,EAA8BuV,GACxC,YAAMvV,GAHA,KAAA+C,UAINtF,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAM8X,IAcrC,MAnBkC,QAQtB,YAAApV,MAAV,SAAgBhC,GACdV,KAAKsF,OAAO1C,KAAKlC,IAGnB,YAAA2C,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,GAAM4B,GAAStF,KAAKsF,MACpBtF,MAAKsF,UACLtF,KAAKuC,YAAYnB,KAAKkE,IAE1B,GAnBkC,EAAAtB,kBlBskG5B,SAAUpE,EAAQC,EAASC,GAEjC,YmBtlGA,YAA+B2F,EAAoBwS,GACjD,WADiD,KAAAA,MAAA,MAC1C,SAAqCnW,GAC1C,MAAOA,GAAOC,KAAK,GAAImW,GAAuBzS,EAAYwS,KnBslG9D,GAAIlY,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KmBzoGnF,IAA2B,EA8CX,GAAAgY,YAAW,CAM3B,kBAGE,WAAoB1S,EAA4BwS,GAA5B,KAAAxS,aAA4B,KAAAwS,mBAI5CjY,KAAKoY,gBAHFH,GAAoBxS,IAAewS,EAGfI,EAFAC,EAS7B,MAHE,aAAAtW,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAIrC,MAAKoY,gBAAgBtX,EAAYd,KAAKyF,WAAYzF,KAAKiY,oBAEvF,KAOA,cAGE,WAAY1V,EAAsCkD,GAChD,YAAMlD,GAD0C,KAAAkD,aAF1C,KAAAH,UAwBV,MAzBuC,QAO3B,YAAA5C,MAAV,SAAgBhC,GACd,GAAM4E,GAAStF,KAAKsF,MAEpBA,GAAO1C,KAAKlC,GAER4E,EAAO5D,QAAU1B,KAAKyF,aACxBzF,KAAKuC,YAAYnB,KAAKkE,GACtBtF,KAAKsF,YAIC,YAAAzC,UAAV,WACE,GAAMyC,GAAStF,KAAKsF,MAChBA,GAAO5D,OAAS,GAClB1B,KAAKuC,YAAYnB,KAAKkE,GAExB,YAAMzC,UAAS,YAEnB,GAzBuC,EAAAoC,YAgCvC,cAIE,WAAY1C,EAAsCkD,EAA4BwS,GAC5E,YAAM1V,GAD0C,KAAAkD,aAA4B,KAAAwS,mBAHtE,KAAAM,WACA,KAAAC,MAAgB,EAoC1B,MAtC2C,QAQ/B,YAAA9V,MAAV,SAAgBhC,GACd,WAAQ+E,EAAA,EAAAA,WAAYwS,EAAA,EAAAA,iBAAkBM,EAAA,EAAAA,QAASC,EAAA,EAAAA,KAE/CxY,MAAKwY,QACDA,EAAQP,GAAqB,GAC/BM,EAAQ3V,QAGV,KAAK,GAAII,GAAIuV,EAAQ7W,OAAQsB,KAAO,CAClC,GAAMsC,GAASiT,EAAQvV,EACvBsC,GAAO1C,KAAKlC,GACR4E,EAAO5D,SAAW+D,IACpB8S,EAAQrR,OAAOlE,EAAG,GAClBhD,KAAKuC,YAAYnB,KAAKkE,MAKlB,YAAAzC,UAAV,WAGE,IAFA,WAAQ0V,EAAA,EAAAA,QAAShW,EAAA,EAAAA,YAEVgW,EAAQ7W,OAAS,GAAG,CACzB,GAAI4D,GAASiT,EAAQ/S,OACjBF,GAAO5D,OAAS,GAClBa,EAAYnB,KAAKkE,GAGrB,YAAMzC,UAAS,YAGnB,GAtC2C,EAAAoC,anB6qGrC,SAAUrF,EAAQC,EAASC,GAEjC,YoB9tGA,YAA8B2Y,GAC5B,GAAI/W,GAAiBsL,UAAUtL,OAE3BiE,EAAwB,EAAAoP,KACxB,GAAA2D,YAAY1L,UAAUA,UAAUtL,OAAS,MAC3CiE,EAAYqH,UAAUA,UAAUtL,OAAS,GACzCA,IAGF,IAAIiX,GAAiC,IACjCjX,IAAU,IACZiX,EAAyB3L,UAAU,GAGrC,IAAI4L,GAAwBhT,OAAOC,iBAKnC,OAJInE,IAAU,IACZkX,EAAgB5L,UAAU,IAGrB,SAAoClL,GACzC,MAAOA,GAAOC,KAAK,GAAI8W,GAAsBJ,EAAgBE,EAAwBC,EAAejT,KA6HxG,QAASmT,GAA8CC,GACrD,GAAMjY,GAAwCiY,EAAMjY,WAE9CkY,EAAcD,EAAME,OACtBD,IACFlY,EAAWoY,aAAaF,GAGrBlY,EAAWwF,SACdyS,EAAME,QAAUnY,EAAWqY,cAC3BJ,EAAME,QAAQG,YAAcpZ,KAAKqZ,SAASN,EAAOA,EAAMN,iBAS3D,QAASa,GAA0DP,GACzD,GAAAJ,GAAA,EAAAA,uBAAwBF,EAAA,EAAAA,eAAgB3X,EAAA,EAAAA,WAAY6E,EAAA,EAAAA,UACtDsT,EAAUnY,EAAWqY,cACrBI,EAAmCvZ,IACpCc,GAAWwF,SACdxF,EAAWmC,IAAIgW,EAAQG,YAAczT,EAAU0T,SAAyBG,EAAqBf,GAAkB3X,aAAYmY,aAC3HM,EAAOF,SAASN,EAAOJ,IAI3B,QAASa,GAAuBC,GACtB,GAAA3Y,GAAA,EAAAA,WAAYmY,EAAA,EAAAA,OACpBnY,GAAWoY,aAAaD,GpBgjG1B,GAAIlZ,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KoB3xGnF,IAAsB,IAEtB,IAA2B,GAE3B,IAA4B,GAoDZ,GAAAuZ,WAAU,CAwB1B,kBACE,WAAoBjB,EACAE,EACAC,EACAjT,GAHA,KAAA8S,iBACA,KAAAE,yBACA,KAAAC,gBACA,KAAAjT,YAQtB,MALE,aAAA3D,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAIsX,GAC1B7Y,EAAYd,KAAKyY,eAAgBzY,KAAK2Y,uBAAwB3Y,KAAK4Y,cAAe5Y,KAAK2F,aAG7F,KAEA,0BACE,KAAAL,UAEF,YAcA,cAIE,WAAY/C,EACQkW,EACAE,EACAC,EACAjT,GAClB,YAAMpD,GAJY,KAAAkW,iBACA,KAAAE,yBACA,KAAAC,gBACA,KAAAjT,YAPZ,KAAAkG,WASN,IAAMoN,GAAUjZ,KAAKmZ,aAErB,IADAnZ,KAAK4Z,aAAyC,MAA1BjB,GAAkCA,EAAyB,EAC3E3Y,KAAK4Z,aAAc,CACrB,GAAMC,IAAsB/Y,WAAYd,KAAMiZ,UAASR,iBACvDzY,MAAKiD,IAAIgW,EAAQG,YAAczT,EAAU0T,SAASP,EAA4BL,EAAgBoB,QACzF,CACL,GAAMC,IAAehZ,WAAYd,KAAMiZ,WACjCc,GAAoCtB,iBAAgBE,yBAAwB7X,WAAYd,KAAM2F,YACpG3F,MAAKiD,IAAIgW,EAAQG,YAAczT,EAAU0T,SAASG,EAAqBf,EAAgBqB,IACvF9Z,KAAKiD,IAAI0C,EAAU0T,SAASC,EAAwBX,EAAwBoB,KAqElF,MAxFsC,QAuB1B,YAAArX,MAAV,SAAgBhC,GAId,IAAK,GADDsZ,GAFEnO,EAAW7L,KAAK6L,SAChB/I,EAAM+I,EAASnK,OAEZsB,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAMiW,GAAUpN,EAAS7I,GACnBsC,EAAS2T,EAAQ3T,MACvBA,GAAO1C,KAAKlC,GACR4E,EAAO5D,QAAU1B,KAAK4Y,gBACxBoB,EAAsBf,GAItBe,GACFha,KAAKia,aAAaD,IAIZ,YAAA5Q,OAAV,SAAiBrF,GACf/D,KAAK6L,SAASnK,OAAS,EACvB,YAAM0H,OAAM,UAACrF,IAGL,YAAAlB,UAAV,WAEE,IADA,WAAQgJ,EAAA,EAAAA,SAAUtJ,EAAA,EAAAA,YACXsJ,EAASnK,OAAS,GAAG,CAC1B,GAAMuX,GAAUpN,EAASrG,OACzBjD,GAAYnB,KAAK6X,EAAQ3T,QAE3B,YAAMzC,UAAS,YAGoB,YAAAsF,aAAA,WACnCnI,KAAK6L,SAAW,MAGR,YAAAoO,aAAV,SAAuBhB,GACrBjZ,KAAKkZ,aAAaD,EAClB,IAAMG,GAAcH,EAAQG,WAI5B,IAHAA,EAAY/Q,cACZrI,KAAKoI,OAAOgR,IAEPpZ,KAAKsG,QAAUtG,KAAK4Z,aAAc,CACrCX,EAAUjZ,KAAKmZ,aACf,IAAMV,GAAiBzY,KAAKyY,eACtBoB,GAAsB/Y,WAAYd,KAAMiZ,UAASR,iBACvDzY,MAAKiD,IAAIgW,EAAQG,YAAcpZ,KAAK2F,UAAU0T,SAASP,EAA4BL,EAAgBoB,MAIvG,YAAAV,YAAA,WACE,GAAMF,GAAsB,GAAIiB,EAEhC,OADAla,MAAK6L,SAASjJ,KAAKqW,GACZA,GAGT,YAAAC,aAAA,SAAaD,GACXjZ,KAAKuC,YAAYnB,KAAK6X,EAAQ3T,OAC9B,IAAMuG,GAAW7L,KAAK6L,UAEFA,EAAWA,EAAS2K,QAAQyC,IAAY,IACzC,GACjBpN,EAAS3E,OAAO2E,EAAS2K,QAAQyC,GAAU,IAGjD,GAxFsC,EAAAhU,apBo3GhC,SAAUrF,EAAQC,EAASC,GAEjC,YqBz7GA,YACEqa,EACAC,GAEA,MAAO,UAAsCtY,GAC3C,MAAOA,GAAOC,KAAK,GAAIsY,GAA2BF,EAAUC,KrBs7GhE,GAAIra,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KqB1+GnF,IAA6B,IAC7B,IAAkC,GAClC,IAAgC,EA0ChB,GAAAma,aAAY,CAS5B,kBAEE,WAAoBH,EACAC,GADA,KAAAD,WACA,KAAAC,kBAMtB,MAHE,aAAApY,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAIkY,GAAuBzZ,EAAYd,KAAKma,SAAUna,KAAKoa,mBAEvF,KAYA,cAGE,WAAY7X,EACQ4X,EACAC,GAClB,YAAM7X,GAFY,KAAA4X,WACA,KAAAC,kBAJZ,KAAAvO,YAMN7L,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAMma,IAyFrC,MAhG2C,QAU/B,YAAAzX,MAAV,SAAgBhC,GAGd,IAAK,GAFCmL,GAAW7L,KAAK6L,SAChB/I,EAAM+I,EAASnK,OACZsB,EAAI,EAAGA,EAAIF,EAAKE,IACvB6I,EAAS7I,GAAGsC,OAAO1C,KAAKlC,IAIlB,YAAA0I,OAAV,SAAiBrF,GAEf,IADA,GAAM8H,GAAW7L,KAAK6L,SACfA,EAASnK,OAAS,GAAG,CAC1B,GAAMuX,GAAUpN,EAASrG,OACzByT,GAAQ5S,aAAagC,cACrB4Q,EAAQ3T,OAAS,KACjB2T,EAAQ5S,aAAe,KAEzBrG,KAAK6L,SAAW,KAChB,YAAMzC,OAAM,UAACrF,IAGL,YAAAlB,UAAV,WAEE,IADA,GAAMgJ,GAAW7L,KAAK6L,SACfA,EAASnK,OAAS,GAAG,CAC1B,GAAMuX,GAAUpN,EAASrG,OACzBxF,MAAKuC,YAAYnB,KAAK6X,EAAQ3T,QAC9B2T,EAAQ5S,aAAagC,cACrB4Q,EAAQ3T,OAAS,KACjB2T,EAAQ5S,aAAe,KAEzBrG,KAAK6L,SAAW,KAChB,YAAMhJ,UAAS,YAGjB,YAAAQ,WAAA,SAAWC,EAAiBC,EACjBC,EAAoBC,EACpBC,GACTJ,EAAatD,KAAKwa,YAAYlX,GAActD,KAAKya,WAAWlX,IAG9D,YAAAJ,eAAA,SAAeO,GACb1D,KAAKwa,YAAmB9W,EAAUuV,UAG5B,YAAAwB,WAAR,SAAmB/Z,GACjB,IACE,GAAM0Z,GAAkBpa,KAAKoa,gBACvBtC,EAAkBsC,EAAgBpY,KAAKhC,KAAMU,EAC/CoX,IACF9X,KAAK0a,aAAa5C,GAEpB,MAAO/T,GACP/D,KAAKoJ,OAAOrF,KAIR,YAAAyW,YAAR,SAAoBvB,GAClB,GAAMpN,GAAW7L,KAAK6L,QAEtB,IAAIA,GAAYoN,EAAS,CACf,GAAA3T,GAAA,EAAAA,OAAQe,EAAA,EAAAA,YAChBrG,MAAKuC,YAAYnB,KAAKkE,GACtBuG,EAAS3E,OAAO2E,EAAS2K,QAAQyC,GAAU,GAC3CjZ,KAAKoI,OAAO/B,GACZA,EAAagC,gBAIT,YAAAqS,aAAR,SAAqB5C,GACnB,GAAMjM,GAAW7L,KAAK6L,SAEhBvG,KACAe,EAAe,GAAI,GAAAnF,aACnB+X,GAAY3T,SAAQe,eAC1BwF,GAASjJ,KAAKqW,EAEd,IAAM0B,GAAoB,EAAAzX,kBAAkBlD,KAAM8X,EAAsBmB,IAEnE0B,GAAqBA,EAAkBrU,OAC1CtG,KAAKwa,YAAYvB,IAEV0B,EAAmB1B,QAAUA,EAEpCjZ,KAAKiD,IAAI0X,GACTtU,EAAapD,IAAI0X,KAGvB,GAhG2C,EAAA3W,kBrByjHrC,SAAUpE,EAAQC,EAASC,GAEjC,YsB5lHA,YAA8Bsa,GAC5B,MAAO,UAAUtY,GACf,MAAOA,GAAOC,KAAK,GAAI6Y,GAAmBR,KtB4lH9C,GAAIra,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KsB1oHnF,IAA6B,IAC7B,IAAyB,IACzB,IAA4B,IAC5B,IAAgC,GAEhC,IAAkC,EAoClB,GAAA0a,WAAU,CAM1B,kBAEE,WAAoBT,GAAA,KAAAA,kBAMtB,MAHE,aAAApY,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAIyY,GAAqBha,EAAYd,KAAKoa,mBAEtE,KAOA,cAKE,WAAY7X,EAAsC6X,GAChD,YAAM7X,GAD0C,KAAA6X,kBAH1C,KAAAW,aAAuB,EAK7B/a,KAAKya,aA+DT,MAtEsC,QAU1B,YAAA/X,MAAV,SAAgBhC,GACdV,KAAKsF,OAAO1C,KAAKlC,IAGT,YAAAmC,UAAV,WACE,GAAMyC,GAAStF,KAAKsF,MAChBA,IACFtF,KAAKuC,YAAYnB,KAAKkE,GAExB,YAAMzC,UAAS,YAGoB,YAAAsF,aAAA,WACnCnI,KAAKsF,OAAS,KACdtF,KAAK+a,aAAc,GAGrB,YAAA1X,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKya,cAGP,YAAAtX,eAAA,WACMnD,KAAK+a,YACP/a,KAAKqB,WAELrB,KAAKya,cAIT,YAAAA,WAAA,WAEQ,GAAAO,GAAA,KAAAA,mBAEFA,KACFhb,KAAKoI,OAAO4S,GACZA,EAAoB3S,cAGtB,IAAM/C,GAAStF,KAAKsF,MAChBtF,MAAKsF,QACPtF,KAAKuC,YAAYnB,KAAKkE,GAGxBtF,KAAKsF,SAEL,IAAMwS,GAAkB,EAAA7N,SAASjK,KAAKoa,kBAElCtC,KAAoB,EAAA5N,YACtBlK,KAAKgB,MAAM,EAAAkJ,YAAYC,IAEvB6Q,EAAsB,GAAI,GAAA9Z,aAC1BlB,KAAKgb,oBAAsBA,EAC3Bhb,KAAKiD,IAAI+X,GACThb,KAAK+a,aAAc,EACnBC,EAAoB/X,IAAI,EAAAC,kBAAkBlD,KAAM8X,IAChD9X,KAAK+a,aAAc,IAGzB,GAtEsC,EAAA/W,kBtBusHhC,SAAUpE,EAAQC,EAASC,GAEjC,YuBtwHA,YAAiC0B,GAC/B,MAAO,UAACM,GAA0B,MAAAA,GAAOC,KAAK,GAAI,GAAAG,sBAAsBV,KAL1E,QAAsC,IAItB,GAAAyZ,WAAU,GvBixHpB,SAAUrb,EAAQC,EAASC,GAEjC,YwBptHA,cxB6wHI,IwB7wHyB,uDAC3B,OAAO,UAACgC,GAA0B,MAAAA,GAAOC,KAAKC,KAAK,EAAArC,OAAY,cAAOmC,GAAM,OAAKL,MAjEnF,QAAuC,KAEvC,IAAuC,IAA9B,kBAAA9B,OA8DO,EAAAA,OAAM,GxBuxHhB,SAAUC,EAAQC,EAASC,GAEjC,YyB3xHA,YACEob,EACA7R,GAEA,MAAO,GAAAE,UAAU,WAAM,MAAA2R,IAAiB7R,GApE1C,QAA0B,IAgEV,GAAA8R,YAAW,GzB+1HrB,SAAUvb,EAAQC,EAASC,GAEjC,Y0B52HA,YAAyBuK,GACvB,MAAO,UAACvI,GAA0B,MAAAA,GAAOC,KAAK,GAAIqZ,GAAc/Q,EAAWvI,K1B62H7E,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K0Bp6HnF,IAA2B,EAmDX,GAAAqY,MAAK,CAIrB,kBACE,WAAoBnO,EACAvI,GADA,KAAAuI,YACA,KAAAvI,SAMtB,MAHE,aAAAE,KAAA,SAAKlB,EAAgCgB,GACnC,MAAOA,GAAOO,UAAU,GAAIgZ,GAAgBva,EAAYd,KAAKqK,UAAWrK,KAAK8B,UAEjF,KAOA,cAIE,WAAYS,EACQ8H,EACAvI,GAClB,YAAMS,GAFY,KAAA8H,YACA,KAAAvI,SALZ,KAAA0W,MAAgB,EAChB,KAAApT,MAAgB,EAmC1B,MArCiC,QAUrB,YAAA1C,MAAV,SAAgBhC,GACVV,KAAKqK,UACPrK,KAAKsb,cAAc5a,GAEnBV,KAAKwY,SAID,YAAA8C,cAAR,SAAsB5a,GACpB,GAAImD,EAEJ,KACEA,EAAS7D,KAAKqK,UAAU3J,EAAOV,KAAKoF,QAASpF,KAAK8B,QAClD,MAAOiC,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAIrBF,GACF7D,KAAKwY,SAIC,YAAA3V,UAAV,WACE7C,KAAKuC,YAAYnB,KAAKpB,KAAKwY,OAC3BxY,KAAKuC,YAAYlB,YAErB,GArCiC,EAAA4D,a1B48H3B,SAAUrF,EAAQC,EAASC,GAEjC,Y2Bz+HA,cACE,MAAO,UAAuCgC,GAC5C,MAAOA,GAAOC,KAAK,GAAIwZ,K3By+H3B,GAAIxb,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K2B1hInF,IAA2B,EA4CX,GAAAqb,cAAa,CAM7B,gCAIA,MAHE,aAAAxZ,KAAA,SAAKlB,EAA6BgB,GAChC,MAAOA,GAAOO,UAAU,GAAIoZ,GAAwB3a,KAExD,KAOA,cACE,WAAYyB,GACV,YAAMA,GAMV,MARmE,QAKvD,YAAAG,MAAV,SAAgBhC,GACdA,EAAMgb,QAAQ1b,KAAKuC,cAEvB,GARmE,EAAA0C,a3ByiI7D,SAAUrF,EAAQC,EAASC,GAEjC,Y4BtjIA,YAA4BsH,GAC1B,MAAO,UAACtF,GAA0B,MAAAA,GAAOC,KAAK,GAAI4Z,GAAiBvU,K5BujIrE,GAAIrH,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K4B1mInF,IAAgC,GAEhC,IAAkC,EA6ClB,GAAAyb,SAAQ,CAIxB,kBACE,WAAoBxU,GAAA,KAAAA,mBAMtB,MAHE,aAAApF,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIwZ,GAAmB/a,EAAYd,KAAKoH,oBAEpE,KAOA,cAKE,WAAY7E,EACQ6E,GAClB,YAAM7E,GADY,KAAA6E,mBAJZ,KAAAvC,UAAoB,EACpB,KAAAiX,qBAAqC,KA+D/C,MAlEuC,QAU3B,YAAApZ,MAAV,SAAgBhC,GACd,IACE,GAAMmD,GAAS7D,KAAKoH,iBAAiBpF,KAAKhC,KAAMU,EAE5CmD,IACF7D,KAAK+b,SAASrb,EAAOmD,GAEvB,MAAOE,GACP/D,KAAKuC,YAAYvB,MAAM+C,KAIjB,YAAAlB,UAAV,WACE7C,KAAKgc,YACLhc,KAAKuC,YAAYlB,YAGX,YAAA0a,SAAR,SAAiBrb,EAAUuH,GACzB,GAAI5B,GAAerG,KAAK8b,oBACxB9b,MAAKU,MAAQA,EACbV,KAAK6E,UAAW,EACZwB,IACFA,EAAagC,cACbrI,KAAKoI,OAAO/B,IAGdA,EAAe,EAAAnD,kBAAkBlD,KAAMiI,GAClC5B,EAAaC,QAChBtG,KAAKiD,IAAIjD,KAAK8b,qBAAuBzV,IAIzC,YAAAhD,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKgc,aAGP,YAAA7Y,eAAA,WACEnD,KAAKgc,aAGP,YAAAA,UAAA,WACE,GAAIhc,KAAK6E,SAAU,CACjB,GAAMnE,GAAQV,KAAKU,MACb2F,EAAerG,KAAK8b,oBACtBzV,KACFrG,KAAK8b,qBAAuB,KAC5BzV,EAAagC,cACbrI,KAAKoI,OAAO/B,IAEdrG,KAAKU,MAAQ,KACbV,KAAK6E,UAAW,EAChB,YAAMnC,MAAK,UAAChC,KAGlB,GAlEuC,EAAAsD,kB5BuqIjC,SAAUpE,EAAQC,EAASC,GAEjC,Y6BzrIA,YAA6Bmc,EACAC,GAC3B,MAAIA,GACK,SAACpa,GACN,UAAIqa,GAA4Bra,EAAQoa,GACrCna,KAAK,GAAIqa,GAAkBH,KAE3B,SAACna,GAA0B,MAAAA,GAAOC,KAAK,GAAIqa,GAAkBH,K7BorItE,GAAIlc,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K6BnvInF,IAA2B,GAC3B,IAA2B,GAE3B,IAAgC,GAEhC,IAAkC,EAgDlB,GAAAkc,UAAS,CAUzB,kBACE,WAAoBJ,GAAA,KAAAA,wBAMtB,MAHE,aAAAja,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIia,GAAoBxb,EAAYd,KAAKic,yBAErE,KAOA,cAKE,WAAY1Z,EACQ0Z,GAClB,YAAM1Z,GADY,KAAA0Z,wBALZ,KAAAM,WAAqB,EACrB,KAAAC,8BACA,KAAA/Z,UA0EV,MA7EwC,QAUtC,YAAAY,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKuC,YAAYnB,KAAKkC,GACtBtD,KAAKyc,mBAAmB/Y,GACxB1D,KAAK0c,eAGP,YAAAxT,YAAA,SAAYlI,EAAY0C,GACtB1D,KAAKoJ,OAAOpI,IAGd,YAAAmC,eAAA,SAAeO,GACb,GAAMhD,GAAQV,KAAKyc,mBAAmB/Y,EAClChD,IACFV,KAAKuC,YAAYnB,KAAKV,GAExBV,KAAK0c,eAGG,YAAAha,MAAV,SAAgBhC,GACd,IACE,GAAMic,GAAgB3c,KAAKic,sBAAsBvb,EAC7Cic,IACF3c,KAAK4c,SAASD,EAAejc,GAE/B,MAAOqD,GACP/D,KAAKuC,YAAYvB,MAAM+C,KAIjB,YAAAlB,UAAV,WACE7C,KAAKuc,WAAY,EACjBvc,KAAK0c,eAGC,YAAAD,mBAAR,SAA2BpW,GACzBA,EAAagC,aAEb,IAAMwU,GAAkB7c,KAAKwc,2BAA2BhG,QAAQnQ,GAC5D3F,EAAW,IAQf,QANyB,IAArBmc,IACFnc,EAAQV,KAAKyC,OAAOoa,GACpB7c,KAAKwc,2BAA2BtV,OAAO2V,EAAiB,GACxD7c,KAAKyC,OAAOyE,OAAO2V,EAAiB,IAG/Bnc,GAGD,YAAAkc,SAAR,SAAiBD,EAAgCjc,GAC/C,GAAMoc,GAAuB,EAAA5Z,kBAAkBlD,KAAM2c,EAAejc,EAEhEoc,KAAyBA,EAAqBxW,SAChDtG,KAAKiD,IAAI6Z,GACT9c,KAAKwc,2BAA2B5Z,KAAKka,IAGvC9c,KAAKyC,OAAOG,KAAKlC,IAGX,YAAAgc,YAAR,WACM1c,KAAKuc,WAAwD,IAA3Cvc,KAAKwc,2BAA2B9a,QACpD1B,KAAKuC,YAAYlB,YAGvB,GA7EwC,EAAA2C,iBAoFxC,cACE,WAAwDlC,EAA+Boa,GACrF,aADsD,KAAApa,SAA+B,KAAAoa,oBAOzF,MAR6C,QAKN,YAAArb,WAAA,SAAWC,GAC9Cd,KAAKkc,kBAAkB7Z,UAAU,GAAI0a,GAA4Bjc,EAAYd,KAAK8B,UAEtF,GAR6C,EAAA8T,YAe7C,cAGE,WAAoBvQ,EAA+BvD,GACjD,aADkB,KAAAuD,SAA+B,KAAAvD,SAF3C,KAAAkb,kBAA4B,EA0BtC,MA3B6C,QAOjC,YAAAta,MAAV,SAAgBU,GACdpD,KAAKid,qBAGG,YAAA7T,OAAV,SAAiBrF,GACf/D,KAAKqI,cACLrI,KAAKqF,OAAOrE,MAAM+C,IAGV,YAAAlB,UAAV,WACE7C,KAAKid,qBAGC,YAAAA,kBAAR,WACOjd,KAAKgd,mBACRhd,KAAKgd,kBAAmB,EACxBhd,KAAKqI,cACLrI,KAAK8B,OAAOO,UAAUrC,KAAKqF,UAGjC,GA3B6C,EAAAJ,a7BowIvC,SAAUrF,EAAQC,EAASC,GAEjC,Y8Bh4IA,YAA+B2J,EACAyT,GAC7B,MAAO,UAACpb,GAA0B,MAAAA,GAAOC,KAAK,GAAIob,GAAiB1T,EAAayT,K9Bg4IlF,GAAInd,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K8Bx7InF,IAAgC,GAEhC,IAAkC,GAClC,IAA0B,IAgDV,GAAAid,SAAQ,CAKxB,kBACE,WAAoB3T,EAAsCyT,GAAtC,KAAAzT,cAAsC,KAAAyT,UAM5D,MAHE,aAAAlb,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIgb,GAAmBvc,EAAYd,KAAKyJ,YAAazJ,KAAKkd,WAEtF,KAOA,cAGE,WAAY3a,EAAoCkH,EAA8ByT,GAC5E,YAAM3a,GADwC,KAAAkH,cAFxC,KAAAhH,OAAkB,GAAI,GAAA6a,IAKxBJ,GACFld,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAMkd,IA0CvC,MAjD8C,QAW5C,YAAA7Z,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKyC,OAAO8a,SAGd,YAAArU,YAAA,SAAYlI,EAAY0C,GACtB1D,KAAKoJ,OAAOpI,IAGJ,YAAA0B,MAAV,SAAgBhC,GACVV,KAAKyJ,YACPzJ,KAAKwd,gBAAgB9c,GAErBV,KAAKyd,cAAc/c,EAAOA,IAItB,YAAA8c,gBAAR,SAAwB9c,GACtB,GAAIsJ,GACIzH,EAAA,KAAAA,WACR,KACEyH,EAAMhK,KAAKyJ,YAAY/I,GACvB,MAAOqD,GAEP,WADAxB,GAAYvB,MAAM+C,GAGpB/D,KAAKyd,cAAczT,EAAKtJ,IAGlB,YAAA+c,cAAR,SAAsBzT,EAAUtJ,GACtB,GAAA+B,GAAA,KAAAA,MACHA,GAAOib,IAAO1T,KACjBvH,EAAOQ,IAAO+G,GACdhK,KAAKuC,YAAYnB,KAAKV,KAI5B,GAjD8C,EAAAsD,gBAAjC,GAAAqZ,mBAAkB,G9By+IzB,SAAUzd,EAAQC,EAASC,GAEjC,Y+Bp/IA,YAA2CkK,EAAaR,GACtD,MAAO,GAAAG,qBAAqB,SAACG,EAAMC,GAAS,MAAAP,GAAUA,EAAQM,EAAEE,GAAMD,EAAEC,IAAQF,EAAEE,KAASD,EAAEC,KAlE/F,QAAqC,IAiErB,GAAA2T,wBAAuB,G/ByjJjC,SAAU/d,EAAQC,EAASC,GAEjC,YgCjlJA,cACE,MAAO,UAACgC,GAA0B,MAAAA,GAAOC,KAAK,GAAI6b,KhCklJpD,GAAI7d,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KgC7nJnF,IAAgC,GAChC,IAAkC,EAsClB,GAAA0d,QAAO,CAIvB,gCAIA,MAHE,aAAA7b,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIyb,GAAsBhd,KAEtD,KAOA,cAIE,WAAYyB,GACV,YAAMA,GAJA,KAAA3B,cAAwB,EACxB,KAAAmd,iBAA2B,EA2BrC,MA7BuC,QAQ3B,YAAArb,MAAV,SAAgBhC,GACTV,KAAK+d,kBACR/d,KAAK+d,iBAAkB,EACvB/d,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAMU,MAI3B,YAAAmC,UAAV,WACE7C,KAAKY,cAAe,EACfZ,KAAK+d,iBACR/d,KAAKuC,YAAYlB,YAIrB,YAAA8B,eAAA,SAAeO,GACb1D,KAAKoI,OAAO1E,GACZ1D,KAAK+d,iBAAkB,EACnB/d,KAAKY,cACPZ,KAAKuC,YAAYlB,YAGvB,GA7BuC,EAAA2C,kBhC+pJjC,SAAUpE,EAAQC,EAASC,GAEjC,YiChqJA,YACE0B,EACA6H,GAEE,MAAO,UAACvH,GAA0B,MAAAA,GAAOC,KAAK,GAAIic,GAAuBxc,EAAS6H,KjC8pJtF,GAAItJ,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KiC5tJnF,IAAgC,GAEhC,IAAkC,EAqDlB,GAAA8d,WAAU,CAO1B,kBACE,WAAoBzc,EACA6H,GADA,KAAA7H,UACA,KAAA6H,iBAMtB,MAHE,aAAArH,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI6b,GAAyBpd,EAAYd,KAAKwB,QAASxB,KAAKqJ,kBAExF,KAOA,cAKE,WAAY9G,EACQf,EACA6H,GAClB,YAAM9G,GAFY,KAAAf,UACA,KAAA6H,iBANZ,KAAA0U,iBAA2B,EAC3B,KAAAnd,cAAwB,EACxB,KAAAwE,MAAgB,EAmE1B,MAtEgD,QAWpC,YAAA1C,MAAV,SAAgBhC,GACTV,KAAK+d,iBACR/d,KAAKme,QAAQzd,IAIT,YAAAyd,QAAR,SAAgBzd,GACd,GAAM0E,GAAQpF,KAAKoF,QACb7C,EAAcvC,KAAKuC,WACzB,KACE,GAAMsB,GAAS7D,KAAKwB,QAAQd,EAAO0E,EACnCpF,MAAK+d,iBAAkB,EACvB/d,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAM6D,EAAQnD,EAAO0E,IAChD,MAAOrB,GACPxB,EAAYvB,MAAM+C,KAIZ,YAAAlB,UAAV,WACE7C,KAAKY,cAAe,EACfZ,KAAK+d,iBACR/d,KAAKuC,YAAYlB,YAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,WAAQ2F,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WACpB8G,GACFrJ,KAAKoe,gBAAgB9a,EAAYC,EAAYC,EAAYC,GAEzDlB,EAAYnB,KAAKmC,IAIb,YAAA6a,gBAAR,SAAwB9a,EAAeC,EACfC,EAAoBC,GAC1C,WAAQ4F,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WACxB,KACE,GAAMsB,GAASwF,EAAe/F,EAAYC,EAAYC,EAAYC,EAClElB,GAAYnB,KAAKyC,GACjB,MAAOE,GACPxB,EAAYvB,MAAM+C,KAItB,YAAAmF,YAAA,SAAYnF,GACV/D,KAAKuC,YAAYvB,MAAM+C,IAGzB,YAAAZ,eAAA,SAAeO,GACb1D,KAAKoI,OAAO1E,GAEZ1D,KAAK+d,iBAAkB,EACnB/d,KAAKY,cACPZ,KAAKuC,YAAYlB,YAGvB,GAtEgD,EAAA2C,kBjCwxJ1C,SAAUpE,EAAQC,EAASC,GAEjC,YkC7yJA,YAA6B0B,EACA6c,EACA1Y,GAG3B,WAJ2B,KAAA0Y,MAAqBzY,OAAOC,uBAC5B,KAAAF,UAAA,IAC3B0Y,GAAcA,GAAc,GAAK,EAAIzY,OAAOC,kBAAoBwY,EAEzD,SAACvc,GAA0B,MAAAA,GAAOC,KAAK,GAAIuc,GAAe9c,EAAS6c,EAAY1Y,KlC0yJxF,GAAI5F,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KkC52JnF,IAAyB,IACzB,IAA4B,IAE5B,IAAgC,GAEhC,IAAkC,EAqDlB,GAAAoe,OAAM,CAQtB,kBACE,WAAoB/c,EACA6c,EACA1Y,GAFA,KAAAnE,UACA,KAAA6c,aACA,KAAA1Y,YAMtB,MAHE,aAAA3D,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAImc,GAAiB1d,EAAYd,KAAKwB,QAASxB,KAAKqe,WAAYre,KAAK2F,aAEjG,IATa,GAAA2Y,eAAc,CAuB3B,mBAME,WAAY/b,EACQf,EACA6c,EACA1Y,GAClB,YAAMpD,GAHY,KAAAf,UACA,KAAA6c,aACA,KAAA1Y,YARZ,KAAAP,MAAgB,EAChB,KAAA5C,OAAiB,EACjB,KAAA5B,cAAwB,EAQ1Byd,EAAazY,OAAOC,oBACtB7F,KAAKsF,WA+DX,MA3E4C,QAgB3B,EAAAmZ,SAAf,SAA8BhF,GACrB,GAAA3Y,GAAA,EAAAA,WAAY+C,EAAA,EAAAA,OAAQnD,EAAA,EAAAA,MAAO0E,EAAA,EAAAA,KAClCtE,GAAW4d,sBAAsB7a,EAAQnD,EAAO0E,IAGxC,YAAA1C,MAAV,SAAgBhC,GACd,GAAM6B,GAAcvC,KAAKuC,WAEzB,IAAIA,EAAY+D,OAEd,WADAtG,MAAK6C,WAIP,IAAMuC,GAAQpF,KAAKoF,OACnB,IAAIpF,KAAKwC,OAASxC,KAAKqe,WAAY,CACjC9b,EAAYnB,KAAKV,EACjB,IAAImD,GAAS,EAAAoG,SAASjK,KAAKwB,SAASd,EAAO0E,EAC3C,IAAIvB,IAAW,EAAAqG,YACb3H,EAAYvB,MAAM,EAAAkJ,YAAYC,OACzB,IAAKnK,KAAK2F,UAEV,CACL,GAAMoT,IAA6BjY,WAAYd,KAAM6D,SAAQnD,QAAO0E,QACpEpF,MAAKiD,IAAIjD,KAAK2F,UAAU0T,SAASmF,EAAiBC,SAAU,EAAG1F,QAH/D/Y,MAAK0e,sBAAsB7a,EAAQnD,EAAO0E,OAM5CpF,MAAKsF,OAAO1C,KAAKlC,IAIb,YAAAge,sBAAR,SAA8B7a,EAAanD,EAAU0E,GACnDpF,KAAKwC,SACLxC,KAAKiD,IAAI,EAAAC,kBAAwBlD,KAAM6D,EAAQnD,EAAO0E,KAG9C,YAAAvC,UAAV,WACE7C,KAAKY,cAAe,EAChBZ,KAAKY,cAAgC,IAAhBZ,KAAKwC,QAC5BxC,KAAKuC,YAAYlB,YAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAK0C,MAAMa,IAGb,YAAAJ,eAAA,SAAeO,GACb,GAAM4B,GAAStF,KAAKsF,MACpBtF,MAAKoI,OAAO1E,GACZ1D,KAAKwC,SACD8C,GAAUA,EAAO5D,OAAS,GAC5B1B,KAAK0C,MAAM4C,EAAOE,SAEhBxF,KAAKY,cAAgC,IAAhBZ,KAAKwC,QAC5BxC,KAAKuC,YAAYlB,YAGvB,GA3E4C,EAAA2C,gBAA/B,GAAAwa,iBAAgB,GlCy6JvB,SAAU5e,EAAQC,EAASC,GAEjC,YmCv9JA,YAA6BsF,EAAeuZ,GAC1C,MAAO,UAAC7c,GAA0B,MAAAA,GAAOC,KAAK,GAAI6c,GAAkBxZ,EAAOuZ,KnCw9J7E,GAAI5e,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KmC5gKnF,IAA2B,GAC3B,IAAwC,IA+CxB,GAAA0e,UAAS,CAIzB,kBAEE,WAAoBzZ,EAAuBuZ,GACzC,GADkB,KAAAvZ,QAAuB,KAAAuZ,eACrCvZ,EAAQ,EACV,KAAM,IAAI,GAAA0Z,wBAOhB,MAHE,aAAA9c,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI0c,GAAoBje,EAAYd,KAAKoF,MAAOpF,KAAK2e,gBAEjF,KAOA,cAEE,WAAYpc,EAAoC6C,EAAuBuZ,GACrE,YAAMpc,GADwC,KAAA6C,QAAuB,KAAAuZ,eAsBzE,MAxBqC,QAMzB,YAAAjc,MAAV,SAAgBoH,GACO,GAAjB9J,KAAKoF,UACPpF,KAAKuC,YAAYnB,KAAK0I,GACtB9J,KAAKuC,YAAYlB,aAIX,YAAAwB,UAAV,WACE,GAAMN,GAAcvC,KAAKuC,WACrBvC,MAAKoF,OAAS,QACiB,KAAtBpF,KAAK2e,aACdpc,EAAYnB,KAAKpB,KAAK2e,cAEtBpc,EAAYvB,MAAM,GAAI,GAAA8d,0BAG1Bvc,EAAYlB,YAEhB,GAxBqC,EAAA4D,anCyiK/B,SAAUrF,EAAQC,EAASC,GAEjC,YoC7kKA,YAA6BuK,EACAC,GAC3B,MAAO,UAACxI,GAA0B,MAAAA,GAAOC,KAAK,GAAI,GAAAyI,kBAAkBH,EAAWvI,GAAQ,EAAMwI,KAtC/F,QAAkC,IAoClB,GAAA0U,UAAS,GpC0nKnB,SAAUpf,EAAQC,EAASC,GAEjC,YqC9kKA,YAAiC2J,EACAwV,EACA7X,EACA8X,GAC/B,MAAO,UAACpd,GACN,MAAAA,GAAOC,KAAK,GAAIod,GAAgB1V,EAAawV,EAAiB7X,EAAkB8X,KrC2kKpF,GAAInf,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KqCtqKnF,IAA2B,GAC3B,IAA6B,IAC7B,IAA2B,GAE3B,IAAwB,GACxB,IAAoB,KACpB,IAAwB,IA6ER,GAAAif,QAAO,CAevB,kBACE,WAAoB3V,EACAwV,EACA7X,EACA8X,GAHA,KAAAzV,cACA,KAAAwV,kBACA,KAAA7X,mBACA,KAAA8X,kBAQtB,MALE,aAAAld,KAAA,SAAKlB,EAAiDgB,GACpD,MAAOA,GAAOO,UAAU,GAAIgd,GAC1Bve,EAAYd,KAAKyJ,YAAazJ,KAAKif,gBAAiBjf,KAAKoH,iBAAkBpH,KAAKkf,mBAGtF,KAOA,cAKE,WAAY3c,EACQkH,EACAwV,EACA7X,EACA8X,GAClB,YAAM3c,GAJY,KAAAkH,cACA,KAAAwV,kBACA,KAAA7X,mBACA,KAAA8X,kBARZ,KAAAI,OAA+B,KAChC,KAAAC,wBAAkC,EAClC,KAAA/G,MAAgB,EAoGzB,MAvGyC,QAa7B,YAAA9V,MAAV,SAAgBhC,GACd,GAAIsJ,EACJ,KACEA,EAAMhK,KAAKyJ,YAAY/I,GACvB,MAAOqD,GAEP,WADA/D,MAAKgB,MAAM+C,GAIb/D,KAAKwf,OAAO9e,EAAOsJ,IAGb,YAAAwV,OAAR,SAAe9e,EAAUsJ,GACvB,GAAIsV,GAAStf,KAAKsf,MAEbA,KACHA,EAAStf,KAAKsf,OAAwB,gBAARtV,GAAmB,GAAI,GAAAyV,QAAY,GAAI,GAAAC,IAGvE,IAEIC,GAFAC,EAAQN,EAAOhK,IAAItL,EAGvB,IAAIhK,KAAKif,gBACP,IACEU,EAAU3f,KAAKif,gBAAgBve,GAC/B,MAAOqD,GACP/D,KAAKgB,MAAM+C,OAGb4b,GAAejf,CAGjB,KAAKkf,EAAO,CACVA,EAAQ5f,KAAKkf,gBAAkBlf,KAAKkf,kBAAoB,GAAI,GAAA5d,QAC5Dge,EAAOO,IAAI7V,EAAK4V,EAChB,IAAME,GAAoB,GAAIC,GAAkB/V,EAAK4V,EAAO5f,KAE5D,IADAA,KAAKuC,YAAYnB,KAAK0e,GAClB9f,KAAKoH,iBAAkB,CACzB,GAAIa,OAAQ,EACZ,KACEA,EAAWjI,KAAKoH,iBAAiB,GAAI2Y,GAAwB/V,EAAiB4V,IAC9E,MAAO7b,GAEP,WADA/D,MAAKgB,MAAM+C,GAGb/D,KAAKiD,IAAIgF,EAAS5F,UAAU,GAAI2d,GAAwBhW,EAAK4V,EAAO5f,SAInE4f,EAAMtZ,QACTsZ,EAAMxe,KAAKue,IAIL,YAAAvW,OAAV,SAAiBrF,GACf,GAAMub,GAAStf,KAAKsf,MAChBA,KACFA,EAAOW,QAAQ,SAACL,EAAO5V,GACrB4V,EAAM5e,MAAM+C,KAGdub,EAAO/B,SAETvd,KAAKuC,YAAYvB,MAAM+C,IAGf,YAAAlB,UAAV,WACE,GAAMyc,GAAStf,KAAKsf,MAChBA,KACFA,EAAOW,QAAQ,SAACL,EAAO5V,GACrB4V,EAAMve,aAGRie,EAAO/B,SAETvd,KAAKuC,YAAYlB,YAGnB,YAAA6e,YAAA,SAAYlW,GACVhK,KAAKsf,OAAO9J,OAAOxL,IAGrB,YAAA3B,YAAA,WACOrI,KAAKsG,SACRtG,KAAKuf,wBAAyB,EACX,IAAfvf,KAAKwY,OACP,YAAMnQ,YAAW,aAIzB,GAvGyC,EAAApD,YA8GzC,cACE,WAAoB+E,EACA4V,EACAva,GAClB,YAAMua,GAHY,KAAA5V,MACA,KAAA4V,QACA,KAAAva,SAetB,MAlB4C,QAOhC,YAAA3C,MAAV,SAAgBhC,GACdV,KAAKqB,YAG8B,YAAA8G,aAAA,WACnC,WAAQ9C,EAAA,EAAAA,OAAQ2E,EAAA,EAAAA,GAChBhK,MAAKgK,IAAMhK,KAAKqF,OAAS,KACrBA,GACFA,EAAO6a,YAAYlW,IAGzB,GAlB4C,EAAA/E,YA4B5C,cACE,WAAmB+E,EACCmW,EACAC,GAClB,aAHiB,KAAApW,MACC,KAAAmW,eACA,KAAAC,uBAatB,MAhB6C,QAON,YAAAvf,WAAA,SAAWC,GAC9C,GAAMuF,GAAe,GAAI,GAAAnF,aACzB,OAAOkf,EAAA,EAAAA,qBAAsBD,EAAA,EAAAA,YAK7B,OAJIC,KAAyBA,EAAqB9Z,QAChDD,EAAapD,IAAI,GAAIod,GAA0BD,IAEjD/Z,EAAapD,IAAIkd,EAAa9d,UAAUvB,IACjCuF,GAEX,GAhB6C,EAAAuP,WAAhC,GAAAmK,kBAAiB,CAuB9B,mBACE,WAAoB1a,GAClB,aADkB,KAAAA,SAElBA,EAAOmT,QAaX,MAhBwC,QAMtC,YAAAnQ,YAAA,WACE,GAAMhD,GAASrF,KAAKqF,MACfA,GAAOiB,QAAWtG,KAAKsG,SAC1B,YAAM+B,YAAW,WACjBhD,EAAOmT,OAAS,EACK,IAAjBnT,EAAOmT,OAAenT,EAAOka,wBAC/Bla,EAAOgD,gBAIf,GAhBwC,EAAAnH,erCmqKlC,SAAUtB,EAAQC,EAASC,GAEjC,YsC36KA,cACE,MAAO,UAAwCgC,GAC7C,MAAOA,GAAOC,KAAK,GAAIue,KtC26K3B,GAAIvgB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KsC97KnF,IAA2B,GAC3B,IAAqB,IAaL,GAAAogB,eAAc,CAM9B,gCAIA,MAHE,aAAAve,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIme,GAAyB1f,KAEzD,KAOA,2BAA0C,wBAI1C,MAJ0C,QAC9B,YAAA4B,MAAV,SAAgBU,GACd,EAAAqd,QAEJ,GAJ0C,EAAAxb,atC88KpC,SAAUrF,EAAQC,EAASC,GAEjC,YuC5+KA,cACE,MAAO,UAACgC,GAA0B,MAAAA,GAAOC,KAAK,GAAI2e,KvC6+KpD,GAAI3gB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KuCr/KnF,IAA2B,EAIX,GAAAwgB,QAAO,CAIvB,gCAIA,MAHE,aAAA3e,KAAA,SAAM2I,EAA+B7I,GACnC,MAAOA,GAAOO,UAAU,GAAIue,GAAkBjW,KAElD,KAOA,cACE,WAAYpI,GACV,YAAMA,GAiBV,MAnBgC,QAKtB,YAAAY,eAAR,SAAuBwd,GACrB,GAAMpe,GAAcvC,KAAKuC,WAEzBA,GAAYnB,KAAKuf,GACjBpe,EAAYlB,YAGJ,YAAAqB,MAAV,SAAgBhC,GACdV,KAAKmD,gBAAe,IAGZ,YAAAN,UAAV,WACE7C,KAAKmD,gBAAe,IAExB,GAnBgC,EAAA8B,avC4gL1B,SAAUrF,EAAQC,EAASC,GAEjC,YwC3/KA,YAA2BuK,EACAhB,EACAsV,GACzB,MAAO,UAAC7c,GAA0B,MAAAA,GAAOC,KAAK,GAAI8e,GAAaxW,EAAWhB,EAAgBsV,EAAc7c,KxC0/K1G,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KwCriLnF,IAA2B,GAC3B,IAA2B,IAoCX,GAAA2gB,KAAI,CAMpB,kBACE,WAAoBzW,EACAhB,EACAsV,EACA7c,GAHA,KAAAuI,YACA,KAAAhB,iBACA,KAAAsV,eACA,KAAA7c,SAMtB,MAHE,aAAAE,KAAA,SAAK2I,EAAyB7I,GAC5B,MAAOA,GAAOO,UAAU,GAAI0e,GAAepW,EAAU3K,KAAKqK,UAAWrK,KAAKqJ,eAAgBrJ,KAAK2e,aAAc3e,KAAK8B,UAEtH,KAOA,cAKE,WAAYS,EACQ8H,EACAhB,EACAsV,EACA7c,GAClB,YAAMS,GAJY,KAAA8H,YACA,KAAAhB,iBACA,KAAAsV,eACA,KAAA7c,SAPZ,KAAA+C,UAAoB,EACpB,KAAAO,MAAgB,MAQM,KAAjBuZ,IACT3e,KAAKghB,UAAYrC,EACjB3e,KAAK6E,UAAW,GAyDtB,MAtEmC,QAiBvB,YAAAnC,MAAV,SAAgBhC,GACd,GAAM0E,GAAQpF,KAAKoF,OACnB,IAAIpF,KAAKqK,UACPrK,KAAKsb,cAAc5a,EAAO0E,OACrB,CACL,GAAIpF,KAAKqJ,eAEP,WADArJ,MAAKihB,mBAAmBvgB,EAAO0E,EAGjCpF,MAAKghB,UAAYtgB,EACjBV,KAAK6E,UAAW,IAIZ,YAAAyW,cAAR,SAAsB5a,EAAU0E,GAC9B,GAAIvB,EACJ,KACEA,EAAS7D,KAAKqK,UAAU3J,EAAO0E,EAAOpF,KAAK8B,QAC3C,MAAOiC,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAGzB,GAAIF,EAAQ,CACV,GAAI7D,KAAKqJ,eAEP,WADArJ,MAAKihB,mBAAmBvgB,EAAO0E,EAGjCpF,MAAKghB,UAAYtgB,EACjBV,KAAK6E,UAAW,IAIZ,YAAAoc,mBAAR,SAA2BvgB,EAAU0E,GACnC,GAAIvB,EACJ,KACEA,EAAe7D,KAAMqJ,eAAe3I,EAAO0E,GAC3C,MAAOrB,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAGzB/D,KAAKghB,UAAYnd,EACjB7D,KAAK6E,UAAW,GAGR,YAAAhC,UAAV,WACE,GAAMN,GAAcvC,KAAKuC,WACrBvC,MAAK6E,UACPtC,EAAYnB,KAAKpB,KAAKghB,WACtBze,EAAYlB,YAEZkB,EAAYvB,MAAM,GAAI,GAAAkgB,aAG5B,GAtEmC,EAAAjc,axC+lL7B,SAAUrF,EAAQC,EAASC,GAEjC,YyC3oLA,YAAyBuK,EACAC,GACvB,MAAO,UAACxI,GAA0B,MAAAA,GAAOC,KAAK,GAAIof,GAAc9W,EAAWC,EAASxI,KzC2oLtF,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KyCjqLnF,IAA2B,EAiBX,GAAAihB,MAAK,CAKrB,kBACE,WAAoB/W,EACAC,EACAxI,GAFA,KAAAuI,YACArK,KAAAsK,UACA,KAAAxI,SAMtB,MAHE,aAAAE,KAAA,SAAK2I,EAA+B7I,GAClC,MAAOA,GAAOO,UAAU,GAAIgf,GAAgB1W,EAAU3K,KAAKqK,UAAWrK,KAAKsK,QAAStK,KAAK8B,UAE7F,KAOA,cAGE,WAAYS,EACQ8H,EACAC,EACAxI,GAClB,YAAMS,GAHY,KAAA8H,YACArK,KAAAsK,UACA,KAAAxI,SALZ,KAAAsD,MAAgB,EAOtBpF,KAAKsK,QAAUA,GAAWtK,KAyB9B,MAjCiC,QAWvB,YAAAmD,eAAR,SAAuBme,GACrBthB,KAAKuC,YAAYnB,KAAKkgB,GACtBthB,KAAKuC,YAAYlB,YAGT,YAAAqB,MAAV,SAAgBhC,GACd,GAAImD,IAAS,CACb,KACEA,EAAS7D,KAAKqK,UAAUrI,KAAKhC,KAAKsK,QAAS5J,EAAOV,KAAKoF,QAASpF,KAAK8B,QACrE,MAAOiC,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAIpBF,GACH7D,KAAKmD,gBAAe,IAId,YAAAN,UAAV,WACE7C,KAAKmD,gBAAe,IAExB,GAjCiC,EAAA8B,azCosL3B,SAAUrF,EAAQC,EAASC,GAEjC,Y0ChtLA,YAA4BY,GAC1B,MAAO,UAACoB,GAA0B,MAAAA,GAAOC,KAAK,GAAIwf,GAAc7gB,K1CitLlE,GAAIX,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K0CnvLnF,IAA2B,EA8BX,GAAAqhB,MAAK,CAIrB,kBAIE,WAAY9gB,GACVV,KAAKU,MAAQA,EAMjB,MAHE,aAAAsB,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIof,GAAgB3gB,EAAYd,KAAKU,SAEjE,KAOA,cAIE,WAAY6B,EAA4B7B,GACtC,YAAM6B,GACNvC,KAAKU,MAAQA,EAMjB,MAZoC,QASxB,YAAAgC,MAAV,SAAgBoH,GACd9J,KAAKuC,YAAYnB,KAAKpB,KAAKU,QAE/B,GAZoC,EAAAuE,a1C6vL9B,SAAUrF,EAAQC,EAASC,GAEjC,Y2ClwLA,cACE,MAAO,UAAqCgC,GAC1C,MAAOA,GAAOC,KAAK,GAAI2f,K3CkwL3B,GAAI3hB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K2CvzLnF,IAA2B,GAC3B,IAA6B,IA+Cb,GAAAwhB,YAAW,CAM3B,gCAIA,MAHE,aAAA3f,KAAA,SAAKlB,EAAyCgB,GAC5C,MAAOA,GAAOO,UAAU,GAAIuf,GAAsB9gB,KAEtD,KAOA,cACE,WAAYyB,GACV,YAAMA,GAkBV,MApBuC,QAK3B,YAAAG,MAAV,SAAgBhC,GACdV,KAAKuC,YAAYnB,KAAK,EAAAygB,aAAaC,WAAWphB,KAGtC,YAAA0I,OAAV,SAAiBrF,GACf,GAAMxB,GAAcvC,KAAKuC,WACzBA,GAAYnB,KAAK,EAAAygB,aAAaE,YAAYhe,IAC1CxB,EAAYlB,YAGJ,YAAAwB,UAAV,WACE,GAAMN,GAAcvC,KAAKuC,WACzBA,GAAYnB,KAAK,EAAAygB,aAAaG,kBAC9Bzf,EAAYlB,YAEhB,GApBuC,EAAA4D,a3Ci1LjC,SAAUrF,EAAQC,EAASC,GAEjC,Y4Cp3LA,YAAuBmiB,GACrB,GAAMhb,GAA8C,kBAAbgb,GACnC,SAACnY,EAAGC,GAAM,MAAAkY,GAASnY,EAAGC,GAAK,EAAID,EAAIC,GACnC,SAACD,EAAGC,GAAM,MAAAD,GAAIC,EAAID,EAAIC,EAE1B,OAAO,GAAAmY,OAAOjb,GAvChB,QAAuB,IAkCP,GAAAA,IAAG,G5Ci6Lb,SAAUrH,EAAQC,EAASC,GAEjC,Y6C34LA,YAAoCob,EACA7R,EACAgV,GAKlC,WALkC,KAAAA,MAAqBzY,OAAOC,mBAChC,gBAAnBwD,KACTgV,EAAqBhV,EACrBA,EAAiB,MAEZ,SAACvH,GAA0B,MAAAA,GAAOC,KAAK,GAAIogB,GAAmBjH,EAAsB7R,EAAgBgV,K7Cs4L7G,GAAIte,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K6Cr8LnF,IAAgC,GAEhC,IAAkC,EAmDlB,GAAAiiB,WAAU,CAY1B,kBACE,WAAoBC,EACAhZ,EACAgV,OAAR,WAA6BzY,OAAOC,mBAF5B,KAAAwc,MACA,KAAAhZ,iBACA,KAAAgV,aAMtB,MAHE,aAAArc,KAAA,SAAK2I,EAAyB7I,GAC5B,MAAOA,GAAOO,UAAU,GAAIigB,GAAqB3X,EAAU3K,KAAKqiB,IAAKriB,KAAKqJ,eAAgBrJ,KAAKqe,cAEnG,IATa,GAAA8D,mBAAkB,CAgB/B,mBAME,WAAY5f,EACQ8f,EACAhZ,EACAgV,OAAR,WAA6BzY,OAAOC,mBAC9C,YAAMtD,GAHY,KAAA8f,MACA,KAAAhZ,iBACA,KAAAgV,aARZ,KAAAzd,cAAwB,EACxB,KAAA0E,UACA,KAAA9C,OAAiB,EACf,KAAA4C,MAAgB,EA6E5B,MAjFmD,QAavC,YAAA1C,MAAV,SAAgBhC,GACd,GAAIV,KAAKwC,OAASxC,KAAKqe,WAAY,CACjC,GAAMhV,GAAiBrJ,KAAKqJ,eACtBjE,EAAQpF,KAAKoF,QACbid,EAAMriB,KAAKqiB,IACX9f,EAAcvC,KAAKuC,WAEzBvC,MAAKwC,SACLxC,KAAKuiB,UAAUF,EAAK9f,EAAa8G,EAAgB3I,EAAO0E,OAExDpF,MAAKsF,OAAO1C,KAAKlC,IAIb,YAAA6hB,UAAR,SAAkBF,EACA9f,EACA8G,EACA3I,EACA0E,GAChBpF,KAAKiD,IAAI,EAAAC,kBAAwBlD,KAAMqiB,EAAK3hB,EAAO0E,KAG3C,YAAAvC,UAAV,WACE7C,KAAKY,cAAe,EACA,IAAhBZ,KAAKwC,QAAuC,IAAvBxC,KAAKsF,OAAO5D,QACnC1B,KAAKuC,YAAYlB,YAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,WAAQ2F,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WACpB8G,GACFrJ,KAAKoe,gBAAgB9a,EAAYC,EAAYC,EAAYC,GAEzDlB,EAAYnB,KAAKmC,IAIb,YAAA6a,gBAAR,SAAwB9a,EAAeC,EACfC,EAAoBC,GAC1C,GACII,GADJ,OAAQwF,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WAExB,KACEsB,EAASwF,EAAe/F,EAAYC,EAAYC,EAAYC,GAC5D,MAAOM,GAEP,WADAxB,GAAYvB,MAAM+C,GAIpBxB,EAAYnB,KAAKyC,IAGnB,YAAAqF,YAAA,SAAYnF,GACV/D,KAAKuC,YAAYvB,MAAM+C,IAGzB,YAAAZ,eAAA,SAAeO,GACb,GAAM4B,GAAStF,KAAKsF,MACpBtF,MAAKoI,OAAO1E,GACZ1D,KAAKwC,SACD8C,EAAO5D,OAAS,EAClB1B,KAAK0C,MAAM4C,EAAOE,SACO,IAAhBxF,KAAKwC,QAAgBxC,KAAKY,cACnCZ,KAAKuC,YAAYlB,YAGvB,GAjFmD,EAAA2C,gBAAtC,GAAAse,qBAAoB,G7C8gM3B,SAAU1iB,EAAQC,EAASC,GAEjC,Y8C5jMA,YAAgC0iB,EACAC,EACApE,GAC9B,WAD8B,KAAAA,MAAqBzY,OAAOC,mBACnD,SAAC/D,GAA0B,MAAAA,GAAOC,KAAK,GAAI2gB,GAAkBF,EAAaC,EAAMpE,K9C2jMzF,GAAIte,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K8CvmMnF,IAAyB,IACzB,IAA4B,IAC5B,IAAkC,GAClC,IAAgC,EAmChB,GAAAwiB,UAAS,CAMzB,kBACE,WAAoBH,EACAC,EACApE,GAFA,KAAAmE,cACA,KAAAC,OACA,KAAApE,aAQtB,MALE,aAAArc,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIugB,GAC1B9hB,EAAYd,KAAKwiB,YAAaxiB,KAAKyiB,KAAMziB,KAAKqe,cAGpD,IAXa,GAAAqE,kBAAiB,CAkB9B,mBAOE,WAAYngB,EACQigB,EACAK,EACAxE,GAClB,YAAM9b,GAHY,KAAAigB,cACA,KAAAK,MACA,KAAAxE,aATZ,KAAAxZ,UAAoB,EACpB,KAAAjE,cAAwB,EACxB,KAAA0E,UACA,KAAA9C,OAAiB,EACf,KAAA4C,MAAgB,EA6D5B,MAlE+C,QAcnC,YAAA1C,MAAV,SAAgBhC,GACd,GAAIV,KAAKwC,OAASxC,KAAKqe,WAAY,CACjC,GAAMjZ,GAAQpF,KAAKoF,QACbid,EAAM,EAAApY,SAASjK,KAAKwiB,aAAaxiB,KAAK6iB,IAAKniB,GAC3C6B,EAAcvC,KAAKuC,WACrB8f,KAAQ,EAAAnY,YACV3H,EAAYvB,MAAM,EAAAkJ,YAAYC,IAE9BnK,KAAKwC,SACLxC,KAAKuiB,UAAUF,EAAK3hB,EAAO0E,QAG7BpF,MAAKsF,OAAO1C,KAAKlC,IAIb,YAAA6hB,UAAR,SAAkBF,EAAU3hB,EAAU0E,GACpCpF,KAAKiD,IAAI,EAAAC,kBAAwBlD,KAAMqiB,EAAK3hB,EAAO0E,KAG3C,YAAAvC,UAAV,WACE7C,KAAKY,cAAe,EACA,IAAhBZ,KAAKwC,QAAuC,IAAvBxC,KAAKsF,OAAO5D,UACb,IAAlB1B,KAAK6E,UACP7E,KAAKuC,YAAYnB,KAAKpB,KAAK6iB,KAE7B7iB,KAAKuC,YAAYlB,aAIrB,YAAAgC,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACD,GAAAnB,GAAA,KAAAA,WACRvC,MAAK6iB,IAAMtf,EACXvD,KAAK6E,UAAW,EAChBtC,EAAYnB,KAAKmC,IAGnB,YAAAJ,eAAA,SAAeO,GACb,GAAM4B,GAAStF,KAAKsF,MACpBtF,MAAKoI,OAAO1E,GACZ1D,KAAKwC,SACD8C,EAAO5D,OAAS,EAClB1B,KAAK0C,MAAM4C,EAAOE,SACO,IAAhBxF,KAAKwC,QAAgBxC,KAAKY,gBACb,IAAlBZ,KAAK6E,UACP7E,KAAKuC,YAAYnB,KAAKpB,KAAK6iB,KAE7B7iB,KAAKuC,YAAYlB,aAGvB,GAlE+C,EAAA2C,gBAAlC,GAAA4e,oBAAmB,G9CyqM1B,SAAUhjB,EAAQC,EAASC,GAEjC,Y+C3sMA,YAAuBmiB,GACrB,GAAMlT,GAA8C,kBAAbkT,GACnC,SAACnY,EAAGC,GAAM,MAAAkY,GAASnY,EAAGC,GAAK,EAAID,EAAIC,GACnC,SAACD,EAAGC,GAAM,MAAAD,GAAIC,EAAID,EAAIC,EAC1B,OAAO,GAAAmY,OAAOnT,GAtChB,QAAuB,IAkCP,GAAAA,IAAG,G/CwvMb,SAAUnP,EAAQC,EAASC,GAEjC,YgDpvMA,cACE,MAAO,UAACgC,GAA0B,MAAAA,GAAOC,KAAK,GAAI+gB,KhDqvMpD,GAAI/iB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KgD/xMnF,IAA2B,EAsCX,GAAA4iB,SAAQ,CAIxB,gCAIA,MAHE,aAAA/gB,KAAA,SAAKlB,EAAgCgB,GACnC,MAAOA,GAAOO,UAAU,GAAI2gB,GAAmBliB,KAEnD,KAOA,cAIE,WAAYyB,GACV,YAAMA,GAHA,KAAA0gB,SAAmB,EAe7B,MAjBoC,QAQlC,YAAAvgB,MAAA,SAAMhC,GACAV,KAAKijB,QACPjjB,KAAKuC,YAAYnB,MAAMpB,KAAKkjB,KAAMxiB,IAElCV,KAAKijB,SAAU,EAGjBjjB,KAAKkjB,KAAOxiB,GAEhB,GAjBoC,EAAAuE,ahDszM9B,SAAUrF,EAAQC,EAASC,GAEjC,YiDj0MA,YAA6BuK,EACAC,GAC3B,MAAO,UAACxI,GAA0B,OAChC,EAAAqhB,OAAO9Y,EAAWC,GAASxI,GAC3B,EAAAqhB,OAAO,EAAAC,IAAI/Y,EAAWC,IAAiBxI,KAlD3C,QAAoB,KACpB,IAAuB,IA6CP,GAAAuhB,UAAS,GjDy3MnB,SAAUzjB,EAAQC,EAASC,GAEjC,YkD34MA,clD06MI,IkD16MwB,uDAC1B,IAAM4B,GAAS4hB,EAAW5hB,MAC1B,IAAe,IAAXA,EACF,KAAM,IAAI8M,OAAM,sCAElB,OAAO,UAAC1M,GAA0B,SAAAgJ,IAAIyY,EAAQD,EAAY5hB,IAASI,IAGrE,QAASyhB,GAAQvX,EAAiBtK,GAchC,MAbe,UAACoI,GAEd,IAAK,GADD0Z,GAAc1Z,EACT9G,EAAI,EAAGA,EAAItB,EAAQsB,IAAK,CAC/B,GAAM3C,GAAImjB,EAAYxX,EAAMhJ,GAC5B,QAAiB,KAAN3C,EAGT,MAFAmjB,GAAcnjB,EAKlB,MAAOmjB,IAhDX,QAAoB,IA6BJ,GAAAC,MAAK,GlDw8Mf,SAAU7jB,EAAQC,EAASC,GAEjC,YmD/8MA,YAA8B4jB,GAC5B,MAAOA,GACL,EAAAC,UAAU,WAAM,UAAI,GAAAriB,SAAcoiB,GAClC,EAAAC,UAAU,GAAI,GAAAriB,SA3BlB,QAAwB,GACxB,IAA0B,GAuBV,GAAAsiB,QAAO,GnD2+MjB,SAAUhkB,EAAQC,EAASC,GAEjC,YoD1/MA,YAAmCY,GACjC,MAAO,UAACoB,GAA0B,SAAA6hB,UAAU,GAAI,GAAAE,gBAAmBnjB,IAAQoB,IAZ7E,QAAgC,KAChC,IAA0B,GAUV,GAAAgiB,gBAAe,GpD4gNzB,SAAUlkB,EAAQC,EAASC,GAEjC,YqD7gNA,YAAoC2F,EACAC,EACAqe,EACApe,GAE9Boe,GAAsD,kBAAxBA,KAChCpe,EAAYoe,EAGd,IAAML,GAA0C,kBAAxBK,GAAqCA,MAAsBlZ,GAC7EmZ,EAAU,GAAI,GAAA7c,cAAiB1B,EAAYC,EAAYC,EAE7D,OAAO,UAAC7D,GAA0B,SAAA6hB,UAAU,WAAM,MAAAK,IAASN,GAAU5hB,IAxBvE,QAA8B,KAE9B,IAA0B,GAUV,GAAAmiB,cAAa,GrD+hNvB,SAAUrkB,EAAQC,EAASC,GAEjC,YsDxiNA,cACE,MAAO,UAACgC,GAA0B,SAAA6hB,UAAU,GAAI,GAAApiB,cAAmBO,IANrE,QAA6B,KAC7B,IAA0B,GAIV,GAAAoiB,YAAW,GtDojNrB,SAAUtkB,EAAQC,EAASC,GAEjC,YuDxiNA,cvDujNI,IuDvjNoB,uDACtB,OAAO,UAA8BgC,GAOnC,MAJ2B,KAAvBL,EAAYC,QAAgB,EAAAE,QAAQH,EAAY,MAClDA,EAAoCA,EAAY,IAG3CK,EAAOC,KAAKC,KAAK,EAAAwG,KAAU,cAAI1G,GAAM,OAAKL,MA3BrD,QAAwB,IAExB,IAAmC,IAiBnB,GAAA+G,KAAI,GvDwkNd,SAAU5I,EAAQC,EAASC,GAEjC,YwD3kNA,YAA0B0Y,GACxB,WADwB,KAAAA,OAAiB,GAClC,SAAC1W,GACN,MAAc,KAAV0W,EACK,GAAI,GAAA2L,gBACF3L,EAAQ,EACV1W,EAAOC,KAAK,GAAIqiB,IAAgB,EAAGtiB,IAEnCA,EAAOC,KAAK,GAAIqiB,GAAe5L,EAAQ,EAAG1W,KxDskNvD,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KwDlmNnF,IAA2B,GAE3B,IAAgC,GAgBhB,GAAAkkB,OAAM,CAYtB,kBACE,WAAoB7L,EACA1W,GADA,KAAA0W,QACA,KAAA1W,SAKtB,MAHE,aAAAE,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIiiB,GAAiBxjB,EAAYd,KAAKwY,MAAOxY,KAAK8B,UAE9E,KAOA,cACE,WAAYS,EACQiW,EACA1W,GAClB,YAAMS,GAFY,KAAAiW,QACA,KAAA1W,SActB,MAjBkC,QAMhC,YAAAT,SAAA,WACE,IAAKrB,KAAKwG,UAAW,CACnB,WAAQ1E,EAAA,EAAAA,OAAQ0W,EAAA,EAAAA,KAChB,IAAc,IAAVA,EACF,MAAO,aAAMnX,SAAQ,UACZmX,IAAS,IAClBxY,KAAKwY,MAAQA,EAAQ,GAEvB1W,EAAOO,UAAUrC,KAAKukB,4BAG5B,GAjBkC,EAAAtf,axD6nN5B,SAAUrF,EAAQC,EAASC,GAEjC,YyDhpNA,YAA8B0kB,GAC5B,MAAO,UAAC1iB,GAA0B,MAAAA,GAAOC,KAAK,GAAI0iB,GAAmBD,KzDipNvE,GAAIzkB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KyD9qNnF,IAAwB,GAExB,IAAyB,IACzB,IAA4B,IAE5B,IAAgC,GAEhC,IAAkC,EAkBlB,GAAAukB,WAAU,CAI1B,kBACE,WAAsBF,GAAA,KAAAA,WAMxB,MAHE,aAAAxiB,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIsiB,GAAqB7jB,EAAYd,KAAKwkB,SAAU1iB,KAEhF,KAOA,cAOE,WAAYS,EACQiiB,EACA1iB,GAClB,YAAMS,GAFY,KAAAiiB,WACA,KAAA1iB,SAJZ,KAAA8iB,2BAAqC,EAuE/C,MA5EyC,QAavC,YAAAvhB,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAK4kB,2BAA4B,EACjC5kB,KAAK8B,OAAOO,UAAUrC,OAGxB,YAAAmD,eAAA,SAAeO,GACb,IAAuC,IAAnC1D,KAAK4kB,0BACP,MAAO,aAAMvjB,SAAQ,YAIzB,YAAAA,SAAA,WAGE,GAFArB,KAAK4kB,2BAA4B,GAE5B5kB,KAAKwG,UAAW,CAInB,GAHKxG,KAAK6kB,SACR7kB,KAAK8kB,sBAEF9kB,KAAK+kB,qBAAuB/kB,KAAK+kB,oBAAoBze,OACxD,MAAO,aAAMjF,SAAQ,UAGvBrB,MAAKukB,yBACLvkB,KAAKglB,cAAc5jB,SAIc,YAAA+G,aAAA,WACnC,WAAQ6c,EAAA,EAAAA,cAAeD,EAAA,EAAAA,mBACnBC,KACFA,EAAc3c,cACdrI,KAAKglB,cAAgB,MAEnBD,IACFA,EAAoB1c,cACpBrI,KAAK+kB,oBAAsB,MAE7B/kB,KAAK6kB,QAAU,MAGoB,YAAAN,uBAAA,WACnC,WAAQS,EAAA,EAAAA,cAAeH,EAAA,EAAAA,QAASE,EAAA,EAAAA,mBAQhC,OAPA/kB,MAAKglB,cAAgB,KACrBhlB,KAAK6kB,QAAU,KACf7kB,KAAK+kB,oBAAsB,KAC3B,YAAMR,uBAAsB,WAC5BvkB,KAAKglB,cAAgBA,EACrBhlB,KAAK6kB,QAAUA,EACf7kB,KAAK+kB,oBAAsBA,EACpB/kB,MAGD,YAAA8kB,mBAAR,WACE9kB,KAAKglB,cAAgB,GAAI,GAAA1jB,OACzB,IAAMujB,GAAU,EAAA5a,SAASjK,KAAKwkB,UAAUxkB,KAAKglB,cAC7C,IAAIH,IAAY,EAAA3a,YACd,MAAO,aAAM7I,SAAQ,UAEvBrB,MAAK6kB,QAAUA,EACf7kB,KAAK+kB,oBAAsB,EAAA7hB,kBAAkBlD,KAAM6kB,IAEvD,GA5EyC,EAAA7gB,kBzD8uNnC,SAAUpE,EAAQC,EAASC,GAEjC,Y0DvwNA,YAAyB0Y,GACvB,WADuB,KAAAA,OAAiB,GACjC,SAAC1W,GAA0B,MAAAA,GAAOC,KAAK,GAAIkjB,GAAczM,EAAO1W,K1DwwNzE,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K0DlyNnF,IAA2B,EAsBX,GAAA+kB,MAAK,CAIrB,kBACE,WAAoB1M,EACA1W,GADA,KAAA0W,QACA,KAAA1W,SAMtB,MAHE,aAAAE,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI8iB,GAAgBrkB,EAAYd,KAAKwY,MAAOxY,KAAK8B,UAE7E,KAOA,cACE,WAAYS,EACQiW,EACA1W,GAClB,YAAMS,GAFY,KAAAiW,QACA,KAAA1W,SActB,MAjBiC,QAM/B,YAAAd,MAAA,SAAM+C,GACJ,IAAK/D,KAAKwG,UAAW,CACnB,WAAQ1E,EAAA,EAAAA,OAAQ0W,EAAA,EAAAA,KAChB,IAAc,IAAVA,EACF,MAAO,aAAMxX,MAAK,UAAC+C,EACVyU,IAAS,IAClBxY,KAAKwY,MAAQA,EAAQ,GAEvB1W,EAAOO,UAAUrC,KAAKukB,4BAG5B,GAjBiC,EAAAtf,a1DyzN3B,SAAUrF,EAAQC,EAASC,GAEjC,Y2Dz0NA,YAA6B0kB,GAC3B,MAAO,UAAC1iB,GAA0B,MAAAA,GAAOC,KAAK,GAAIqjB,GAAkBZ,EAAU1iB,K3D00NhF,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K2Dv2NnF,IAAwB,GAExB,IAAyB,IACzB,IAA4B,IAE5B,IAAgC,GAEhC,IAAkC,EAkBlB,GAAAklB,UAAS,CAIzB,kBACE,WAAsBb,EACH1iB,GADG,KAAA0iB,WACH,KAAA1iB,SAMrB,MAHE,aAAAE,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIijB,GAAoBxkB,EAAYd,KAAKwkB,SAAUxkB,KAAK8B,UAEpF,KAOA,cAME,WAAYS,EACQiiB,EACA1iB,GAClB,YAAMS,GAFY,KAAAiiB,WACA,KAAA1iB,SA8DtB,MAtEwC,QAYtC,YAAAd,MAAA,SAAM+C,GACJ,IAAK/D,KAAKwG,UAAW,CAEnB,GAAI+e,GAASvlB,KAAKulB,OACdV,EAAe7kB,KAAK6kB,QACpBE,EAAsB/kB,KAAK+kB,mBAE/B,IAAKF,EAQH7kB,KAAKulB,OAAS,KACdvlB,KAAK+kB,oBAAsB,SATf,CAGZ,GAFAQ,EAAS,GAAI,GAAAjkB,SACbujB,EAAU,EAAA5a,SAASjK,KAAKwkB,UAAUe,MAClB,EAAArb,YACd,MAAO,aAAMlJ,MAAK,UAAC,EAAAkJ,YAAYC,EAEjC4a,GAAsB,EAAA7hB,kBAAkBlD,KAAM6kB,GAMhD7kB,KAAKukB,yBAELvkB,KAAKulB,OAASA,EACdvlB,KAAK6kB,QAAUA,EACf7kB,KAAK+kB,oBAAsBA,EAE3BQ,EAAOnkB,KAAK2C,KAIqB,YAAAoE,aAAA,WACnC,WAAQod,EAAA,EAAAA,OAAQR,EAAA,EAAAA,mBACZQ,KACFA,EAAOld,cACPrI,KAAKulB,OAAS,MAEZR,IACFA,EAAoB1c,cACpBrI,KAAK+kB,oBAAsB,MAE7B/kB,KAAK6kB,QAAU,MAGjB,YAAAxhB,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,WAAQ6hB,EAAA,EAAAA,OAAQV,EAAA,EAAAA,QAASE,EAAA,EAAAA,mBACzB/kB,MAAKulB,OAAS,KACdvlB,KAAK6kB,QAAU,KACf7kB,KAAK+kB,oBAAsB,KAE3B/kB,KAAKukB,yBAELvkB,KAAKulB,OAASA,EACdvlB,KAAK6kB,QAAUA,EACf7kB,KAAK+kB,oBAAsBA,EAE3B/kB,KAAK8B,OAAOO,UAAUrC,OAE1B,GAtEwC,EAAAgE,kB3D+5NlC,SAAUpE,EAAQC,EAASC,GAEjC,Y4Dp6NA,YAA0B0kB,GACxB,MAAO,UAAC1iB,GAA0B,MAAAA,GAAOC,KAAK,GAAIyjB,GAAehB,K5Dq6NnE,GAAIzkB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K4Dj9NnF,IAAgC,GAEhC,IAAkC,EAsClB,GAAAslB,OAAM,CAItB,kBACE,WAAoBjB,GAAA,KAAAA,WAStB,MANE,aAAAxiB,KAAA,SAAKlB,EAA2BgB,GAC9B,GAAM4jB,GAAmB,GAAIC,GAAiB7kB,GACxCuF,EAAevE,EAAOO,UAAUqjB,EAEtC,OADArf,GAAapD,IAAI,EAAAC,kBAAkBwiB,EAAkB1lB,KAAKwkB,WACnDne,GAEX,KAOA,2BAAqC,wBAE3B,KAAAxB,UAAoB,EAuB9B,MAzBqC,QAIzB,YAAAnC,MAAV,SAAgBhC,GACdV,KAAKU,MAAQA,EACbV,KAAK6E,UAAW,GAGlB,YAAAxB,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKgc,aAGP,YAAA7Y,eAAA,WACEnD,KAAKgc,aAGP,YAAAA,UAAA,WACMhc,KAAK6E,WACP7E,KAAK6E,UAAW,EAChB7E,KAAKuC,YAAYnB,KAAKpB,KAAKU,SAGjC,GAzBqC,EAAAsD,kB5D2+N/B,SAAUpE,EAAQC,EAASC,GAEjC,Y6DhgOA,YAA8B8lB,EAAgBjgB,GAC5C,WAD4C,KAAAA,MAAA,SACrC,SAAC7D,GAA0B,MAAAA,GAAOC,KAAK,GAAI8jB,GAAmBD,EAAQjgB,KA0C/E,QAASmgB,GAA2C/M,GAC5C,GAAAjY,GAAA,EAAAA,WAAY8kB,EAAA,EAAAA,MAClB9kB,GAAWuC,aACXrD,KAAKqZ,SAASN,EAAO6M,G7Do9NvB,GAAI7lB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K6DjjOnF,IAA2B,GAG3B,IAAsB,GAyCN,GAAA4lB,WAAU,CAI1B,kBACE,WAAoBH,EACAjgB,GADA,KAAAigB,SACA,KAAAjgB,YAMtB,MAHE,aAAA3D,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI2jB,GAAqBllB,EAAYd,KAAK4lB,OAAQ5lB,KAAK2F,aAEnF,KAOA,cAIE,WAAYpD,EACQqjB,EACAjgB,GAClB,YAAMpD,GAFY,KAAAqjB,SACA,KAAAjgB,YAJpB,KAAAd,UAAoB,EAMlB7E,KAAKiD,IAAI0C,EAAU0T,SAASyM,EAAsBF,GAAU9kB,WAAYd,KAAM4lB,YAclF,MAtBsC,QAW1B,YAAAljB,MAAV,SAAgBhC,GACdV,KAAKghB,UAAYtgB,EACjBV,KAAK6E,UAAW,GAGlB,YAAAxB,WAAA,WACMrD,KAAK6E,WACP7E,KAAK6E,UAAW,EAChB7E,KAAKuC,YAAYnB,KAAKpB,KAAKghB,aAGjC,GAtBsC,EAAA/b,a7D4kOhC,SAAUrF,EAAQC,EAASC,GAEjC,Y8DllOA,YAAiCmmB,EACAC,GAC/B,MAAO,UAACpkB,GAA0B,MAAAA,GAAOC,KAAK,GAAIokB,GAAsBF,EAAWC,K9DklOrF,GAAInmB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K8DjpOnF,IAA2B,GAC3B,IAAyB,IACzB,IAA4B,GAwDZ,GAAAimB,cAAa,CAK7B,kBACE,WAAoBH,EACAC,GADA,KAAAD,YACA,KAAAC,WAMtB,MAHE,aAAAlkB,KAAA,SAAKlB,EAAiCgB,GACpC,MAAOA,GAAOO,UAAU,GAAIgkB,GAAwBvlB,EAAYd,KAAKimB,UAAWjmB,KAAKkmB,YAEzF,IARa,GAAAC,sBAAqB,CAelC,mBAKE,WAAY5jB,EACQ0jB,EACAC,GAClB,YAAM3jB,GAFY,KAAA0jB,YACA,KAAAC,WANZ,KAAAI,MACA,KAAAC,MACA,KAAAC,cAAe,EAMrBxmB,KAAKiD,IAAIgjB,EAAU5jB,UAAU,GAAIokB,GAAiClkB,EAAavC,QAsDnF,MA/DmD,QAYvC,YAAA0C,MAAV,SAAgBhC,GACVV,KAAKwmB,cAAmC,IAAnBxmB,KAAKumB,GAAG7kB,OAC/B1B,KAAK0mB,MAAK,IAEV1mB,KAAKsmB,GAAG1jB,KAAKlC,GACbV,KAAK2mB,gBAIF,YAAA9jB,UAAP,WACM7C,KAAKwmB,aACPxmB,KAAK0mB,KAAwB,IAAnB1mB,KAAKsmB,GAAG5kB,QAAmC,IAAnB1B,KAAKumB,GAAG7kB,QAE1C1B,KAAKwmB,cAAe,GAIxB,YAAAG,YAAA,WAEE,IADA,WAAQL,EAAA,EAAAA,GAAIC,EAAA,EAAAA,GAAIL,EAAA,EAAAA,SACTI,EAAG5kB,OAAS,GAAK6kB,EAAG7kB,OAAS,GAAG,CACrC,GAAIsO,GAAIsW,EAAG9gB,QACPtF,EAAIqmB,EAAG/gB,QACPohB,GAAW,CACXV,IACFU,EAAW,EAAA3c,SAASic,GAAUlW,EAAG9P,MAChB,EAAAgK,aACflK,KAAKuC,YAAYvB,MAAM,EAAAkJ,YAAYC,GAGrCyc,EAAW5W,IAAM9P,EAEd0mB,GACH5mB,KAAK0mB,MAAK,KAKhB,YAAAA,KAAA,SAAKhmB,GACK,GAAA6B,GAAA,KAAAA,WACRA,GAAYnB,KAAKV,GACjB6B,EAAYlB,YAGd,YAAAwlB,MAAA,SAAMnmB,GACAV,KAAKwmB,cAAmC,IAAnBxmB,KAAKsmB,GAAG5kB,OAC/B1B,KAAK0mB,MAAK,IAEV1mB,KAAKumB,GAAG3jB,KAAKlC,GACbV,KAAK2mB,gBAGX,GA/DmD,EAAA1hB,WAAtC,GAAAohB,wBAAuB,CAiEpC,mBACE,WAAY9jB,EAAkC8C,GAC5C,YAAM9C,GADsC,KAAA8C,SAehD,MAhBqD,QAKzC,YAAA3C,MAAV,SAAgBhC,GACdV,KAAKqF,OAAOwhB,MAAMnmB,IAGV,YAAA0I,OAAV,SAAiBrF,GACf/D,KAAKqF,OAAOrE,MAAM+C,IAGV,YAAAlB,UAAV,WACE7C,KAAKqF,OAAOxC,aAEhB,GAhBqD,EAAAoC,a9DqqO/C,SAAUrF,EAAQC,EAASC,GAEjC,Y+D9yOA,YAA+B2F,EAAqBC,EAAqBC,GACvE,MAAO,UAAC7D,GAA0B,MAAAA,GAAOC,KAAK+kB,EAAoBrhB,EAAYC,EAAYC,KAG5F,QAASmhB,GAAuBrhB,EAAqBC,EAAqBC,GACxE,GAAIqe,GAEA3d,EADA0gB,EAAW,EAEXhmB,GAAW,EACXwE,GAAa,CAEjB,OAAO,UAAmDzD,GACxDilB,IACK/C,IAAWjjB,IACdA,GAAW,EACXijB,EAAU,GAAI,GAAA7c,cAAiB1B,EAAYC,EAAYC,GACvDU,EAAevE,EAAOO,WACpBjB,KAAI,SAACV,GAASsjB,EAAQ5iB,KAAKV,IAC3BM,MAAK,SAAC+C,GACJhD,GAAW,EACXijB,EAAQhjB,MAAM+C,IAEhB1C,SAAQ,WACNkE,GAAa,EACbye,EAAQ3iB,cAKd,IAAMqC,GAAWsgB,EAAQ3hB,UAAUrC,KAEnC,OAAO,YACL+mB,IACArjB,EAAS2E,cACLhC,GAA6B,IAAb0gB,GAAkBxhB,GACpCc,EAAagC,gBA7CrB,QAA8B,IAUd,GAAA2e,YAAW,G/D+1OrB,SAAUpnB,EAAQC,EAASC,GAEjC,YgEn1OA,YAA0BuK,GACxB,MAAO,UAACvI,GAA0B,MAAAA,GAAOC,KAAK,GAAIklB,GAAe5c,EAAWvI,KhEo1O9E,GAAI/B,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KgE/2OnF,IAA2B,GAE3B,IAA2B,IAqBX,GAAA+mB,OAAM,CAItB,kBACE,WAAoB7c,EACAvI,GADA,KAAAuI,YACA,KAAAvI,SAMtB,MAHE,aAAAE,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI8kB,GAAiBrmB,EAAYd,KAAKqK,UAAWrK,KAAK8B,UAElF,KAOA,cAKE,WAAYS,EACQ8H,EACAvI,GAClB,YAAMS,GAFY,KAAA8H,YACA,KAAAvI,SANZ,KAAAslB,WAAqB,EAErB,KAAAhiB,MAAgB,EA+C1B,MAlDkC,QAWxB,YAAAiiB,iBAAR,SAAyB3mB,GACnBV,KAAKonB,UACPpnB,KAAKuC,YAAYvB,MAAM,4CAEvBhB,KAAKonB,WAAY,EACjBpnB,KAAKsnB,YAAc5mB,IAIb,YAAAgC,MAAV,SAAgBhC,GACd,GAAM0E,GAAQpF,KAAKoF,OAEfpF,MAAKqK,UACPrK,KAAKme,QAAQzd,EAAO0E,GAEpBpF,KAAKqnB,iBAAiB3mB,IAIlB,YAAAyd,QAAR,SAAgBzd,EAAU0E,GACxB,IACMpF,KAAKqK,UAAU3J,EAAO0E,EAAOpF,KAAK8B,SACpC9B,KAAKqnB,iBAAiB3mB,GAExB,MAAOqD,GACP/D,KAAKuC,YAAYvB,MAAM+C,KAIjB,YAAAlB,UAAV,WACE,GAAMN,GAAcvC,KAAKuC,WAErBvC,MAAKoF,MAAQ,GACf7C,EAAYnB,KAAKpB,KAAKonB,UAAYpnB,KAAKsnB,gBAAczc,IACrDtI,EAAYlB,YAEZkB,EAAYvB,MAAM,GAAI,GAAAkgB,aAG5B,GAlDkC,EAAAjc,ahEi6O5B,SAAUrF,EAAQC,EAASC,GAEjC,YiE97OA,YAAwB0Y,GACtB,MAAO,UAAC1W,GAA0B,MAAAA,GAAOC,KAAK,GAAIwlB,GAAa/O,KjE+7OjE,GAAIzY,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KiEn9OnF,IAA2B,EAgBX,GAAAqnB,KAAI,CAIpB,kBACE,WAAoBC,GAAA,KAAAA,QAMtB,MAHE,aAAAzlB,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIqlB,GAAe5mB,EAAYd,KAAKynB,SAEhE,KAOA,cAGE,WAAYllB,EAAoCklB,GAC9C,YAAMllB,GADwC,KAAAklB,QAFhD,KAAAjP,MAAgB,EAWlB,MAZgC,QAOpB,YAAA9V,MAAV,SAAgBoH,KACR9J,KAAKwY,MAAQxY,KAAKynB,OACtBznB,KAAKuC,YAAYnB,KAAK0I,IAG5B,GAZgC,EAAA7E,ajEm+O1B,SAAUrF,EAAQC,EAASC,GAEjC,YkEj+OA,YAA4B0Y,GAC1B,MAAO,UAAC1W,GAA0B,MAAAA,GAAOC,KAAK,GAAI4lB,GAAiBnP,KlEk+OrE,GAAIzY,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KkE5gPnF,IAA2B,GAC3B,IAAwC,IAqCxB,GAAAynB,SAAQ,CAIxB,kBACE,WAAoBC,GAClB,GADkB,KAAAA,aACd7nB,KAAK6nB,WAAa,EACpB,KAAM,IAAI,GAAA/I,wBAahB,MATE,aAAA9c,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAwB,KAApB9B,KAAK6nB,WAGA/lB,EAAOO,UAAU,GAAI,GAAA4C,WAAWnE,IAEhCgB,EAAOO,UAAU,GAAIylB,GAAmBhnB,EAAYd,KAAK6nB,cAGtE,KAOA,cAIE,WAAYtlB,EAAoCslB,GAC9C,YAAMtlB,GADwC,KAAAslB,aAFxC,KAAAE,OAAiB,EAIvB/nB,KAAKgoB,MAAQ,GAAItoB,OAASmoB,GAkB9B,MAxBoC,QASxB,YAAAnlB,MAAV,SAAgBhC,GACd,GAAMunB,GAAYjoB,KAAK6nB,WACjBrP,EAAQxY,KAAK+nB,QAEnB,IAAIvP,EAAQyP,EACVjoB,KAAKgoB,MAAMxP,GAAS9X,MACf,CACL,GAAMwnB,GAAe1P,EAAQyP,EACvBE,EAAOnoB,KAAKgoB,MACZI,EAAWD,EAAKD,EAEtBC,GAAKD,GAAgBxnB,EACrBV,KAAKuC,YAAYnB,KAAKgnB,KAG5B,GAxBoC,EAAAnjB,alEuiP9B,SAAUrF,EAAQC,EAASC,GAEjC,YmEtlPA,YAA6B0kB,GAC3B,MAAO,UAAC1iB,GAA0B,MAAAA,GAAOC,KAAK,GAAIsmB,GAAkB7D,KnEulPtE,GAAIzkB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KmE5mPnF,IAAgC,GAEhC,IAAkC,EAelB,GAAAmoB,UAAS,CAIzB,kBACE,WAAoB9D,GAAA,KAAAA,WAMtB,MAHE,aAAAxiB,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIkmB,GAAoBznB,EAAYd,KAAKwkB,YAErE,KAOA,cAKE,WAAYjiB,EACAiiB,GACV,YAAMjiB,GALA,KAAAsC,UAAoB,EACpB,KAAA2jB,gBAA0B,EAKhCxoB,KAAKiD,IAAI,EAAAC,kBAAkBlD,KAAMwkB,IA6BrC,MArCwC,QAW5B,YAAA9hB,MAAV,SAAgBhC,GACVV,KAAK6E,UACP,YAAMnC,MAAK,UAAChC,IAIN,YAAAmC,UAAV,WACM7C,KAAKwoB,eACP,YAAM3lB,UAAS,WAEf7C,KAAKqI,eAIT,YAAAhF,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAK6E,UAAW,GAGlB,YAAA1B,eAAA,WACEnD,KAAKwoB,gBAAiB,EAClBxoB,KAAKwG,WACP,YAAM3D,UAAS,YAGrB,GArCwC,EAAAmB,kBnE+oPlC,SAAUpE,EAAQC,EAASC,GAEjC,YoEtqPA,YAA6BuK,GAC3B,MAAO,UAACvI,GAA0B,MAAAA,GAAOC,KAAK,GAAI0mB,GAAkBpe,KpEuqPtE,GAAItK,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KoE3rPnF,IAA2B,EAgBX,GAAAuoB,UAAS,CAIzB,kBACE,WAAoBre,GAAA,KAAAA,YAMtB,MAHE,aAAArI,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIsmB,GAAoB7nB,EAAYd,KAAKqK,aAErE,KAOA,cAIE,WAAY9H,EACQ8H,GAClB,YAAM9H,GADY,KAAA8H,YAJZ,KAAAue,UAAoB,EACpB,KAAAxjB,MAAgB,EA0B1B,MA5BqC,QASzB,YAAA1C,MAAV,SAAgBhC,GACd,GAAM6B,GAAcvC,KAAKuC,WACrBvC,MAAK4oB,UACP5oB,KAAK6oB,iBAAiBnoB,GAGnBV,KAAK4oB,UACRrmB,EAAYnB,KAAKV,IAIb,YAAAmoB,iBAAR,SAAyBnoB,GACvB,IACE,GAAMmD,GAAS7D,KAAKqK,UAAU3J,EAAOV,KAAKoF,QAC1CpF,MAAK4oB,SAAWxe,QAAQvG,GACxB,MAAOE,GACP/D,KAAKuC,YAAYvB,MAAM+C,KAG7B,GA5BqC,EAAAkB,apE0tP/B,SAAUrF,EAAQC,EAASC,GAEjC,YqEhwPA,SAA2B,KAC3B,IAA8B,IAqCjB,GAAAgpB,KAAO,GAAI,GAAAC,cAAc,EAAAC,arEqwPhC,SAAUppB,EAAQC,EAASC,GAEjC,YsExyPA,cACE,MAAO,GAAAmpB,UAAU,EAAAC,UAJnB,QAA0B,KAC1B,IAAyB,IAET,GAAAC,UAAS,GtEozPnB,SAAUvpB,EAAQC,EAASC,GAEjC,YuEnwPA,YAAqCob,EACA7R,GAInC,MAAO,UAACvH,GAA0B,MAAAA,GAAOC,KAAK,GAAIqnB,GAAoBlO,EAAiB7R,KvEgwPzF,GAAItJ,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KuE5zPnF,IAAgC,GAEhC,IAAkC,EAkDlB,GAAAkpB,YAAW,CAQ3B,kBACE,WAAoB1mB,EACA0G,GADA,KAAA1G,aACA,KAAA0G,iBAMtB,MAHE,aAAArH,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIinB,GAAsBxoB,EAAYd,KAAK2C,WAAY3C,KAAKqJ,kBAExF,KAOA,cAIE,WAAY9G,EACQgnB,EACAlgB,GAClB,YAAM9G,GAFY,KAAAgnB,QACA,KAAAlgB,iBALZ,KAAAjE,MAAgB,EA4D1B,MA7D6C,QAUjC,YAAA1C,MAAV,SAAgBhC,GACd,GAAMia,GAAoB3a,KAAK2a,iBAC3BA,IACFA,EAAkBtS,cAEpBrI,KAAKiD,IAAIjD,KAAK2a,kBAAoB,EAAAzX,kBAAkBlD,KAAMA,KAAKupB,MAAO7oB,EAAOV,KAAKoF,WAG1E,YAAAvC,UAAV,WACS,GAAA8X,GAAA,KAAAA,iBACFA,KAAqBA,EAAkBrU,QAC1C,YAAMzD,UAAS,YAIkB,YAAAsF,aAAA,WACnCnI,KAAK2a,kBAAoB,MAG3B,YAAAxX,eAAA,SAAeO,GACb1D,KAAKoI,OAAO1E,GACZ1D,KAAK2a,kBAAoB,KACrB3a,KAAKwG,WACP,YAAM3D,UAAS,YAInB,YAAAQ,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT,WAAQ2F,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WACpB8G,GACFrJ,KAAKwpB,kBAAkBlmB,EAAYC,EAAYC,EAAYC,GAE3DlB,EAAYnB,KAAKmC,IAIb,YAAAimB,kBAAR,SAA0BlmB,EAAeC,EACfC,EAAoBC,GAC5C,GACII,GADJ,OAAQwF,EAAA,EAAAA,eAAgB9G,EAAA,EAAAA,WAExB,KACEsB,EAASwF,EAAe/F,EAAYC,EAAYC,EAAYC,GAC5D,MAAOM,GAEP,WADAxB,GAAYvB,MAAM+C,GAIpBxB,EAAYnB,KAAKyC,IAErB,GA7D6C,EAAAG,kBvE62PvC,SAAUpE,EAAQC,EAASC,GAEjC,YwEp5PA,YAA6BuK,GAC3B,MAAO,UAACvI,GAA0B,MAAAA,GAAOC,KAAK,GAAI0nB,GAAkBpf,KxEq5PtE,GAAItK,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KwEj8PnF,IAA2B,EAwCX,GAAAupB,UAAS,CAIzB,kBACE,WAAoBrf,GAAA,KAAAA,YAMtB,MAHE,aAAArI,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIsnB,GAAoB7oB,EAAYd,KAAKqK,aAErE,KAOA,cAGE,WAAY9H,EACQ8H,GAClB,YAAM9H,GADY,KAAA8H,YAHZ,KAAAjF,MAAgB,EA2B1B,MA5BqC,QAQzB,YAAA1C,MAAV,SAAgBhC,GACd,GACImD,GADEtB,EAAcvC,KAAKuC,WAEzB,KACEsB,EAAS7D,KAAKqK,UAAU3J,EAAOV,KAAKoF,SACpC,MAAOrB,GAEP,WADAxB,GAAYvB,MAAM+C,GAGpB/D,KAAK4pB,eAAelpB,EAAOmD,IAGrB,YAAA+lB,eAAR,SAAuBlpB,EAAUmpB,GAC/B,GAAMtnB,GAAcvC,KAAKuC,WACrB6H,SAAQyf,GACVtnB,EAAYnB,KAAKV,GAEjB6B,EAAYlB,YAGlB,GA5BqC,EAAA4D,axEk+P/B,SAAUrF,EAAQC,EAASC,GAEjC,YyEh/PA,YAAgCmI,EACAtC,EACA0B,GAC9B,WAF8B,KAAA1B,MAAA,aACA,KAAA0B,MAAA,yBACvB,SAACvF,GAA0B,MAAAA,GAAOC,KAAK,GAAI+nB,GAAqB7hB,EAAUtC,EAAW0B,EAAOE,QAASF,EAAOG,YAoErH,QAASuiB,GAAgBtQ,GACf,EAAA3Y,WACGkpB,gBzEy6Pb,GAAIjqB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KyEpiQnF,IAA2B,GAG3B,IAAsB,IAEtB,IAAsD,IA0CtC,GAAA8pB,aAAY,CAM5B,kBACE,WAAoBhiB,EACAtC,EACA4B,EACAC,GAHA,KAAAS,WACA,KAAAtC,YACA,KAAA4B,UACA,KAAAC,WAQtB,MALE,aAAAxF,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UACZ,GAAI6nB,GAAuBppB,EAAYd,KAAKiI,SAAUjI,KAAK2F,UAAW3F,KAAKuH,QAASvH,KAAKwH,YAG/F,KAOA,cAKE,WAAYjF,EACQ0F,EACAtC,EACA4B,EACAC,GAClB,YAAMjF,GAJY,KAAA0F,WACA,KAAAtC,YACA,KAAA4B,UACA,KAAAC,WAPZ,KAAAM,mBAA6B,EAC7B,KAAAE,eAAoB,KAqC9B,MAxCwC,QAa5B,YAAAtF,MAAV,SAAgBhC,GACVV,KAAK+H,UACH/H,KAAKwH,WACPxH,KAAKgI,eAAiBtH,EACtBV,KAAK8H,mBAAoB,IAG3B9H,KAAKiD,IAAIjD,KAAK+H,UAAY/H,KAAK2F,UAAU0T,SAAS0Q,EAAc/pB,KAAKiI,UAAYnH,WAAYd,QACzFA,KAAKuH,SACPvH,KAAKuC,YAAYnB,KAAKV,KAK5B,YAAAspB,cAAA,WACE,GAAMjiB,GAAY/H,KAAK+H,SACnBA,KACE/H,KAAKwH,UAAYxH,KAAK8H,oBACxB9H,KAAKuC,YAAYnB,KAAKpB,KAAKgI,gBAC3BhI,KAAKgI,eAAiB,KACtBhI,KAAK8H,mBAAoB,GAE3BC,EAAUM,cACVrI,KAAKoI,OAAOL,GACZ/H,KAAK+H,UAAY,OAGvB,GAxCwC,EAAA9C,azE+kQlC,SAAUrF,EAAQC,EAASC,GAEjC,Y0E9oQA,YAAqD6F,GACnD,WADmD,KAAAA,MAAA,SAC5C,eAAYA,GAAW3F,MAXhC,QAAsB,IACtB,IAA0D,IAClD,GAAAmqB,aAAY,eAQJ,EAAAC,aAAY,G1EkqQtB,SAAUxqB,EAAQC,EAASC,GAEjC,Y2EzqQA,YAAgC6F,GAC9B,WAD8B,KAAAA,MAAA,SACvB,SAAC7D,GAA0B,MAAAA,GAAOC,KAAK,GAAIsoB,GAAqB1kB,K3E0qQzE,GAAI5F,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K2EnrQnF,IAA2B,GAE3B,IAAsB,GAGN,GAAAiqB,aAAY,CAI5B,kBACE,WAAmB1pB,EAAiB4pB,GAAjB,KAAA5pB,QAAiB,KAAA4pB,WAGtC,WAJa,GAAAH,aAAY,CAMzB,kBACE,WAAoBxkB,GAAA,KAAAA,YAOtB,MAHE,aAAA3D,KAAA,SAAK2I,EAAuC7I,GAC1C,MAAOA,GAAOO,UAAU,GAAIkoB,GAAuB5f,EAAU3K,KAAK2F,aAEtE,KAOA,cAGE,WAAYpD,EAAkDoD,GAC5D,YAAMpD,GADsD,KAAAoD,YAFtD,KAAA6kB,SAAmB,EAKzBxqB,KAAKwqB,SAAW7kB,EAAUM,MAU9B,MAhBwC,QAS5B,YAAAvD,MAAV,SAAgBhC,GACd,GAAIuF,GAAMjG,KAAK2F,UAAUM,MACrBwkB,EAAOxkB,EAAMjG,KAAKwqB,QACtBxqB,MAAKwqB,SAAWvkB,EAEhBjG,KAAKuC,YAAYnB,KAAK,GAAI+oB,GAAazpB,EAAO+pB,KAElD,GAhBwC,EAAAxlB,a3EysQlC,SAAUrF,EAAQC,EAASC,GAEjC,Y4E/pQA,YAA2B4qB,EACA/kB,OAAA,KAAAA,MAAA,QACzB,IAAMglB,GAAkB,EAAAC,OAAOF,GACzBG,EAAUF,GAAoBD,EAAM/kB,EAAUM,MAASe,KAAK8jB,IAAYJ,EAC9E,OAAO,UAAC5oB,GAA0B,MAAAA,GAAOC,KAAK,GAAIgpB,GAAgBF,EAASF,EAAiBhlB,EAAW,GAAI,GAAAqlB,gB5E6pQ7G,GAAIjrB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K4E/uQnF,IAAsB,IACtB,IAAuB,KAEvB,IAA2B,GAI3B,IAA6B,IAoEb,GAAAgV,QAAO,CAOvB,kBACE,WAAoB0V,EACAF,EACAhlB,EACAslB,GAHA,KAAAJ,UACA,KAAAF,kBACA,KAAAhlB,YACA,KAAAslB,gBAQtB,MALE,aAAAjpB,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI6oB,GAC1BpqB,EAAYd,KAAK2qB,gBAAiB3qB,KAAK6qB,QAAS7qB,KAAK2F,UAAW3F,KAAKirB,iBAG3E,KAOA,cAIE,WAAY1oB,EACQooB,EACAE,EACAllB,EACAslB,GAClB,YAAM1oB,GAJY,KAAAooB,kBACA,KAAAE,UACA,KAAAllB,YACA,KAAAslB,gBANZ,KAAA1R,OAAuC,KAQ7CvZ,KAAKmrB,kBAmCT,MA7CmC,QAalB,EAAAC,gBAAf,SAAkCtqB,GAChCA,EAAWE,MAAMF,EAAWmqB,gBAGtB,YAAAE,gBAAR,WACU,GAAA5R,GAAA,KAAAA,MACJA,GAMFvZ,KAAKuZ,OAAyCA,EAAOF,SAASrZ,KAAMA,KAAK6qB,SAEzE7qB,KAAKiD,IAAIjD,KAAKuZ,OAAyCvZ,KAAK2F,UAAU0T,SACpE6R,EAAkBE,gBAAiBprB,KAAK6qB,QAAS7qB,QAK7C,YAAA0C,MAAV,SAAgBhC,GACTV,KAAK2qB,iBACR3qB,KAAKmrB,kBAEP,YAAMzoB,MAAK,UAAChC,IAGuB,YAAAyH,aAAA,WACnCnI,KAAKuZ,OAAS,KACdvZ,KAAK2F,UAAY,KACjB3F,KAAKirB,cAAgB,MAEzB,GA7CmC,EAAAhmB,a5EsxQ7B,SAAUrF,EAAQC,EAASC,GAEjC,YAEA,IAAIC,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K6E53QnF,cACE,aACE,GAAM4D,GAAW,YAAM,uBAChB/D,MAAMqrB,KAAOtnB,EAAIsnB,KAAO,eACxBrrB,KAAMsrB,MAAQvnB,EAAIunB,MAClBtrB,KAAM2X,QAAU5T,EAAI4T,QAE/B,MAPkC,QAOlC,GAPkCnJ,MAArB,GAAAwc,aAAY,G7Eo5QnB,SAAUprB,EAAQC,EAASC,GAEjC,Y8E71QA,YAAkC4qB,EACAa,EACA5lB,GAChC,WADgC,KAAAA,MAAA,SACzB,SAAC7D,GACN,GAAI6oB,GAAkB,EAAAC,OAAOF,GACzBG,EAAUF,GAAoBD,EAAM/kB,EAAUM,MAASe,KAAK8jB,IAAYJ,EAC5E,OAAO5oB,GAAOC,KAAK,GAAIypB,GAAoBX,EAASF,EAAiBY,EAAgB5lB,K9Ey1QzF,GAAI5F,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K8E95QnF,IAAsB,IAGtB,IAAuB,KACvB,IAAgC,GAChC,IAAkC,EAuDlB,GAAAsrB,YAAW,CAU3B,kBACE,WAAoBZ,EACAF,EACAY,EACA5lB,GAHA,KAAAklB,UACA,KAAAF,kBACA,KAAAY,iBACA,KAAA5lB,YAQtB,MALE,aAAA3D,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAIqpB,GAC1B5qB,EAAYd,KAAK2qB,gBAAiB3qB,KAAK6qB,QAAS7qB,KAAKurB,eAAgBvrB,KAAK2F,aAGhF,KAOA,cAIE,WAAYpD,EACQooB,EACAE,EACAU,EACA5lB,GAClB,YAAMpD,GAJY,KAAAooB,kBACA,KAAAE,UACA,KAAAU,iBACA,KAAA5lB,YANZ,KAAA4T,OAA8C,KAQpDvZ,KAAKmrB,kBAqCT,MA/C0C,QAazB,EAAAC,gBAAf,SAAqCtqB,GAC3B,GAAAyqB,GAAA,EAAAA,cACDzqB,GAAYyjB,yBACnBzjB,EAAWmC,IAAI,EAAAC,kBAAkBpC,EAAYyqB,KAGvC,YAAAJ,gBAAR,WACU,GAAA5R,GAAA,KAAAA,MACJA,GAMFvZ,KAAKuZ,OAAgDA,EAAOF,SAASrZ,KAAMA,KAAK6qB,SAEhF7qB,KAAKiD,IAAIjD,KAAKuZ,OAAgDvZ,KAAK2F,UAAU0T,SAC3EqS,EAAsBN,gBAAiBprB,KAAK6qB,QAAS7qB,QAKjD,YAAA0C,MAAV,SAAgBhC,GACTV,KAAK2qB,iBACR3qB,KAAKmrB,kBAEP,YAAMzoB,MAAK,UAAChC,IAGuB,YAAAyH,aAAA,WACnCnI,KAAKuZ,OAAS,KACdvZ,KAAK2F,UAAY,KACjB3F,KAAKurB,eAAiB,MAE1B,GA/C0C,EAAAvnB,kB9Eo8QpC,SAAUpE,EAAQC,EAASC,GAEjC,Y+Et/QA,YAA0B6rB,GACxB,MAAO,UAAgC7pB,GACrC,MAAOA,GAAOC,KAAK,GAAI6pB,GAAeD,K/Es/Q1C,GAAI5rB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,K+EtiRnF,IAAwB,GAExB,IAAgC,GAEhC,IAAkC,EAuClB,GAAAgL,OAAM,CAMtB,kBAEE,WAAoBwgB,GAAA,KAAAA,mBAWtB,MARE,aAAA3pB,KAAA,SAAKlB,EAAuCgB,GAC1C,GAAM+pB,GAAmB,GAAIC,GAAiBhrB,GACxCirB,EAAqBjqB,EAAOO,UAAUwpB,EAI5C,OAHKE,GAAmBzlB,QACtBulB,EAAiB5oB,IAAI,EAAAC,kBAAkB2oB,EAAkB7rB,KAAK2rB,mBAEzDI,GAEX,KAOA,cAIE,WAAYxpB,GACV,YAAMA,GAHA,KAAA4I,OAAqB,GAAI,GAAA7J,QAI/BiB,EAAYnB,KAAKpB,KAAKmL,QA4C1B,MAlDkC,QAShC,YAAA9H,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKgsB,cAGP,YAAA9iB,YAAA,SAAYlI,EAAY0C,GACtB1D,KAAKoJ,OAAOpI,IAGd,YAAAmC,eAAA,SAAeO,GACb1D,KAAK6C,aAGG,YAAAH,MAAV,SAAgBhC,GACdV,KAAKmL,OAAO/J,KAAKV,IAGT,YAAA0I,OAAV,SAAiBrF,GACf/D,KAAKmL,OAAOnK,MAAM+C,GAClB/D,KAAKuC,YAAYvB,MAAM+C,IAGf,YAAAlB,UAAV,WACE7C,KAAKmL,OAAO9J,WACZrB,KAAKuC,YAAYlB,YAGkB,YAAA8G,aAAA,WACnCnI,KAAKmL,OAAS,MAGR,YAAA6gB,WAAR,WACE,GAAMC,GAAajsB,KAAKmL,MACpB8gB,IACFA,EAAW5qB,UAEb,IAAMkB,GAAcvC,KAAKuC,YACnB2pB,EAAYlsB,KAAKmL,OAAS,GAAI,GAAA7J,OACpCiB,GAAYnB,KAAK8qB,IAErB,GAlDkC,EAAAloB,kB/EglR5B,SAAUpE,EAAQC,EAASC,GAEjC,YgFnmRA,YAA+BqsB,EACAC,GAC7B,WAD6B,KAAAA,MAAA,GACtB,SAAqCtqB,GAC1C,MAAOA,GAAOC,KAAK,GAAIsqB,GAAuBF,EAAYC,KhFkmR9D,GAAIrsB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KgF7pRnF,IAA2B,GAE3B,IAAwB,EAmDR,GAAAmsB,YAAW,CAO3B,kBAEE,WAAoBH,EACAC,GADA,KAAAD,aACA,KAAAC,mBAMtB,MAHE,aAAApqB,KAAA,SAAKlB,EAAuCgB,GAC1C,MAAOA,GAAOO,UAAU,GAAIkqB,GAAsBzrB,EAAYd,KAAKmsB,WAAYnsB,KAAKosB,oBAExF,KAOA,cAIE,WAAsB7pB,EACF4pB,EACAC,GAClB,YAAM7pB,GAHc,KAAAA,cACF,KAAA4pB,aACA,KAAAC,mBALZ,KAAAI,SAA0B,GAAI,GAAAlrB,SAC9B,KAAAkX,MAAgB,EAMtBjW,EAAYnB,KAAKpB,KAAKwsB,QAAQ,IAgDlC,MAxDuC,QAW3B,YAAA9pB,MAAV,SAAgBhC,GAOd,IAAK,GANC0rB,GAAoBpsB,KAAKosB,iBAAmB,EAAKpsB,KAAKosB,iBAAmBpsB,KAAKmsB,WAC9E5pB,EAAcvC,KAAKuC,YACnB4pB,EAAansB,KAAKmsB,WAClBK,EAAUxsB,KAAKwsB,QACf1pB,EAAM0pB,EAAQ9qB,OAEXsB,EAAI,EAAGA,EAAIF,IAAQ9C,KAAKsG,OAAQtD,IACvCwpB,EAAQxpB,GAAG5B,KAAKV,EAElB,IAAM6O,GAAIvP,KAAKwY,MAAQ2T,EAAa,CAIpC,IAHI5c,GAAK,GAAKA,EAAI6c,GAAqB,IAAMpsB,KAAKsG,QAChDkmB,EAAQhnB,QAAQnE,aAEZrB,KAAKwY,MAAQ4T,GAAqB,IAAMpsB,KAAKsG,OAAQ,CACzD,GAAM,GAAS,GAAI,GAAAhF,OACnBkrB,GAAQ5pB,KAAK,GACbL,EAAYnB,KAAK,KAIX,YAAAgI,OAAV,SAAiBrF,GACf,GAAMyoB,GAAUxsB,KAAKwsB,OACrB,IAAIA,EACF,KAAOA,EAAQ9qB,OAAS,IAAM1B,KAAKsG,QACjCkmB,EAAQhnB,QAAQxE,MAAM+C,EAG1B/D,MAAKuC,YAAYvB,MAAM+C,IAGf,YAAAlB,UAAV,WACE,GAAM2pB,GAAUxsB,KAAKwsB,OACrB,IAAIA,EACF,KAAOA,EAAQ9qB,OAAS,IAAM1B,KAAKsG,QACjCkmB,EAAQhnB,QAAQnE,UAGpBrB,MAAKuC,YAAYlB,YAGkB,YAAA8G,aAAA,WACnCnI,KAAKwY,MAAQ,EACbxY,KAAKwsB,QAAU,MAEnB,GAxDuC,EAAAvnB,ahFqtRjC,SAAUrF,EAAQC,EAASC,GAEjC,YiFltRA,YAA8B2sB,GAC5B,GAAI9mB,GAAwB,EAAAoP,MACxB2X,EAAiC,KACjCC,EAAwB/mB,OAAOC,iBAkBnC,OAhBI,GAAA6S,YAAY1L,UAAU,MACxBrH,EAAYqH,UAAU,IAGpB,EAAA0L,YAAY1L,UAAU,IACxBrH,EAAYqH,UAAU,GACb,EAAA4f,UAAU5f,UAAU,MAC7B2f,EAAgB3f,UAAU,IAGxB,EAAA0L,YAAY1L,UAAU,IACxBrH,EAAYqH,UAAU,GACb,EAAA4f,UAAU5f,UAAU,MAC7B0f,EAAyB1f,UAAU,IAG9B,SAAoClL,GACzC,MAAOA,GAAOC,KAAK,GAAI8qB,GAAsBJ,EAAgBC,EAAwBC,EAAehnB,KAmIxG,QAASmnB,GAAkE/T,GACjE,GAAAjY,GAAA,EAAAA,WAAY2rB,EAAA,EAAAA,eAAgBthB,EAAA,EAAAA,MAChCA,IACFrK,EAAWisB,YAAY5hB,GAEzB4N,EAAM5N,OAASrK,EAAWkrB,aAC1BhsB,KAAKqZ,SAASN,EAAO0T,GAGvB,QAASO,GAA0DjU,GACzD,GAAA0T,GAAA,EAAAA,eAAgB3rB,EAAA,EAAAA,WAAY6E,EAAA,EAAAA,UAAW+mB,EAAA,EAAAA,uBACzCvhB,EAASrK,EAAWkrB,aACpBzS,EAASvZ,KACXiZ,GAAmCM,SAAQlT,aAAmB,MAC5D4mB,GAAiCnsB,aAAYqK,SAAQ8N,UAC3DA,GAAQ5S,aAAeV,EAAU0T,SAAS6T,EAAqBT,EAAgBQ,GAC/E1T,EAAOtW,IAAIgW,EAAQ5S,cACnBkT,EAAOF,SAASN,EAAO2T,GAGzB,QAASQ,GAAuBnU,GACtB,GAAAjY,GAAA,EAAAA,WAAYqK,EAAA,EAAAA,OAAQ8N,EAAA,EAAAA,OACxBA,IAAWA,EAAQM,QAAUN,EAAQ5S,cACvC4S,EAAQM,OAAOnR,OAAO6Q,EAAQ5S,cAEhCvF,EAAWisB,YAAY5hB,GjFkiRzB,GAAIpL,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KiFvyRnF,IAAwB,GAExB,IAAsB,IACtB,IAA2B,GAG3B,IAA0B,KAC1B,IAA4B,GAyEZ,GAAAuF,WAAU,CA0B1B,kBAEE,WAAoB+mB,EACAC,EACAC,EACAhnB,GAHA,KAAA8mB,iBACA,KAAAC,yBACA,KAAAC,gBACA,KAAAhnB,YAQtB,MALE,aAAA3D,KAAA,SAAKlB,EAAuCgB,GAC1C,MAAOA,GAAOO,UAAU,GAAI8qB,GAC1BrsB,EAAYd,KAAKysB,eAAgBzsB,KAAK0sB,uBAAwB1sB,KAAK2sB,cAAe3sB,KAAK2F,aAG7F,KA0BA,2BAAgC,wBACtB,KAAAynB,sBAAgC,EAU1C,MAXgC,QAG9B,YAAAhsB,KAAA,SAAKV,GACHV,KAAKotB,wBACL,YAAMhsB,KAAI,UAACV,IAGb,sBAAI,oCjFosRE4U,IiFpsRN,WACE,MAAOtV,MAAKotB,uBjFssRRC,YAAY,EACZC,cAAc,IiFrsRtB,GAXgC,EAAAhsB,SAkBhC,cAGE,WAAsBiB,EACFkqB,EACAC,EACAC,EACAhnB,GAClB,YAAMpD,GALc,KAAAA,cACF,KAAAkqB,iBACA,KAAAC,yBACA,KAAAC,gBACA,KAAAhnB,YANZ,KAAA6mB,UASN,IAAMrhB,GAASnL,KAAKgsB,YACpB,IAA+B,OAA3BU,GAAmCA,GAA0B,EAAG,CAClE,GAAM5S,IAA8BhZ,WAAYd,KAAMmL,SAAQ8N,QAAc,MACtEc,GAAoC0S,iBAAgBC,yBAAwB5rB,WAAYd,KAAM2F,YACpG3F,MAAKiD,IAAI0C,EAAU0T,SAAS6T,EAAqBT,EAAgB3S,IACjE9Z,KAAKiD,IAAI0C,EAAU0T,SAAS2T,EAAwBN,EAAwB3S,QACvE,CACL,GAAMF,IAA4C/Y,WAAYd,KAAMmL,SAAQshB,iBAC5EzsB,MAAKiD,IAAI0C,EAAU0T,SAASyT,EAA4BL,EAAgB5S,KAkD9E,MApEsC,QAsB1B,YAAAnX,MAAV,SAAgBhC,GAGd,IAAK,GAFC8rB,GAAUxsB,KAAKwsB,QACf1pB,EAAM0pB,EAAQ9qB,OACXsB,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAM,GAASwpB,EAAQxpB,EAClB,GAAOsD,SACV,EAAOlF,KAAKV,GACR,EAAO6sB,sBAAwBvtB,KAAK2sB,eACtC3sB,KAAK+sB,YAAY,MAMf,YAAA3jB,OAAV,SAAiBrF,GAEf,IADA,GAAMyoB,GAAUxsB,KAAKwsB,QACdA,EAAQ9qB,OAAS,GACtB8qB,EAAQhnB,QAAQxE,MAAM+C,EAExB/D,MAAKuC,YAAYvB,MAAM+C,IAGf,YAAAlB,UAAV,WAEE,IADA,GAAM2pB,GAAUxsB,KAAKwsB,QACdA,EAAQ9qB,OAAS,GAAG,CACzB,GAAM,GAAS8qB,EAAQhnB,OAClB,GAAOc,QACV,EAAOjF,WAGXrB,KAAKuC,YAAYlB,YAGZ,YAAA2qB,WAAP,WACE,GAAM7gB,GAAS,GAAIqiB,EAInB,OAHAxtB,MAAKwsB,QAAQ5pB,KAAKuI,GACEnL,KAAKuC,YACbnB,KAAK+J,GACVA,GAGF,YAAA4hB,YAAP,SAAmB5hB,GACjBA,EAAO9J,UACP,IAAMmrB,GAAUxsB,KAAKwsB,OACrBA,GAAQtlB,OAAOslB,EAAQhW,QAAQrL,GAAS,IAE5C,GApEsC,EAAAlG,ajFsyRhC,SAAUrF,EAAQC,EAASC,GAEjC,YkFx5RA,YAAmCqa,EACAC,GACjC,MAAO,UAACtY,GAA0B,MAAAA,GAAOC,KAAK,GAAI0rB,GAA2BtT,EAAUC,KlFw5RzF,GAAIra,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KkF/8RnF,IAAwB,GACxB,IAA6B,IAC7B,IAAyB,IACzB,IAA4B,IAC5B,IAAgC,GAEhC,IAAkC,EA4ClB,GAAAutB,aAAY,CAK5B,kBAEE,WAAoBvT,EACAC,GADA,KAAAD,WACA,KAAAC,kBAQtB,MALE,aAAApY,KAAA,SAAKlB,EAAuCgB,GAC1C,MAAOA,GAAOO,UAAU,GAAIsrB,GAC1B7sB,EAAYd,KAAKma,SAAUna,KAAKoa,mBAGtC,KAYA,cAIE,WAAY7X,EACQ4X,EACAC,GAClB,YAAM7X,GAFY,KAAA4X,WACA,KAAAC,kBALZ,KAAAvO,YAON7L,KAAKiD,IAAIjD,KAAK4tB,iBAAmB,EAAA1qB,kBAAkBlD,KAAMma,EAAUA,IAoHvE,MA5H2C,QAW/B,YAAAzX,MAAV,SAAgBhC,GACN,GAAAmL,GAAA,KAAAA,QACR,IAAIA,EAEF,IAAK,GADC/I,GAAM+I,EAASnK,OACZsB,EAAI,EAAGA,EAAIF,EAAKE,IACvB6I,EAAS7I,GAAGmI,OAAO/J,KAAKV,IAKpB,YAAA0I,OAAV,SAAiBrF,GAEP,GAAA8H,GAAA,KAAAA,QAGR,IAFA7L,KAAK6L,SAAW,KAEZA,EAIF,IAHA,GAAM/I,GAAM+I,EAASnK,OACjB0D,GAAS,IAEJA,EAAQtC,GAAK,CACpB,GAAMmW,GAAUpN,EAASzG,EACzB6T,GAAQ9N,OAAOnK,MAAM+C,GACrBkV,EAAQ5S,aAAagC,cAIzB,YAAMe,OAAM,UAACrF,IAGL,YAAAlB,UAAV,WACU,GAAAgJ,GAAA,KAAAA,QAER,IADA7L,KAAK6L,SAAW,KACZA,EAGF,IAFA,GAAM/I,GAAM+I,EAASnK,OACjB0D,GAAS,IACJA,EAAQtC,GAAK,CACpB,GAAMmW,GAAUpN,EAASzG,EACzB6T,GAAQ9N,OAAO9J,WACf4X,EAAQ5S,aAAagC,cAGzB,YAAMxF,UAAS,YAGoB,YAAAsF,aAAA,WAC3B,GAAA0D,GAAA,KAAAA,QAER,IADA7L,KAAK6L,SAAW,KACZA,EAGF,IAFA,GAAM/I,GAAM+I,EAASnK,OACjB0D,GAAS,IACJA,EAAQtC,GAAK,CACpB,GAAMmW,GAAUpN,EAASzG,EACzB6T,GAAQ9N,OAAO9C,cACf4Q,EAAQ5S,aAAagC,gBAK3B,YAAAhF,WAAA,SAAWC,EAAiBC,EACjBC,EAAoBC,EACpBC,GAET,GAAIJ,IAAetD,KAAKma,SAAU,CAExB,GAAAC,GAAA,KAAAA,gBACFtC,EAAkB,EAAA7N,SAASmQ,GAAiB7W,EAElD,IAAIuU,IAAoB,EAAA5N,YACtB,MAAOlK,MAAKgB,MAAM,EAAAkJ,YAAYC,EAE9B,IAAM,GAAS,GAAI,GAAA7I,QACb+E,EAAe,GAAI,GAAAnF,aACnB+X,GAAY9N,OAAA,EAAQ9E,eAC1BrG,MAAK6L,SAASjJ,KAAKqW,EACnB,IAAM0B,GAAoB,EAAAzX,kBAAkBlD,KAAM8X,EAAiBmB,EAE/D0B,GAAkBrU,OACpBtG,KAAK+sB,YAAY/sB,KAAK6L,SAASnK,OAAS,IAEjCiZ,EAAmB1B,QAAUA,EACpC5S,EAAapD,IAAI0X,IAGnB3a,KAAKuC,YAAYnB,KAAK,OAIxBpB,MAAK+sB,YAAY/sB,KAAK6L,SAAS2K,QAAQlT,KAI3C,YAAA4F,YAAA,SAAYnF,GACV/D,KAAKgB,MAAM+C,IAGb,YAAAZ,eAAA,SAAeomB,GACTA,IAAUvpB,KAAK4tB,kBACjB5tB,KAAK+sB,YAAY/sB,KAAK6L,SAAS2K,QAAe+S,EAAOtQ,WAIjD,YAAA8T,YAAR,SAAoB3nB,GAClB,IAAe,IAAXA,EAAJ,CAIQ,GAAAyG,GAAA,KAAAA,SACFoN,EAAUpN,EAASzG,GACjB+F,EAAA,EAAAA,OAAQ9E,EAAA,EAAAA,YAChBwF,GAAS3E,OAAO9B,EAAO,GACvB+F,EAAO9J,WACPgF,EAAagC,gBAEjB,GA5H2C,EAAArE,kBlFojSrC,SAAUpE,EAAQC,EAASC,GAEjC,YmFrlSA,YAA8Bsa,GAC5B,MAAO,UAAoCtY,GACzC,MAAOA,GAAOC,KAAK,GAAI6pB,GAAkBxR,KnFqlS7C,GAAIra,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KmFzoSnF,IAAwB,GAExB,IAAyB,IACzB,IAA4B,IAC5B,IAAgC,GAEhC,IAAkC,EAyClB,GAAA0tB,WAAU,CAM1B,kBACE,WAAoBzT,GAAA,KAAAA,kBAMtB,MAHE,aAAApY,KAAA,SAAKlB,EAAuCgB,GAC1C,MAAOA,GAAOO,UAAU,GAAIypB,GAAiBhrB,EAAYd,KAAKoa,mBAElE,KAOA,cAIE,WAAsB7X,EACF6X,GAClB,YAAM7X,GAFc,KAAAA,cACF,KAAA6X,kBAElBpa,KAAKgsB,aA8DT,MArEkC,QAUhC,YAAA3oB,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKgsB,WAAWtoB,IAGlB,YAAAwF,YAAA,SAAYlI,EAAY0C,GACtB1D,KAAKoJ,OAAOpI,IAGd,YAAAmC,eAAA,SAAeO,GACb1D,KAAKgsB,WAAWtoB,IAGR,YAAAhB,MAAV,SAAgBhC,GACdV,KAAKmL,OAAO/J,KAAKV,IAGT,YAAA0I,OAAV,SAAiBrF,GACf/D,KAAKmL,OAAOnK,MAAM+C,GAClB/D,KAAKuC,YAAYvB,MAAM+C,GACvB/D,KAAK8tB,kCAGG,YAAAjrB,UAAV,WACE7C,KAAKmL,OAAO9J,WACZrB,KAAKuC,YAAYlB,WACjBrB,KAAK8tB,kCAGC,YAAAA,+BAAR,WACM9tB,KAAK+tB,qBACP/tB,KAAK+tB,oBAAoB1lB,eAIrB,YAAA2jB,WAAR,SAAmBtoB,OAAA,KAAAA,MAAA,MACbA,IACF1D,KAAKoI,OAAO1E,GACZA,EAAS2E,cAGX,IAAM4jB,GAAajsB,KAAKmL,MACpB8gB,IACFA,EAAW5qB,UAGb,IAAM8J,GAASnL,KAAKmL,OAAS,GAAI,GAAA7J,OACjCtB,MAAKuC,YAAYnB,KAAK+J,EAEtB,IAAM2M,GAAkB,EAAA7N,SAASjK,KAAKoa,kBACtC,IAAItC,IAAoB,EAAA5N,YAAa,CACnC,GAAMnG,GAAM,EAAAmG,YAAYC,CACxBnK,MAAKuC,YAAYvB,MAAM+C,GACvB/D,KAAKmL,OAAOnK,MAAM+C,OAElB/D,MAAKiD,IAAIjD,KAAK+tB,oBAAsB,EAAA7qB,kBAAkBlD,KAAM8X,KAGlE,GArEkC,EAAA9T,kBnFssS5B,SAAUpE,EAAQC,EAASC,GAEjC,YoF/sSA,cpFiwSI,IoFjwSiC,uDACnC,OAAO,UAACgC,GACN,GAAIN,EACiC,mBAA1BuD,GAAKA,EAAKrD,OAAS,KAC5BF,EAAUuD,EAAKpD,MAEjB,IAAMF,GAAiCsD,CACvC,OAAOjD,GAAOC,KAAK,GAAIisB,GAAuBvsB,EAAaD,KpF0sS/D,GAAIzB,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KoFhxSnF,IAAgC,GAEhC,IAAkC,EA0DlB,GAAA8tB,eAAc,CAW9B,kBACE,WAAoBxsB,EACAD,GADA,KAAAC,cACA,KAAAD,UAMtB,MAHE,aAAAQ,KAAA,SAAKlB,EAA2BgB,GAC9B,MAAOA,GAAOO,UAAU,GAAI6rB,GAAyBptB,EAAYd,KAAKyB,YAAazB,KAAKwB,WAE5F,KAOA,cAIE,WAAYe,EACQd,EACAD,GAClB,YAAMe,GAFY,KAAAd,cACA,KAAAD,UAJZ,KAAAuB,YAMN,IAAMD,GAAMrB,EAAYC,MACxB1B,MAAKyC,OAAS,GAAI/C,OAAMoD,EAExB,KAAK,GAAIE,GAAI,EAAGA,EAAIF,EAAKE,IACvBhD,KAAK+C,UAAUH,KAAKI,EAGtB,KAAK,GAAIA,GAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5B,GAAIL,GAAalB,EAAYuB,EAC7BhD,MAAKiD,IAAI,EAAAC,kBAAwBlD,KAAM2C,EAAiBA,EAAYK,KA0C1E,MA3D6C,QAqB3C,YAAAK,WAAA,SAAWC,EAAeC,EACfC,EAAoBC,EACpBC,GACT1D,KAAKyC,OAAOe,GAAcD,CAC1B,IAAMR,GAAY/C,KAAK+C,SACvB,IAAIA,EAAUrB,OAAS,EAAG,CACxB,GAAMysB,GAAQprB,EAAUyT,QAAQhT,IACjB,IAAX2qB,GACFprB,EAAUmE,OAAOinB,EAAO,KAK9B,YAAAhrB,eAAA,aAIU,YAAAT,MAAV,SAAgBhC,GACd,GAA8B,IAA1BV,KAAK+C,UAAUrB,OAAc,CAC/B,GAAMqD,IAAQrE,GAAK,OAAKV,KAAKyC,OACzBzC,MAAKwB,QACPxB,KAAK4D,YAAYmB,GAEjB/E,KAAKuC,YAAYnB,KAAK2D,KAKpB,YAAAnB,YAAR,SAAoBmB,GAClB,GAAIlB,EACJ,KACEA,EAAS7D,KAAKwB,QAAQsC,MAAM9D,KAAM+E,GAClC,MAAOhB,GAEP,WADA/D,MAAKuC,YAAYvB,MAAM+C,GAGzB/D,KAAKuC,YAAYnB,KAAKyC,IAE1B,GA3D6C,EAAAG,kBpF6zSvC,SAAUpE,EAAQC,EAASC,GAEjC,YqFp5SA,YAA6B0B,GAC3B,MAAO,UAACM,GAA0B,MAAAA,GAAOC,KAAK,GAAI,GAAAmC,YAAY1C,KALhE,QAA4B,IAIZ,GAAA4sB,OAAM,GrF+5ShB,SAAUxuB,EAAQC,EAASC,GAEjC,YsFp6SA,SAAgC,KAEhC,0BACS,KAAA6I,iBAgBT,MAbE,aAAA0lB,mBAAA,WAEE,MADAruB,MAAK2I,cAAc/F,KAAK,GAAI,GAAA0rB,gBAAgBtuB,KAAK2F,UAAUM,QACpDjG,KAAK2I,cAAcjH,OAAS,GAGrC,YAAA6sB,qBAAA,SAAqBnpB,GACnB,GAAMopB,GAAmBxuB,KAAK2I,cACxB8lB,EAAqBD,EAAiBppB,EAC5CopB,GAAiBppB,GAAS,GAAI,GAAAkpB,gBAC5BG,EAAmBC,gBACnB1uB,KAAK2F,UAAUM,QAGrB,IAjBa,GAAA0oB,qBAAoB,GtFy7S3B,SAAU/uB,EAAQC,EAASC,GAEjC,YuF97SA,kBACE,WAAmB4uB,EACAE,OAAP,WAAmChpB,OAAOC,mBADnC,KAAA6oB,kBACA,KAAAE,oBAErB,WAJa,GAAAN,gBAAe,GvF68StB,SAAU1uB,EAAQC,EAASC,GAEjC,YwF/8SA,YAA4B+uB,EAAkBC,GAC5C,IAAK,GAAI9rB,GAAI,EAAGF,EAAMgsB,EAAUptB,OAAQsB,EAAIF,EAAKE,IAG/C,IAAK,GAFC+rB,GAAWD,EAAU9rB,GACrBgsB,EAAexuB,OAAOyuB,oBAAoBF,EAASxuB,WAChD2uB,EAAI,EAAGC,EAAOH,EAAattB,OAAQwtB,EAAIC,EAAMD,IAAK,CACzD,GAAM,GAAOF,EAAaE,EAC1BL,GAAYtuB,UAAU,GAAQwuB,EAASxuB,UAAU,IANvC,EAAA6uB,YAAW,GxFg+SrB,SAAUxvB,EAAQC,EAASC,GAEjC,YAEA,IAAIC,GAAaC,MAAQA,KAAKD,WAAc,SAAUE,EAAGC,GAErD,QAASC,KAAOH,KAAKI,YAAcH,EADnC,IAAK,GAAII,KAAKH,GAAOA,EAAEI,eAAeD,KAAIJ,EAAEI,GAAKH,EAAEG,GAEnDJ,GAAEM,UAAkB,OAANL,EAAaM,OAAOC,OAAOP,IAAMC,EAAGI,UAAYL,EAAEK,UAAW,GAAIJ,KyFv+SnF,IAA4B,KAE5B,IAA+B,KAE/B,cAOE,WAAYkvB,EACOC,GARrB,eAOc,KAAAD,MAAA,OACA,WAA2BzpB,OAAOC,mBAC5C,YAAMwpB,EAAiB,WAAM,SAAKE,QADjB,KAAAD,YAJZ,KAAAC,MAAgB,EAChB,KAAAnqB,OAAiB,EA8B1B,MAnC0C,QAiBjC,YAAAoqB,MAAP,WAKE,IAHA,GACIxuB,GAAYuY,EADhB,OAAOkW,EAAA,EAAAA,QAASH,EAAA,EAAAA,WAGR/V,EAASkW,EAAQjqB,WAAaxF,KAAKuvB,MAAQhW,EAAOmW,QAAUJ,KAC9DtuB,EAAQuY,EAAOoW,QAAQpW,EAAOR,MAAOQ,EAAOmW,UAKlD,GAAI1uB,EAAO,CACT,KAAOuY,EAASkW,EAAQjqB,SACtB+T,EAAOlR,aAET,MAAMrH,KA9BO,EAAA4uB,gBAA0B,GAiC7C,GAnC0C,EAAAC,eAA7B,GAAAC,qBAAoB,CA0CjC,mBAIE,WAAsBnqB,EACAoqB,EACA3qB,OAAV,WAA0BO,EAAUP,OAAS,GACvD,YAAMO,EAAWoqB,GAHG,KAAApqB,YACA,KAAAoqB,OACA,KAAA3qB,QAJZ,KAAA5C,QAAkB,EAM1BxC,KAAKoF,MAAQO,EAAUP,MAAQA,EAkDnC,MA1DsC,QAW7B,YAAAiU,SAAP,SAAgBN,EAAW2W,GACzB,OADyB,KAAAA,MAAA,IACpB1vB,KAAKgwB,GACR,MAAO,aAAM3W,SAAQ,UAACN,EAAO2W,EAE/B1vB,MAAKwC,QAAS,CAKd,IAAM+W,GAAS,GAAI0W,GAAcjwB,KAAK2F,UAAW3F,KAAK+vB,KAEtD,OADA/vB,MAAKiD,IAAIsW,GACFA,EAAOF,SAASN,EAAO2W,IAGtB,YAAAQ,eAAV,SAAyBvqB,EAAiCqqB,EAAUN,OAAA,KAAAA,MAAA,GAClE1vB,KAAK0vB,MAAQ/pB,EAAU4pB,MAAQG,CACxB,IAAAD,GAAA,EAAAA,OAGP,OAFAA,GAAQ7sB,KAAK5C,MACbyvB,EAAQU,KAAKF,EAAcG,cACpB,GAGC,YAAAC,eAAV,SAAyB1qB,EAAiCqqB,EAAUN,OAAA,KAAAA,MAAA,IAI1D,YAAAY,SAAV,SAAmBvX,EAAU2W,GAC3B,IAAoB,IAAhB1vB,KAAKwC,OACP,MAAO,aAAM8tB,SAAQ,UAACvX,EAAO2W,IAInB,EAAAU,YAAd,SAA6BpgB,EAAqB9P,GAChD,MAAI8P,GAAE0f,QAAUxvB,EAAEwvB,MACZ1f,EAAE5K,QAAUlF,EAAEkF,MACT,EACE4K,EAAE5K,MAAQlF,EAAEkF,MACd,GAEC,EAED4K,EAAE0f,MAAQxvB,EAAEwvB,MACd,GAEC,GAGd,GA1DsC,EAAAa,YAAzB,GAAAN,cAAa,GzFwiTjB,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,C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","file":"connector.bundle.js","sourcesContent":["xtensionsClientWebpackJsonp([0],Array(148).concat([\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar Subscription_1 = __webpack_require__(15);\n/**\n * @class AsyncSubject\n */\nvar AsyncSubject = (function (_super) {\n __extends(AsyncSubject, _super);\n function AsyncSubject() {\n _super.apply(this, arguments);\n this.value = null;\n this.hasNext = false;\n this.hasCompleted = false;\n }\n /** @deprecated internal use only */ AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(Subject_1.Subject));\nexports.AsyncSubject = AsyncSubject;\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = __webpack_require__(74);\nvar isArray_1 = __webpack_require__(57);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar none = {};\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n // if the first and only other argument besides the resultSelector is an array\n // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(new ArrayObservable_1.ArrayObservable([source].concat(observables)), new CombineLatestOperator(project)); };\n}\nexports.combineLatest = combineLatest;\nvar CombineLatestOperator = (function () {\n function CombineLatestOperator(project) {\n this.project = project;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.project));\n };\n return CombineLatestOperator;\n}());\nexports.CombineLatestOperator = CombineLatestOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CombineLatestSubscriber = (function (_super) {\n __extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, project) {\n _super.call(this, destination);\n this.project = project;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(none);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === none ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.project) {\n this._tryProject(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryProject = function (values) {\n var result;\n try {\n result = this.project.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = __webpack_require__(74);\nvar isArray_1 = __webpack_require__(57);\nvar Subscriber_1 = __webpack_require__(4);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar iterator_1 = __webpack_require__(100);\n/* tslint:enable:max-line-length */\n/**\n * @param observables\n * @return {Observable}\n * @method zip\n * @owner Observable\n */\nfunction zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic.apply(void 0, [source].concat(observables)));\n };\n}\nexports.zip = zip;\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are calculated from the values, in order, of each\n * of its input Observables.\n *\n * If the latest parameter is a function, this function is used to compute the created value from the input values.\n * Otherwise, an array of the input values is returned.\n *\n * @example Combine age and name from different sources\n *\n * let age$ = Observable.of(27, 25, 29);\n * let name$ = Observable.of('Foo', 'Bar', 'Beer');\n * let isDev$ = Observable.of(true, true, false);\n *\n * Observable\n * .zip(age$,\n * name$,\n * isDev$,\n * (age: number, name: string, isDev: boolean) => ({ age, name, isDev }))\n * .subscribe(x => console.log(x));\n *\n * // outputs\n * // { age: 27, name: 'Foo', isDev: true }\n * // { age: 25, name: 'Bar', isDev: true }\n * // { age: 29, name: 'Beer', isDev: false }\n *\n * @param observables\n * @return {Observable}\n * @static true\n * @name zip\n * @owner Observable\n */\nfunction zipStatic() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = observables[observables.length - 1];\n if (typeof project === 'function') {\n observables.pop();\n }\n return new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project));\n}\nexports.zipStatic = zipStatic;\nvar ZipOperator = (function () {\n function ZipOperator(project) {\n this.project = project;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.project));\n };\n return ZipOperator;\n}());\nexports.ZipOperator = ZipOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipSubscriber = (function (_super) {\n __extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, project, values) {\n if (values === void 0) { values = Object.create(null); }\n _super.call(this, destination);\n this.iterators = [];\n this.active = 0;\n this.project = (typeof project === 'function') ? project : null;\n this.values = values;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray_1.isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[iterator_1.iterator] === 'function') {\n iterators.push(new StaticIterator(value[iterator_1.iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n this.add(iterator.subscribe(iterator, i));\n }\n else {\n this.active--; // not an observable\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n // abort if not all of them have values\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n // check to see if it's completed now that you've gotten\n // the next value.\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.project) {\n this._tryProject(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ZipSubscriber = ZipSubscriber;\nvar StaticIterator = (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return nextResult && nextResult.done;\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ZipBufferIterator = (function (_super) {\n __extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n _super.call(this, destination);\n this.parent = parent;\n this.observable = observable;\n this.stillUnsubscribed = true;\n this.buffer = [];\n this.isComplete = false;\n }\n ZipBufferIterator.prototype[iterator_1.iterator] = function () {\n return this;\n };\n // NOTE: there is actually a name collision here with Subscriber.next and Iterator.next\n // this is legit because `next()` will never be called by a subscription in this case.\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function (value, index) {\n return subscribeToResult_1.subscribeToResult(this, this.observable, this, index);\n };\n return ZipBufferIterator;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar queue_1 = __webpack_require__(329);\nvar Subscription_1 = __webpack_require__(15);\nvar observeOn_1 = __webpack_require__(137);\nvar ObjectUnsubscribedError_1 = __webpack_require__(135);\nvar SubjectSubscription_1 = __webpack_require__(269);\n/**\n * @class ReplaySubject\n */\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }\n if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }\n _super.call(this);\n this.scheduler = scheduler;\n this._events = [];\n this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n this._windowTime = windowTime < 1 ? 1 : windowTime;\n }\n ReplaySubject.prototype.next = function (value) {\n var now = this._getNow();\n this._events.push(new ReplayEvent(now, value));\n this._trimBufferThenGetEvents();\n _super.prototype.next.call(this, value);\n };\n /** @deprecated internal use only */ ReplaySubject.prototype._subscribe = function (subscriber) {\n var _events = this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscription = Subscription_1.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscription = Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new observeOn_1.ObserveOnSubscriber(subscriber, scheduler));\n }\n var len = _events.length;\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue_1.queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n // Trim events that fall out of the time window.\n // Start at the front of the list. Break early once\n // we encounter an event that falls within the window.\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject_1.Subject));\nexports.ReplaySubject = ReplaySubject;\nvar ReplayEvent = (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\nexports.defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for a duration determined by another Observable, then repeats this\n * process.\n *\n * It's like {@link throttleTime}, but the silencing\n * duration is determined by a second Observable.\n *\n * \n *\n * `throttle` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled by calling the `durationSelector` function with the source value,\n * which returns the \"duration\" Observable. When the duration Observable emits a\n * value or completes, the timer is disabled, and this process repeats for the\n * next source value.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttle(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration for each source value, returned as an Observable or a Promise.\n * @param {Object} config a configuration object to define `leading` and `trailing` behavior. Defaults\n * to `{ leading: true, trailing: false }`.\n * @return {Observable} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttle\n * @owner Observable\n */\nfunction throttle(durationSelector, config) {\n if (config === void 0) { config = exports.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, config.leading, config.trailing)); };\n}\nexports.throttle = throttle;\nvar ThrottleOperator = (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleSubscriber = (function (_super) {\n __extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n _super.call(this, destination);\n this.destination = destination;\n this.durationSelector = durationSelector;\n this._leading = _leading;\n this._trailing = _trailing;\n this._hasTrailingValue = false;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n }\n else {\n var duration = this.tryDurationSelector(value);\n if (duration) {\n this.add(this.throttled = subscribeToResult_1.subscribeToResult(this, duration));\n }\n if (this._leading) {\n this.destination.next(value);\n if (this._trailing) {\n this._hasTrailingValue = true;\n this._trailingValue = value;\n }\n }\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n /** @deprecated internal use only */ ThrottleSubscriber.prototype._unsubscribe = function () {\n var _a = this, throttled = _a.throttled, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue, _trailing = _a._trailing;\n this._trailingValue = null;\n this._hasTrailingValue = false;\n if (throttled) {\n this.remove(throttled);\n this.throttled = null;\n throttled.unsubscribe();\n }\n };\n ThrottleSubscriber.prototype._sendTrailing = function () {\n var _a = this, destination = _a.destination, throttled = _a.throttled, _trailing = _a._trailing, _trailingValue = _a._trailingValue, _hasTrailingValue = _a._hasTrailingValue;\n if (throttled && _trailing && _hasTrailingValue) {\n destination.next(_trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this._sendTrailing();\n this._unsubscribe();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this._sendTrailing();\n this._unsubscribe();\n };\n return ThrottleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 153 */,\n/* 154 */,\n/* 155 */,\n/* 156 */,\n/* 157 */,\n/* 158 */,\n/* 159 */,\n/* 160 */,\n/* 161 */,\n/* 162 */,\n/* 163 */,\n/* 164 */,\n/* 165 */,\n/* 166 */,\n/* 167 */,\n/* 168 */,\n/* 169 */,\n/* 170 */,\n/* 171 */,\n/* 172 */,\n/* 173 */,\n/* 174 */,\n/* 175 */,\n/* 176 */,\n/* 177 */,\n/* 178 */,\n/* 179 */,\n/* 180 */,\n/* 181 */,\n/* 182 */,\n/* 183 */,\n/* 184 */,\n/* 185 */,\n/* 186 */,\n/* 187 */,\n/* 188 */,\n/* 189 */,\n/* 190 */,\n/* 191 */,\n/* 192 */,\n/* 193 */,\n/* 194 */,\n/* 195 */,\n/* 196 */,\n/* 197 */,\n/* 198 */,\n/* 199 */,\n/* 200 */,\n/* 201 */,\n/* 202 */,\n/* 203 */,\n/* 204 */,\n/* 205 */,\n/* 206 */,\n/* 207 */,\n/* 208 */,\n/* 209 */,\n/* 210 */,\n/* 211 */,\n/* 212 */,\n/* 213 */,\n/* 214 */,\n/* 215 */,\n/* 216 */,\n/* 217 */,\n/* 218 */,\n/* 219 */,\n/* 220 */,\n/* 221 */,\n/* 222 */,\n/* 223 */,\n/* 224 */,\n/* 225 */,\n/* 226 */,\n/* 227 */,\n/* 228 */,\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = __webpack_require__(57);\nvar ArrayObservable_1 = __webpack_require__(74);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n // if the only argument is an array, it was most likely called with\n // `race([obs1, obs2, ...])`\n if (observables.length === 1) {\n if (isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return new ArrayObservable_1.ArrayObservable(observables).lift(new RaceOperator());\n}\nexports.race = race;\nvar RaceOperator = (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\nexports.RaceOperator = RaceOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RaceSubscriber = (function (_super) {\n __extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n _super.call(this, destination);\n this.hasFirst = false;\n this.observables = [];\n this.subscriptions = [];\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = subscribeToResult_1.subscribeToResult(this, observable, observable, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.RaceSubscriber = RaceSubscriber;\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar FromObservable_1 = __webpack_require__(283);\nvar isArray_1 = __webpack_require__(57);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * When any of the provided Observable emits an complete or error notification, it immediately subscribes to the next one\n * that was passed.\n *\n * Execute series of Observables no matter what, even if it means swallowing errors.\n *\n * \n *\n * `onErrorResumeNext` is an operator that accepts a series of Observables, provided either directly as\n * arguments or as an array. If no single Observable is provided, returned Observable will simply behave the same\n * as the source.\n *\n * `onErrorResumeNext` returns an Observable that starts by subscribing and re-emitting values from the source Observable.\n * When its stream of values ends - no matter if Observable completed or emitted an error - `onErrorResumeNext`\n * will subscribe to the first Observable that was passed as an argument to the method. It will start re-emitting\n * its values as well and - again - when that stream ends, `onErrorResumeNext` will proceed to subscribing yet another\n * Observable in provided series, no matter if previous Observable completed or ended with an error. This will\n * be happening until there is no more Observables left in the series, at which point returned Observable will\n * complete - even if the last subscribed stream ended with an error.\n *\n * `onErrorResumeNext` can be therefore thought of as version of {@link concat} operator, which is more permissive\n * when it comes to the errors emitted by its input Observables. While `concat` subscribes to the next Observable\n * in series only if previous one successfully completed, `onErrorResumeNext` subscribes even if it ended with\n * an error.\n *\n * Note that you do not get any access to errors emitted by the Observables. In particular do not\n * expect these errors to appear in error callback passed to {@link subscribe}. If you want to take\n * specific actions based on what error was emitted by an Observable, you should try out {@link catch} instead.\n *\n *\n * @example Subscribe to the next Observable after map fails\n * Rx.Observable.of(1, 2, 3, 0)\n * .map(x => {\n * if (x === 0) { throw Error(); }\n return 10 / x;\n * })\n * .onErrorResumeNext(Rx.Observable.of(1, 2, 3))\n * .subscribe(\n * val => console.log(val),\n * err => console.log(err), // Will never be called.\n * () => console.log('that\\'s it!')\n * );\n *\n * // Logs:\n * // 10\n * // 5\n * // 3.3333333333333335\n * // 1\n * // 2\n * // 3\n * // \"that's it!\"\n *\n * @see {@link concat}\n * @see {@link catch}\n *\n * @param {...ObservableInput} observables Observables passed either directly or as an array.\n * @return {Observable} An Observable that emits values from source Observable, but - if it errors - subscribes\n * to the next passed Observable and so on, until it completes or runs out of Observables.\n * @method onErrorResumeNext\n * @owner Observable\n */\nfunction onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i - 0] = arguments[_i];\n }\n if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n return function (source) { return source.lift(new OnErrorResumeNextOperator(nextSources)); };\n}\nexports.onErrorResumeNext = onErrorResumeNext;\n/* tslint:enable:max-line-length */\nfunction onErrorResumeNextStatic() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i - 0] = arguments[_i];\n }\n var source = null;\n if (nextSources.length === 1 && isArray_1.isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n source = nextSources.shift();\n return new FromObservable_1.FromObservable(source, null).lift(new OnErrorResumeNextOperator(nextSources));\n}\nexports.onErrorResumeNextStatic = onErrorResumeNextStatic;\nvar OnErrorResumeNextOperator = (function () {\n function OnErrorResumeNextOperator(nextSources) {\n this.nextSources = nextSources;\n }\n OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n };\n return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = (function (_super) {\n __extends(OnErrorResumeNextSubscriber, _super);\n function OnErrorResumeNextSubscriber(destination, nextSources) {\n _super.call(this, destination);\n this.destination = destination;\n this.nextSources = nextSources;\n }\n OnErrorResumeNextSubscriber.prototype.notifyError = function (error, innerSub) {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.notifyComplete = function (innerSub) {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._error = function (err) {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._complete = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n var next = this.nextSources.shift();\n if (next) {\n this.add(subscribeToResult_1.subscribeToResult(this, next));\n }\n else {\n this.destination.complete();\n }\n };\n return OnErrorResumeNextSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar mergeMap_1 = __webpack_require__(99);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, in a serialized fashion waiting for each one to complete before\n * merging the next.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link concatAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each new inner Observable is\n * concatenated with the previous inner Observable.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMapTo}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking values from each projected inner\n * Observable sequentially.\n * @method concatMap\n * @owner Observable\n */\nfunction concatMap(project, resultSelector) {\n return mergeMap_1.mergeMap(project, resultSelector, 1);\n}\nexports.concatMap = concatMap;\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example A simple example with numbers\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example An example using a compare function\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nfunction distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nexports.distinctUntilChanged = distinctUntilChanged;\nvar DistinctUntilChangedOperator = (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctUntilChangedSubscriber = (function (_super) {\n __extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n _super.call(this, destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var keySelector = this.keySelector;\n var key = value;\n if (keySelector) {\n key = tryCatch_1.tryCatch(this.keySelector)(value);\n if (key === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n var result = false;\n if (this.hasKey) {\n result = tryCatch_1.tryCatch(this.compare)(this.key, key);\n if (result === errorObject_1.errorObject) {\n return this.destination.error(errorObject_1.errorObject.e);\n }\n }\n else {\n this.hasKey = true;\n }\n if (Boolean(result) === false) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Emits only the first value emitted by the source Observable that meets some\n * condition.\n *\n * Finds the first value that passes some test and emits\n * that.\n *\n * \n *\n * `find` searches for the first item in the source Observable that matches the\n * specified condition embodied by the `predicate`, and returns the first\n * occurrence in the source. Unlike {@link first}, the `predicate` is required\n * in `find`, and does not emit an error if a valid value is not found.\n *\n * @example Find and emit the first click that happens on a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.find(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link first}\n * @see {@link findIndex}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the first item that matches the\n * condition.\n * @method find\n * @owner Observable\n */\nfunction find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return function (source) { return source.lift(new FindValueOperator(predicate, source, false, thisArg)); };\n}\nexports.find = find;\nvar FindValueOperator = (function () {\n function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n FindValueOperator.prototype.call = function (observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n };\n return FindValueOperator;\n}());\nexports.FindValueOperator = FindValueOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FindValueSubscriber = (function (_super) {\n __extends(FindValueSubscriber, _super);\n function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n this.index = 0;\n }\n FindValueSubscriber.prototype.notifyComplete = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n FindValueSubscriber.prototype._next = function (value) {\n var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n var index = this.index++;\n try {\n var result = predicate.call(thisArg || this, value, index, this.source);\n if (result) {\n this.notifyComplete(this.yieldIndex ? index : value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n FindValueSubscriber.prototype._complete = function () {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n };\n return FindValueSubscriber;\n}(Subscriber_1.Subscriber));\nexports.FindValueSubscriber = FindValueSubscriber;\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar async_1 = __webpack_require__(17);\nvar map_1 = __webpack_require__(101);\n/**\n * @param scheduler\n * @return {Observable>|WebSocketSubject|Observable}\n * @method timestamp\n * @owner Observable\n */\nfunction timestamp(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return map_1.map(function (value) { return new Timestamp(value, scheduler.now()); });\n // return (source: Observable) => source.lift(new TimestampOperator(scheduler));\n}\nexports.timestamp = timestamp;\nvar Timestamp = (function () {\n function Timestamp(value, timestamp) {\n this.value = value;\n this.timestamp = timestamp;\n }\n return Timestamp;\n}());\nexports.Timestamp = Timestamp;\n;\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_xcomponent_dist_xcomponent__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_xcomponent_dist_xcomponent___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_xcomponent_dist_xcomponent__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_getComponentCurrentScript__ = __webpack_require__(82);\n\r\n\r\nvar componentCurrentScript = Object(__WEBPACK_IMPORTED_MODULE_1__utils_getComponentCurrentScript__[\"a\" /* getComponentCurrentScript */])(['connectorComponent.bundle.js', 'connector.bundle.js']);\r\nwindow.NtxConnector = __WEBPACK_IMPORTED_MODULE_0_xcomponent_dist_xcomponent___default.a.create({\r\n // The html tag used to render my component\r\n tag: 'nintex-connector',\r\n // The url that will be loaded in the iframe or popup, when someone includes my component on their page\r\n url: componentCurrentScript.src.replace(/[^\\/]+$/, 'connector.html'),\r\n // A bridge to allow IE to send messeges to child window via an Iframe\r\n bridgeUrl: componentCurrentScript.src.replace(/[^\\/]+$/, 'cross-window-bridge.html'),\r\n // The size of the component on their page\r\n dimensions: {\r\n width: '800px',\r\n height: '600px'\r\n },\r\n contexts: {\r\n popup: true\r\n },\r\n defaultLogLevel: 'warn',\r\n // The properties they can (or must) pass down to my component\r\n props: {\r\n getAccessTokenAsync: {\r\n type: 'function',\r\n required: true\r\n },\r\n selectedAppId: {\r\n type: 'string',\r\n required: false\r\n },\r\n selectedConnectionId: {\r\n type: 'string',\r\n required: false\r\n },\r\n onSuccess: {\r\n type: 'function',\r\n required: true\r\n },\r\n onFailure: {\r\n type: 'function',\r\n required: true\r\n },\r\n theme: {\r\n type: 'object',\r\n required: false\r\n },\r\n langs: {\r\n type: 'string',\r\n required: false\r\n }\r\n }\r\n});\r\n//# sourceMappingURL=../../src/xcomponents/connector/definition.js.map\n\n/***/ }),\n/* 236 */,\n/* 237 */,\n/* 238 */,\n/* 239 */,\n/* 240 */,\n/* 241 */,\n/* 242 */,\n/* 243 */,\n/* 244 */,\n/* 245 */,\n/* 246 */,\n/* 247 */,\n/* 248 */,\n/* 249 */,\n/* 250 */,\n/* 251 */,\n/* 252 */,\n/* 253 */,\n/* 254 */,\n/* 255 */,\n/* 256 */,\n/* 257 */,\n/* 258 */,\n/* 259 */,\n/* 260 */,\n/* 261 */,\n/* 262 */,\n/* 263 */,\n/* 264 */,\n/* 265 */,\n/* 266 */,\n/* 267 */,\n/* 268 */,\n/* 269 */,\n/* 270 */,\n/* 271 */,\n/* 272 */,\n/* 273 */,\n/* 274 */,\n/* 275 */,\n/* 276 */,\n/* 277 */,\n/* 278 */,\n/* 279 */,\n/* 280 */,\n/* 281 */,\n/* 282 */,\n/* 283 */,\n/* 284 */,\n/* 285 */,\n/* 286 */,\n/* 287 */,\n/* 288 */,\n/* 289 */,\n/* 290 */,\n/* 291 */,\n/* 292 */,\n/* 293 */,\n/* 294 */,\n/* 295 */,\n/* 296 */,\n/* 297 */,\n/* 298 */,\n/* 299 */,\n/* 300 */,\n/* 301 */,\n/* 302 */,\n/* 303 */,\n/* 304 */,\n/* 305 */,\n/* 306 */,\n/* 307 */,\n/* 308 */,\n/* 309 */,\n/* 310 */,\n/* 311 */,\n/* 312 */,\n/* 313 */,\n/* 314 */,\n/* 315 */,\n/* 316 */,\n/* 317 */,\n/* 318 */,\n/* 319 */,\n/* 320 */,\n/* 321 */,\n/* 322 */,\n/* 323 */,\n/* 324 */,\n/* 325 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ConnectorExternalProps; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_external_props__ = __webpack_require__(61);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\n\r\nvar ConnectorExternalProps = /** @class */ (function (_super) {\r\n __extends(ConnectorExternalProps, _super);\r\n function ConnectorExternalProps() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return ConnectorExternalProps;\r\n}(__WEBPACK_IMPORTED_MODULE_0__common_external_props__[\"a\" /* CommonExternalProps */]));\r\n\r\n;\r\n//# sourceMappingURL=../../src/app/connector/external.props.js.map\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar cssKeywords = __webpack_require__(326);\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = __webpack_require__(37);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar Observable_1 = __webpack_require__(0);\nvar Subscriber_1 = __webpack_require__(4);\nvar map_1 = __webpack_require__(101);\nfunction getCORSRequest() {\n if (root_1.root.XMLHttpRequest) {\n return new root_1.root.XMLHttpRequest();\n }\n else if (!!root_1.root.XDomainRequest) {\n return new root_1.root.XDomainRequest();\n }\n else {\n throw new Error('CORS is not supported by your browser');\n }\n}\nfunction getXMLHttpRequest() {\n if (root_1.root.XMLHttpRequest) {\n return new root_1.root.XMLHttpRequest();\n }\n else {\n var progId = void 0;\n try {\n var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n for (var i = 0; i < 3; i++) {\n try {\n progId = progIds[i];\n if (new root_1.root.ActiveXObject(progId)) {\n break;\n }\n }\n catch (e) {\n }\n }\n return new root_1.root.ActiveXObject(progId);\n }\n catch (e) {\n throw new Error('XMLHttpRequest is not supported by your browser');\n }\n }\n}\nfunction ajaxGet(url, headers) {\n if (headers === void 0) { headers = null; }\n return new AjaxObservable({ method: 'GET', url: url, headers: headers });\n}\nexports.ajaxGet = ajaxGet;\n;\nfunction ajaxPost(url, body, headers) {\n return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\n}\nexports.ajaxPost = ajaxPost;\n;\nfunction ajaxDelete(url, headers) {\n return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\n}\nexports.ajaxDelete = ajaxDelete;\n;\nfunction ajaxPut(url, body, headers) {\n return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\n}\nexports.ajaxPut = ajaxPut;\n;\nfunction ajaxPatch(url, body, headers) {\n return new AjaxObservable({ method: 'PATCH', url: url, body: body, headers: headers });\n}\nexports.ajaxPatch = ajaxPatch;\n;\nvar mapResponse = map_1.map(function (x, index) { return x.response; });\nfunction ajaxGetJSON(url, headers) {\n return mapResponse(new AjaxObservable({\n method: 'GET',\n url: url,\n responseType: 'json',\n headers: headers\n }));\n}\nexports.ajaxGetJSON = ajaxGetJSON;\n;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar AjaxObservable = (function (_super) {\n __extends(AjaxObservable, _super);\n function AjaxObservable(urlOrRequest) {\n _super.call(this);\n var request = {\n async: true,\n createXHR: function () {\n return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\n },\n crossDomain: false,\n withCredentials: false,\n headers: {},\n method: 'GET',\n responseType: 'json',\n timeout: 0\n };\n if (typeof urlOrRequest === 'string') {\n request.url = urlOrRequest;\n }\n else {\n for (var prop in urlOrRequest) {\n if (urlOrRequest.hasOwnProperty(prop)) {\n request[prop] = urlOrRequest[prop];\n }\n }\n }\n this.request = request;\n }\n /** @deprecated internal use only */ AjaxObservable.prototype._subscribe = function (subscriber) {\n return new AjaxSubscriber(subscriber, this.request);\n };\n /**\n * Creates an observable for an Ajax request with either a request object with\n * url, headers, etc or a string for a URL.\n *\n * @example\n * source = Rx.Observable.ajax('/products');\n * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\n *\n * @param {string|Object} request Can be one of the following:\n * A string of the URL to make the Ajax call.\n * An object with the following properties\n * - url: URL of the request\n * - body: The body of the request\n * - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\n * - async: Whether the request is async\n * - headers: Optional headers\n * - crossDomain: true if a cross domain request, else false\n * - createXHR: a function to override if you need to use an alternate\n * XMLHttpRequest implementation.\n * - resultSelector: a function to use to alter the output value type of\n * the Observable. Gets {@link AjaxResponse} as an argument.\n * @return {Observable} An observable sequence containing the XMLHttpRequest.\n * @static true\n * @name ajax\n * @owner Observable\n */\n AjaxObservable.create = (function () {\n var create = function (urlOrRequest) {\n return new AjaxObservable(urlOrRequest);\n };\n create.get = ajaxGet;\n create.post = ajaxPost;\n create.delete = ajaxDelete;\n create.put = ajaxPut;\n create.patch = ajaxPatch;\n create.getJSON = ajaxGetJSON;\n return create;\n })();\n return AjaxObservable;\n}(Observable_1.Observable));\nexports.AjaxObservable = AjaxObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AjaxSubscriber = (function (_super) {\n __extends(AjaxSubscriber, _super);\n function AjaxSubscriber(destination, request) {\n _super.call(this, destination);\n this.request = request;\n this.done = false;\n var headers = request.headers = request.headers || {};\n // force CORS if requested\n if (!request.crossDomain && !headers['X-Requested-With']) {\n headers['X-Requested-With'] = 'XMLHttpRequest';\n }\n // ensure content type is set\n if (!('Content-Type' in headers) && !(root_1.root.FormData && request.body instanceof root_1.root.FormData) && typeof request.body !== 'undefined') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n // properly serialize body\n request.body = this.serializeBody(request.body, request.headers['Content-Type']);\n this.send();\n }\n AjaxSubscriber.prototype.next = function (e) {\n this.done = true;\n var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\n var response = new AjaxResponse(e, xhr, request);\n destination.next(response);\n };\n AjaxSubscriber.prototype.send = function () {\n var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\n var createXHR = request.createXHR;\n var xhr = tryCatch_1.tryCatch(createXHR).call(request);\n if (xhr === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n }\n else {\n this.xhr = xhr;\n // set up the events before open XHR\n // https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest\n // You need to add the event listeners before calling open() on the request.\n // Otherwise the progress events will not fire.\n this.setupEvents(xhr, request);\n // open XHR\n var result = void 0;\n if (user) {\n result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async, user, password);\n }\n else {\n result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async);\n }\n if (result === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n return null;\n }\n // timeout, responseType and withCredentials can be set once the XHR is open\n if (async) {\n xhr.timeout = request.timeout;\n xhr.responseType = request.responseType;\n }\n if ('withCredentials' in xhr) {\n xhr.withCredentials = !!request.withCredentials;\n }\n // set headers\n this.setHeaders(xhr, headers);\n // finally send the request\n result = body ? tryCatch_1.tryCatch(xhr.send).call(xhr, body) : tryCatch_1.tryCatch(xhr.send).call(xhr);\n if (result === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n return null;\n }\n }\n return xhr;\n };\n AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\n if (!body || typeof body === 'string') {\n return body;\n }\n else if (root_1.root.FormData && body instanceof root_1.root.FormData) {\n return body;\n }\n if (contentType) {\n var splitIndex = contentType.indexOf(';');\n if (splitIndex !== -1) {\n contentType = contentType.substring(0, splitIndex);\n }\n }\n switch (contentType) {\n case 'application/x-www-form-urlencoded':\n return Object.keys(body).map(function (key) { return (encodeURIComponent(key) + \"=\" + encodeURIComponent(body[key])); }).join('&');\n case 'application/json':\n return JSON.stringify(body);\n default:\n return body;\n }\n };\n AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\n for (var key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n };\n AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\n var progressSubscriber = request.progressSubscriber;\n function xhrTimeout(e) {\n var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\n }\n ;\n xhr.ontimeout = xhrTimeout;\n xhrTimeout.request = request;\n xhrTimeout.subscriber = this;\n xhrTimeout.progressSubscriber = progressSubscriber;\n if (xhr.upload && 'withCredentials' in xhr) {\n if (progressSubscriber) {\n var xhrProgress_1;\n xhrProgress_1 = function (e) {\n var progressSubscriber = xhrProgress_1.progressSubscriber;\n progressSubscriber.next(e);\n };\n if (root_1.root.XDomainRequest) {\n xhr.onprogress = xhrProgress_1;\n }\n else {\n xhr.upload.onprogress = xhrProgress_1;\n }\n xhrProgress_1.progressSubscriber = progressSubscriber;\n }\n var xhrError_1;\n xhrError_1 = function (e) {\n var _a = xhrError_1, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error', this, request));\n };\n xhr.onerror = xhrError_1;\n xhrError_1.request = request;\n xhrError_1.subscriber = this;\n xhrError_1.progressSubscriber = progressSubscriber;\n }\n function xhrReadyStateChange(e) {\n var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (this.readyState === 4) {\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n var status_1 = this.status === 1223 ? 204 : this.status;\n var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\n // fix status code when it is 0 (0 status is undocumented).\n // Occurs when accessing file resources or on Android 4.1 stock browser\n // while retrieving files from application cache.\n if (status_1 === 0) {\n status_1 = response ? 200 : 0;\n }\n if (200 <= status_1 && status_1 < 300) {\n if (progressSubscriber) {\n progressSubscriber.complete();\n }\n subscriber.next(e);\n subscriber.complete();\n }\n else {\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error ' + status_1, this, request));\n }\n }\n }\n ;\n xhr.onreadystatechange = xhrReadyStateChange;\n xhrReadyStateChange.subscriber = this;\n xhrReadyStateChange.progressSubscriber = progressSubscriber;\n xhrReadyStateChange.request = request;\n };\n AjaxSubscriber.prototype.unsubscribe = function () {\n var _a = this, done = _a.done, xhr = _a.xhr;\n if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\n xhr.abort();\n }\n _super.prototype.unsubscribe.call(this);\n };\n return AjaxSubscriber;\n}(Subscriber_1.Subscriber));\nexports.AjaxSubscriber = AjaxSubscriber;\n/**\n * A normalized AJAX response.\n *\n * @see {@link ajax}\n *\n * @class AjaxResponse\n */\nvar AjaxResponse = (function () {\n function AjaxResponse(originalEvent, xhr, request) {\n this.originalEvent = originalEvent;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n return AjaxResponse;\n}());\nexports.AjaxResponse = AjaxResponse;\n/**\n * A normalized AJAX error.\n *\n * @see {@link ajax}\n *\n * @class AjaxError\n */\nvar AjaxError = (function (_super) {\n __extends(AjaxError, _super);\n function AjaxError(message, xhr, request) {\n _super.call(this, message);\n this.message = message;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n return AjaxError;\n}(Error));\nexports.AjaxError = AjaxError;\nfunction parseXhrResponse(responseType, xhr) {\n switch (responseType) {\n case 'json':\n if ('response' in xhr) {\n //IE does not support json as responseType, parse it internally\n return xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n }\n else {\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return JSON.parse(xhr.responseText || 'null');\n }\n case 'xml':\n return xhr.responseXML;\n case 'text':\n default:\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return ('response' in xhr) ? xhr.response : xhr.responseText;\n }\n}\n/**\n * @see {@link ajax}\n *\n * @class AjaxTimeoutError\n */\nvar AjaxTimeoutError = (function (_super) {\n __extends(AjaxTimeoutError, _super);\n function AjaxTimeoutError(xhr, request) {\n _super.call(this, 'ajax timeout', xhr, request);\n }\n return AjaxTimeoutError;\n}(AjaxError));\nexports.AjaxTimeoutError = AjaxTimeoutError;\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar QueueAction_1 = __webpack_require__(758);\nvar QueueScheduler_1 = __webpack_require__(759);\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link async} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * @examples Schedule recursively first, then do something\n *\n * Rx.Scheduler.queue.schedule(() => {\n * Rx.Scheduler.queue.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n *\n *\n * @example Reschedule itself recursively\n *\n * Rx.Scheduler.queue.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n *\n *\n * @static true\n * @name queue\n * @owner Scheduler\n */\nexports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * Collects values from the past as an array, and emits\n * that array only when another Observable emits.\n *\n * \n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example On every click, emit array of most recent interval events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nfunction buffer(closingNotifier) {\n return function bufferOperatorFunction(source) {\n return source.lift(new BufferOperator(closingNotifier));\n };\n}\nexports.buffer = buffer;\nvar BufferOperator = (function () {\n function BufferOperator(closingNotifier) {\n this.closingNotifier = closingNotifier;\n }\n BufferOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n };\n return BufferOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferSubscriber = (function (_super) {\n __extends(BufferSubscriber, _super);\n function BufferSubscriber(destination, closingNotifier) {\n _super.call(this, destination);\n this.buffer = [];\n this.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\n }\n BufferSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n };\n return BufferSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Buffers the source Observable values until the size hits the maximum\n * `bufferSize` given.\n *\n * Collects values from the past as an array, and emits\n * that array only when its size reaches `bufferSize`.\n *\n * \n *\n * Buffers a number of values from the source Observable by `bufferSize` then\n * emits the buffer and clears it, and starts a new buffer each\n * `startBufferEvery` values. If `startBufferEvery` is not provided or is\n * `null`, then new buffers are started immediately at the start of the source\n * and when each buffer closes and is emitted.\n *\n * @example Emit the last two click events as an array\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2);\n * buffered.subscribe(x => console.log(x));\n *\n * @example On every click, emit the last two click events as an array\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2, 1);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link pairwise}\n * @see {@link windowCount}\n *\n * @param {number} bufferSize The maximum size of the buffer emitted.\n * @param {number} [startBufferEvery] Interval at which to start a new buffer.\n * For example if `startBufferEvery` is `2`, then a new buffer will be started\n * on every other value from the source. A new buffer is started at the\n * beginning of the source by default.\n * @return {Observable} An Observable of arrays of buffered values.\n * @method bufferCount\n * @owner Observable\n */\nfunction bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) { startBufferEvery = null; }\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nexports.bufferCount = bufferCount;\nvar BufferCountOperator = (function () {\n function BufferCountOperator(bufferSize, startBufferEvery) {\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n if (!startBufferEvery || bufferSize === startBufferEvery) {\n this.subscriberClass = BufferCountSubscriber;\n }\n else {\n this.subscriberClass = BufferSkipCountSubscriber;\n }\n }\n BufferCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n };\n return BufferCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferCountSubscriber = (function (_super) {\n __extends(BufferCountSubscriber, _super);\n function BufferCountSubscriber(destination, bufferSize) {\n _super.call(this, destination);\n this.bufferSize = bufferSize;\n this.buffer = [];\n }\n BufferCountSubscriber.prototype._next = function (value) {\n var buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n };\n BufferCountSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n return BufferCountSubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferSkipCountSubscriber = (function (_super) {\n __extends(BufferSkipCountSubscriber, _super);\n function BufferSkipCountSubscriber(destination, bufferSize, startBufferEvery) {\n _super.call(this, destination);\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n this.buffers = [];\n this.count = 0;\n }\n BufferSkipCountSubscriber.prototype._next = function (value) {\n var _a = this, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers, count = _a.count;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (var i = buffers.length; i--;) {\n var buffer = buffers[i];\n buffer.push(value);\n if (buffer.length === bufferSize) {\n buffers.splice(i, 1);\n this.destination.next(buffer);\n }\n }\n };\n BufferSkipCountSubscriber.prototype._complete = function () {\n var _a = this, buffers = _a.buffers, destination = _a.destination;\n while (buffers.length > 0) {\n var buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n _super.prototype._complete.call(this);\n };\n return BufferSkipCountSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = __webpack_require__(17);\nvar Subscriber_1 = __webpack_require__(4);\nvar isScheduler_1 = __webpack_require__(49);\n/* tslint:enable:max-line-length */\n/**\n * Buffers the source Observable values for a specific time period.\n *\n * Collects values from the past as an array, and emits\n * those arrays periodically in time.\n *\n * \n *\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\n * resets the buffer every `bufferTimeSpan` milliseconds. If\n * `bufferCreationInterval` is given, this operator opens the buffer every\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\n * `maxBufferSize` is specified, the buffer will be closed either after\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\n *\n * @example Every second, emit an array of the recent click events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(1000);\n * buffered.subscribe(x => console.log(x));\n *\n * @example Every 5 seconds, emit the click events from the next 2 seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(2000, 5000);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link windowTime}\n *\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\n * @param {number} [bufferCreationInterval] The interval at which to start new\n * buffers.\n * @param {number} [maxBufferSize] The maximum buffer size.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine buffer boundaries.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferTime\n * @owner Observable\n */\nfunction bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = async_1.async;\n if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return function bufferTimeOperatorFunction(source) {\n return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\nexports.bufferTime = bufferTime;\nvar BufferTimeOperator = (function () {\n function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n BufferTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n };\n return BufferTimeOperator;\n}());\nvar Context = (function () {\n function Context() {\n this.buffer = [];\n }\n return Context;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferTimeSubscriber = (function (_super) {\n __extends(BufferTimeSubscriber, _super);\n function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n _super.call(this, destination);\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n this.contexts = [];\n var context = this.openContext();\n this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (this.timespanOnly) {\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n var closeState = { subscriber: this, context: context };\n var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: this, scheduler: scheduler };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n }\n BufferTimeSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n var filledBufferContext;\n for (var i = 0; i < len; i++) {\n var context = contexts[i];\n var buffer = context.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context;\n }\n }\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n };\n BufferTimeSubscriber.prototype._error = function (err) {\n this.contexts.length = 0;\n _super.prototype._error.call(this, err);\n };\n BufferTimeSubscriber.prototype._complete = function () {\n var _a = this, contexts = _a.contexts, destination = _a.destination;\n while (contexts.length > 0) {\n var context = contexts.shift();\n destination.next(context.buffer);\n }\n _super.prototype._complete.call(this);\n };\n /** @deprecated internal use only */ BufferTimeSubscriber.prototype._unsubscribe = function () {\n this.contexts = null;\n };\n BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n this.closeContext(context);\n var closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n var bufferTimeSpan = this.bufferTimeSpan;\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n };\n BufferTimeSubscriber.prototype.openContext = function () {\n var context = new Context();\n this.contexts.push(context);\n return context;\n };\n BufferTimeSubscriber.prototype.closeContext = function (context) {\n this.destination.next(context.buffer);\n var contexts = this.contexts;\n var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n };\n return BufferTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n var subscriber = state.subscriber;\n var prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\nfunction dispatchBufferCreation(state) {\n var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n var context = subscriber.openContext();\n var action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n var subscriber = arg.subscriber, context = arg.context;\n subscriber.closeContext(context);\n}\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = __webpack_require__(15);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar OuterSubscriber_1 = __webpack_require__(8);\n/**\n * Buffers the source Observable values starting from an emission from\n * `openings` and ending when the output of `closingSelector` emits.\n *\n * Collects values from the past as an array. Starts\n * collecting only when `opening` emits, and calls the `closingSelector`\n * function to get an Observable that tells when to close the buffer.\n *\n * \n *\n * Buffers values from the source by opening the buffer via signals from an\n * Observable provided to `openings`, and closing and sending the buffers when\n * a Subscribable or Promise returned by the `closingSelector` function emits.\n *\n * @example Every other second, emit the click events from the next 500ms\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var buffered = clicks.bufferToggle(openings, i =>\n * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferWhen}\n * @see {@link windowToggle}\n *\n * @param {SubscribableOrPromise} openings A Subscribable or Promise of notifications to start new\n * buffers.\n * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns a Subscribable or Promise,\n * which, when it emits, signals that the associated buffer should be emitted\n * and cleared.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferToggle\n * @owner Observable\n */\nfunction bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nexports.bufferToggle = bufferToggle;\nvar BufferToggleOperator = (function () {\n function BufferToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n BufferToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return BufferToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferToggleSubscriber = (function (_super) {\n __extends(BufferToggleSubscriber, _super);\n function BufferToggleSubscriber(destination, openings, closingSelector) {\n _super.call(this, destination);\n this.openings = openings;\n this.closingSelector = closingSelector;\n this.contexts = [];\n this.add(subscribeToResult_1.subscribeToResult(this, openings));\n }\n BufferToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n };\n BufferToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context = contexts.shift();\n context.subscription.unsubscribe();\n context.buffer = null;\n context.subscription = null;\n }\n this.contexts = null;\n _super.prototype._error.call(this, err);\n };\n BufferToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context = contexts.shift();\n this.destination.next(context.buffer);\n context.subscription.unsubscribe();\n context.buffer = null;\n context.subscription = null;\n }\n this.contexts = null;\n _super.prototype._complete.call(this);\n };\n BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n };\n BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n this.closeBuffer(innerSub.context);\n };\n BufferToggleSubscriber.prototype.openBuffer = function (value) {\n try {\n var closingSelector = this.closingSelector;\n var closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n var contexts = this.contexts;\n if (contexts && context) {\n var buffer = context.buffer, subscription = context.subscription;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n };\n BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n var contexts = this.contexts;\n var buffer = [];\n var subscription = new Subscription_1.Subscription();\n var context = { buffer: buffer, subscription: subscription };\n contexts.push(context);\n var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\n if (!innerSubscription || innerSubscription.closed) {\n this.closeBuffer(context);\n }\n else {\n innerSubscription.context = context;\n this.add(innerSubscription);\n subscription.add(innerSubscription);\n }\n };\n return BufferToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = __webpack_require__(15);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Buffers the source Observable values, using a factory function of closing\n * Observables to determine when to close, emit, and reset the buffer.\n *\n * Collects values from the past as an array. When it\n * starts collecting values, it calls a function that returns an Observable that\n * tells when to close the buffer and restart collecting.\n *\n * \n *\n * Opens a buffer immediately, then closes the buffer when the observable\n * returned by calling `closingSelector` function emits a value. When it closes\n * the buffer, it immediately opens a new buffer and repeats the process.\n *\n * @example Emit an array of the last clicks every [1-5] random seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferWhen(() =>\n * Rx.Observable.interval(1000 + Math.random() * 4000)\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link windowWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals buffer closure.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferWhen\n * @owner Observable\n */\nfunction bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nexports.bufferWhen = bufferWhen;\nvar BufferWhenOperator = (function () {\n function BufferWhenOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n BufferWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n };\n return BufferWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar BufferWhenSubscriber = (function (_super) {\n __extends(BufferWhenSubscriber, _super);\n function BufferWhenSubscriber(destination, closingSelector) {\n _super.call(this, destination);\n this.closingSelector = closingSelector;\n this.subscribing = false;\n this.openBuffer();\n }\n BufferWhenSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferWhenSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n /** @deprecated internal use only */ BufferWhenSubscriber.prototype._unsubscribe = function () {\n this.buffer = null;\n this.subscribing = false;\n };\n BufferWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openBuffer();\n };\n BufferWhenSubscriber.prototype.notifyComplete = function () {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n };\n BufferWhenSubscriber.prototype.openBuffer = function () {\n var closingSubscription = this.closingSubscription;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n var buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n if (closingNotifier === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n }\n else {\n closingSubscription = new Subscription_1.Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add(subscribeToResult_1.subscribeToResult(this, closingNotifier));\n this.subscribing = false;\n }\n };\n return BufferWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar combineLatest_1 = __webpack_require__(149);\nfunction combineAll(project) {\n return function (source) { return source.lift(new combineLatest_1.CombineLatestOperator(project)); };\n}\nexports.combineAll = combineAll;\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concat_1 = __webpack_require__(102);\nvar concat_2 = __webpack_require__(102);\nexports.concatStatic = concat_2.concat;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.\n *\n * \n *\n * Joins this Observable with multiple other Observables by subscribing to them\n * one at a time, starting with the source, and merging their results into the\n * output Observable. Will wait for each Observable to complete before moving\n * on to the next.\n *\n * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = timer.concat(sequence);\n * result.subscribe(x => console.log(x));\n *\n * // results in:\n * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\n *\n * @example Concatenate 3 Observables\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = timer1.concat(timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * // results in the following:\n * // (Prints to console sequentially)\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {ObservableInput} other An input Observable to concatenate after the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @method concat\n * @owner Observable\n */\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function (source) { return source.lift.call(concat_1.concat.apply(void 0, [source].concat(observables))); };\n}\nexports.concat = concat;\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concatMap_1 = __webpack_require__(231);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in a serialized fashion on the output Observable.\n *\n * It's like {@link concatMap}, but maps each value\n * always to the same inner Observable.\n *\n * \n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then flattens those resulting Observables into one\n * single Observable, which is the output Observable. Each new `innerObservable`\n * instance emitted on the output Observable is concatenated with the previous\n * `innerObservable` instance.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter\n * set to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link mergeMapTo}\n * @see {@link switchMapTo}\n *\n * @param {ObservableInput} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An observable of values merged together by joining the\n * passed observable with itself, one after the other, for each value emitted\n * from the source.\n * @method concatMapTo\n * @owner Observable\n */\nfunction concatMapTo(innerObservable, resultSelector) {\n return concatMap_1.concatMap(function () { return innerObservable; }, resultSelector);\n}\nexports.concatMapTo = concatMapTo;\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nexports.count = count;\nvar CountOperator = (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CountSubscriber = (function (_super) {\n __extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.source = source;\n this.count = 0;\n this.index = 0;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Converts an Observable of {@link Notification} objects into the emissions\n * that they represent.\n *\n * Unwraps {@link Notification} objects as actual `next`,\n * `error` and `complete` emissions. The opposite of {@link materialize}.\n *\n * \n *\n * `dematerialize` is assumed to operate an Observable that only emits\n * {@link Notification} objects as `next` emissions, and does not emit any\n * `error`. Such Observable is the output of a `materialize` operation. Those\n * notifications are then unwrapped using the metadata they contain, and emitted\n * as `next`, `error`, and `complete` on the output Observable.\n *\n * Use this operator in conjunction with {@link materialize}.\n *\n * @example Convert an Observable of Notifications to an actual Observable\n * var notifA = new Rx.Notification('N', 'A');\n * var notifB = new Rx.Notification('N', 'B');\n * var notifE = new Rx.Notification('E', void 0,\n * new TypeError('x.toUpperCase is not a function')\n * );\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\n * var upperCase = materialized.dematerialize();\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\n *\n * // Results in:\n * // A\n * // B\n * // TypeError: x.toUpperCase is not a function\n *\n * @see {@link Notification}\n * @see {@link materialize}\n *\n * @return {Observable} An Observable that emits items and notifications\n * embedded in Notification objects emitted by the source Observable.\n * @method dematerialize\n * @owner Observable\n */\nfunction dematerialize() {\n return function dematerializeOperatorFunction(source) {\n return source.lift(new DeMaterializeOperator());\n };\n}\nexports.dematerialize = dematerialize;\nvar DeMaterializeOperator = (function () {\n function DeMaterializeOperator() {\n }\n DeMaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DeMaterializeSubscriber(subscriber));\n };\n return DeMaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DeMaterializeSubscriber = (function (_super) {\n __extends(DeMaterializeSubscriber, _super);\n function DeMaterializeSubscriber(destination) {\n _super.call(this, destination);\n }\n DeMaterializeSubscriber.prototype._next = function (value) {\n value.observe(this.destination);\n };\n return DeMaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Emits a value from the source Observable only after a particular time span\n * determined by another Observable has passed without another source emission.\n *\n * It's like {@link debounceTime}, but the time span of\n * emission silence is determined by a second Observable.\n *\n * \n *\n * `debounce` delays values emitted by the source Observable, but drops previous\n * pending delayed emissions if a new value arrives on the source Observable.\n * This operator keeps track of the most recent value from the source\n * Observable, and spawns a duration Observable by calling the\n * `durationSelector` function. The value is emitted only when the duration\n * Observable emits a value or completes, and if no other value was emitted on\n * the source Observable since the duration Observable was spawned. If a new\n * value appears before the duration Observable emits, the previous value will\n * be dropped and will not be emitted on the output Observable.\n *\n * Like {@link debounceTime}, this is a rate-limiting operator, and also a\n * delay-like operator since output emissions do not necessarily occur at the\n * same time as they did on the source Observable.\n *\n * @example Emit the most recent click after a burst of clicks\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounce(() => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n * @see {@link throttle}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the timeout\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified duration Observable returned by\n * `durationSelector`, and may drop some values if they occur too frequently.\n * @method debounce\n * @owner Observable\n */\nfunction debounce(durationSelector) {\n return function (source) { return source.lift(new DebounceOperator(durationSelector)); };\n}\nexports.debounce = debounce;\nvar DebounceOperator = (function () {\n function DebounceOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n DebounceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n };\n return DebounceOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DebounceSubscriber = (function (_super) {\n __extends(DebounceSubscriber, _super);\n function DebounceSubscriber(destination, durationSelector) {\n _super.call(this, destination);\n this.durationSelector = durationSelector;\n this.hasValue = false;\n this.durationSubscription = null;\n }\n DebounceSubscriber.prototype._next = function (value) {\n try {\n var result = this.durationSelector.call(this, value);\n if (result) {\n this._tryNext(value, result);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DebounceSubscriber.prototype._complete = function () {\n this.emitValue();\n this.destination.complete();\n };\n DebounceSubscriber.prototype._tryNext = function (value, duration) {\n var subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = subscribeToResult_1.subscribeToResult(this, duration);\n if (!subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n };\n DebounceSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.emitValue();\n };\n DebounceSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n var value = this.value;\n var subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = null;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = null;\n this.hasValue = false;\n _super.prototype._next.call(this, value);\n }\n };\n return DebounceSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar Observable_1 = __webpack_require__(0);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Delays the emission of items from the source Observable by a given time span\n * determined by the emissions of another Observable.\n *\n * It's like {@link delay}, but the time span of the\n * delay duration is determined by a second Observable.\n *\n * \n *\n * `delayWhen` time shifts each emitted value from the source Observable by a\n * time span determined by another Observable. When the source emits a value,\n * the `delayDurationSelector` function is called with the source value as\n * argument, and should return an Observable, called the \"duration\" Observable.\n * The source value is emitted on the output Observable only when the duration\n * Observable emits a value or completes.\n *\n * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\n * is an Observable. When `subscriptionDelay` emits its first value or\n * completes, the source Observable is subscribed to and starts behaving like\n * described in the previous paragraph. If `subscriptionDelay` is not provided,\n * `delayWhen` will subscribe to the source Observable as soon as the output\n * Observable is subscribed.\n *\n * @example Delay each click by a random amount of time, between 0 and 5 seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delayWhen(event =>\n * Rx.Observable.interval(Math.random() * 5000)\n * );\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounce}\n * @see {@link delay}\n *\n * @param {function(value: T): Observable} delayDurationSelector A function that\n * returns an Observable for each value emitted by the source Observable, which\n * is then used to delay the emission of that item on the output Observable\n * until the Observable returned from this function emits a value.\n * @param {Observable} subscriptionDelay An Observable that triggers the\n * subscription to the source Observable once it emits any value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by an amount of time specified by the Observable returned by\n * `delayDurationSelector`.\n * @method delayWhen\n * @owner Observable\n */\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n };\n }\n return function (source) { return source.lift(new DelayWhenOperator(delayDurationSelector)); };\n}\nexports.delayWhen = delayWhen;\nvar DelayWhenOperator = (function () {\n function DelayWhenOperator(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n DelayWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n };\n return DelayWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelayWhenSubscriber = (function (_super) {\n __extends(DelayWhenSubscriber, _super);\n function DelayWhenSubscriber(destination, delayDurationSelector) {\n _super.call(this, destination);\n this.delayDurationSelector = delayDurationSelector;\n this.completed = false;\n this.delayNotifierSubscriptions = [];\n this.values = [];\n }\n DelayWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n var value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype._next = function (value) {\n try {\n var delayNotifier = this.delayDurationSelector(value);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DelayWhenSubscriber.prototype._complete = function () {\n this.completed = true;\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n subscription.unsubscribe();\n var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n var value = null;\n if (subscriptionIdx !== -1) {\n value = this.values[subscriptionIdx];\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n this.values.splice(subscriptionIdx, 1);\n }\n return value;\n };\n DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n var notifierSubscription = subscribeToResult_1.subscribeToResult(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n this.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n this.values.push(value);\n };\n DelayWhenSubscriber.prototype.tryComplete = function () {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n };\n return DelayWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelayObservable = (function (_super) {\n __extends(SubscriptionDelayObservable, _super);\n function SubscriptionDelayObservable(/** @deprecated internal use only */ source, subscriptionDelay) {\n _super.call(this);\n this.source = source;\n this.subscriptionDelay = subscriptionDelay;\n }\n /** @deprecated internal use only */ SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n };\n return SubscriptionDelayObservable;\n}(Observable_1.Observable));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubscriptionDelaySubscriber = (function (_super) {\n __extends(SubscriptionDelaySubscriber, _super);\n function SubscriptionDelaySubscriber(parent, source) {\n _super.call(this);\n this.parent = parent;\n this.source = source;\n this.sourceSubscribed = false;\n }\n SubscriptionDelaySubscriber.prototype._next = function (unused) {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype._error = function (err) {\n this.unsubscribe();\n this.parent.error(err);\n };\n SubscriptionDelaySubscriber.prototype._complete = function () {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n };\n return SubscriptionDelaySubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar Set_1 = __webpack_require__(796);\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\n *\n * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will\n * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\n * source observable directly with an equality check against previous values.\n *\n * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\n *\n * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\n * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\n * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\n * that the internal `Set` can be \"flushed\", basically clearing it of values.\n *\n * @example A simple example with numbers\n * Observable.of(1, 1, 2, 2, 2, 1, 2, 3, 4, 3, 2, 1)\n * .distinct()\n * .subscribe(x => console.log(x)); // 1, 2, 3, 4\n *\n * @example An example using a keySelector function\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * .distinct((p: Person) => p.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n *\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [keySelector] Optional function to select which value you want to check as distinct.\n * @param {Observable} [flushes] Optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinct\n * @owner Observable\n */\nfunction distinct(keySelector, flushes) {\n return function (source) { return source.lift(new DistinctOperator(keySelector, flushes)); };\n}\nexports.distinct = distinct;\nvar DistinctOperator = (function () {\n function DistinctOperator(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n DistinctOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n };\n return DistinctOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DistinctSubscriber = (function (_super) {\n __extends(DistinctSubscriber, _super);\n function DistinctSubscriber(destination, keySelector, flushes) {\n _super.call(this, destination);\n this.keySelector = keySelector;\n this.values = new Set_1.Set();\n if (flushes) {\n this.add(subscribeToResult_1.subscribeToResult(this, flushes));\n }\n }\n DistinctSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values.clear();\n };\n DistinctSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DistinctSubscriber.prototype._next = function (value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n };\n DistinctSubscriber.prototype._useKeySelector = function (value) {\n var key;\n var destination = this.destination;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n };\n DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n var values = this.values;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n };\n return DistinctSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.DistinctSubscriber = DistinctSubscriber;\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar distinctUntilChanged_1 = __webpack_require__(232);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,\n * using a property accessed by using the key provided to check if the two items are distinct.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example An example comparing the name of persons\n *\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'},\n * { age: 6, name: 'Foo'})\n * .distinctUntilKeyChanged('name')\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @example An example comparing the first letters of the name\n *\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo1'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo2'},\n * { age: 6, name: 'Foo3'})\n * .distinctUntilKeyChanged('name', (x: string, y: string) => x.substring(0, 3) === y.substring(0, 3))\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo1' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo2' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n *\n * @param {string} key String key for object property lookup on each item.\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values based on the key specified.\n * @method distinctUntilKeyChanged\n * @owner Observable\n */\nfunction distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged_1.distinctUntilChanged(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Converts a higher-order Observable into a first-order Observable by dropping\n * inner Observables while the previous inner Observable has not yet completed.\n *\n * Flattens an Observable-of-Observables by dropping the\n * next inner Observables while the current inner is still executing.\n *\n * \n *\n * `exhaust` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable begins emitting the items emitted by that\n * inner Observable. So far, it behaves like {@link mergeAll}. However,\n * `exhaust` ignores every new inner Observable if the previous Observable has\n * not yet completed. Once that one completes, it will accept and flatten the\n * next inner Observable and repeat this process.\n *\n * @example Run a finite timer for each click, only if there is no currently active timer\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(5));\n * var result = higherOrder.exhaust();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link switch}\n * @see {@link mergeAll}\n * @see {@link exhaustMap}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable that takes a source of Observables and propagates the first observable\n * exclusively until it completes before subscribing to the next.\n * @method exhaust\n * @owner Observable\n */\nfunction exhaust() {\n return function (source) { return source.lift(new SwitchFirstOperator()); };\n}\nexports.exhaust = exhaust;\nvar SwitchFirstOperator = (function () {\n function SwitchFirstOperator() {\n }\n SwitchFirstOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstSubscriber(subscriber));\n };\n return SwitchFirstOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstSubscriber = (function (_super) {\n __extends(SwitchFirstSubscriber, _super);\n function SwitchFirstSubscriber(destination) {\n _super.call(this, destination);\n this.hasCompleted = false;\n this.hasSubscription = false;\n }\n SwitchFirstSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.hasSubscription = true;\n this.add(subscribeToResult_1.subscribeToResult(this, value));\n }\n };\n SwitchFirstSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstSubscriber.prototype.notifyComplete = function (innerSub) {\n this.remove(innerSub);\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable only if the previous projected Observable has completed.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link exhaust}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. When it projects a source value to\n * an Observable, the output Observable begins emitting the items emitted by\n * that projected Observable. However, `exhaustMap` ignores every new projected\n * Observable if the previous projected Observable has not yet completed. Once\n * that one completes, it will accept and flatten the next projected Observable\n * and repeat this process.\n *\n * @example Run a finite timer for each click, only if there is no currently active timer\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000).take(5));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaust}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable containing projected Observables\n * of each item of the source, ignoring projected Observables that start before\n * their preceding Observable has completed.\n * @method exhaustMap\n * @owner Observable\n */\nfunction exhaustMap(project, resultSelector) {\n return function (source) { return source.lift(new SwitchFirstMapOperator(project, resultSelector)); };\n}\nexports.exhaustMap = exhaustMap;\nvar SwitchFirstMapOperator = (function () {\n function SwitchFirstMapOperator(project, resultSelector) {\n this.project = project;\n this.resultSelector = resultSelector;\n }\n SwitchFirstMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstMapSubscriber(subscriber, this.project, this.resultSelector));\n };\n return SwitchFirstMapOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchFirstMapSubscriber = (function (_super) {\n __extends(SwitchFirstMapSubscriber, _super);\n function SwitchFirstMapSubscriber(destination, project, resultSelector) {\n _super.call(this, destination);\n this.project = project;\n this.resultSelector = resultSelector;\n this.hasSubscription = false;\n this.hasCompleted = false;\n this.index = 0;\n }\n SwitchFirstMapSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n };\n SwitchFirstMapSubscriber.prototype.tryNext = function (value) {\n var index = this.index++;\n var destination = this.destination;\n try {\n var result = this.project(value, index);\n this.hasSubscription = true;\n this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\n }\n catch (err) {\n destination.error(err);\n }\n };\n SwitchFirstMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n if (resultSelector) {\n this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n destination.next(innerValue);\n }\n };\n SwitchFirstMapSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n try {\n var result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n destination.next(result);\n }\n catch (err) {\n destination.error(err);\n }\n };\n SwitchFirstMapSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SwitchFirstMapSubscriber.prototype.notifyComplete = function (innerSub) {\n this.remove(innerSub);\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * Recursively projects each source value to an Observable which is merged in\n * the output Observable.\n *\n * It's similar to {@link mergeMap}, but applies the\n * projection function to every source value as well as every output value.\n * It's recursive.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger. *Expand* will re-emit on the output\n * Observable every source value. Then, each output value is given to the\n * `project` function which returns an inner Observable to be merged on the\n * output Observable. Those output values resulting from the projection are also\n * given to the `project` function to produce new output values. This is how\n * *expand* behaves recursively.\n *\n * @example Start emitting the powers of two on every click, at most 10 of them\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var powersOfTwo = clicks\n * .mapTo(1)\n * .expand(x => Rx.Observable.of(2 * x).delay(1000))\n * .take(10);\n * powersOfTwo.subscribe(x => console.log(x));\n *\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n *\n * @param {function(value: T, index: number) => Observable} project A function\n * that, when applied to an item emitted by the source or the output Observable,\n * returns an Observable.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to\n * each projected inner Observable.\n * @return {Observable} An Observable that emits the source values and also\n * result of applying the projection function to each value emitted on the\n * output Observable and and merging the results of the Observables obtained\n * from this transformation.\n * @method expand\n * @owner Observable\n */\nfunction expand(project, concurrent, scheduler) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (scheduler === void 0) { scheduler = undefined; }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return function (source) { return source.lift(new ExpandOperator(project, concurrent, scheduler)); };\n}\nexports.expand = expand;\nvar ExpandOperator = (function () {\n function ExpandOperator(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n ExpandOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n };\n return ExpandOperator;\n}());\nexports.ExpandOperator = ExpandOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ExpandSubscriber = (function (_super) {\n __extends(ExpandSubscriber, _super);\n function ExpandSubscriber(destination, project, concurrent, scheduler) {\n _super.call(this, destination);\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n this.index = 0;\n this.active = 0;\n this.hasCompleted = false;\n if (concurrent < Number.POSITIVE_INFINITY) {\n this.buffer = [];\n }\n }\n ExpandSubscriber.dispatch = function (arg) {\n var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n subscriber.subscribeToProjection(result, value, index);\n };\n ExpandSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n var index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n var result = tryCatch_1.tryCatch(this.project)(value, index);\n if (result === errorObject_1.errorObject) {\n destination.error(errorObject_1.errorObject.e);\n }\n else if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n var state = { subscriber: this, result: result, value: value, index: index };\n this.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n this.active++;\n this.add(subscribeToResult_1.subscribeToResult(this, result, value, index));\n };\n ExpandSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n ExpandSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this._next(innerValue);\n };\n ExpandSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer && buffer.length > 0) {\n this._next(buffer.shift());\n }\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n return ExpandSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.ExpandSubscriber = ExpandSubscriber;\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar ArgumentOutOfRangeError_1 = __webpack_require__(111);\n/**\n * Emits the single value at the specified `index` in a sequence of emissions\n * from the source Observable.\n *\n * Emits only the i-th value, then completes.\n *\n * \n *\n * `elementAt` returns an Observable that emits the item at the specified\n * `index` in the source Observable, or a default value if that `index` is out\n * of range and the `default` argument is provided. If the `default` argument is\n * not given and the `index` is out of range, the output Observable will emit an\n * `ArgumentOutOfRangeError` error.\n *\n * @example Emit only the third click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.elementAt(2);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // click 1 = nothing\n * // click 2 = nothing\n * // click 3 = MouseEvent object logged to console\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link skip}\n * @see {@link single}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\n * Observable has completed before emitting the i-th `next` notification.\n *\n * @param {number} index Is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {T} [defaultValue] The default value returned for missing indices.\n * @return {Observable} An Observable that emits a single item, if it is found.\n * Otherwise, will emit the default value if given. If not, then emits an error.\n * @method elementAt\n * @owner Observable\n */\nfunction elementAt(index, defaultValue) {\n return function (source) { return source.lift(new ElementAtOperator(index, defaultValue)); };\n}\nexports.elementAt = elementAt;\nvar ElementAtOperator = (function () {\n function ElementAtOperator(index, defaultValue) {\n this.index = index;\n this.defaultValue = defaultValue;\n if (index < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n ElementAtOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ElementAtSubscriber(subscriber, this.index, this.defaultValue));\n };\n return ElementAtOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ElementAtSubscriber = (function (_super) {\n __extends(ElementAtSubscriber, _super);\n function ElementAtSubscriber(destination, index, defaultValue) {\n _super.call(this, destination);\n this.index = index;\n this.defaultValue = defaultValue;\n }\n ElementAtSubscriber.prototype._next = function (x) {\n if (this.index-- === 0) {\n this.destination.next(x);\n this.destination.complete();\n }\n };\n ElementAtSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index >= 0) {\n if (typeof this.defaultValue !== 'undefined') {\n destination.next(this.defaultValue);\n }\n else {\n destination.error(new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError);\n }\n }\n destination.complete();\n };\n return ElementAtSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar find_1 = __webpack_require__(233);\n/**\n * Emits only the index of the first value emitted by the source Observable that\n * meets some condition.\n *\n * It's like {@link find}, but emits the index of the\n * found value, not the value itself.\n *\n * \n *\n * `findIndex` searches for the first item in the source Observable that matches\n * the specified condition embodied by the `predicate`, and returns the\n * (zero-based) index of the first occurrence in the source. Unlike\n * {@link first}, the `predicate` is required in `findIndex`, and does not emit\n * an error if a valid value is not found.\n *\n * @example Emit the index of first click that happens on a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link find}\n * @see {@link first}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the index of the first item that\n * matches the condition.\n * @method find\n * @owner Observable\n */\nfunction findIndex(predicate, thisArg) {\n return function (source) { return source.lift(new find_1.FindValueOperator(predicate, source, true, thisArg)); };\n}\nexports.findIndex = findIndex;\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar Subscription_1 = __webpack_require__(15);\nvar Observable_1 = __webpack_require__(0);\nvar Subject_1 = __webpack_require__(6);\nvar Map_1 = __webpack_require__(819);\nvar FastMap_1 = __webpack_require__(821);\n/* tslint:enable:max-line-length */\n/**\n * Groups the items emitted by an Observable according to a specified criterion,\n * and emits these grouped items as `GroupedObservables`, one\n * {@link GroupedObservable} per group.\n *\n * \n *\n * @example Group objects by id and return as array\n * Observable.of({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs3'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], []))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // [ { id: 1, name: 'aze1' },\n * // { id: 1, name: 'erg1' },\n * // { id: 1, name: 'df1' } ]\n * //\n * // [ { id: 2, name: 'sf2' },\n * // { id: 2, name: 'dg2' },\n * // { id: 2, name: 'sfqfb2' },\n * // { id: 2, name: 'qsgqsfg2' } ]\n * //\n * // [ { id: 3, name: 'qfs3' } ]\n *\n * @example Pivot data on the id field\n * Observable.of({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs1'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id, p => p.name)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], [\"\" + group$.key]))\n * .map(arr => ({'id': parseInt(arr[0]), 'values': arr.slice(1)}))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // { id: 1, values: [ 'aze1', 'erg1', 'df1' ] }\n * // { id: 2, values: [ 'sf2', 'dg2', 'sfqfb2', 'qsgqsfg2' ] }\n * // { id: 3, values: [ 'qfs1' ] }\n *\n * @param {function(value: T): K} keySelector A function that extracts the key\n * for each item.\n * @param {function(value: T): R} [elementSelector] A function that extracts the\n * return element for each item.\n * @param {function(grouped: GroupedObservable): Observable} [durationSelector]\n * A function that returns an Observable to determine how long each group should\n * exist.\n * @return {Observable>} An Observable that emits\n * GroupedObservables, each of which corresponds to a unique key value and each\n * of which emits those items from the source Observable that share that key\n * value.\n * @method groupBy\n * @owner Observable\n */\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nexports.groupBy = groupBy;\nvar GroupByOperator = (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupBySubscriber = (function (_super) {\n __extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n _super.call(this, destination);\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n this.groups = null;\n this.attemptedToUnsubscribe = false;\n this.count = 0;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = typeof key === 'string' ? new FastMap_1.FastMap() : new Map_1.Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = this.subjectSelector ? this.subjectSelector() : new Subject_1.Subject();\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar GroupDurationSubscriber = (function (_super) {\n __extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n _super.call(this, group);\n this.key = key;\n this.group = group;\n this.parent = parent;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n /** @deprecated internal use only */ GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber_1.Subscriber));\n/**\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable\n */\nvar GroupedObservable = (function (_super) {\n __extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n _super.call(this);\n this.key = key;\n this.groupSubject = groupSubject;\n this.refCountSubscription = refCountSubscription;\n }\n /** @deprecated internal use only */ GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription_1.Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable_1.Observable));\nexports.GroupedObservable = GroupedObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerRefCountSubscription = (function (_super) {\n __extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n _super.call(this);\n this.parent = parent;\n parent.count++;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription_1.Subscription));\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar noop_1 = __webpack_require__(193);\n/**\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n *\n * \n *\n * @return {Observable} An empty Observable that only calls `complete`\n * or `error`, based on which one is called by the source Observable.\n * @method ignoreElements\n * @owner Observable\n */\nfunction ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nexports.ignoreElements = ignoreElements;\nvar IgnoreElementsOperator = (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IgnoreElementsSubscriber = (function (_super) {\n __extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n _super.apply(this, arguments);\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n noop_1.noop();\n };\n return IgnoreElementsSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nfunction isEmpty() {\n return function (source) { return source.lift(new IsEmptyOperator()); };\n}\nexports.isEmpty = isEmpty;\nvar IsEmptyOperator = (function () {\n function IsEmptyOperator() {\n }\n IsEmptyOperator.prototype.call = function (observer, source) {\n return source.subscribe(new IsEmptySubscriber(observer));\n };\n return IsEmptyOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar IsEmptySubscriber = (function (_super) {\n __extends(IsEmptySubscriber, _super);\n function IsEmptySubscriber(destination) {\n _super.call(this, destination);\n }\n IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n var destination = this.destination;\n destination.next(isEmpty);\n destination.complete();\n };\n IsEmptySubscriber.prototype._next = function (value) {\n this.notifyComplete(false);\n };\n IsEmptySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return IsEmptySubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar EmptyError_1 = __webpack_require__(136);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits only the last item emitted by the source Observable.\n * It optionally takes a predicate function as a parameter, in which case, rather than emitting\n * the last item from the source Observable, the resulting Observable will emit the last item\n * from the source Observable that satisfies the predicate.\n *\n * \n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {function} predicate - The condition any source emitted item has to satisfy.\n * @return {Observable} An Observable that emits only the last item satisfying the given condition\n * from the source, or an NoSuchElementException if no such items are emitted.\n * @throws - Throws if no items that match the predicate are emitted by the source Observable.\n * @method last\n * @owner Observable\n */\nfunction last(predicate, resultSelector, defaultValue) {\n return function (source) { return source.lift(new LastOperator(predicate, resultSelector, defaultValue, source)); };\n}\nexports.last = last;\nvar LastOperator = (function () {\n function LastOperator(predicate, resultSelector, defaultValue, source) {\n this.predicate = predicate;\n this.resultSelector = resultSelector;\n this.defaultValue = defaultValue;\n this.source = source;\n }\n LastOperator.prototype.call = function (observer, source) {\n return source.subscribe(new LastSubscriber(observer, this.predicate, this.resultSelector, this.defaultValue, this.source));\n };\n return LastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar LastSubscriber = (function (_super) {\n __extends(LastSubscriber, _super);\n function LastSubscriber(destination, predicate, resultSelector, defaultValue, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.resultSelector = resultSelector;\n this.defaultValue = defaultValue;\n this.source = source;\n this.hasValue = false;\n this.index = 0;\n if (typeof defaultValue !== 'undefined') {\n this.lastValue = defaultValue;\n this.hasValue = true;\n }\n }\n LastSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this._tryPredicate(value, index);\n }\n else {\n if (this.resultSelector) {\n this._tryResultSelector(value, index);\n return;\n }\n this.lastValue = value;\n this.hasValue = true;\n }\n };\n LastSubscriber.prototype._tryPredicate = function (value, index) {\n var result;\n try {\n result = this.predicate(value, index, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n if (this.resultSelector) {\n this._tryResultSelector(value, index);\n return;\n }\n this.lastValue = value;\n this.hasValue = true;\n }\n };\n LastSubscriber.prototype._tryResultSelector = function (value, index) {\n var result;\n try {\n result = this.resultSelector(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.lastValue = result;\n this.hasValue = true;\n };\n LastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.hasValue) {\n destination.next(this.lastValue);\n destination.complete();\n }\n else {\n destination.error(new EmptyError_1.EmptyError);\n }\n };\n return LastSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.\n *\n * @example A simple example emitting true if all elements are less than 5, false otherwise\n * Observable.of(1, 2, 3, 4, 5, 6)\n * .every(x => x < 5)\n * .subscribe(x => console.log(x)); // -> false\n *\n * @param {function} predicate A function for determining if an item meets a specified condition.\n * @param {any} [thisArg] Optional object to use for `this` in the callback.\n * @return {Observable} An Observable of booleans that determines if all items of the source Observable meet the condition specified.\n * @method every\n * @owner Observable\n */\nfunction every(predicate, thisArg) {\n return function (source) { return source.lift(new EveryOperator(predicate, thisArg, source)); };\n}\nexports.every = every;\nvar EveryOperator = (function () {\n function EveryOperator(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n EveryOperator.prototype.call = function (observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n };\n return EveryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar EverySubscriber = (function (_super) {\n __extends(EverySubscriber, _super);\n function EverySubscriber(destination, predicate, thisArg, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n this.index = 0;\n this.thisArg = thisArg || this;\n }\n EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n };\n EverySubscriber.prototype._next = function (value) {\n var result = false;\n try {\n result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (!result) {\n this.notifyComplete(false);\n }\n };\n EverySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return EverySubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Emits the given constant value on the output Observable every time the source\n * Observable emits a value.\n *\n * Like {@link map}, but it maps every source value to\n * the same output value every time.\n *\n * \n *\n * Takes a constant `value` as argument, and emits that whenever the source\n * Observable emits a value. In other words, ignores the actual source value,\n * and simply uses the emission moment to know when to emit the given `value`.\n *\n * @example Map every click to the string 'Hi'\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var greetings = clicks.mapTo('Hi');\n * greetings.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {any} value The value to map each source value to.\n * @return {Observable} An Observable that emits the given `value` every time\n * the source Observable emits something.\n * @method mapTo\n * @owner Observable\n */\nfunction mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nexports.mapTo = mapTo;\nvar MapToOperator = (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapToSubscriber = (function (_super) {\n __extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n _super.call(this, destination);\n this.value = value;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar Notification_1 = __webpack_require__(103);\n/**\n * Represents all of the notifications from the source Observable as `next`\n * emissions marked with their original types within {@link Notification}\n * objects.\n *\n * Wraps `next`, `error` and `complete` emissions in\n * {@link Notification} objects, emitted as `next` on the output Observable.\n * \n *\n * \n *\n * `materialize` returns an Observable that emits a `next` notification for each\n * `next`, `error`, or `complete` emission of the source Observable. When the\n * source Observable emits `complete`, the output Observable will emit `next` as\n * a Notification of type \"complete\", and then it will emit `complete` as well.\n * When the source Observable emits `error`, the output will emit `next` as a\n * Notification of type \"error\", and then `complete`.\n *\n * This operator is useful for producing metadata of the source Observable, to\n * be consumed as `next` emissions. Use it in conjunction with\n * {@link dematerialize}.\n *\n * @example Convert a faulty Observable to an Observable of Notifications\n * var letters = Rx.Observable.of('a', 'b', 13, 'd');\n * var upperCase = letters.map(x => x.toUpperCase());\n * var materialized = upperCase.materialize();\n * materialized.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - Notification {kind: \"N\", value: \"A\", error: undefined, hasValue: true}\n * // - Notification {kind: \"N\", value: \"B\", error: undefined, hasValue: true}\n * // - Notification {kind: \"E\", value: undefined, error: TypeError:\n * // x.toUpperCase is not a function at MapSubscriber.letters.map.x\n * // [as project] (http://1…, hasValue: false}\n *\n * @see {@link Notification}\n * @see {@link dematerialize}\n *\n * @return {Observable>} An Observable that emits\n * {@link Notification} objects that wrap the original emissions from the source\n * Observable with metadata.\n * @method materialize\n * @owner Observable\n */\nfunction materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nexports.materialize = materialize;\nvar MaterializeOperator = (function () {\n function MaterializeOperator() {\n }\n MaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n };\n return MaterializeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MaterializeSubscriber = (function (_super) {\n __extends(MaterializeSubscriber, _super);\n function MaterializeSubscriber(destination) {\n _super.call(this, destination);\n }\n MaterializeSubscriber.prototype._next = function (value) {\n this.destination.next(Notification_1.Notification.createNext(value));\n };\n MaterializeSubscriber.prototype._error = function (err) {\n var destination = this.destination;\n destination.next(Notification_1.Notification.createError(err));\n destination.complete();\n };\n MaterializeSubscriber.prototype._complete = function () {\n var destination = this.destination;\n destination.next(Notification_1.Notification.createComplete());\n destination.complete();\n };\n return MaterializeSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar reduce_1 = __webpack_require__(110);\n/**\n * The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function),\n * and when source Observable completes it emits a single item: the item with the largest value.\n *\n * \n *\n * @example Get the maximal value of a series of numbers\n * Rx.Observable.of(5, 4, 7, 2, 8)\n * .max()\n * .subscribe(x => console.log(x)); // -> 8\n *\n * @example Use a comparer function to get the maximal item\n * interface Person {\n * age: number,\n * name: string\n * }\n * Observable.of({age: 7, name: 'Foo'},\n * {age: 5, name: 'Bar'},\n * {age: 9, name: 'Beer'})\n * .max((a: Person, b: Person) => a.age < b.age ? -1 : 1)\n * .subscribe((x: Person) => console.log(x.name)); // -> 'Beer'\n * }\n *\n * @see {@link min}\n *\n * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the\n * value of two items.\n * @return {Observable} An Observable that emits item with the largest value.\n * @method max\n * @owner Observable\n */\nfunction max(comparer) {\n var max = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n : function (x, y) { return x > y ? x : y; };\n return reduce_1.reduce(max);\n}\nexports.max = max;\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in the output Observable.\n *\n * It's like {@link mergeMap}, but maps each value always\n * to the same inner Observable.\n *\n * \n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then merges those resulting Observables into one\n * single Observable, which is the output Observable.\n *\n * @example For each click event, start an interval Observable ticking every 1 second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.mergeMapTo(Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMapTo}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n * @see {@link switchMapTo}\n *\n * @param {ObservableInput} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` (and optionally transformed through `resultSelector`) every\n * time a value is emitted on the source Observable.\n * @method mergeMapTo\n * @owner Observable\n */\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n resultSelector = null;\n }\n return function (source) { return source.lift(new MergeMapToOperator(innerObservable, resultSelector, concurrent)); };\n}\nexports.mergeMapTo = mergeMapTo;\n// TODO: Figure out correct signature here: an Operator, R>\n// needs to implement call(observer: Subscriber): Subscriber>\nvar MergeMapToOperator = (function () {\n function MergeMapToOperator(ish, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n this.ish = ish;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n }\n MergeMapToOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapToSubscriber(observer, this.ish, this.resultSelector, this.concurrent));\n };\n return MergeMapToOperator;\n}());\nexports.MergeMapToOperator = MergeMapToOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeMapToSubscriber = (function (_super) {\n __extends(MergeMapToSubscriber, _super);\n function MergeMapToSubscriber(destination, ish, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n _super.call(this, destination);\n this.ish = ish;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n MergeMapToSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var resultSelector = this.resultSelector;\n var index = this.index++;\n var ish = this.ish;\n var destination = this.destination;\n this.active++;\n this._innerSub(ish, destination, resultSelector, value, index);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapToSubscriber.prototype._innerSub = function (ish, destination, resultSelector, value, index) {\n this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n };\n MergeMapToSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n };\n MergeMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n if (resultSelector) {\n this.trySelectResult(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n destination.next(innerValue);\n }\n };\n MergeMapToSubscriber.prototype.trySelectResult = function (outerValue, innerValue, outerIndex, innerIndex) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n var result;\n try {\n result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n destination.next(result);\n };\n MergeMapToSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n MergeMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapToSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapToSubscriber = MergeMapToSubscriber;\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar OuterSubscriber_1 = __webpack_require__(8);\n/**\n * Applies an accumulator function over the source Observable where the\n * accumulator function itself returns an Observable, then each intermediate\n * Observable returned is merged into the output Observable.\n *\n * It's like {@link scan}, but the Observables returned\n * by the accumulator are merged into the outer Observable.\n *\n * @example Count the number of click events\n * const click$ = Rx.Observable.fromEvent(document, 'click');\n * const one$ = click$.mapTo(1);\n * const seed = 0;\n * const count$ = one$.mergeScan((acc, one) => Rx.Observable.of(acc + one), seed);\n * count$.subscribe(x => console.log(x));\n *\n * // Results:\n * 1\n * 2\n * 3\n * 4\n * // ...and so on for each click\n *\n * @param {function(acc: R, value: T): Observable} accumulator\n * The accumulator function called on each source value.\n * @param seed The initial accumulation value.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of\n * input Observables being subscribed to concurrently.\n * @return {Observable} An observable of the accumulated values.\n * @method mergeScan\n * @owner Observable\n */\nfunction mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };\n}\nexports.mergeScan = mergeScan;\nvar MergeScanOperator = (function () {\n function MergeScanOperator(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n MergeScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n };\n return MergeScanOperator;\n}());\nexports.MergeScanOperator = MergeScanOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeScanSubscriber = (function (_super) {\n __extends(MergeScanSubscriber, _super);\n function MergeScanSubscriber(destination, accumulator, acc, concurrent) {\n _super.call(this, destination);\n this.accumulator = accumulator;\n this.acc = acc;\n this.concurrent = concurrent;\n this.hasValue = false;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n MergeScanSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var index = this.index++;\n var ish = tryCatch_1.tryCatch(this.accumulator)(this.acc, value);\n var destination = this.destination;\n if (ish === errorObject_1.errorObject) {\n destination.error(errorObject_1.errorObject.e);\n }\n else {\n this.active++;\n this._innerSub(ish, value, index);\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeScanSubscriber.prototype._innerSub = function (ish, value, index) {\n this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n };\n MergeScanSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n MergeScanSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var destination = this.destination;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n };\n MergeScanSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n return MergeScanSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeScanSubscriber = MergeScanSubscriber;\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar reduce_1 = __webpack_require__(110);\n/**\n * The Min operator operates on an Observable that emits numbers (or items that can be compared with a provided function),\n * and when source Observable completes it emits a single item: the item with the smallest value.\n *\n * \n *\n * @example Get the minimal value of a series of numbers\n * Rx.Observable.of(5, 4, 7, 2, 8)\n * .min()\n * .subscribe(x => console.log(x)); // -> 2\n *\n * @example Use a comparer function to get the minimal item\n * interface Person {\n * age: number,\n * name: string\n * }\n * Observable.of({age: 7, name: 'Foo'},\n * {age: 5, name: 'Bar'},\n * {age: 9, name: 'Beer'})\n * .min( (a: Person, b: Person) => a.age < b.age ? -1 : 1)\n * .subscribe((x: Person) => console.log(x.name)); // -> 'Bar'\n * }\n *\n * @see {@link max}\n *\n * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the\n * value of two items.\n * @return {Observable} An Observable that emits item with the smallest value.\n * @method min\n * @owner Observable\n */\nfunction min(comparer) {\n var min = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n : function (x, y) { return x < y ? x : y; };\n return reduce_1.reduce(min);\n}\nexports.min = min;\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Groups pairs of consecutive emissions together and emits them as an array of\n * two values.\n *\n * Puts the current value and previous value together as\n * an array, and emits that.\n *\n * \n *\n * The Nth emission from the source Observable will cause the output Observable\n * to emit an array [(N-1)th, Nth] of the previous and the current value, as a\n * pair. For this reason, `pairwise` emits on the second and subsequent\n * emissions from the source Observable, but not on the first emission, because\n * there is no previous value in that case.\n *\n * @example On every click (starting from the second), emit the relative distance to the previous click\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var pairs = clicks.pairwise();\n * var distance = pairs.map(pair => {\n * var x0 = pair[0].clientX;\n * var y0 = pair[0].clientY;\n * var x1 = pair[1].clientX;\n * var y1 = pair[1].clientY;\n * return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\n * });\n * distance.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n *\n * @return {Observable>} An Observable of pairs (as arrays) of\n * consecutive values from the source Observable.\n * @method pairwise\n * @owner Observable\n */\nfunction pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nexports.pairwise = pairwise;\nvar PairwiseOperator = (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar PairwiseSubscriber = (function (_super) {\n __extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n _super.call(this, destination);\n this.hasPrev = false;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n if (this.hasPrev) {\n this.destination.next([this.prev, value]);\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n };\n return PairwiseSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar not_1 = __webpack_require__(859);\nvar filter_1 = __webpack_require__(199);\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.\n *\n * \n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * @example Partition click events into those on DIV elements and those elsewhere\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\n * var clicksOnDivs = parts[0];\n * var clicksElsewhere = parts[1];\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\n *\n * @see {@link filter}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted on the first Observable in the returned array, if\n * `false` the value is emitted on the second Observable in the array. The\n * `index` parameter is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {[Observable, Observable]} An array with two Observables: one\n * with values that passed the predicate, and another with values that did not\n * pass the predicate.\n * @method partition\n * @owner Observable\n */\nfunction partition(predicate, thisArg) {\n return function (source) { return [\n filter_1.filter(predicate, thisArg)(source),\n filter_1.filter(not_1.not(predicate, thisArg))(source)\n ]; };\n}\nexports.partition = partition;\n\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar map_1 = __webpack_require__(101);\n/**\n * Maps each source value (an object) to its specified nested property.\n *\n * Like {@link map}, but meant only for picking one of\n * the nested properties of every emitted object.\n *\n * \n *\n * Given a list of strings describing a path to an object property, retrieves\n * the value of a specified nested property from all values in the source\n * Observable. If a property can't be resolved, it will return `undefined` for\n * that value.\n *\n * @example Map every click to the tagName of the clicked target element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var tagNames = clicks.pluck('target', 'tagName');\n * tagNames.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {...string} properties The nested properties to pluck from each source\n * value (an object).\n * @return {Observable} A new Observable of property values from the source values.\n * @method pluck\n * @owner Observable\n */\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i - 0] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map_1.map(plucker(properties, length))(source); };\n}\nexports.pluck = pluck;\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp[props[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Subject_1 = __webpack_require__(6);\nvar multicast_1 = __webpack_require__(79);\n/* tslint:enable:max-line-length */\n/**\n * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called\n * before it begins emitting items to those Observers that have subscribed to it.\n *\n * \n *\n * @param {Function} [selector] - Optional selector function which can use the multicasted source sequence as many times\n * as needed, without causing multiple subscriptions to the source sequence.\n * Subscribers to the given source will receive all notifications of the source from the time of the subscription on.\n * @return A ConnectableObservable that upon connection causes the source Observable to emit items to its Observers.\n * @method publish\n * @owner Observable\n */\nfunction publish(selector) {\n return selector ?\n multicast_1.multicast(function () { return new Subject_1.Subject(); }, selector) :\n multicast_1.multicast(new Subject_1.Subject());\n}\nexports.publish = publish;\n\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar BehaviorSubject_1 = __webpack_require__(209);\nvar multicast_1 = __webpack_require__(79);\n/**\n * @param value\n * @return {ConnectableObservable}\n * @method publishBehavior\n * @owner Observable\n */\nfunction publishBehavior(value) {\n return function (source) { return multicast_1.multicast(new BehaviorSubject_1.BehaviorSubject(value))(source); };\n}\nexports.publishBehavior = publishBehavior;\n\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ReplaySubject_1 = __webpack_require__(151);\nvar multicast_1 = __webpack_require__(79);\n/* tslint:enable:max-line-length */\nfunction publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n var subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);\n return function (source) { return multicast_1.multicast(function () { return subject; }, selector)(source); };\n}\nexports.publishReplay = publishReplay;\n\n\n/***/ }),\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar AsyncSubject_1 = __webpack_require__(148);\nvar multicast_1 = __webpack_require__(79);\nfunction publishLast() {\n return function (source) { return multicast_1.multicast(new AsyncSubject_1.AsyncSubject())(source); };\n}\nexports.publishLast = publishLast;\n\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isArray_1 = __webpack_require__(57);\nvar race_1 = __webpack_require__(229);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that mirrors the first source Observable to emit an item\n * from the combination of this Observable and supplied Observables.\n * @param {...Observables} ...observables Sources used to race for which Observable emits first.\n * @return {Observable} An Observable that mirrors the output of the first Observable to emit an item.\n * @method race\n * @owner Observable\n */\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return function raceOperatorFunction(source) {\n // if the only argument is an array, it was most likely called with\n // `pair([obs1, obs2, ...])`\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(race_1.race.apply(void 0, [source].concat(observables)));\n };\n}\nexports.race = race;\n\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar EmptyObservable_1 = __webpack_require__(75);\n/**\n * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times.\n *\n * \n *\n * @param {number} [count] The number of times the source Observable items are repeated, a count of 0 will yield\n * an empty Observable.\n * @return {Observable} An Observable that repeats the stream of items emitted by the source Observable at most\n * count times.\n * @method repeat\n * @owner Observable\n */\nfunction repeat(count) {\n if (count === void 0) { count = -1; }\n return function (source) {\n if (count === 0) {\n return new EmptyObservable_1.EmptyObservable();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nexports.repeat = repeat;\nvar RepeatOperator = (function () {\n function RepeatOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RepeatOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n };\n return RepeatOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatSubscriber = (function (_super) {\n __extends(RepeatSubscriber, _super);\n function RepeatSubscriber(destination, count, source) {\n _super.call(this, destination);\n this.count = count;\n this.source = source;\n }\n RepeatSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.complete.call(this);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RepeatSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 369 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of a `complete`. If the source\n * Observable calls `complete`, this method will emit to the Observable returned from `notifier`. If that Observable\n * calls `complete` or `error`, then this method will call `complete` or `error` on the child subscription. Otherwise\n * this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(notifications: Observable): Observable} notifier - Receives an Observable of notifications with\n * which a user can `complete` or `error`, aborting the repetition.\n * @return {Observable} The source Observable modified with repeat logic.\n * @method repeatWhen\n * @owner Observable\n */\nfunction repeatWhen(notifier) {\n return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };\n}\nexports.repeatWhen = repeatWhen;\nvar RepeatWhenOperator = (function () {\n function RepeatWhenOperator(notifier) {\n this.notifier = notifier;\n }\n RepeatWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n };\n return RepeatWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RepeatWhenSubscriber = (function (_super) {\n __extends(RepeatWhenSubscriber, _super);\n function RepeatWhenSubscriber(destination, notifier, source) {\n _super.call(this, destination);\n this.notifier = notifier;\n this.source = source;\n this.sourceIsBeingSubscribedTo = true;\n }\n RepeatWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n };\n RepeatWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n if (this.sourceIsBeingSubscribedTo === false) {\n return _super.prototype.complete.call(this);\n }\n };\n RepeatWhenSubscriber.prototype.complete = function () {\n this.sourceIsBeingSubscribedTo = false;\n if (!this.isStopped) {\n if (!this.retries) {\n this.subscribeToRetries();\n }\n if (!this.retriesSubscription || this.retriesSubscription.closed) {\n return _super.prototype.complete.call(this);\n }\n this._unsubscribeAndRecycle();\n this.notifications.next();\n }\n };\n /** @deprecated internal use only */ RepeatWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n };\n /** @deprecated internal use only */ RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {\n var _a = this, notifications = _a.notifications, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n this.notifications = null;\n this.retries = null;\n this.retriesSubscription = null;\n _super.prototype._unsubscribeAndRecycle.call(this);\n this.notifications = notifications;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n return this;\n };\n RepeatWhenSubscriber.prototype.subscribeToRetries = function () {\n this.notifications = new Subject_1.Subject();\n var retries = tryCatch_1.tryCatch(this.notifier)(this.notifications);\n if (retries === errorObject_1.errorObject) {\n return _super.prototype.complete.call(this);\n }\n this.retries = retries;\n this.retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n };\n return RepeatWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will resubscribe to the source Observable for a maximum of `count` resubscriptions (given\n * as a number parameter) rather than propagating the `error` call.\n *\n * \n *\n * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\n * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\n * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\n * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].\n * @param {number} count - Number of retry attempts before failing.\n * @return {Observable} The source Observable modified with the retry logic.\n * @method retry\n * @owner Observable\n */\nfunction retry(count) {\n if (count === void 0) { count = -1; }\n return function (source) { return source.lift(new RetryOperator(count, source)); };\n}\nexports.retry = retry;\nvar RetryOperator = (function () {\n function RetryOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RetryOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n };\n return RetryOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetrySubscriber = (function (_super) {\n __extends(RetrySubscriber, _super);\n function RetrySubscriber(destination, count, source) {\n _super.call(this, destination);\n this.count = count;\n this.source = source;\n }\n RetrySubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.error.call(this, err);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RetrySubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nfunction retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nexports.retryWhen = retryWhen;\nvar RetryWhenOperator = (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetryWhenSubscriber = (function (_super) {\n __extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n _super.call(this, destination);\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject_1.Subject();\n retries = tryCatch_1.tryCatch(this.notifier)(errors);\n if (retries === errorObject_1.errorObject) {\n return _super.prototype.error.call(this, errorObject_1.errorObject.e);\n }\n retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n }\n else {\n this.errors = null;\n this.retriesSubscription = null;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n /** @deprecated internal use only */ RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n };\n RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n this.errors = null;\n this.retries = null;\n this.retriesSubscription = null;\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 372 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Emits the most recently emitted value from the source Observable whenever\n * another Observable, the `notifier`, emits.\n *\n * It's like {@link sampleTime}, but samples whenever\n * the `notifier` Observable emits something.\n *\n * \n *\n * Whenever the `notifier` Observable emits a value or completes, `sample`\n * looks at the source Observable and emits whichever value it has most recently\n * emitted since the previous sampling, unless the source has not emitted\n * anything since the previous sampling. The `notifier` is subscribed to as soon\n * as the output Observable is subscribed.\n *\n * @example On every click, sample the most recent \"seconds\" timer\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = seconds.sample(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {Observable} notifier The Observable to use for sampling the\n * source Observable.\n * @return {Observable} An Observable that emits the results of sampling the\n * values emitted by the source Observable whenever the notifier Observable\n * emits value or completes.\n * @method sample\n * @owner Observable\n */\nfunction sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\nexports.sample = sample;\nvar SampleOperator = (function () {\n function SampleOperator(notifier) {\n this.notifier = notifier;\n }\n SampleOperator.prototype.call = function (subscriber, source) {\n var sampleSubscriber = new SampleSubscriber(subscriber);\n var subscription = source.subscribe(sampleSubscriber);\n subscription.add(subscribeToResult_1.subscribeToResult(sampleSubscriber, this.notifier));\n return subscription;\n };\n return SampleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleSubscriber = (function (_super) {\n __extends(SampleSubscriber, _super);\n function SampleSubscriber() {\n _super.apply(this, arguments);\n this.hasValue = false;\n }\n SampleSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n };\n SampleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.emitValue();\n };\n SampleSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n };\n return SampleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar async_1 = __webpack_require__(17);\n/**\n * Emits the most recently emitted value from the source Observable within\n * periodic time intervals.\n *\n * Samples the source Observable at periodic time\n * intervals, emitting what it samples.\n *\n * \n *\n * `sampleTime` periodically looks at the source Observable and emits whichever\n * value it has most recently emitted since the previous sampling, unless the\n * source has not emitted anything since the previous sampling. The sampling\n * happens periodically in time every `period` milliseconds (or the time unit\n * defined by the optional `scheduler` argument). The sampling starts as soon as\n * the output Observable is subscribed.\n *\n * @example Every second, emit the most recent click at most once\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.sampleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {number} period The sampling period expressed in milliseconds or the\n * time unit determined internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable} An Observable that emits the results of sampling the\n * values emitted by the source Observable at the specified time interval.\n * @method sampleTime\n * @owner Observable\n */\nfunction sampleTime(period, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return source.lift(new SampleTimeOperator(period, scheduler)); };\n}\nexports.sampleTime = sampleTime;\nvar SampleTimeOperator = (function () {\n function SampleTimeOperator(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n SampleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n };\n return SampleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SampleTimeSubscriber = (function (_super) {\n __extends(SampleTimeSubscriber, _super);\n function SampleTimeSubscriber(destination, period, scheduler) {\n _super.call(this, destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period: period }));\n }\n SampleTimeSubscriber.prototype._next = function (value) {\n this.lastValue = value;\n this.hasValue = true;\n };\n SampleTimeSubscriber.prototype.notifyNext = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n };\n return SampleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNotification(state) {\n var subscriber = state.subscriber, period = state.period;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\n/**\n * Compares all values of two observables in sequence using an optional comparor function\n * and returns an observable of a single boolean value representing whether or not the two sequences\n * are equal.\n *\n * Checks to see of all values emitted by both observables are equal, in order.\n *\n * \n *\n * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\n * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\n * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\n * observables completes, the operator will wait for the other observable to complete; If the other\n * observable emits before completing, the returned observable will emit `false` and complete. If one observable never\n * completes or emits after the other complets, the returned observable will never complete.\n *\n * @example figure out if the Konami code matches\n * var code = Rx.Observable.from([\n * \"ArrowUp\",\n * \"ArrowUp\",\n * \"ArrowDown\",\n * \"ArrowDown\",\n * \"ArrowLeft\",\n * \"ArrowRight\",\n * \"ArrowLeft\",\n * \"ArrowRight\",\n * \"KeyB\",\n * \"KeyA\",\n * \"Enter\" // no start key, clearly.\n * ]);\n *\n * var keys = Rx.Observable.fromEvent(document, 'keyup')\n * .map(e => e.code);\n * var matches = keys.bufferCount(11, 1)\n * .mergeMap(\n * last11 =>\n * Rx.Observable.from(last11)\n * .sequenceEqual(code)\n * );\n * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} compareTo The observable sequence to compare the source sequence to.\n * @param {function} [comparor] An optional function to compare each value pair\n * @return {Observable} An Observable of a single boolean value representing whether or not\n * the values emitted by both observables were equal in sequence.\n * @method sequenceEqual\n * @owner Observable\n */\nfunction sequenceEqual(compareTo, comparor) {\n return function (source) { return source.lift(new SequenceEqualOperator(compareTo, comparor)); };\n}\nexports.sequenceEqual = sequenceEqual;\nvar SequenceEqualOperator = (function () {\n function SequenceEqualOperator(compareTo, comparor) {\n this.compareTo = compareTo;\n this.comparor = comparor;\n }\n SequenceEqualOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparor));\n };\n return SequenceEqualOperator;\n}());\nexports.SequenceEqualOperator = SequenceEqualOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SequenceEqualSubscriber = (function (_super) {\n __extends(SequenceEqualSubscriber, _super);\n function SequenceEqualSubscriber(destination, compareTo, comparor) {\n _super.call(this, destination);\n this.compareTo = compareTo;\n this.comparor = comparor;\n this._a = [];\n this._b = [];\n this._oneComplete = false;\n this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));\n }\n SequenceEqualSubscriber.prototype._next = function (value) {\n if (this._oneComplete && this._b.length === 0) {\n this.emit(false);\n }\n else {\n this._a.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype._complete = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n };\n SequenceEqualSubscriber.prototype.checkValues = function () {\n var _c = this, _a = _c._a, _b = _c._b, comparor = _c.comparor;\n while (_a.length > 0 && _b.length > 0) {\n var a = _a.shift();\n var b = _b.shift();\n var areEqual = false;\n if (comparor) {\n areEqual = tryCatch_1.tryCatch(comparor)(a, b);\n if (areEqual === errorObject_1.errorObject) {\n this.destination.error(errorObject_1.errorObject.e);\n }\n }\n else {\n areEqual = a === b;\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n };\n SequenceEqualSubscriber.prototype.emit = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n SequenceEqualSubscriber.prototype.nextB = function (value) {\n if (this._oneComplete && this._a.length === 0) {\n this.emit(false);\n }\n else {\n this._b.push(value);\n this.checkValues();\n }\n };\n return SequenceEqualSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SequenceEqualSubscriber = SequenceEqualSubscriber;\nvar SequenceEqualCompareToSubscriber = (function (_super) {\n __extends(SequenceEqualCompareToSubscriber, _super);\n function SequenceEqualCompareToSubscriber(destination, parent) {\n _super.call(this, destination);\n this.parent = parent;\n }\n SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n this.parent.nextB(value);\n };\n SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n this.parent.error(err);\n };\n SequenceEqualCompareToSubscriber.prototype._complete = function () {\n this.parent._complete();\n };\n return SequenceEqualCompareToSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 375 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ReplaySubject_1 = __webpack_require__(151);\n/**\n * @method shareReplay\n * @owner Observable\n */\nfunction shareReplay(bufferSize, windowTime, scheduler) {\n return function (source) { return source.lift(shareReplayOperator(bufferSize, windowTime, scheduler)); };\n}\nexports.shareReplay = shareReplay;\nfunction shareReplayOperator(bufferSize, windowTime, scheduler) {\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);\n subscription = source.subscribe({\n next: function (value) { subject.next(value); },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subject.complete();\n },\n });\n }\n var innerSub = subject.subscribe(this);\n return function () {\n refCount--;\n innerSub.unsubscribe();\n if (subscription && refCount === 0 && isComplete) {\n subscription.unsubscribe();\n }\n };\n };\n}\n;\n\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar EmptyError_1 = __webpack_require__(136);\n/**\n * Returns an Observable that emits the single item emitted by the source Observable that matches a specified\n * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\n * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.\n *\n * \n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {Function} predicate - A predicate function to evaluate items emitted by the source Observable.\n * @return {Observable} An Observable that emits the single item emitted by the source Observable that matches\n * the predicate.\n .\n * @method single\n * @owner Observable\n */\nfunction single(predicate) {\n return function (source) { return source.lift(new SingleOperator(predicate, source)); };\n}\nexports.single = single;\nvar SingleOperator = (function () {\n function SingleOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n SingleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n };\n return SingleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SingleSubscriber = (function (_super) {\n __extends(SingleSubscriber, _super);\n function SingleSubscriber(destination, predicate, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.source = source;\n this.seenValue = false;\n this.index = 0;\n }\n SingleSubscriber.prototype.applySingleValue = function (value) {\n if (this.seenValue) {\n this.destination.error('Sequence contains more than one element');\n }\n else {\n this.seenValue = true;\n this.singleValue = value;\n }\n };\n SingleSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n };\n SingleSubscriber.prototype.tryNext = function (value, index) {\n try {\n if (this.predicate(value, index, this.source)) {\n this.applySingleValue(value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n SingleSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index > 0) {\n destination.next(this.seenValue ? this.singleValue : undefined);\n destination.complete();\n }\n else {\n destination.error(new EmptyError_1.EmptyError);\n }\n };\n return SingleSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 377 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Returns an Observable that skips the first `count` items emitted by the source Observable.\n *\n * \n *\n * @param {Number} count - The number of times, items emitted by source Observable should be skipped.\n * @return {Observable} An Observable that skips values emitted by the source Observable.\n *\n * @method skip\n * @owner Observable\n */\nfunction skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nexports.skip = skip;\nvar SkipOperator = (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipSubscriber = (function (_super) {\n __extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n _super.call(this, destination);\n this.total = total;\n this.count = 0;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 378 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar ArgumentOutOfRangeError_1 = __webpack_require__(111);\n/**\n * Skip the last `count` values emitted by the source Observable.\n *\n * \n *\n * `skipLast` returns an Observable that accumulates a queue with a length\n * enough to store the first `count` values. As more values are received,\n * values are taken from the front of the queue and produced on the result\n * sequence. This causes values to be delayed.\n *\n * @example Skip the last 2 values of an Observable with many values\n * var many = Rx.Observable.range(1, 5);\n * var skipLastTwo = many.skipLast(2);\n * skipLastTwo.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 1 2 3\n *\n * @see {@link skip}\n * @see {@link skipUntil}\n * @see {@link skipWhile}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `skipLast(i)`, it throws\n * ArgumentOutOrRangeError if `i < 0`.\n *\n * @param {number} count Number of elements to skip from the end of the source Observable.\n * @returns {Observable} An Observable that skips the last count values\n * emitted by the source Observable.\n * @method skipLast\n * @owner Observable\n */\nfunction skipLast(count) {\n return function (source) { return source.lift(new SkipLastOperator(count)); };\n}\nexports.skipLast = skipLast;\nvar SkipLastOperator = (function () {\n function SkipLastOperator(_skipCount) {\n this._skipCount = _skipCount;\n if (this._skipCount < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n SkipLastOperator.prototype.call = function (subscriber, source) {\n if (this._skipCount === 0) {\n // If we don't want to skip any values then just subscribe\n // to Subscriber without any further logic.\n return source.subscribe(new Subscriber_1.Subscriber(subscriber));\n }\n else {\n return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));\n }\n };\n return SkipLastOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipLastSubscriber = (function (_super) {\n __extends(SkipLastSubscriber, _super);\n function SkipLastSubscriber(destination, _skipCount) {\n _super.call(this, destination);\n this._skipCount = _skipCount;\n this._count = 0;\n this._ring = new Array(_skipCount);\n }\n SkipLastSubscriber.prototype._next = function (value) {\n var skipCount = this._skipCount;\n var count = this._count++;\n if (count < skipCount) {\n this._ring[count] = value;\n }\n else {\n var currentIndex = count % skipCount;\n var ring = this._ring;\n var oldValue = ring[currentIndex];\n ring[currentIndex] = value;\n this.destination.next(oldValue);\n }\n };\n return SkipLastSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 379 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\n *\n * \n *\n * @param {Observable} notifier - The second Observable that has to emit an item before the source Observable's elements begin to\n * be mirrored by the resulting Observable.\n * @return {Observable} An Observable that skips items from the source Observable until the second Observable emits\n * an item, then emits the remaining items.\n * @method skipUntil\n * @owner Observable\n */\nfunction skipUntil(notifier) {\n return function (source) { return source.lift(new SkipUntilOperator(notifier)); };\n}\nexports.skipUntil = skipUntil;\nvar SkipUntilOperator = (function () {\n function SkipUntilOperator(notifier) {\n this.notifier = notifier;\n }\n SkipUntilOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipUntilSubscriber(subscriber, this.notifier));\n };\n return SkipUntilOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipUntilSubscriber = (function (_super) {\n __extends(SkipUntilSubscriber, _super);\n function SkipUntilSubscriber(destination, notifier) {\n _super.call(this, destination);\n this.hasValue = false;\n this.isInnerStopped = false;\n this.add(subscribeToResult_1.subscribeToResult(this, notifier));\n }\n SkipUntilSubscriber.prototype._next = function (value) {\n if (this.hasValue) {\n _super.prototype._next.call(this, value);\n }\n };\n SkipUntilSubscriber.prototype._complete = function () {\n if (this.isInnerStopped) {\n _super.prototype._complete.call(this);\n }\n else {\n this.unsubscribe();\n }\n };\n SkipUntilSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.hasValue = true;\n };\n SkipUntilSubscriber.prototype.notifyComplete = function () {\n this.isInnerStopped = true;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n return SkipUntilSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 380 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\n * true, but emits all further source items as soon as the condition becomes false.\n *\n * \n *\n * @param {Function} predicate - A function to test each item emitted from the source Observable.\n * @return {Observable} An Observable that begins emitting items emitted by the source Observable when the\n * specified predicate becomes false.\n * @method skipWhile\n * @owner Observable\n */\nfunction skipWhile(predicate) {\n return function (source) { return source.lift(new SkipWhileOperator(predicate)); };\n}\nexports.skipWhile = skipWhile;\nvar SkipWhileOperator = (function () {\n function SkipWhileOperator(predicate) {\n this.predicate = predicate;\n }\n SkipWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n };\n return SkipWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SkipWhileSubscriber = (function (_super) {\n __extends(SkipWhileSubscriber, _super);\n function SkipWhileSubscriber(destination, predicate) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.skipping = true;\n this.index = 0;\n }\n SkipWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n };\n SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n try {\n var result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n return SkipWhileSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 381 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar AsapAction_1 = __webpack_require__(907);\nvar AsapScheduler_1 = __webpack_require__(909);\n/**\n *\n * Asap Scheduler\n *\n * Perform task as fast as it can be performed asynchronously\n *\n * `asap` scheduler behaves the same as {@link async} scheduler when you use it to delay task\n * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing\n * code to end and then it will try to execute given task as fast as possible.\n *\n * `asap` scheduler will do its best to minimize time between end of currently executing code\n * and start of scheduled task. This makes it best candidate for performing so called \"deferring\".\n * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves\n * some (although minimal) unwanted delay.\n *\n * Note that using `asap` scheduler does not necessarily mean that your task will be first to process\n * after currently executing code. In particular, if some task was also scheduled with `asap` before,\n * that task will execute first. That being said, if you need to schedule task asynchronously, but\n * as soon as possible, `asap` scheduler is your best bet.\n *\n * @example Compare async and asap scheduler\n *\n * Rx.Scheduler.async.schedule(() => console.log('async')); // scheduling 'async' first...\n * Rx.Scheduler.asap.schedule(() => console.log('asap'));\n *\n * // Logs:\n * // \"asap\"\n * // \"async\"\n * // ... but 'asap' goes first!\n *\n * @static true\n * @name asap\n * @owner Scheduler\n */\nexports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);\n\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar switchMap_1 = __webpack_require__(201);\nvar identity_1 = __webpack_require__(266);\nfunction switchAll() {\n return switchMap_1.switchMap(identity_1.identity);\n}\nexports.switchAll = switchAll;\n\n\n/***/ }),\n/* 383 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to the same Observable which is flattened multiple\n * times with {@link switch} in the output Observable.\n *\n * It's like {@link switchMap}, but maps each value\n * always to the same inner Observable.\n *\n * \n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then flattens those resulting Observables into one\n * single Observable, which is the output Observable. The output Observables\n * emits values only from the most recently emitted instance of\n * `innerObservable`.\n *\n * @example Rerun an interval Observable on every click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.switchMapTo(Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMapTo}\n * @see {@link switch}\n * @see {@link switchMap}\n * @see {@link mergeMapTo}\n *\n * @param {ObservableInput} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` (and optionally transformed through `resultSelector`) every\n * time a value is emitted on the source Observable, and taking only the values\n * from the most recently projected inner Observable.\n * @method switchMapTo\n * @owner Observable\n */\nfunction switchMapTo(innerObservable, resultSelector) {\n return function (source) { return source.lift(new SwitchMapToOperator(innerObservable, resultSelector)); };\n}\nexports.switchMapTo = switchMapTo;\nvar SwitchMapToOperator = (function () {\n function SwitchMapToOperator(observable, resultSelector) {\n this.observable = observable;\n this.resultSelector = resultSelector;\n }\n SwitchMapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapToSubscriber(subscriber, this.observable, this.resultSelector));\n };\n return SwitchMapToOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SwitchMapToSubscriber = (function (_super) {\n __extends(SwitchMapToSubscriber, _super);\n function SwitchMapToSubscriber(destination, inner, resultSelector) {\n _super.call(this, destination);\n this.inner = inner;\n this.resultSelector = resultSelector;\n this.index = 0;\n }\n SwitchMapToSubscriber.prototype._next = function (value) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n this.add(this.innerSubscription = subscribeToResult_1.subscribeToResult(this, this.inner, value, this.index++));\n };\n SwitchMapToSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n };\n /** @deprecated internal use only */ SwitchMapToSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = null;\n };\n SwitchMapToSubscriber.prototype.notifyComplete = function (innerSub) {\n this.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapToSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n if (resultSelector) {\n this.tryResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n destination.next(innerValue);\n }\n };\n SwitchMapToSubscriber.prototype.tryResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n var _a = this, resultSelector = _a.resultSelector, destination = _a.destination;\n var result;\n try {\n result = resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n destination.next(result);\n };\n return SwitchMapToSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 384 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\n/**\n * Emits values emitted by the source Observable so long as each value satisfies\n * the given `predicate`, and then completes as soon as this `predicate` is not\n * satisfied.\n *\n * Takes values from the source only while they pass the\n * condition given. When the first value does not satisfy, it completes.\n *\n * \n *\n * `takeWhile` subscribes and begins mirroring the source Observable. Each value\n * emitted on the source is given to the `predicate` function which returns a\n * boolean, representing a condition to be satisfied by the source values. The\n * output Observable emits the source values until such time as the `predicate`\n * returns false, at which point `takeWhile` stops mirroring the source\n * Observable and completes the output Observable.\n *\n * @example Emit click events only while the clientX property is greater than 200\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.takeWhile(ev => ev.clientX > 200);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates a value emitted by the source Observable and returns a boolean.\n * Also takes the (zero-based) index as the second argument.\n * @return {Observable} An Observable that emits the values from the source\n * Observable so long as each value satisfies the condition defined by the\n * `predicate`, then completes.\n * @method takeWhile\n * @owner Observable\n */\nfunction takeWhile(predicate) {\n return function (source) { return source.lift(new TakeWhileOperator(predicate)); };\n}\nexports.takeWhile = takeWhile;\nvar TakeWhileOperator = (function () {\n function TakeWhileOperator(predicate) {\n this.predicate = predicate;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate));\n };\n return TakeWhileOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeWhileSubscriber = (function (_super) {\n __extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.index = 0;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 385 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar async_1 = __webpack_require__(17);\nvar throttle_1 = __webpack_require__(152);\n/**\n * Emits a value from the source Observable, then ignores subsequent source\n * values for `duration` milliseconds, then repeats this process.\n *\n * Lets a value pass, then ignores source values for the\n * next `duration` milliseconds.\n *\n * \n *\n * `throttleTime` emits the source Observable values on the output Observable\n * when its internal timer is disabled, and ignores source values when the timer\n * is enabled. Initially, the timer is disabled. As soon as the first source\n * value arrives, it is forwarded to the output Observable, and then the timer\n * is enabled. After `duration` milliseconds (or the time unit determined\n * internally by the optional `scheduler`) has passed, the timer is disabled,\n * and this process repeats for the next source value. Optionally takes a\n * {@link IScheduler} for managing timers.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.throttleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {number} duration Time to wait before emitting another value after\n * emitting the last value, measured in milliseconds or the time unit determined\n * internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the throttling.\n * @return {Observable} An Observable that performs the throttle operation to\n * limit the rate of emissions from the source.\n * @method throttleTime\n * @owner Observable\n */\nfunction throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n if (config === void 0) { config = throttle_1.defaultThrottleConfig; }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nexports.throttleTime = throttleTime;\nvar ThrottleTimeOperator = (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ThrottleTimeSubscriber = (function (_super) {\n __extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n _super.call(this, destination);\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n this._hasTrailingValue = false;\n this._trailingValue = null;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar async_1 = __webpack_require__(17);\nvar timeInterval_1 = __webpack_require__(387);\nexports.TimeInterval = timeInterval_1.TimeInterval;\n/**\n * @param scheduler\n * @return {Observable>|WebSocketSubject|Observable}\n * @method timeInterval\n * @owner Observable\n */\nfunction timeInterval(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return timeInterval_1.timeInterval(scheduler)(this);\n}\nexports.timeInterval = timeInterval;\n\n\n/***/ }),\n/* 387 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar async_1 = __webpack_require__(17);\nfunction timeInterval(scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) { return source.lift(new TimeIntervalOperator(scheduler)); };\n}\nexports.timeInterval = timeInterval;\nvar TimeInterval = (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\nexports.TimeInterval = TimeInterval;\n;\nvar TimeIntervalOperator = (function () {\n function TimeIntervalOperator(scheduler) {\n this.scheduler = scheduler;\n }\n TimeIntervalOperator.prototype.call = function (observer, source) {\n return source.subscribe(new TimeIntervalSubscriber(observer, this.scheduler));\n };\n return TimeIntervalOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeIntervalSubscriber = (function (_super) {\n __extends(TimeIntervalSubscriber, _super);\n function TimeIntervalSubscriber(destination, scheduler) {\n _super.call(this, destination);\n this.scheduler = scheduler;\n this.lastTime = 0;\n this.lastTime = scheduler.now();\n }\n TimeIntervalSubscriber.prototype._next = function (value) {\n var now = this.scheduler.now();\n var span = now - this.lastTime;\n this.lastTime = now;\n this.destination.next(new TimeInterval(value, span));\n };\n return TimeIntervalSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = __webpack_require__(17);\nvar isDate_1 = __webpack_require__(138);\nvar Subscriber_1 = __webpack_require__(4);\nvar TimeoutError_1 = __webpack_require__(389);\n/**\n *\n * Errors if Observable does not emit a value in given time span.\n *\n * Timeouts on Observable that doesn't emit values fast enough.\n *\n * \n *\n * `timeout` operator accepts as an argument either a number or a Date.\n *\n * If number was provided, it returns an Observable that behaves like a source\n * Observable, unless there is a period of time where there is no value emitted.\n * So if you provide `100` as argument and first value comes after 50ms from\n * the moment of subscription, this value will be simply re-emitted by the resulting\n * Observable. If however after that 100ms passes without a second value being emitted,\n * stream will end with an error and source Observable will be unsubscribed.\n * These checks are performed throughout whole lifecycle of Observable - from the moment\n * it was subscribed to, until it completes or errors itself. Thus every value must be\n * emitted within specified period since previous value.\n *\n * If provided argument was Date, returned Observable behaves differently. It throws\n * if Observable did not complete before provided Date. This means that periods between\n * emission of particular values do not matter in this case. If Observable did not complete\n * before provided Date, source Observable will be unsubscribed. Other than that, resulting\n * stream behaves just as source Observable.\n *\n * `timeout` accepts also a Scheduler as a second parameter. It is used to schedule moment (or moments)\n * when returned Observable will check if source stream emitted value or completed.\n *\n * @example Check if ticks are emitted within certain timespan\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(1100) // Let's use bigger timespan to be safe,\n * // since `interval` might fire a bit later then scheduled.\n * .subscribe(\n * value => console.log(value), // Will emit numbers just as regular `interval` would.\n * err => console.log(err) // Will never be called.\n * );\n *\n * seconds.timeout(900).subscribe(\n * value => console.log(value), // Will never be called.\n * err => console.log(err) // Will emit error before even first value is emitted,\n * // since it did not arrive within 900ms period.\n * );\n *\n * @example Use Date to check if Observable completed\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds.timeout(new Date(\"December 17, 2020 03:24:00\"))\n * .subscribe(\n * value => console.log(value), // Will emit values as regular `interval` would\n * // until December 17, 2020 at 03:24:00.\n * err => console.log(err) // On December 17, 2020 at 03:24:00 it will emit an error,\n * // since Observable did not complete by then.\n * );\n *\n * @see {@link timeoutWith}\n *\n * @param {number|Date} due Number specifying period within which Observable must emit values\n * or Date specifying before when Observable should complete\n * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur.\n * @return {Observable} Observable that mirrors behaviour of source, unless timeout checks fail.\n * @method timeout\n * @owner Observable\n */\nfunction timeout(due, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n var absoluteTimeout = isDate_1.isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return function (source) { return source.lift(new TimeoutOperator(waitFor, absoluteTimeout, scheduler, new TimeoutError_1.TimeoutError())); };\n}\nexports.timeout = timeout;\nvar TimeoutOperator = (function () {\n function TimeoutOperator(waitFor, absoluteTimeout, scheduler, errorInstance) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.scheduler = scheduler;\n this.errorInstance = errorInstance;\n }\n TimeoutOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.scheduler, this.errorInstance));\n };\n return TimeoutOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutSubscriber = (function (_super) {\n __extends(TimeoutSubscriber, _super);\n function TimeoutSubscriber(destination, absoluteTimeout, waitFor, scheduler, errorInstance) {\n _super.call(this, destination);\n this.absoluteTimeout = absoluteTimeout;\n this.waitFor = waitFor;\n this.scheduler = scheduler;\n this.errorInstance = errorInstance;\n this.action = null;\n this.scheduleTimeout();\n }\n TimeoutSubscriber.dispatchTimeout = function (subscriber) {\n subscriber.error(subscriber.errorInstance);\n };\n TimeoutSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n // Recycle the action if we've already scheduled one. All the production\n // Scheduler Actions mutate their state/delay time and return themeselves.\n // VirtualActions are immutable, so they create and return a clone. In this\n // case, we need to set the action reference to the most recent VirtualAction,\n // to ensure that's the one we clone from next time.\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n /** @deprecated internal use only */ TimeoutSubscriber.prototype._unsubscribe = function () {\n this.action = null;\n this.scheduler = null;\n this.errorInstance = null;\n };\n return TimeoutSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when duetime elapses.\n *\n * @see {@link timeout}\n *\n * @class TimeoutError\n */\nvar TimeoutError = (function (_super) {\n __extends(TimeoutError, _super);\n function TimeoutError() {\n var err = _super.call(this, 'Timeout has occurred');\n this.name = err.name = 'TimeoutError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return TimeoutError;\n}(Error));\nexports.TimeoutError = TimeoutError;\n\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = __webpack_require__(17);\nvar isDate_1 = __webpack_require__(138);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n *\n * Errors if Observable does not emit a value in given time span, in case of which\n * subscribes to the second Observable.\n *\n * It's a version of `timeout` operator that let's you specify fallback Observable.\n *\n * \n *\n * `timeoutWith` is a variation of `timeout` operator. It behaves exactly the same,\n * still accepting as a first argument either a number or a Date, which control - respectively -\n * when values of source Observable should be emitted or when it should complete.\n *\n * The only difference is that it accepts a second, required parameter. This parameter\n * should be an Observable which will be subscribed when source Observable fails any timeout check.\n * So whenever regular `timeout` would emit an error, `timeoutWith` will instead start re-emitting\n * values from second Observable. Note that this fallback Observable is not checked for timeouts\n * itself, so it can emit values and complete at arbitrary points in time. From the moment of a second\n * subscription, Observable returned from `timeoutWith` simply mirrors fallback stream. When that\n * stream completes, it completes as well.\n *\n * Scheduler, which in case of `timeout` is provided as as second argument, can be still provided\n * here - as a third, optional parameter. It still is used to schedule timeout checks and -\n * as a consequence - when second Observable will be subscribed, since subscription happens\n * immediately after failing check.\n *\n * @example Add fallback observable\n * const seconds = Rx.Observable.interval(1000);\n * const minutes = Rx.Observable.interval(60 * 1000);\n *\n * seconds.timeoutWith(900, minutes)\n * .subscribe(\n * value => console.log(value), // After 900ms, will start emitting `minutes`,\n * // since first value of `seconds` will not arrive fast enough.\n * err => console.log(err) // Would be called after 900ms in case of `timeout`,\n * // but here will never be called.\n * );\n *\n * @param {number|Date} due Number specifying period within which Observable must emit values\n * or Date specifying before when Observable should complete\n * @param {Observable} withObservable Observable which will be subscribed if source fails timeout check.\n * @param {Scheduler} [scheduler] Scheduler controlling when timeout checks occur.\n * @return {Observable} Observable that mirrors behaviour of source or, when timeout check fails, of an Observable\n * passed as a second parameter.\n * @method timeoutWith\n * @owner Observable\n */\nfunction timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return function (source) {\n var absoluteTimeout = isDate_1.isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nexports.timeoutWith = timeoutWith;\nvar TimeoutWithOperator = (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TimeoutWithSubscriber = (function (_super) {\n __extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n _super.call(this, destination);\n this.absoluteTimeout = absoluteTimeout;\n this.waitFor = waitFor;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n this.action = null;\n this.scheduleTimeout();\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add(subscribeToResult_1.subscribeToResult(subscriber, withObservable));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n // Recycle the action if we've already scheduled one. All the production\n // Scheduler Actions mutate their state/delay time and return themeselves.\n // VirtualActions are immutable, so they create and return a clone. In this\n // case, we need to set the action reference to the most recent VirtualAction,\n // to ensure that's the one we clone from next time.\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n /** @deprecated internal use only */ TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = null;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Branch out the source Observable values as a nested Observable whenever\n * `windowBoundaries` emits.\n *\n * It's like {@link buffer}, but emits a nested Observable\n * instead of an array.\n *\n * \n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping\n * windows. It emits the current window and opens a new one whenever the\n * Observable `windowBoundaries` emits an item. Because each window is an\n * Observable, the output is a higher-order Observable.\n *\n * @example In every window of 1 second each, emit at most 2 click events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var result = clicks.window(interval)\n * .map(win => win.take(2)) // each window has at most 2 emissions\n * .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link buffer}\n *\n * @param {Observable} windowBoundaries An Observable that completes the\n * previous window and starts a new window.\n * @return {Observable>} An Observable of windows, which are\n * Observables emitting values of the source Observable.\n * @method window\n * @owner Observable\n */\nfunction window(windowBoundaries) {\n return function windowOperatorFunction(source) {\n return source.lift(new WindowOperator(windowBoundaries));\n };\n}\nexports.window = window;\nvar WindowOperator = (function () {\n function WindowOperator(windowBoundaries) {\n this.windowBoundaries = windowBoundaries;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n var windowSubscriber = new WindowSubscriber(subscriber);\n var sourceSubscription = source.subscribe(windowSubscriber);\n if (!sourceSubscription.closed) {\n windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber, this.windowBoundaries));\n }\n return sourceSubscription;\n };\n return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n __extends(WindowSubscriber, _super);\n function WindowSubscriber(destination) {\n _super.call(this, destination);\n this.window = new Subject_1.Subject();\n destination.next(this.window);\n }\n WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openWindow();\n };\n WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this._complete();\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n };\n /** @deprecated internal use only */ WindowSubscriber.prototype._unsubscribe = function () {\n this.window = null;\n };\n WindowSubscriber.prototype.openWindow = function () {\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var destination = this.destination;\n var newWindow = this.window = new Subject_1.Subject();\n destination.next(newWindow);\n };\n return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = __webpack_require__(4);\nvar Subject_1 = __webpack_require__(6);\n/**\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.\n *\n * \n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example Ignore every 3rd click event, starting from the first one\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n * .map(win => win.skip(1)) // skip first of every 3 clicks\n * .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example Ignore every 3rd click event, starting from the third one\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n * .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n */\nfunction windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) { startWindowEvery = 0; }\n return function windowCountOperatorFunction(source) {\n return source.lift(new WindowCountOperator(windowSize, startWindowEvery));\n };\n}\nexports.windowCount = windowCount;\nvar WindowCountOperator = (function () {\n function WindowCountOperator(windowSize, startWindowEvery) {\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n }\n WindowCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n };\n return WindowCountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowCountSubscriber = (function (_super) {\n __extends(WindowCountSubscriber, _super);\n function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n _super.call(this, destination);\n this.destination = destination;\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n this.windows = [new Subject_1.Subject()];\n this.count = 0;\n destination.next(this.windows[0]);\n }\n WindowCountSubscriber.prototype._next = function (value) {\n var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n var destination = this.destination;\n var windowSize = this.windowSize;\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len && !this.closed; i++) {\n windows[i].next(value);\n }\n var c = this.count - windowSize + 1;\n if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n windows.shift().complete();\n }\n if (++this.count % startWindowEvery === 0 && !this.closed) {\n var window_1 = new Subject_1.Subject();\n windows.push(window_1);\n destination.next(window_1);\n }\n };\n WindowCountSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().error(err);\n }\n }\n this.destination.error(err);\n };\n WindowCountSubscriber.prototype._complete = function () {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().complete();\n }\n }\n this.destination.complete();\n };\n /** @deprecated internal use only */ WindowCountSubscriber.prototype._unsubscribe = function () {\n this.count = 0;\n this.windows = null;\n };\n return WindowCountSubscriber;\n}(Subscriber_1.Subscriber));\n\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar async_1 = __webpack_require__(17);\nvar Subscriber_1 = __webpack_require__(4);\nvar isNumeric_1 = __webpack_require__(106);\nvar isScheduler_1 = __webpack_require__(49);\nfunction windowTime(windowTimeSpan) {\n var scheduler = async_1.async;\n var windowCreationInterval = null;\n var maxWindowSize = Number.POSITIVE_INFINITY;\n if (isScheduler_1.isScheduler(arguments[3])) {\n scheduler = arguments[3];\n }\n if (isScheduler_1.isScheduler(arguments[2])) {\n scheduler = arguments[2];\n }\n else if (isNumeric_1.isNumeric(arguments[2])) {\n maxWindowSize = arguments[2];\n }\n if (isScheduler_1.isScheduler(arguments[1])) {\n scheduler = arguments[1];\n }\n else if (isNumeric_1.isNumeric(arguments[1])) {\n windowCreationInterval = arguments[1];\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nexports.windowTime = windowTime;\nvar WindowTimeOperator = (function () {\n function WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n WindowTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n };\n return WindowTimeOperator;\n}());\nvar CountedSubject = (function (_super) {\n __extends(CountedSubject, _super);\n function CountedSubject() {\n _super.apply(this, arguments);\n this._numberOfNextedValues = 0;\n }\n CountedSubject.prototype.next = function (value) {\n this._numberOfNextedValues++;\n _super.prototype.next.call(this, value);\n };\n Object.defineProperty(CountedSubject.prototype, \"numberOfNextedValues\", {\n get: function () {\n return this._numberOfNextedValues;\n },\n enumerable: true,\n configurable: true\n });\n return CountedSubject;\n}(Subject_1.Subject));\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowTimeSubscriber = (function (_super) {\n __extends(WindowTimeSubscriber, _super);\n function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n _super.call(this, destination);\n this.destination = destination;\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n this.windows = [];\n var window = this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n var closeState = { subscriber: this, window: window, context: null };\n var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: this, scheduler: scheduler };\n this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n var timeSpanOnlyState = { subscriber: this, window: window, windowTimeSpan: windowTimeSpan };\n this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n }\n WindowTimeSubscriber.prototype._next = function (value) {\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len; i++) {\n var window_1 = windows[i];\n if (!window_1.closed) {\n window_1.next(value);\n if (window_1.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window_1);\n }\n }\n }\n };\n WindowTimeSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n };\n WindowTimeSubscriber.prototype._complete = function () {\n var windows = this.windows;\n while (windows.length > 0) {\n var window_2 = windows.shift();\n if (!window_2.closed) {\n window_2.complete();\n }\n }\n this.destination.complete();\n };\n WindowTimeSubscriber.prototype.openWindow = function () {\n var window = new CountedSubject();\n this.windows.push(window);\n var destination = this.destination;\n destination.next(window);\n return window;\n };\n WindowTimeSubscriber.prototype.closeWindow = function (window) {\n window.complete();\n var windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n };\n return WindowTimeSubscriber;\n}(Subscriber_1.Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n var window = subscriber.openWindow();\n var action = this;\n var context = { action: action, subscription: null };\n var timeSpanState = { subscriber: subscriber, window: window, context: context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n var subscriber = state.subscriber, window = state.window, context = state.context;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n\n\n/***/ }),\n/* 394 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar Subscription_1 = __webpack_require__(15);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Branch out the source Observable values as a nested Observable starting from\n * an emission from `openings` and ending when the output of `closingSelector`\n * emits.\n *\n * It's like {@link bufferToggle}, but emits a nested\n * Observable instead of an array.\n *\n * \n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows that contain those items\n * emitted by the source Observable between the time when the `openings`\n * Observable emits an item and when the Observable returned by\n * `closingSelector` emits an item.\n *\n * @example Every other second, emit the click events from the next 500ms\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var result = clicks.windowToggle(openings, i =>\n * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * ).mergeAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowWhen}\n * @see {@link bufferToggle}\n *\n * @param {Observable} openings An observable of notifications to start new\n * windows.\n * @param {function(value: O): Observable} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns an Observable,\n * which, when it emits (either `next` or `complete`), signals that the\n * associated window should complete.\n * @return {Observable>} An observable of windows, which in turn\n * are Observables.\n * @method windowToggle\n * @owner Observable\n */\nfunction windowToggle(openings, closingSelector) {\n return function (source) { return source.lift(new WindowToggleOperator(openings, closingSelector)); };\n}\nexports.windowToggle = windowToggle;\nvar WindowToggleOperator = (function () {\n function WindowToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n WindowToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return WindowToggleOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowToggleSubscriber = (function (_super) {\n __extends(WindowToggleSubscriber, _super);\n function WindowToggleSubscriber(destination, openings, closingSelector) {\n _super.call(this, destination);\n this.openings = openings;\n this.closingSelector = closingSelector;\n this.contexts = [];\n this.add(this.openSubscription = subscribeToResult_1.subscribeToResult(this, openings, openings));\n }\n WindowToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n if (contexts) {\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].window.next(value);\n }\n }\n };\n WindowToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context = contexts[index];\n context.window.error(err);\n context.subscription.unsubscribe();\n }\n }\n _super.prototype._error.call(this, err);\n };\n WindowToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context = contexts[index];\n context.window.complete();\n context.subscription.unsubscribe();\n }\n }\n _super.prototype._complete.call(this);\n };\n /** @deprecated internal use only */ WindowToggleSubscriber.prototype._unsubscribe = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context = contexts[index];\n context.window.unsubscribe();\n context.subscription.unsubscribe();\n }\n }\n };\n WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (outerValue === this.openings) {\n var closingSelector = this.closingSelector;\n var closingNotifier = tryCatch_1.tryCatch(closingSelector)(innerValue);\n if (closingNotifier === errorObject_1.errorObject) {\n return this.error(errorObject_1.errorObject.e);\n }\n else {\n var window_1 = new Subject_1.Subject();\n var subscription = new Subscription_1.Subscription();\n var context = { window: window_1, subscription: subscription };\n this.contexts.push(context);\n var innerSubscription = subscribeToResult_1.subscribeToResult(this, closingNotifier, context);\n if (innerSubscription.closed) {\n this.closeWindow(this.contexts.length - 1);\n }\n else {\n innerSubscription.context = context;\n subscription.add(innerSubscription);\n }\n this.destination.next(window_1);\n }\n }\n else {\n this.closeWindow(this.contexts.indexOf(outerValue));\n }\n };\n WindowToggleSubscriber.prototype.notifyError = function (err) {\n this.error(err);\n };\n WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n if (inner !== this.openSubscription) {\n this.closeWindow(this.contexts.indexOf(inner.context));\n }\n };\n WindowToggleSubscriber.prototype.closeWindow = function (index) {\n if (index === -1) {\n return;\n }\n var contexts = this.contexts;\n var context = contexts[index];\n var window = context.window, subscription = context.subscription;\n contexts.splice(index, 1);\n window.complete();\n subscription.unsubscribe();\n };\n return WindowToggleSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 395 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/**\n * Branch out the source Observable values as a nested Observable using a\n * factory function of closing Observables to determine when to start a new\n * window.\n *\n * It's like {@link bufferWhen}, but emits a nested\n * Observable instead of an array.\n *\n * \n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits connected, non-overlapping windows.\n * It emits the current window and opens a new one whenever the Observable\n * produced by the specified `closingSelector` function emits an item. The first\n * window is opened immediately when subscribing to the output Observable.\n *\n * @example Emit only the first two clicks events in every window of [1-5] random seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks\n * .windowWhen(() => Rx.Observable.interval(1000 + Math.random() * 4000))\n * .map(win => win.take(2)) // each window has at most 2 emissions\n * .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowCount}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link bufferWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals (on either `next` or\n * `complete`) when to close the previous window and start a new one.\n * @return {Observable>} An observable of windows, which in turn\n * are Observables.\n * @method windowWhen\n * @owner Observable\n */\nfunction windowWhen(closingSelector) {\n return function windowWhenOperatorFunction(source) {\n return source.lift(new WindowOperator(closingSelector));\n };\n}\nexports.windowWhen = windowWhen;\nvar WindowOperator = (function () {\n function WindowOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n };\n return WindowOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WindowSubscriber = (function (_super) {\n __extends(WindowSubscriber, _super);\n function WindowSubscriber(destination, closingSelector) {\n _super.call(this, destination);\n this.destination = destination;\n this.closingSelector = closingSelector;\n this.openWindow();\n }\n WindowSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n if (this.closingNotification) {\n this.closingNotification.unsubscribe();\n }\n };\n WindowSubscriber.prototype.openWindow = function (innerSub) {\n if (innerSub === void 0) { innerSub = null; }\n if (innerSub) {\n this.remove(innerSub);\n innerSub.unsubscribe();\n }\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var window = this.window = new Subject_1.Subject();\n this.destination.next(window);\n var closingNotifier = tryCatch_1.tryCatch(this.closingSelector)();\n if (closingNotifier === errorObject_1.errorObject) {\n var err = errorObject_1.errorObject.e;\n this.destination.error(err);\n this.window.error(err);\n }\n else {\n this.add(this.closingNotification = subscribeToResult_1.subscribeToResult(this, closingNotifier));\n }\n };\n return WindowSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 396 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = __webpack_require__(8);\nvar subscribeToResult_1 = __webpack_require__(7);\n/* tslint:enable:max-line-length */\n/**\n * Combines the source Observable with other Observables to create an Observable\n * whose values are calculated from the latest values of each, only when the\n * source emits.\n *\n * Whenever the source Observable emits a value, it\n * computes a formula using that value plus the latest values from other input\n * Observables, then emits the output of that formula.\n *\n * \n *\n * `withLatestFrom` combines each value from the source Observable (the\n * instance) with the latest values from the other input Observables only when\n * the source emits a value, optionally using a `project` function to determine\n * the value to be emitted on the output Observable. All input Observables must\n * emit at least one value before the output Observable will emit a value.\n *\n * @example On every click event, emit an array with the latest timer event plus the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var timer = Rx.Observable.interval(1000);\n * var result = clicks.withLatestFrom(timer);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Function} [project] Projection function for combining values\n * together. Receives all values in order of the Observables passed, where the\n * first parameter is a value from the source Observable. (e.g.\n * `a.withLatestFrom(b, c, (a1, b1, c1) => a1 + b1 + c1)`). If this is not\n * passed, arrays will be emitted on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method withLatestFrom\n * @owner Observable\n */\nfunction withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nexports.withLatestFrom = withLatestFrom;\nvar WithLatestFromOperator = (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar WithLatestFromSubscriber = (function (_super) {\n __extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n _super.call(this, destination);\n this.observables = observables;\n this.project = project;\n this.toRespond = [];\n var len = observables.length;\n this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n // noop\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar zip_1 = __webpack_require__(150);\nfunction zipAll(project) {\n return function (source) { return source.lift(new zip_1.ZipOperator(project)); };\n}\nexports.zipAll = zipAll;\n\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SubscriptionLog_1 = __webpack_require__(399);\nvar SubscriptionLoggable = (function () {\n function SubscriptionLoggable() {\n this.subscriptions = [];\n }\n SubscriptionLoggable.prototype.logSubscribedFrame = function () {\n this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now()));\n return this.subscriptions.length - 1;\n };\n SubscriptionLoggable.prototype.logUnsubscribedFrame = function (index) {\n var subscriptionLogs = this.subscriptions;\n var oldSubscriptionLog = subscriptionLogs[index];\n subscriptionLogs[index] = new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame, this.scheduler.now());\n };\n return SubscriptionLoggable;\n}());\nexports.SubscriptionLoggable = SubscriptionLoggable;\n\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SubscriptionLog = (function () {\n function SubscriptionLog(subscribedFrame, unsubscribedFrame) {\n if (unsubscribedFrame === void 0) { unsubscribedFrame = Number.POSITIVE_INFINITY; }\n this.subscribedFrame = subscribedFrame;\n this.unsubscribedFrame = unsubscribedFrame;\n }\n return SubscriptionLog;\n}());\nexports.SubscriptionLog = SubscriptionLog;\n\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction applyMixins(derivedCtor, baseCtors) {\n for (var i = 0, len = baseCtors.length; i < len; i++) {\n var baseCtor = baseCtors[i];\n var propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);\n for (var j = 0, len2 = propertyKeys.length; j < len2; j++) {\n var name_1 = propertyKeys[j];\n derivedCtor.prototype[name_1] = baseCtor.prototype[name_1];\n }\n }\n}\nexports.applyMixins = applyMixins;\n\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncAction_1 = __webpack_require__(104);\nvar AsyncScheduler_1 = __webpack_require__(105);\nvar VirtualTimeScheduler = (function (_super) {\n __extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n var _this = this;\n if (SchedulerAction === void 0) { SchedulerAction = VirtualAction; }\n if (maxFrames === void 0) { maxFrames = Number.POSITIVE_INFINITY; }\n _super.call(this, SchedulerAction, function () { return _this.frame; });\n this.maxFrames = maxFrames;\n this.frame = 0;\n this.index = -1;\n }\n /**\n * Prompt the Scheduler to execute all of its queued actions, therefore\n * clearing its queue.\n * @return {void}\n */\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions.shift()) && (this.frame = action.delay) <= maxFrames) {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.VirtualTimeScheduler = VirtualTimeScheduler;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar VirtualAction = (function (_super) {\n __extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) { index = scheduler.index += 1; }\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.index = index;\n this.active = true;\n this.index = scheduler.index = index;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n // If an action is rescheduled, we save allocations by mutating its state,\n // pushing it to the end of the scheduler queue, and recycling the action.\n // But since the VirtualTimeScheduler is used for testing, VirtualActions\n // must be immutable so they can be inspected later.\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction_1.AsyncAction));\nexports.VirtualAction = VirtualAction;\n\n\n/***/ }),\n/* 402 */,\n/* 403 */,\n/* 404 */,\n/* 405 */,\n/* 406 */,\n/* 407 */,\n/* 408 */,\n/* 409 */,\n/* 410 */,\n/* 411 */,\n/* 412 */,\n/* 413 */,\n/* 414 */,\n/* 415 */,\n/* 416 */,\n/* 417 */,\n/* 418 */,\n/* 419 */,\n/* 420 */,\n/* 421 */,\n/* 422 */,\n/* 423 */,\n/* 424 */,\n/* 425 */,\n/* 426 */,\n/* 427 */,\n/* 428 */,\n/* 429 */,\n/* 430 */,\n/* 431 */,\n/* 432 */,\n/* 433 */,\n/* 434 */,\n/* 435 */,\n/* 436 */,\n/* 437 */,\n/* 438 */,\n/* 439 */,\n/* 440 */,\n/* 441 */,\n/* 442 */,\n/* 443 */,\n/* 444 */,\n/* 445 */,\n/* 446 */,\n/* 447 */,\n/* 448 */,\n/* 449 */,\n/* 450 */,\n/* 451 */,\n/* 452 */,\n/* 453 */,\n/* 454 */,\n/* 455 */,\n/* 456 */,\n/* 457 */,\n/* 458 */,\n/* 459 */,\n/* 460 */,\n/* 461 */,\n/* 462 */,\n/* 463 */,\n/* 464 */,\n/* 465 */,\n/* 466 */,\n/* 467 */,\n/* 468 */,\n/* 469 */,\n/* 470 */,\n/* 471 */,\n/* 472 */,\n/* 473 */,\n/* 474 */,\n/* 475 */,\n/* 476 */,\n/* 477 */,\n/* 478 */,\n/* 479 */,\n/* 480 */,\n/* 481 */,\n/* 482 */,\n/* 483 */,\n/* 484 */,\n/* 485 */,\n/* 486 */,\n/* 487 */,\n/* 488 */,\n/* 489 */,\n/* 490 */,\n/* 491 */,\n/* 492 */,\n/* 493 */,\n/* 494 */,\n/* 495 */,\n/* 496 */,\n/* 497 */,\n/* 498 */,\n/* 499 */,\n/* 500 */,\n/* 501 */,\n/* 502 */,\n/* 503 */,\n/* 504 */,\n/* 505 */,\n/* 506 */,\n/* 507 */,\n/* 508 */,\n/* 509 */,\n/* 510 */,\n/* 511 */,\n/* 512 */,\n/* 513 */,\n/* 514 */,\n/* 515 */,\n/* 516 */,\n/* 517 */,\n/* 518 */,\n/* 519 */,\n/* 520 */,\n/* 521 */,\n/* 522 */,\n/* 523 */,\n/* 524 */,\n/* 525 */,\n/* 526 */,\n/* 527 */,\n/* 528 */,\n/* 529 */,\n/* 530 */,\n/* 531 */,\n/* 532 */,\n/* 533 */,\n/* 534 */,\n/* 535 */,\n/* 536 */,\n/* 537 */,\n/* 538 */,\n/* 539 */,\n/* 540 */,\n/* 541 */,\n/* 542 */,\n/* 543 */,\n/* 544 */,\n/* 545 */,\n/* 546 */,\n/* 547 */,\n/* 548 */,\n/* 549 */,\n/* 550 */,\n/* 551 */,\n/* 552 */,\n/* 553 */,\n/* 554 */,\n/* 555 */,\n/* 556 */,\n/* 557 */,\n/* 558 */,\n/* 559 */,\n/* 560 */,\n/* 561 */,\n/* 562 */,\n/* 563 */,\n/* 564 */,\n/* 565 */,\n/* 566 */,\n/* 567 */,\n/* 568 */,\n/* 569 */,\n/* 570 */,\n/* 571 */,\n/* 572 */,\n/* 573 */,\n/* 574 */,\n/* 575 */,\n/* 576 */,\n/* 577 */,\n/* 578 */,\n/* 579 */,\n/* 580 */,\n/* 581 */,\n/* 582 */,\n/* 583 */,\n/* 584 */,\n/* 585 */,\n/* 586 */,\n/* 587 */,\n/* 588 */,\n/* 589 */,\n/* 590 */,\n/* 591 */,\n/* 592 */,\n/* 593 */,\n/* 594 */,\n/* 595 */,\n/* 596 */,\n/* 597 */,\n/* 598 */,\n/* 599 */,\n/* 600 */,\n/* 601 */,\n/* 602 */,\n/* 603 */,\n/* 604 */,\n/* 605 */,\n/* 606 */,\n/* 607 */,\n/* 608 */,\n/* 609 */,\n/* 610 */,\n/* 611 */,\n/* 612 */,\n/* 613 */,\n/* 614 */,\n/* 615 */,\n/* 616 */,\n/* 617 */,\n/* 618 */,\n/* 619 */,\n/* 620 */,\n/* 621 */,\n/* 622 */,\n/* 623 */,\n/* 624 */,\n/* 625 */,\n/* 626 */,\n/* 627 */,\n/* 628 */,\n/* 629 */,\n/* 630 */,\n/* 631 */,\n/* 632 */,\n/* 633 */,\n/* 634 */,\n/* 635 */,\n/* 636 */,\n/* 637 */,\n/* 638 */,\n/* 639 */,\n/* 640 */,\n/* 641 */,\n/* 642 */,\n/* 643 */,\n/* 644 */,\n/* 645 */,\n/* 646 */,\n/* 647 */,\n/* 648 */,\n/* 649 */,\n/* 650 */,\n/* 651 */,\n/* 652 */,\n/* 653 */,\n/* 654 */,\n/* 655 */,\n/* 656 */,\n/* 657 */,\n/* 658 */,\n/* 659 */,\n/* 660 */,\n/* 661 */,\n/* 662 */,\n/* 663 */,\n/* 664 */,\n/* 665 */,\n/* 666 */,\n/* 667 */,\n/* 668 */,\n/* 669 */,\n/* 670 */,\n/* 671 */,\n/* 672 */,\n/* 673 */,\n/* 674 */,\n/* 675 */,\n/* 676 */,\n/* 677 */,\n/* 678 */,\n/* 679 */,\n/* 680 */,\n/* 681 */,\n/* 682 */,\n/* 683 */,\n/* 684 */,\n/* 685 */,\n/* 686 */,\n/* 687 */,\n/* 688 */,\n/* 689 */,\n/* 690 */,\n/* 691 */,\n/* 692 */,\n/* 693 */,\n/* 694 */,\n/* 695 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(696);\n\n\n/***/ }),\n/* 696 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__polyfills__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_connector__ = __webpack_require__(697);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser_dynamic__ = __webpack_require__(224);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_core__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_PromiseWrapper__ = __webpack_require__(225);\n\r\n\r\n\r\n\r\n\r\n__webpack_require__(235);\r\nif (__webpack_require__(228).production) {\r\n Object(__WEBPACK_IMPORTED_MODULE_3__angular_core__[\"_21\" /* enableProdMode */])();\r\n}\r\nvar connectorProps = window.xprops;\r\nif (connectorProps) {\r\n connectorProps.getAccessTokenAsync = Object(__WEBPACK_IMPORTED_MODULE_4__utils_PromiseWrapper__[\"a\" /* PromiseWrapper */])(connectorProps.getAccessTokenAsync);\r\n var providers = [\r\n { provide: __WEBPACK_IMPORTED_MODULE_1__app_connector__[\"b\" /* ConnectorExternalProps */], useValue: connectorProps },\r\n { provide: __WEBPACK_IMPORTED_MODULE_1__app_connector__[\"a\" /* CommonExternalProps */], useValue: connectorProps },\r\n ];\r\n Object(__WEBPACK_IMPORTED_MODULE_2__angular_platform_browser_dynamic__[\"a\" /* platformBrowserDynamic */])(providers)\r\n .bootstrapModule(__WEBPACK_IMPORTED_MODULE_1__app_connector__[\"c\" /* ConnectorModule */]);\r\n}\r\nelse {\r\n throw new Error(\"xprops is not found\");\r\n}\r\n//# sourceMappingURL=../../src/xcomponents/connector/index.js.map\n\n/***/ }),\n/* 697 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export createSessionStorage */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ConnectorModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_services_window_location_service__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_services_api_service__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_http__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_core__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__connector_component__ = __webpack_require__(698);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_session_storage_service__ = __webpack_require__(958);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common_services_get_token__ = __webpack_require__(221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__common_services_nintext_connection_http_service__ = __webpack_require__(319);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__common_external_props__ = __webpack_require__(61);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_9__common_external_props__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__external_props__ = __webpack_require__(325);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_10__external_props__[\"a\"]; });\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction createSessionStorage() {\r\n return new __WEBPACK_IMPORTED_MODULE_6__services_session_storage_service__[\"a\" /* SessionStorageService */]('ntx.connector.');\r\n}\r\nvar ConnectorModule = /** @class */ (function () {\r\n function ConnectorModule() {\r\n }\r\n ConnectorModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_4__angular_core__[\"L\" /* NgModule */])({\r\n declarations: [\r\n __WEBPACK_IMPORTED_MODULE_5__connector_component__[\"a\" /* ConnectorComponent */]\r\n ],\r\n imports: [\r\n __WEBPACK_IMPORTED_MODULE_0__common__[\"a\" /* CommonModule */],\r\n ],\r\n providers: [\r\n { provide: __WEBPACK_IMPORTED_MODULE_6__services_session_storage_service__[\"a\" /* SessionStorageService */], useFactory: createSessionStorage },\r\n { provide: __WEBPACK_IMPORTED_MODULE_3__angular_http__[\"b\" /* Http */], useFactory: __WEBPACK_IMPORTED_MODULE_8__common_services_nintext_connection_http_service__[\"a\" /* nintexHttpServiceFactory */], deps: [__WEBPACK_IMPORTED_MODULE_3__angular_http__[\"f\" /* XHRBackend */], __WEBPACK_IMPORTED_MODULE_3__angular_http__[\"d\" /* RequestOptions */], __WEBPACK_IMPORTED_MODULE_7__common_services_get_token__[\"a\" /* TokenService */], __WEBPACK_IMPORTED_MODULE_9__common_external_props__[\"a\" /* CommonExternalProps */]] },\r\n __WEBPACK_IMPORTED_MODULE_2__common_services_api_service__[\"a\" /* ApiService */],\r\n __WEBPACK_IMPORTED_MODULE_1__common_services_window_location_service__[\"a\" /* WindowLocationService */]\r\n ],\r\n bootstrap: [__WEBPACK_IMPORTED_MODULE_5__connector_component__[\"a\" /* ConnectorComponent */]]\r\n })\r\n ], ConnectorModule);\r\n return ConnectorModule;\r\n}());\r\n\r\n//# sourceMappingURL=../../src/app/connector/index.js.map\n\n/***/ }),\n/* 698 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ConnectorComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_services_api_service__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_core__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__external_props__ = __webpack_require__(325);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common_services_styling_service__ = __webpack_require__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__theme_generator__ = __webpack_require__(699);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs__ = __webpack_require__(706);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rxjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_rxjs__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__common_components_alert_alert_component__ = __webpack_require__(220);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar ConnectorComponent = /** @class */ (function () {\r\n function ConnectorComponent(apiService, _location, externalProps, stylingService) {\r\n var _this = this;\r\n this.apiService = apiService;\r\n this._location = _location;\r\n this.externalProps = externalProps;\r\n this.stylingService = stylingService;\r\n this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Dormant;\r\n this.selectedAppId = this.externalProps.selectedAppId;\r\n this.selectedConnectionId = this.externalProps.selectedConnectionId;\r\n this.schemaForm = new __WEBPACK_IMPORTED_MODULE_3__angular_forms__[\"b\" /* FormControl */]();\r\n this.isFormValid = false;\r\n this.loading = false;\r\n this.formLoadHasFailed = false;\r\n this.isMultiApps = false;\r\n this.segmentIndex = 0;\r\n this.segments = ['auth-type', 'connection-details'];\r\n this.changeAppAlertStatus = __WEBPACK_IMPORTED_MODULE_9__common_components_alert_alert_component__[\"b\" /* AlertStatus */].Warning;\r\n this.multiAuthLabel = 'connector.new-connection';\r\n this.backButtonLabel = 'connector.buttons.back';\r\n var theme = Object(__WEBPACK_IMPORTED_MODULE_7__theme_generator__[\"a\" /* themeGenerator */])(externalProps.theme);\r\n this.stylingService.addGlobal(theme);\r\n this.schemaForm.valueChanges.subscribe(function () {\r\n _this.isFormValid = _this.schemaForm.valid;\r\n });\r\n }\r\n ConnectorComponent.prototype.selectApp = function (app) {\r\n this.schemaForm.setValidators(null); // Reset validators set by previous form state\r\n app.schema.properties.connectionDisplayName.default = this.getCurrentAppConnectionDisplayName();\r\n this.jsonSchema = app.schema;\r\n this.selectedAppId = app.id;\r\n };\r\n ConnectorComponent.prototype.getCurrentAppConnectionDisplayName = function () {\r\n var _this = this;\r\n try {\r\n if (this.apps.length > 1 && this.currentConnectionApp) {\r\n return this.apps\r\n .find(function (x) { return x.id === _this.currentConnectionApp; })\r\n .schema\r\n .properties\r\n .connectionDisplayName\r\n .default;\r\n }\r\n }\r\n catch (_a) { }\r\n return '';\r\n };\r\n ConnectorComponent.prototype.saveConnection = function () {\r\n var _this = this;\r\n this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Loading;\r\n var connectionId = this.selectedConnectionId ? this.selectedConnectionId : '';\r\n var redirect_uri = this._location.getFullUrl() + '&isAuthCallback=true';\r\n var updatedAppId = this.currentConnectionApp !== this.selectedAppId\r\n ? this.selectedAppId\r\n : null;\r\n var request = (this.selectedConnectionId)\r\n ? this.apiService.renewConnection(this.selectedConnectionId, this.schemaForm.value, redirect_uri + (\"&connectionId=\" + connectionId), updatedAppId)\r\n : this.apiService.saveConnection(this.selectedAppId, this.schemaForm.value, redirect_uri);\r\n request\r\n .subscribe(function (res) {\r\n // 201 is returned from new connection and 200 from renew\r\n if (res.status === 201 || res.status === 200) {\r\n _this.externalProps.onSuccess(res.json);\r\n }\r\n else {\r\n // Status 202 is returned for oauthflow connection types\r\n _this._location\r\n .go(res.json);\r\n _this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Dormant;\r\n }\r\n }, function (err) {\r\n _this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Error;\r\n var error = err.json();\r\n var mode = _this.selectedConnectionId ? 'Update' : 'Create';\r\n _this.errorId = error.code ? error.code : mode + \"ConnectionFailed\";\r\n _this.errorMessage = error.message ? error.message : null;\r\n });\r\n };\r\n ConnectorComponent.prototype.processSessionVerification = function (state, session) {\r\n var _this = this;\r\n this.apiService.verifySession(state, session)\r\n .subscribe(function (res) {\r\n if (res.status === 202) {\r\n _this._location.go(res.json);\r\n _this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Dormant;\r\n }\r\n else {\r\n var error = {\r\n error: 'Invalid user session',\r\n message: 'Invalid user session',\r\n type: 'error',\r\n };\r\n _this.externalProps.onFailure(error);\r\n }\r\n }, function () {\r\n var error = {\r\n error: 'Invalid user session',\r\n message: 'Invalid user session',\r\n type: 'error',\r\n };\r\n _this.externalProps.onFailure(error);\r\n });\r\n return;\r\n };\r\n ConnectorComponent.prototype.processAuthCallback = function () {\r\n var state = __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */].getQueryParam('state');\r\n var session = __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */].getQueryParam('session');\r\n if (state && session) {\r\n this.processSessionVerification(state, session);\r\n return;\r\n }\r\n var errorMsg = __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */].getQueryParam('error');\r\n var connectionId = __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */].getQueryParam('connectionId');\r\n if (connectionId && !errorMsg) {\r\n this.externalProps.onSuccess(connectionId);\r\n }\r\n else {\r\n this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Error;\r\n var mode = connectionId ? 'updating' : 'creating';\r\n var errorDetails = errorMsg ? decodeURIComponent(errorMsg.replace(/\\+/g, ' ')) : \"An error occurred while \" + mode + \" the connection\";\r\n var error = {\r\n error: errorDetails,\r\n message: errorDetails,\r\n type: 'error',\r\n };\r\n this.externalProps.onFailure(error);\r\n }\r\n };\r\n ConnectorComponent.prototype.tryParseJSON = function (jsonString) {\r\n try {\r\n var o = JSON.parse(jsonString);\r\n if (o && typeof o === \"object\") {\r\n return o;\r\n }\r\n }\r\n catch (e) { }\r\n return false;\r\n };\r\n ;\r\n ConnectorComponent.prototype.handleError = function (error) {\r\n this.loading = false;\r\n this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Error;\r\n this.errorId = 'LoadingConnectionDetailsFailed';\r\n if (error._body) {\r\n var errorBody = this.tryParseJSON(error._body);\r\n this.errorMessage = errorBody && errorBody.message ? errorBody.message : null;\r\n }\r\n };\r\n ConnectorComponent.prototype.onCancel = function () {\r\n this.state = __WEBPACK_IMPORTED_MODULE_4__common_components_status_overlay_status_overlay_component__[\"b\" /* StatusOverlayStatuses */].Dormant;\r\n };\r\n ConnectorComponent.prototype.ngOnInit = function () {\r\n if (__WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */].getQueryParam('isAuthCallback') === 'true') {\r\n this.processAuthCallback();\r\n }\r\n else {\r\n this.loading = true;\r\n if (this.selectedConnectionId) {\r\n this.initOnUpdate();\r\n }\r\n else {\r\n this.initOnCreate();\r\n }\r\n }\r\n };\r\n ConnectorComponent.prototype.initOnCreate = function () {\r\n var _this = this;\r\n var appIds = this.selectedAppId.toString().split(',');\r\n if (appIds.length > 1) {\r\n this.initMultiApp(appIds, null, null);\r\n }\r\n else {\r\n this.segmentIndex = 1;\r\n this.apiService.getConnectionSchema(this.selectedAppId, false)\r\n .subscribe(function (json) {\r\n _this.jsonSchema = json;\r\n }, function (error) {\r\n _this.handleError(error);\r\n });\r\n }\r\n };\r\n ConnectorComponent.prototype.initOnUpdate = function () {\r\n var _this = this;\r\n this.segmentIndex = 1;\r\n this.apiService.getConnectionUpdateSchema(this.selectedConnectionId)\r\n .subscribe(function (json) {\r\n if (json.contractApps && json.contractApps.length > 1) {\r\n _this.multiAuthLabel = 'connector.edit-connection';\r\n _this.backButtonLabel = 'connector.buttons.back-edit';\r\n var appIds = json.contractApps.map(function (x) { return x.id; });\r\n _this.initMultiApp(appIds, json.appId, json.value);\r\n _this.currentConnectionApp = json.appId;\r\n }\r\n else {\r\n _this.jsonSchema = json.value;\r\n }\r\n }, function (error) {\r\n _this.handleError(error);\r\n });\r\n };\r\n ConnectorComponent.prototype.initMultiApp = function (appIds, currentAppId, currentSchema) {\r\n var _this = this;\r\n this.isMultiApps = true;\r\n var mappedApps = appIds.map(function (appId) {\r\n var data = appId === currentAppId\r\n ? __WEBPACK_IMPORTED_MODULE_8_rxjs__[\"Observable\"].of(currentSchema)\r\n : _this.apiService.getConnectionSchema(appId, true);\r\n return {\r\n id: appId,\r\n data: data\r\n };\r\n });\r\n __WEBPACK_IMPORTED_MODULE_8_rxjs__[\"Observable\"].forkJoin(mappedApps.map(function (app) { return app.data; })).subscribe(function (results) {\r\n var apps = results.map(function (result, index) {\r\n return {\r\n id: mappedApps[index].id,\r\n schema: result,\r\n };\r\n });\r\n _this.apps = apps;\r\n var selectedAppIndex = currentAppId !== null\r\n ? apps.findIndex(function (x) { return x.id === currentAppId; })\r\n : 0;\r\n _this.selectApp(apps[selectedAppIndex]);\r\n _this.formIsLoading(false);\r\n }, function (error) {\r\n _this.handleError(error);\r\n });\r\n };\r\n ConnectorComponent.prototype.formIsLoading = function (loadingState) {\r\n this.loading = loadingState;\r\n };\r\n ConnectorComponent.prototype.formLoadFailed = function (loadFailed) {\r\n this.formLoadHasFailed = loadFailed;\r\n };\r\n ConnectorComponent.prototype.closeWindow = function () {\r\n window.close();\r\n };\r\n var _a, _b, _c, _d;\r\n ConnectorComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_2__angular_core__[\"n\" /* Component */])({\r\n selector: 'ntx-xtensions-connector',\r\n template: __webpack_require__(956),\r\n styles: [__webpack_require__(957)],\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__common_services_api_service__[\"a\" /* ApiService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__common_services_api_service__[\"a\" /* ApiService */]) === \"function\" ? _a : Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_0__common_services_window_location_service__[\"a\" /* WindowLocationService */]) === \"function\" ? _b : Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_5__external_props__[\"a\" /* ConnectorExternalProps */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__external_props__[\"a\" /* ConnectorExternalProps */]) === \"function\" ? _c : Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_6__common_services_styling_service__[\"a\" /* IStylingService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_6__common_services_styling_service__[\"a\" /* IStylingService */]) === \"function\" ? _d : Object])\r\n ], ConnectorComponent);\r\n return ConnectorComponent;\r\n}());\r\n\r\n//# sourceMappingURL=../../src/app/connector/connector.component.js.map\n\n/***/ }),\n/* 699 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return themeGenerator; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_color__ = __webpack_require__(700);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_color___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_color__);\n\r\n// Default theme values\r\nvar defaultTheme = {\r\n 'color': {\r\n 'body': {\r\n 'base': '#232323',\r\n 'text': '#fff'\r\n },\r\n 'primary': {\r\n 'base': '#E06E18',\r\n 'text': '#fff'\r\n },\r\n 'disabled': '#CBCBCB'\r\n },\r\n 'font-family': 'Lato, Helvetica, Arial, sans-serif',\r\n 'header-font-family': '\"Lato-Light\", \"Lato\", Helvetica, Arial, sans-serif;',\r\n 'border-radius': '4px'\r\n};\r\nvar themeGenerator = function (xpropsTheme) {\r\n var theme = Object.assign({}, defaultTheme, xpropsTheme);\r\n return {\r\n 'body': {\r\n 'background-color': theme.color.body.base,\r\n 'font-family': theme['font-family']\r\n },\r\n '.dark': {\r\n 'background-color': theme.color.body.base,\r\n },\r\n '.dark h3': {\r\n 'color': theme.color.body.text,\r\n 'font-family': theme['header-font-family']\r\n },\r\n '.dark p, .dark label': {\r\n 'color': theme.color.body.text,\r\n 'font-family': theme['font-family']\r\n },\r\n '.form-actions': {\r\n 'background-color': theme.color.body.base,\r\n },\r\n '.form-actions .btn-cancel': {\r\n 'background-color': theme.color.body.base,\r\n 'color': theme.color.body.text,\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.text).darken(0.2).hex(),\r\n 'border-radius': theme['border-radius'],\r\n '&:hover': {\r\n 'background-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.base).darken(-1).hex(),\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.text).darken(-0.2).hex(),\r\n }\r\n },\r\n '.form-actions .btn-submit': {\r\n 'background-color': theme.color.primary.base,\r\n 'color': theme.color.primary.text,\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.primary.base).darken(0.2).hex(),\r\n 'border-radius': theme['border-radius'],\r\n '&:hover': {\r\n 'background-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.primary.base).darken(0.2).hex(),\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.primary.base).darken(0.2).hex(),\r\n }\r\n },\r\n '.form-actions .btn-submit:disabled': {\r\n 'background-color': theme.color.disabled,\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.disabled).darken(0.2).hex(),\r\n },\r\n 'input.form-control': {\r\n 'border-color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.base).light()\r\n ? __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.base).darken(0.2).hex()\r\n : __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.base).lighten(0.2).hex(),\r\n 'border-radius': theme['border-radius']\r\n },\r\n 'input.form-control:focus': {\r\n 'border-color': theme.color.primary.base\r\n },\r\n '.form-wizard__tab-item .nx-label-active': {\r\n 'color': theme.color.body.text,\r\n 'font-weight': 'bold'\r\n },\r\n '.form-wizard__tab-item .nx-label-inactive': {\r\n 'color': theme.color.disabled,\r\n },\r\n '.form-wizard__tab-item .nx-icon-active': {\r\n 'color': theme.color.body.base,\r\n 'background-color': theme.color.body.text\r\n },\r\n '.form-wizard__tab-item .nx-icon-inactive': {\r\n 'color': __WEBPACK_IMPORTED_MODULE_0_color___default()(theme.color.body.base).lighten(1).hex(),\r\n 'background-color': theme.color.disabled\r\n }\r\n };\r\n};\r\n//# sourceMappingURL=../../src/app/connector/theme-generator.js.map\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar colorString = __webpack_require__(701);\nvar convert = __webpack_require__(704);\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (!obj) {\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\n\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* MIT license */\nvar colorNames = __webpack_require__(326);\nvar swizzle = __webpack_require__(702);\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isArrayish = __webpack_require__(703);\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n\n\n/***/ }),\n/* 703 */\n/***/ (function(module, exports) {\n\nmodule.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n\n\n/***/ }),\n/* 704 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(327);\nvar route = __webpack_require__(705);\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n\n\n/***/ }),\n/* 705 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar conversions = __webpack_require__(327);\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n\n\n/***/ }),\n/* 706 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/* tslint:disable:no-unused-variable */\n// Subject imported before Observable to bypass circular dependency issue since\n// Subject extends Observable and Observable references Subject in it's\n// definition\nvar Subject_1 = __webpack_require__(6);\nexports.Subject = Subject_1.Subject;\nexports.AnonymousSubject = Subject_1.AnonymousSubject;\n/* tslint:enable:no-unused-variable */\nvar Observable_1 = __webpack_require__(0);\nexports.Observable = Observable_1.Observable;\n// statics\n/* tslint:disable:no-use-before-declare */\n__webpack_require__(707);\n__webpack_require__(710);\n__webpack_require__(713);\n__webpack_require__(715);\n__webpack_require__(716);\n__webpack_require__(717);\n__webpack_require__(719);\n__webpack_require__(720);\n__webpack_require__(721);\n__webpack_require__(722);\n__webpack_require__(322);\n__webpack_require__(725);\n__webpack_require__(728);\n__webpack_require__(731);\n__webpack_require__(734);\n__webpack_require__(735);\n__webpack_require__(736);\n__webpack_require__(307);\n__webpack_require__(739);\n__webpack_require__(741);\n__webpack_require__(744);\n__webpack_require__(747);\n__webpack_require__(321);\n__webpack_require__(750);\n__webpack_require__(751);\n//dom\n__webpack_require__(753);\n__webpack_require__(755);\n//operators\n__webpack_require__(761);\n__webpack_require__(763);\n__webpack_require__(765);\n__webpack_require__(767);\n__webpack_require__(769);\n__webpack_require__(320);\n__webpack_require__(771);\n__webpack_require__(773);\n__webpack_require__(775);\n__webpack_require__(777);\n__webpack_require__(779);\n__webpack_require__(781);\n__webpack_require__(783);\n__webpack_require__(785);\n__webpack_require__(787);\n__webpack_require__(318);\n__webpack_require__(789);\n__webpack_require__(791);\n__webpack_require__(792);\n__webpack_require__(794);\n__webpack_require__(797);\n__webpack_require__(799);\n__webpack_require__(801);\n__webpack_require__(802);\n__webpack_require__(804);\n__webpack_require__(806);\n__webpack_require__(808);\n__webpack_require__(810);\n__webpack_require__(811);\n__webpack_require__(812);\n__webpack_require__(814);\n__webpack_require__(816);\n__webpack_require__(817);\n__webpack_require__(822);\n__webpack_require__(824);\n__webpack_require__(826);\n__webpack_require__(828);\n__webpack_require__(829);\n__webpack_require__(831);\n__webpack_require__(833);\n__webpack_require__(145);\n__webpack_require__(835);\n__webpack_require__(837);\n__webpack_require__(839);\n__webpack_require__(309);\n__webpack_require__(841);\n__webpack_require__(323);\n__webpack_require__(843);\n__webpack_require__(845);\n__webpack_require__(847);\n__webpack_require__(849);\n__webpack_require__(851);\n__webpack_require__(853);\n__webpack_require__(855);\n__webpack_require__(857);\n__webpack_require__(860);\n__webpack_require__(862);\n__webpack_require__(864);\n__webpack_require__(866);\n__webpack_require__(868);\n__webpack_require__(870);\n__webpack_require__(872);\n__webpack_require__(874);\n__webpack_require__(876);\n__webpack_require__(878);\n__webpack_require__(880);\n__webpack_require__(882);\n__webpack_require__(884);\n__webpack_require__(886);\n__webpack_require__(888);\n__webpack_require__(308);\n__webpack_require__(890);\n__webpack_require__(892);\n__webpack_require__(894);\n__webpack_require__(896);\n__webpack_require__(898);\n__webpack_require__(900);\n__webpack_require__(902);\n__webpack_require__(903);\n__webpack_require__(910);\n__webpack_require__(912);\n__webpack_require__(913);\n__webpack_require__(313);\n__webpack_require__(915);\n__webpack_require__(917);\n__webpack_require__(918);\n__webpack_require__(920);\n__webpack_require__(922);\n__webpack_require__(924);\n__webpack_require__(925);\n__webpack_require__(927);\n__webpack_require__(929);\n__webpack_require__(311);\n__webpack_require__(931);\n__webpack_require__(932);\n__webpack_require__(934);\n__webpack_require__(936);\n__webpack_require__(938);\n__webpack_require__(940);\n__webpack_require__(942);\n__webpack_require__(944);\n__webpack_require__(946);\n/* tslint:disable:no-unused-variable */\nvar Subscription_1 = __webpack_require__(15);\nexports.Subscription = Subscription_1.Subscription;\nvar Subscriber_1 = __webpack_require__(4);\nexports.Subscriber = Subscriber_1.Subscriber;\nvar AsyncSubject_1 = __webpack_require__(148);\nexports.AsyncSubject = AsyncSubject_1.AsyncSubject;\nvar ReplaySubject_1 = __webpack_require__(151);\nexports.ReplaySubject = ReplaySubject_1.ReplaySubject;\nvar BehaviorSubject_1 = __webpack_require__(209);\nexports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;\nvar ConnectableObservable_1 = __webpack_require__(268);\nexports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;\nvar Notification_1 = __webpack_require__(103);\nexports.Notification = Notification_1.Notification;\nvar EmptyError_1 = __webpack_require__(136);\nexports.EmptyError = EmptyError_1.EmptyError;\nvar ArgumentOutOfRangeError_1 = __webpack_require__(111);\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\nvar ObjectUnsubscribedError_1 = __webpack_require__(135);\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;\nvar TimeoutError_1 = __webpack_require__(389);\nexports.TimeoutError = TimeoutError_1.TimeoutError;\nvar UnsubscriptionError_1 = __webpack_require__(262);\nexports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;\nvar timeInterval_1 = __webpack_require__(386);\nexports.TimeInterval = timeInterval_1.TimeInterval;\nvar timestamp_1 = __webpack_require__(234);\nexports.Timestamp = timestamp_1.Timestamp;\nvar TestScheduler_1 = __webpack_require__(948);\nexports.TestScheduler = TestScheduler_1.TestScheduler;\nvar VirtualTimeScheduler_1 = __webpack_require__(401);\nexports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;\nvar AjaxObservable_1 = __webpack_require__(328);\nexports.AjaxResponse = AjaxObservable_1.AjaxResponse;\nexports.AjaxError = AjaxObservable_1.AjaxError;\nexports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;\nvar pipe_1 = __webpack_require__(192);\nexports.pipe = pipe_1.pipe;\nvar asap_1 = __webpack_require__(381);\nvar async_1 = __webpack_require__(17);\nvar queue_1 = __webpack_require__(329);\nvar animationFrame_1 = __webpack_require__(951);\nvar rxSubscriber_1 = __webpack_require__(132);\nvar iterator_1 = __webpack_require__(100);\nvar observable_1 = __webpack_require__(133);\nvar _operators = __webpack_require__(955);\nexports.operators = _operators;\n/* tslint:enable:no-unused-variable */\n/**\n * @typedef {Object} Rx.Scheduler\n * @property {Scheduler} queue Schedules on a queue in the current event frame\n * (trampoline scheduler). Use this for iteration operations.\n * @property {Scheduler} asap Schedules on the micro task queue, which uses the\n * fastest transport mechanism available, either Node.js' `process.nextTick()`\n * or Web Worker MessageChannel or setTimeout or others. Use this for\n * asynchronous conversions.\n * @property {Scheduler} async Schedules work with `setInterval`. Use this for\n * time-based operations.\n * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.\n * Use this for synchronizing with the platform's painting\n */\nvar Scheduler = {\n asap: asap_1.asap,\n queue: queue_1.queue,\n animationFrame: animationFrame_1.animationFrame,\n async: async_1.async\n};\nexports.Scheduler = Scheduler;\n/**\n * @typedef {Object} Rx.Symbol\n * @property {Symbol|string} rxSubscriber A symbol to use as a property name to\n * retrieve an \"Rx safe\" Observer from an object. \"Rx safety\" can be defined as\n * an object that has all of the traits of an Rx Subscriber, including the\n * ability to add and remove subscriptions to the subscription chain and\n * guarantees involving event triggering (can't \"next\" after unsubscription,\n * etc).\n * @property {Symbol|string} observable A symbol to use as a property name to\n * retrieve an Observable as defined by the [ECMAScript \"Observable\" spec](https://github.com/zenparsing/es-observable).\n * @property {Symbol|string} iterator The ES6 symbol to use as a property name\n * to retrieve an iterator from an object.\n */\nvar Symbol = {\n rxSubscriber: rxSubscriber_1.rxSubscriber,\n observable: observable_1.observable,\n iterator: iterator_1.iterator\n};\nexports.Symbol = Symbol;\n\n\n/***/ }),\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bindCallback_1 = __webpack_require__(708);\nObservable_1.Observable.bindCallback = bindCallback_1.bindCallback;\n\n\n/***/ }),\n/* 708 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar BoundCallbackObservable_1 = __webpack_require__(709);\nexports.bindCallback = BoundCallbackObservable_1.BoundCallbackObservable.create;\n\n\n/***/ }),\n/* 709 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar AsyncSubject_1 = __webpack_require__(148);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar BoundCallbackObservable = (function (_super) {\n __extends(BoundCallbackObservable, _super);\n function BoundCallbackObservable(callbackFunc, selector, args, context, scheduler) {\n _super.call(this);\n this.callbackFunc = callbackFunc;\n this.selector = selector;\n this.args = args;\n this.context = context;\n this.scheduler = scheduler;\n }\n /* tslint:enable:max-line-length */\n /**\n * Converts a callback API to a function that returns an Observable.\n *\n * Give it a function `f` of type `f(x, callback)` and\n * it will return a function `g` that when called as `g(x)` will output an\n * Observable.\n *\n * `bindCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters, the\n * last parameter must be a callback function that `func` calls when it is\n * done.\n *\n * The output of `bindCallback` is a function that takes the same parameters\n * as `func`, except the last one (the callback). When the output function\n * is called with arguments it will return an Observable. If function `func`\n * calls its callback with one argument the Observable will emit that value.\n * If on the other hand the callback is called with multiple values the resulting\n * Observable will emit an array with said values as arguments.\n *\n * It is very important to remember that input function `func` is not called\n * when the output function is, but rather when the Observable returned by the output\n * function is subscribed. This means if `func` makes an AJAX request, that request\n * will be made every time someone subscribes to the resulting Observable, but not before.\n *\n * Optionally, a selector function can be passed to `bindObservable`. The selector function\n * takes the same arguments as the callback and returns the value that will be emitted by the Observable.\n * Even though by default multiple arguments passed to callback appear in the stream as an array\n * the selector function will be called with arguments directly, just as the callback would.\n * This means you can imagine the default selector (when one is not provided explicitly)\n * as a function that aggregates all its arguments into an array, or simply returns first argument\n * if there is only one.\n *\n * The last optional parameter - {@link Scheduler} - can be used to control when the call\n * to `func` happens after someone subscribes to Observable, as well as when results\n * passed to callback will be emitted. By default, the subscription to an Observable calls `func`\n * synchronously, but using `Scheduler.async` as the last parameter will defer the call to `func`,\n * just like wrapping the call in `setTimeout` with a timeout of `0` would. If you use the async Scheduler\n * and call `subscribe` on the output Observable all function calls that are currently executing\n * will end before `func` is invoked.\n *\n * By default results passed to the callback are emitted immediately after `func` invokes the callback.\n * In particular, if the callback is called synchronously the subscription of the resulting Observable\n * will call the `next` function synchronously as well. If you want to defer that call,\n * you may use `Scheduler.async` just as before. This means that by using `Scheduler.async` you can\n * ensure that `func` always calls its callback asynchronously, thus avoiding terrifying Zalgo.\n *\n * Note that the Observable created by the output function will always emit a single value\n * and then complete immediately. If `func` calls the callback multiple times, values from subsequent\n * calls will not appear in the stream. If you need to listen for multiple calls,\n * you probably want to use {@link fromEvent} or {@link fromEventPattern} instead.\n *\n * If `func` depends on some context (`this` property) and is not already bound the context of `func`\n * will be the context that the output function has at call time. In particular, if `func`\n * is called as a method of some objec and if `func` is not already bound, in order to preserve the context\n * it is recommended that the context of the output function is set to that object as well.\n *\n * If the input function calls its callback in the \"node style\" (i.e. first argument to callback is\n * optional error parameter signaling whether the call failed or not), {@link bindNodeCallback}\n * provides convenient error handling and probably is a better choice.\n * `bindCallback` will treat such functions the same as any other and error parameters\n * (whether passed or not) will always be interpreted as regular callback argument.\n *\n *\n * @example Convert jQuery's getJSON to an Observable API\n * // Suppose we have jQuery.getJSON('/my/url', callback)\n * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n * var result = getJSONAsObservable('/my/url');\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n *\n * @example Receive an array of arguments passed to a callback\n * someFunction((a, b, c) => {\n * console.log(a); // 5\n * console.log(b); // 'some string'\n * console.log(c); // {someProperty: 'someValue'}\n * });\n *\n * const boundSomeFunction = Rx.Observable.bindCallback(someFunction);\n * boundSomeFunction().subscribe(values => {\n * console.log(values) // [5, 'some string', {someProperty: 'someValue'}]\n * });\n *\n *\n * @example Use bindCallback with a selector function\n * someFunction((a, b, c) => {\n * console.log(a); // 'a'\n * console.log(b); // 'b'\n * console.log(c); // 'c'\n * });\n *\n * const boundSomeFunction = Rx.Observable.bindCallback(someFunction, (a, b, c) => a + b + c);\n * boundSomeFunction().subscribe(value => {\n * console.log(value) // 'abc'\n * });\n *\n *\n * @example Compare behaviour with and without async Scheduler\n * function iCallMyCallbackSynchronously(cb) {\n * cb();\n * }\n *\n * const boundSyncFn = Rx.Observable.bindCallback(iCallMyCallbackSynchronously);\n * const boundAsyncFn = Rx.Observable.bindCallback(iCallMyCallbackSynchronously, null, Rx.Scheduler.async);\n *\n * boundSyncFn().subscribe(() => console.log('I was sync!'));\n * boundAsyncFn().subscribe(() => console.log('I was async!'));\n * console.log('This happened...');\n *\n * // Logs:\n * // I was sync!\n * // This happened...\n * // I was async!\n *\n *\n * @example Use bindCallback on an object method\n * const boundMethod = Rx.Observable.bindCallback(someObject.methodWithCallback);\n * boundMethod.call(someObject) // make sure methodWithCallback has access to someObject\n * .subscribe(subscriber);\n *\n *\n * @see {@link bindNodeCallback}\n * @see {@link from}\n * @see {@link fromPromise}\n *\n * @param {function} func A function with a callback as the last parameter.\n * @param {function} [selector] A function which takes the arguments from the\n * callback and maps them to a value that is emitted on the output Observable.\n * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n * callbacks.\n * @return {function(...params: *): Observable} A function which returns the\n * Observable that delivers the same values the callback would deliver.\n * @static true\n * @name bindCallback\n * @owner Observable\n */\n BoundCallbackObservable.create = function (func, selector, scheduler) {\n if (selector === void 0) { selector = undefined; }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return new BoundCallbackObservable(func, selector, args, this, scheduler);\n };\n };\n /** @deprecated internal use only */ BoundCallbackObservable.prototype._subscribe = function (subscriber) {\n var callbackFunc = this.callbackFunc;\n var args = this.args;\n var scheduler = this.scheduler;\n var subject = this.subject;\n if (!scheduler) {\n if (!subject) {\n subject = this.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function handlerFn() {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i - 0] = arguments[_i];\n }\n var source = handlerFn.source;\n var selector = source.selector, subject = source.subject;\n if (selector) {\n var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n if (result_1 === errorObject_1.errorObject) {\n subject.error(errorObject_1.errorObject.e);\n }\n else {\n subject.next(result_1);\n subject.complete();\n }\n }\n else {\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n }\n };\n // use named function instance to avoid closure.\n handler.source = this;\n var result = tryCatch_1.tryCatch(callbackFunc).apply(this.context, args.concat(handler));\n if (result === errorObject_1.errorObject) {\n subject.error(errorObject_1.errorObject.e);\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(BoundCallbackObservable.dispatch, 0, { source: this, subscriber: subscriber, context: this.context });\n }\n };\n BoundCallbackObservable.dispatch = function (state) {\n var self = this;\n var source = state.source, subscriber = state.subscriber, context = state.context;\n var callbackFunc = source.callbackFunc, args = source.args, scheduler = source.scheduler;\n var subject = source.subject;\n if (!subject) {\n subject = source.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function handlerFn() {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i - 0] = arguments[_i];\n }\n var source = handlerFn.source;\n var selector = source.selector, subject = source.subject;\n if (selector) {\n var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n if (result_2 === errorObject_1.errorObject) {\n self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\n }\n else {\n self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n }\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n // use named function to pass values in without closure\n handler.source = source;\n var result = tryCatch_1.tryCatch(callbackFunc).apply(context, args.concat(handler));\n if (result === errorObject_1.errorObject) {\n subject.error(errorObject_1.errorObject.e);\n }\n }\n self.add(subject.subscribe(subscriber));\n };\n return BoundCallbackObservable;\n}(Observable_1.Observable));\nexports.BoundCallbackObservable = BoundCallbackObservable;\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n\n\n/***/ }),\n/* 710 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bindNodeCallback_1 = __webpack_require__(711);\nObservable_1.Observable.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;\n\n\n/***/ }),\n/* 711 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar BoundNodeCallbackObservable_1 = __webpack_require__(712);\nexports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create;\n\n\n/***/ }),\n/* 712 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar AsyncSubject_1 = __webpack_require__(148);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar BoundNodeCallbackObservable = (function (_super) {\n __extends(BoundNodeCallbackObservable, _super);\n function BoundNodeCallbackObservable(callbackFunc, selector, args, context, scheduler) {\n _super.call(this);\n this.callbackFunc = callbackFunc;\n this.selector = selector;\n this.args = args;\n this.context = context;\n this.scheduler = scheduler;\n }\n /* tslint:enable:max-line-length */\n /**\n * Converts a Node.js-style callback API to a function that returns an\n * Observable.\n *\n * It's just like {@link bindCallback}, but the\n * callback is expected to be of type `callback(error, result)`.\n *\n * `bindNodeCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters, but the\n * last parameter must be a callback function that `func` calls when it is\n * done. The callback function is expected to follow Node.js conventions,\n * where the first argument to the callback is an error object, signaling\n * whether call was successful. If that object is passed to callback, it means\n * something went wrong.\n *\n * The output of `bindNodeCallback` is a function that takes the same\n * parameters as `func`, except the last one (the callback). When the output\n * function is called with arguments, it will return an Observable.\n * If `func` calls its callback with error parameter present, Observable will\n * error with that value as well. If error parameter is not passed, Observable will emit\n * second parameter. If there are more parameters (third and so on),\n * Observable will emit an array with all arguments, except first error argument.\n *\n * Optionally `bindNodeCallback` accepts selector function, which allows you to\n * make resulting Observable emit value computed by selector, instead of regular\n * callback arguments. It works similarly to {@link bindCallback} selector, but\n * Node.js-style error argument will never be passed to that function.\n *\n * Note that `func` will not be called at the same time output function is,\n * but rather whenever resulting Observable is subscribed. By default call to\n * `func` will happen synchronously after subscription, but that can be changed\n * with proper {@link Scheduler} provided as optional third parameter. Scheduler\n * can also control when values from callback will be emitted by Observable.\n * To find out more, check out documentation for {@link bindCallback}, where\n * Scheduler works exactly the same.\n *\n * As in {@link bindCallback}, context (`this` property) of input function will be set to context\n * of returned function, when it is called.\n *\n * After Observable emits value, it will complete immediately. This means\n * even if `func` calls callback again, values from second and consecutive\n * calls will never appear on the stream. If you need to handle functions\n * that call callbacks multiple times, check out {@link fromEvent} or\n * {@link fromEventPattern} instead.\n *\n * Note that `bindNodeCallback` can be used in non-Node.js environments as well.\n * \"Node.js-style\" callbacks are just a convention, so if you write for\n * browsers or any other environment and API you use implements that callback style,\n * `bindNodeCallback` can be safely used on that API functions as well.\n *\n * Remember that Error object passed to callback does not have to be an instance\n * of JavaScript built-in `Error` object. In fact, it does not even have to an object.\n * Error parameter of callback function is interpreted as \"present\", when value\n * of that parameter is truthy. It could be, for example, non-zero number, non-empty\n * string or boolean `true`. In all of these cases resulting Observable would error\n * with that value. This means usually regular style callbacks will fail very often when\n * `bindNodeCallback` is used. If your Observable errors much more often then you\n * would expect, check if callback really is called in Node.js-style and, if not,\n * switch to {@link bindCallback} instead.\n *\n * Note that even if error parameter is technically present in callback, but its value\n * is falsy, it still won't appear in array emitted by Observable or in selector function.\n *\n *\n * @example Read a file from the filesystem and get the data as an Observable\n * import * as fs from 'fs';\n * var readFileAsObservable = Rx.Observable.bindNodeCallback(fs.readFile);\n * var result = readFileAsObservable('./roadNames.txt', 'utf8');\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n *\n * @example Use on function calling callback with multiple arguments\n * someFunction((err, a, b) => {\n * console.log(err); // null\n * console.log(a); // 5\n * console.log(b); // \"some string\"\n * });\n * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(value => {\n * console.log(value); // [5, \"some string\"]\n * });\n *\n *\n * @example Use with selector function\n * someFunction((err, a, b) => {\n * console.log(err); // undefined\n * console.log(a); // \"abc\"\n * console.log(b); // \"DEF\"\n * });\n * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction, (a, b) => a + b);\n * boundSomeFunction()\n * .subscribe(value => {\n * console.log(value); // \"abcDEF\"\n * });\n *\n *\n * @example Use on function calling callback in regular style\n * someFunction(a => {\n * console.log(a); // 5\n * });\n * var boundSomeFunction = Rx.Observable.bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(\n * value => {} // never gets called\n * err => console.log(err) // 5\n *);\n *\n *\n * @see {@link bindCallback}\n * @see {@link from}\n * @see {@link fromPromise}\n *\n * @param {function} func Function with a Node.js-style callback as the last parameter.\n * @param {function} [selector] A function which takes the arguments from the\n * callback and maps those to a value to emit on the output Observable.\n * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n * callbacks.\n * @return {function(...params: *): Observable} A function which returns the\n * Observable that delivers the same values the Node.js callback would\n * deliver.\n * @static true\n * @name bindNodeCallback\n * @owner Observable\n */\n BoundNodeCallbackObservable.create = function (func, selector, scheduler) {\n if (selector === void 0) { selector = undefined; }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n return new BoundNodeCallbackObservable(func, selector, args, this, scheduler);\n };\n };\n /** @deprecated internal use only */ BoundNodeCallbackObservable.prototype._subscribe = function (subscriber) {\n var callbackFunc = this.callbackFunc;\n var args = this.args;\n var scheduler = this.scheduler;\n var subject = this.subject;\n if (!scheduler) {\n if (!subject) {\n subject = this.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function handlerFn() {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i - 0] = arguments[_i];\n }\n var source = handlerFn.source;\n var selector = source.selector, subject = source.subject;\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n }\n else if (selector) {\n var result_1 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n if (result_1 === errorObject_1.errorObject) {\n subject.error(errorObject_1.errorObject.e);\n }\n else {\n subject.next(result_1);\n subject.complete();\n }\n }\n else {\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n }\n };\n // use named function instance to avoid closure.\n handler.source = this;\n var result = tryCatch_1.tryCatch(callbackFunc).apply(this.context, args.concat(handler));\n if (result === errorObject_1.errorObject) {\n subject.error(errorObject_1.errorObject.e);\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { source: this, subscriber: subscriber, context: this.context });\n }\n };\n return BoundNodeCallbackObservable;\n}(Observable_1.Observable));\nexports.BoundNodeCallbackObservable = BoundNodeCallbackObservable;\nfunction dispatch(state) {\n var self = this;\n var source = state.source, subscriber = state.subscriber, context = state.context;\n // XXX: cast to `any` to access to the private field in `source`.\n var _a = source, callbackFunc = _a.callbackFunc, args = _a.args, scheduler = _a.scheduler;\n var subject = source.subject;\n if (!subject) {\n subject = source.subject = new AsyncSubject_1.AsyncSubject();\n var handler = function handlerFn() {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i - 0] = arguments[_i];\n }\n var source = handlerFn.source;\n var selector = source.selector, subject = source.subject;\n var err = innerArgs.shift();\n if (err) {\n self.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else if (selector) {\n var result_2 = tryCatch_1.tryCatch(selector).apply(this, innerArgs);\n if (result_2 === errorObject_1.errorObject) {\n self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\n }\n else {\n self.add(scheduler.schedule(dispatchNext, 0, { value: result_2, subject: subject }));\n }\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n self.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n // use named function to pass values in without closure\n handler.source = source;\n var result = tryCatch_1.tryCatch(callbackFunc).apply(context, args.concat(handler));\n if (result === errorObject_1.errorObject) {\n self.add(scheduler.schedule(dispatchError, 0, { err: errorObject_1.errorObject.e, subject: subject }));\n }\n }\n self.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n\n\n/***/ }),\n/* 713 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar combineLatest_1 = __webpack_require__(714);\nObservable_1.Observable.combineLatest = combineLatest_1.combineLatest;\n\n\n/***/ }),\n/* 714 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isScheduler_1 = __webpack_require__(49);\nvar isArray_1 = __webpack_require__(57);\nvar ArrayObservable_1 = __webpack_require__(74);\nvar combineLatest_1 = __webpack_require__(149);\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable in order and,\n * whenever any Observable emits, collecting an array of the most recent\n * values from each Observable. So if you pass `n` Observables to operator,\n * returned Observable will always emit an array of `n` values, in order\n * corresponding to order of passed Observables (value from the first Observable\n * on the first place and so on).\n *\n * Static version of `combineLatest` accepts either an array of Observables\n * or each Observable can be put directly as an argument. Note that array of\n * Observables is good choice, if you don't know beforehand how many Observables\n * you will combine. Passing empty array will result in Observable that\n * completes immediately.\n *\n * To ensure output array has always the same length, `combineLatest` will\n * actually wait for all input Observables to emit at least once,\n * before it starts emitting results. This means if some Observable emits\n * values before other Observables started emitting, all that values but last\n * will be lost. On the other hand, is some Observable does not emit value but\n * completes, resulting Observable will complete at the same moment without\n * emitting anything, since it will be now impossible to include value from\n * completed Observable in resulting array. Also, if some input Observable does\n * not emit any value and never completes, `combineLatest` will also never emit\n * and never complete, since, again, it will wait for all streams to emit some\n * value.\n *\n * If at least one Observable was passed to `combineLatest` and all passed Observables\n * emitted something, resulting Observable will complete when all combined\n * streams complete. So even if some Observable completes, result of\n * `combineLatest` will still emit values when other Observables do. In case\n * of completed Observable, its value from now on will always be the last\n * emitted value. On the other hand, if any Observable errors, `combineLatest`\n * will error immediately as well, and all other Observables will be unsubscribed.\n *\n * `combineLatest` accepts as optional parameter `project` function, which takes\n * as arguments all values that would normally be emitted by resulting Observable.\n * `project` can return any kind of value, which will be then emitted by Observable\n * instead of default array. Note that `project` does not take as argument that array\n * of values, but values themselves. That means default `project` can be imagined\n * as function that takes all its arguments and puts them into an array.\n *\n *\n * @example Combine two timer Observables\n * const firstTimer = Rx.Observable.timer(0, 1000); // emit 0, 1, 2... after every second, starting from now\n * const secondTimer = Rx.Observable.timer(500, 1000); // emit 0, 1, 2... after every second, starting 0,5s from now\n * const combinedTimers = Rx.Observable.combineLatest(firstTimer, secondTimer);\n * combinedTimers.subscribe(value => console.log(value));\n * // Logs\n * // [0, 0] after 0.5s\n * // [1, 0] after 1s\n * // [1, 1] after 1.5s\n * // [2, 1] after 2s\n *\n *\n * @example Combine an array of Observables\n * const observables = [1, 5, 10].map(\n * n => Rx.Observable.of(n).delay(n * 1000).startWith(0) // emit 0 and then emit n after n seconds\n * );\n * const combined = Rx.Observable.combineLatest(observables);\n * combined.subscribe(value => console.log(value));\n * // Logs\n * // [0, 0, 0] immediately\n * // [1, 0, 0] after 1s\n * // [1, 5, 0] after 5s\n * // [1, 5, 10] after 10s\n *\n *\n * @example Use project function to dynamically calculate the Body-Mass Index\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} observable1 An input Observable to combine with other Observables.\n * @param {ObservableInput} observable2 An input Observable to combine with other Observables.\n * More than one input Observables may be given as arguments\n * or an array of Observables may be given as the first argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = null;\n var scheduler = null;\n if (isScheduler_1.isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n // if the first and only other argument besides the resultSelector is an array\n // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0];\n }\n return new ArrayObservable_1.ArrayObservable(observables, scheduler).lift(new combineLatest_1.CombineLatestOperator(project));\n}\nexports.combineLatest = combineLatest;\n\n\n/***/ }),\n/* 715 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar concat_1 = __webpack_require__(102);\nObservable_1.Observable.concat = concat_1.concat;\n\n\n/***/ }),\n/* 716 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar defer_1 = __webpack_require__(294);\nObservable_1.Observable.defer = defer_1.defer;\n\n\n/***/ }),\n/* 717 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar empty_1 = __webpack_require__(718);\nObservable_1.Observable.empty = empty_1.empty;\n\n\n/***/ }),\n/* 718 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar EmptyObservable_1 = __webpack_require__(75);\nexports.empty = EmptyObservable_1.EmptyObservable.create;\n\n\n/***/ }),\n/* 719 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar forkJoin_1 = __webpack_require__(206);\nObservable_1.Observable.forkJoin = forkJoin_1.forkJoin;\n\n\n/***/ }),\n/* 720 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar from_1 = __webpack_require__(282);\nObservable_1.Observable.from = from_1.from;\n\n\n/***/ }),\n/* 721 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar fromEvent_1 = __webpack_require__(140);\nObservable_1.Observable.fromEvent = fromEvent_1.fromEvent;\n\n\n/***/ }),\n/* 722 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar fromEventPattern_1 = __webpack_require__(723);\nObservable_1.Observable.fromEventPattern = fromEventPattern_1.fromEventPattern;\n\n\n/***/ }),\n/* 723 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar FromEventPatternObservable_1 = __webpack_require__(724);\nexports.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;\n\n\n/***/ }),\n/* 724 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = __webpack_require__(131);\nvar Observable_1 = __webpack_require__(0);\nvar Subscription_1 = __webpack_require__(15);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromEventPatternObservable = (function (_super) {\n __extends(FromEventPatternObservable, _super);\n function FromEventPatternObservable(addHandler, removeHandler, selector) {\n _super.call(this);\n this.addHandler = addHandler;\n this.removeHandler = removeHandler;\n this.selector = selector;\n }\n /**\n * Creates an Observable from an API based on addHandler/removeHandler\n * functions.\n *\n * Converts any addHandler/removeHandler API to an\n * Observable.\n *\n * \n *\n * Creates an Observable by using the `addHandler` and `removeHandler`\n * functions to add and remove the handlers, with an optional selector\n * function to project the event arguments to a result. The `addHandler` is\n * called when the output Observable is subscribed, and `removeHandler` is\n * called when the Subscription is unsubscribed.\n *\n * @example Emits clicks happening on the DOM document\n * function addClickHandler(handler) {\n * document.addEventListener('click', handler);\n * }\n *\n * function removeClickHandler(handler) {\n * document.removeEventListener('click', handler);\n * }\n *\n * var clicks = Rx.Observable.fromEventPattern(\n * addClickHandler,\n * removeClickHandler\n * );\n * clicks.subscribe(x => console.log(x));\n *\n * @see {@link from}\n * @see {@link fromEvent}\n *\n * @param {function(handler: Function): any} addHandler A function that takes\n * a `handler` function as argument and attaches it somehow to the actual\n * source of events.\n * @param {function(handler: Function, signal?: any): void} [removeHandler] An optional function that\n * takes a `handler` function as argument and removes it in case it was\n * previously attached using `addHandler`. if addHandler returns signal to teardown when remove,\n * removeHandler function will forward it.\n * @param {function(...args: any): T} [selector] An optional function to\n * post-process results. It takes the arguments from the event handler and\n * should return a single value.\n * @return {Observable}\n * @static true\n * @name fromEventPattern\n * @owner Observable\n */\n FromEventPatternObservable.create = function (addHandler, removeHandler, selector) {\n return new FromEventPatternObservable(addHandler, removeHandler, selector);\n };\n /** @deprecated internal use only */ FromEventPatternObservable.prototype._subscribe = function (subscriber) {\n var _this = this;\n var removeHandler = this.removeHandler;\n var handler = !!this.selector ? function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i - 0] = arguments[_i];\n }\n _this._callSelector(subscriber, args);\n } : function (e) { subscriber.next(e); };\n var retValue = this._callAddHandler(handler, subscriber);\n if (!isFunction_1.isFunction(removeHandler)) {\n return;\n }\n subscriber.add(new Subscription_1.Subscription(function () {\n //TODO: determine whether or not to forward to error handler\n removeHandler(handler, retValue);\n }));\n };\n FromEventPatternObservable.prototype._callSelector = function (subscriber, args) {\n try {\n var result = this.selector.apply(this, args);\n subscriber.next(result);\n }\n catch (e) {\n subscriber.error(e);\n }\n };\n FromEventPatternObservable.prototype._callAddHandler = function (handler, errorSubscriber) {\n try {\n return this.addHandler(handler) || null;\n }\n catch (e) {\n errorSubscriber.error(e);\n }\n };\n return FromEventPatternObservable;\n}(Observable_1.Observable));\nexports.FromEventPatternObservable = FromEventPatternObservable;\n\n\n/***/ }),\n/* 725 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar generate_1 = __webpack_require__(726);\nObservable_1.Observable.generate = generate_1.generate;\n\n\n/***/ }),\n/* 726 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar GenerateObservable_1 = __webpack_require__(727);\nexports.generate = GenerateObservable_1.GenerateObservable.create;\n\n\n/***/ }),\n/* 727 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar isScheduler_1 = __webpack_require__(49);\nvar selfSelector = function (value) { return value; };\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar GenerateObservable = (function (_super) {\n __extends(GenerateObservable, _super);\n function GenerateObservable(initialState, condition, iterate, resultSelector, scheduler) {\n _super.call(this);\n this.initialState = initialState;\n this.condition = condition;\n this.iterate = iterate;\n this.resultSelector = resultSelector;\n this.scheduler = scheduler;\n }\n GenerateObservable.create = function (initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n if (arguments.length == 1) {\n return new GenerateObservable(initialStateOrOptions.initialState, initialStateOrOptions.condition, initialStateOrOptions.iterate, initialStateOrOptions.resultSelector || selfSelector, initialStateOrOptions.scheduler);\n }\n if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {\n return new GenerateObservable(initialStateOrOptions, condition, iterate, selfSelector, resultSelectorOrObservable);\n }\n return new GenerateObservable(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler);\n };\n /** @deprecated internal use only */ GenerateObservable.prototype._subscribe = function (subscriber) {\n var state = this.initialState;\n if (this.scheduler) {\n return this.scheduler.schedule(GenerateObservable.dispatch, 0, {\n subscriber: subscriber,\n iterate: this.iterate,\n condition: this.condition,\n resultSelector: this.resultSelector,\n state: state });\n }\n var _a = this, condition = _a.condition, resultSelector = _a.resultSelector, iterate = _a.iterate;\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n } while (true);\n };\n GenerateObservable.dispatch = function (state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (!conditionResult) {\n subscriber.complete();\n return;\n }\n if (subscriber.closed) {\n return;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (subscriber.closed) {\n return;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n return this.schedule(state);\n };\n return GenerateObservable;\n}(Observable_1.Observable));\nexports.GenerateObservable = GenerateObservable;\n\n\n/***/ }),\n/* 728 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar if_1 = __webpack_require__(729);\nObservable_1.Observable.if = if_1._if;\n\n\n/***/ }),\n/* 729 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IfObservable_1 = __webpack_require__(730);\nexports._if = IfObservable_1.IfObservable.create;\n\n\n/***/ }),\n/* 730 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar OuterSubscriber_1 = __webpack_require__(8);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IfObservable = (function (_super) {\n __extends(IfObservable, _super);\n function IfObservable(condition, thenSource, elseSource) {\n _super.call(this);\n this.condition = condition;\n this.thenSource = thenSource;\n this.elseSource = elseSource;\n }\n IfObservable.create = function (condition, thenSource, elseSource) {\n return new IfObservable(condition, thenSource, elseSource);\n };\n /** @deprecated internal use only */ IfObservable.prototype._subscribe = function (subscriber) {\n var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n return new IfSubscriber(subscriber, condition, thenSource, elseSource);\n };\n return IfObservable;\n}(Observable_1.Observable));\nexports.IfObservable = IfObservable;\nvar IfSubscriber = (function (_super) {\n __extends(IfSubscriber, _super);\n function IfSubscriber(destination, condition, thenSource, elseSource) {\n _super.call(this, destination);\n this.condition = condition;\n this.thenSource = thenSource;\n this.elseSource = elseSource;\n this.tryIf();\n }\n IfSubscriber.prototype.tryIf = function () {\n var _a = this, condition = _a.condition, thenSource = _a.thenSource, elseSource = _a.elseSource;\n var result;\n try {\n result = condition();\n var source = result ? thenSource : elseSource;\n if (source) {\n this.add(subscribeToResult_1.subscribeToResult(this, source));\n }\n else {\n this._complete();\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n return IfSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 731 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar interval_1 = __webpack_require__(732);\nObservable_1.Observable.interval = interval_1.interval;\n\n\n/***/ }),\n/* 732 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IntervalObservable_1 = __webpack_require__(733);\nexports.interval = IntervalObservable_1.IntervalObservable.create;\n\n\n/***/ }),\n/* 733 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isNumeric_1 = __webpack_require__(106);\nvar Observable_1 = __webpack_require__(0);\nvar async_1 = __webpack_require__(17);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IntervalObservable = (function (_super) {\n __extends(IntervalObservable, _super);\n function IntervalObservable(period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n _super.call(this);\n this.period = period;\n this.scheduler = scheduler;\n if (!isNumeric_1.isNumeric(period) || period < 0) {\n this.period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = async_1.async;\n }\n }\n /**\n * Creates an Observable that emits sequential numbers every specified\n * interval of time, on a specified IScheduler.\n *\n * Emits incremental numbers periodically in time.\n * \n *\n * \n *\n * `interval` returns an Observable that emits an infinite sequence of\n * ascending integers, with a constant interval of time of your choosing\n * between those emissions. The first emission is not sent immediately, but\n * only after the first period has passed. By default, this operator uses the\n * `async` IScheduler to provide a notion of time, but you may pass any\n * IScheduler to it.\n *\n * @example Emits ascending numbers, one every second (1000ms)\n * var numbers = Rx.Observable.interval(1000);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link timer}\n * @see {@link delay}\n *\n * @param {number} [period=0] The interval size in milliseconds (by default)\n * or the time unit determined by the scheduler's clock.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling\n * the emission of values, and providing a notion of \"time\".\n * @return {Observable} An Observable that emits a sequential number each time\n * interval.\n * @static true\n * @name interval\n * @owner Observable\n */\n IntervalObservable.create = function (period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n return new IntervalObservable(period, scheduler);\n };\n IntervalObservable.dispatch = function (state) {\n var index = state.index, subscriber = state.subscriber, period = state.period;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n state.index += 1;\n this.schedule(state, period);\n };\n /** @deprecated internal use only */ IntervalObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var period = this.period;\n var scheduler = this.scheduler;\n subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\n index: index, subscriber: subscriber, period: period\n }));\n };\n return IntervalObservable;\n}(Observable_1.Observable));\nexports.IntervalObservable = IntervalObservable;\n\n\n/***/ }),\n/* 734 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar merge_1 = __webpack_require__(38);\nObservable_1.Observable.merge = merge_1.merge;\n\n\n/***/ }),\n/* 735 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar race_1 = __webpack_require__(229);\nObservable_1.Observable.race = race_1.race;\n\n\n/***/ }),\n/* 736 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar never_1 = __webpack_require__(737);\nObservable_1.Observable.never = never_1.never;\n\n\n/***/ }),\n/* 737 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar NeverObservable_1 = __webpack_require__(738);\nexports.never = NeverObservable_1.NeverObservable.create;\n\n\n/***/ }),\n/* 738 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar noop_1 = __webpack_require__(193);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar NeverObservable = (function (_super) {\n __extends(NeverObservable, _super);\n function NeverObservable() {\n _super.call(this);\n }\n /**\n * Creates an Observable that emits no items to the Observer.\n *\n * An Observable that never emits anything.\n *\n * \n *\n * This static operator is useful for creating a simple Observable that emits\n * neither values nor errors nor the completion notification. It can be used\n * for testing purposes or for composing with other Observables. Please note\n * that by never emitting a complete notification, this Observable keeps the\n * subscription from being disposed automatically. Subscriptions need to be\n * manually disposed.\n *\n * @example Emit the number 7, then never emit anything else (not even complete).\n * function info() {\n * console.log('Will not be called');\n * }\n * var result = Rx.Observable.never().startWith(7);\n * result.subscribe(x => console.log(x), info, info);\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link of}\n * @see {@link throw}\n *\n * @return {Observable} A \"never\" Observable: never emits anything.\n * @static true\n * @name never\n * @owner Observable\n */\n NeverObservable.create = function () {\n return new NeverObservable();\n };\n /** @deprecated internal use only */ NeverObservable.prototype._subscribe = function (subscriber) {\n noop_1.noop();\n };\n return NeverObservable;\n}(Observable_1.Observable));\nexports.NeverObservable = NeverObservable;\n\n\n/***/ }),\n/* 739 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar onErrorResumeNext_1 = __webpack_require__(740);\nObservable_1.Observable.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\n\n\n/***/ }),\n/* 740 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar onErrorResumeNext_1 = __webpack_require__(230);\nexports.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNextStatic;\n\n\n/***/ }),\n/* 741 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar pairs_1 = __webpack_require__(742);\nObservable_1.Observable.pairs = pairs_1.pairs;\n\n\n/***/ }),\n/* 742 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar PairsObservable_1 = __webpack_require__(743);\nexports.pairs = PairsObservable_1.PairsObservable.create;\n\n\n/***/ }),\n/* 743 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nfunction dispatch(state) {\n var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;\n if (index === length) {\n subscriber.complete();\n return;\n }\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n state.index = index + 1;\n this.schedule(state);\n}\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PairsObservable = (function (_super) {\n __extends(PairsObservable, _super);\n function PairsObservable(obj, scheduler) {\n _super.call(this);\n this.obj = obj;\n this.scheduler = scheduler;\n this.keys = Object.keys(obj);\n }\n /**\n * Convert an object into an observable sequence of [key, value] pairs\n * using an optional IScheduler to enumerate the object.\n *\n * @example Converts a javascript object to an Observable\n * var obj = {\n * foo: 42,\n * bar: 56,\n * baz: 78\n * };\n *\n * var source = Rx.Observable.pairs(obj);\n *\n * var subscription = source.subscribe(\n * function (x) {\n * console.log('Next: %s', x);\n * },\n * function (err) {\n * console.log('Error: %s', err);\n * },\n * function () {\n * console.log('Completed');\n * });\n *\n * @param {Object} obj The object to inspect and turn into an\n * Observable sequence.\n * @param {Scheduler} [scheduler] An optional IScheduler to run the\n * enumeration of the input sequence on.\n * @returns {(Observable>)} An observable sequence of\n * [key, value] pairs from the object.\n */\n PairsObservable.create = function (obj, scheduler) {\n return new PairsObservable(obj, scheduler);\n };\n /** @deprecated internal use only */ PairsObservable.prototype._subscribe = function (subscriber) {\n var _a = this, keys = _a.keys, scheduler = _a.scheduler;\n var length = keys.length;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber\n });\n }\n else {\n for (var idx = 0; idx < length; idx++) {\n var key = keys[idx];\n subscriber.next([key, this.obj[key]]);\n }\n subscriber.complete();\n }\n };\n return PairsObservable;\n}(Observable_1.Observable));\nexports.PairsObservable = PairsObservable;\n\n\n/***/ }),\n/* 744 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar range_1 = __webpack_require__(745);\nObservable_1.Observable.range = range_1.range;\n\n\n/***/ }),\n/* 745 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar RangeObservable_1 = __webpack_require__(746);\nexports.range = RangeObservable_1.RangeObservable.create;\n\n\n/***/ }),\n/* 746 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar RangeObservable = (function (_super) {\n __extends(RangeObservable, _super);\n function RangeObservable(start, count, scheduler) {\n _super.call(this);\n this.start = start;\n this._count = count;\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable that emits a sequence of numbers within a specified\n * range.\n *\n * Emits a sequence of numbers in a range.\n *\n * \n *\n * `range` operator emits a range of sequential integers, in order, where you\n * select the `start` of the range and its `length`. By default, uses no\n * IScheduler and just delivers the notifications synchronously, but may use\n * an optional IScheduler to regulate those deliveries.\n *\n * @example Emits the numbers 1 to 10\n * var numbers = Rx.Observable.range(1, 10);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link timer}\n * @see {@link interval}\n *\n * @param {number} [start=0] The value of the first integer in the sequence.\n * @param {number} [count=0] The number of sequential integers to generate.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emissions of the notifications.\n * @return {Observable} An Observable of numbers that emits a finite range of\n * sequential integers.\n * @static true\n * @name range\n * @owner Observable\n */\n RangeObservable.create = function (start, count, scheduler) {\n if (start === void 0) { start = 0; }\n if (count === void 0) { count = 0; }\n return new RangeObservable(start, count, scheduler);\n };\n RangeObservable.dispatch = function (state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n };\n /** @deprecated internal use only */ RangeObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var start = this.start;\n var count = this._count;\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(RangeObservable.dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(start++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n };\n return RangeObservable;\n}(Observable_1.Observable));\nexports.RangeObservable = RangeObservable;\n\n\n/***/ }),\n/* 747 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar using_1 = __webpack_require__(748);\nObservable_1.Observable.using = using_1.using;\n\n\n/***/ }),\n/* 748 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar UsingObservable_1 = __webpack_require__(749);\nexports.using = UsingObservable_1.UsingObservable.create;\n\n\n/***/ }),\n/* 749 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar subscribeToResult_1 = __webpack_require__(7);\nvar OuterSubscriber_1 = __webpack_require__(8);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar UsingObservable = (function (_super) {\n __extends(UsingObservable, _super);\n function UsingObservable(resourceFactory, observableFactory) {\n _super.call(this);\n this.resourceFactory = resourceFactory;\n this.observableFactory = observableFactory;\n }\n UsingObservable.create = function (resourceFactory, observableFactory) {\n return new UsingObservable(resourceFactory, observableFactory);\n };\n /** @deprecated internal use only */ UsingObservable.prototype._subscribe = function (subscriber) {\n var _a = this, resourceFactory = _a.resourceFactory, observableFactory = _a.observableFactory;\n var resource;\n try {\n resource = resourceFactory();\n return new UsingSubscriber(subscriber, resource, observableFactory);\n }\n catch (err) {\n subscriber.error(err);\n }\n };\n return UsingObservable;\n}(Observable_1.Observable));\nexports.UsingObservable = UsingObservable;\nvar UsingSubscriber = (function (_super) {\n __extends(UsingSubscriber, _super);\n function UsingSubscriber(destination, resource, observableFactory) {\n _super.call(this, destination);\n this.resource = resource;\n this.observableFactory = observableFactory;\n destination.add(resource);\n this.tryUse();\n }\n UsingSubscriber.prototype.tryUse = function () {\n try {\n var source = this.observableFactory.call(this, this.resource);\n if (source) {\n this.add(subscribeToResult_1.subscribeToResult(this, source));\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n return UsingSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n\n\n/***/ }),\n/* 750 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar timer_1 = __webpack_require__(288);\nObservable_1.Observable.timer = timer_1.timer;\n\n\n/***/ }),\n/* 751 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar zip_1 = __webpack_require__(752);\nObservable_1.Observable.zip = zip_1.zip;\n\n\n/***/ }),\n/* 752 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar zip_1 = __webpack_require__(150);\nexports.zip = zip_1.zipStatic;\n\n\n/***/ }),\n/* 753 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar ajax_1 = __webpack_require__(754);\nObservable_1.Observable.ajax = ajax_1.ajax;\n\n\n/***/ }),\n/* 754 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar AjaxObservable_1 = __webpack_require__(328);\nexports.ajax = AjaxObservable_1.AjaxObservable.create;\n\n\n/***/ }),\n/* 755 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar webSocket_1 = __webpack_require__(756);\nObservable_1.Observable.webSocket = webSocket_1.webSocket;\n\n\n/***/ }),\n/* 756 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar WebSocketSubject_1 = __webpack_require__(757);\nexports.webSocket = WebSocketSubject_1.WebSocketSubject.create;\n\n\n/***/ }),\n/* 757 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = __webpack_require__(6);\nvar Subscriber_1 = __webpack_require__(4);\nvar Observable_1 = __webpack_require__(0);\nvar Subscription_1 = __webpack_require__(15);\nvar root_1 = __webpack_require__(37);\nvar ReplaySubject_1 = __webpack_require__(151);\nvar tryCatch_1 = __webpack_require__(33);\nvar errorObject_1 = __webpack_require__(29);\nvar assign_1 = __webpack_require__(760);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar WebSocketSubject = (function (_super) {\n __extends(WebSocketSubject, _super);\n function WebSocketSubject(urlConfigOrSource, destination) {\n if (urlConfigOrSource instanceof Observable_1.Observable) {\n _super.call(this, destination, urlConfigOrSource);\n }\n else {\n _super.call(this);\n this.WebSocketCtor = root_1.root.WebSocket;\n this._output = new Subject_1.Subject();\n if (typeof urlConfigOrSource === 'string') {\n this.url = urlConfigOrSource;\n }\n else {\n // WARNING: config object could override important members here.\n assign_1.assign(this, urlConfigOrSource);\n }\n if (!this.WebSocketCtor) {\n throw new Error('no WebSocket constructor can be found');\n }\n this.destination = new ReplaySubject_1.ReplaySubject();\n }\n }\n WebSocketSubject.prototype.resultSelector = function (e) {\n return JSON.parse(e.data);\n };\n /**\n * Wrapper around the w3c-compatible WebSocket object provided by the browser.\n *\n * @example Wraps browser WebSocket\n *\n * let socket$ = Observable.webSocket('ws://localhost:8081');\n *\n * socket$.subscribe(\n * (msg) => console.log('message received: ' + msg),\n * (err) => console.log(err),\n * () => console.log('complete')\n * );\n *\n * socket$.next(JSON.stringify({ op: 'hello' }));\n *\n * @example Wraps WebSocket from nodejs-websocket (using node.js)\n *\n * import { w3cwebsocket } from 'websocket';\n *\n * let socket$ = Observable.webSocket({\n * url: 'ws://localhost:8081',\n * WebSocketCtor: w3cwebsocket\n * });\n *\n * socket$.subscribe(\n * (msg) => console.log('message received: ' + msg),\n * (err) => console.log(err),\n * () => console.log('complete')\n * );\n *\n * socket$.next(JSON.stringify({ op: 'hello' }));\n *\n * @param {string | WebSocketSubjectConfig} urlConfigOrSource the source of the websocket as an url or a structure defining the websocket object\n * @return {WebSocketSubject}\n * @static true\n * @name webSocket\n * @owner Observable\n */\n WebSocketSubject.create = function (urlConfigOrSource) {\n return new WebSocketSubject(urlConfigOrSource);\n };\n WebSocketSubject.prototype.lift = function (operator) {\n var sock = new WebSocketSubject(this, this.destination);\n sock.operator = operator;\n return sock;\n };\n WebSocketSubject.prototype._resetState = function () {\n this.socket = null;\n if (!this.source) {\n this.destination = new ReplaySubject_1.ReplaySubject();\n }\n this._output = new Subject_1.Subject();\n };\n // TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures\n WebSocketSubject.prototype.multiplex = function (subMsg, unsubMsg, messageFilter) {\n var self = this;\n return new Observable_1.Observable(function (observer) {\n var result = tryCatch_1.tryCatch(subMsg)();\n if (result === errorObject_1.errorObject) {\n observer.error(errorObject_1.errorObject.e);\n }\n else {\n self.next(result);\n }\n var subscription = self.subscribe(function (x) {\n var result = tryCatch_1.tryCatch(messageFilter)(x);\n if (result === errorObject_1.errorObject) {\n observer.error(errorObject_1.errorObject.e);\n }\n else if (result) {\n observer.next(x);\n }\n }, function (err) { return observer.error(err); }, function () { return observer.complete(); });\n return function () {\n var result = tryCatch_1.tryCatch(unsubMsg)();\n if (result === errorObject_1.errorObject) {\n observer.error(errorObject_1.errorObject.e);\n }\n else {\n self.next(result);\n }\n subscription.unsubscribe();\n };\n });\n };\n WebSocketSubject.prototype._connectSocket = function () {\n var _this = this;\n var WebSocketCtor = this.WebSocketCtor;\n var observer = this._output;\n var socket = null;\n try {\n socket = this.protocol ?\n new WebSocketCtor(this.url, this.protocol) :\n new WebSocketCtor(this.url);\n this.socket = socket;\n if (this.binaryType) {\n this.socket.binaryType = this.binaryType;\n }\n }\n catch (e) {\n observer.error(e);\n return;\n }\n var subscription = new Subscription_1.Subscription(function () {\n _this.socket = null;\n if (socket && socket.readyState === 1) {\n socket.close();\n }\n });\n socket.onopen = function (e) {\n var openObserver = _this.openObserver;\n if (openObserver) {\n openObserver.next(e);\n }\n var queue = _this.destination;\n _this.destination = Subscriber_1.Subscriber.create(function (x) { return socket.readyState === 1 && socket.send(x); }, function (e) {\n var closingObserver = _this.closingObserver;\n if (closingObserver) {\n closingObserver.next(undefined);\n }\n if (e && e.code) {\n socket.close(e.code, e.reason);\n }\n else {\n observer.error(new TypeError('WebSocketSubject.error must be called with an object with an error code, ' +\n 'and an optional reason: { code: number, reason: string }'));\n }\n _this._resetState();\n }, function () {\n var closingObserver = _this.closingObserver;\n if (closingObserver) {\n closingObserver.next(undefined);\n }\n socket.close();\n _this._resetState();\n });\n if (queue && queue instanceof ReplaySubject_1.ReplaySubject) {\n subscription.add(queue.subscribe(_this.destination));\n }\n };\n socket.onerror = function (e) {\n _this._resetState();\n observer.error(e);\n };\n socket.onclose = function (e) {\n _this._resetState();\n var closeObserver = _this.closeObserver;\n if (closeObserver) {\n closeObserver.next(e);\n }\n if (e.wasClean) {\n observer.complete();\n }\n else {\n observer.error(e);\n }\n };\n socket.onmessage = function (e) {\n var result = tryCatch_1.tryCatch(_this.resultSelector)(e);\n if (result === errorObject_1.errorObject) {\n observer.error(errorObject_1.errorObject.e);\n }\n else {\n observer.next(result);\n }\n };\n };\n /** @deprecated internal use only */ WebSocketSubject.prototype._subscribe = function (subscriber) {\n var _this = this;\n var source = this.source;\n if (source) {\n return source.subscribe(subscriber);\n }\n if (!this.socket) {\n this._connectSocket();\n }\n var subscription = new Subscription_1.Subscription();\n subscription.add(this._output.subscribe(subscriber));\n subscription.add(function () {\n var socket = _this.socket;\n if (_this._output.observers.length === 0) {\n if (socket && socket.readyState === 1) {\n socket.close();\n }\n _this._resetState();\n }\n });\n return subscription;\n };\n WebSocketSubject.prototype.unsubscribe = function () {\n var _a = this, source = _a.source, socket = _a.socket;\n if (socket && socket.readyState === 1) {\n socket.close();\n this._resetState();\n }\n _super.prototype.unsubscribe.call(this);\n if (!source) {\n this.destination = new ReplaySubject_1.ReplaySubject();\n }\n };\n return WebSocketSubject;\n}(Subject_1.AnonymousSubject));\nexports.WebSocketSubject = WebSocketSubject;\n\n\n/***/ }),\n/* 758 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncAction_1 = __webpack_require__(104);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar QueueAction = (function (_super) {\n __extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n // Otherwise flush the scheduler starting with this action.\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction_1.AsyncAction));\nexports.QueueAction = QueueAction;\n\n\n/***/ }),\n/* 759 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar AsyncScheduler_1 = __webpack_require__(105);\nvar QueueScheduler = (function (_super) {\n __extends(QueueScheduler, _super);\n function QueueScheduler() {\n _super.apply(this, arguments);\n }\n return QueueScheduler;\n}(AsyncScheduler_1.AsyncScheduler));\nexports.QueueScheduler = QueueScheduler;\n\n\n/***/ }),\n/* 760 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar root_1 = __webpack_require__(37);\nfunction assignImpl(target) {\n var sources = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n sources[_i - 1] = arguments[_i];\n }\n var len = sources.length;\n for (var i = 0; i < len; i++) {\n var source = sources[i];\n for (var k in source) {\n if (source.hasOwnProperty(k)) {\n target[k] = source[k];\n }\n }\n }\n return target;\n}\nexports.assignImpl = assignImpl;\n;\nfunction getAssign(root) {\n return root.Object.assign || assignImpl;\n}\nexports.getAssign = getAssign;\nexports.assign = getAssign(root_1.root);\n\n\n/***/ }),\n/* 761 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar buffer_1 = __webpack_require__(762);\nObservable_1.Observable.prototype.buffer = buffer_1.buffer;\n\n\n/***/ }),\n/* 762 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar buffer_1 = __webpack_require__(330);\n/**\n * Buffers the source Observable values until `closingNotifier` emits.\n *\n * Collects values from the past as an array, and emits\n * that array only when another Observable emits.\n *\n * \n *\n * Buffers the incoming Observable values until the given `closingNotifier`\n * Observable emits a value, at which point it emits the buffer on the output\n * Observable and starts a new buffer internally, awaiting the next time\n * `closingNotifier` emits.\n *\n * @example On every click, emit array of most recent interval events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var interval = Rx.Observable.interval(1000);\n * var buffered = interval.buffer(clicks);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link window}\n *\n * @param {Observable} closingNotifier An Observable that signals the\n * buffer to be emitted on the output Observable.\n * @return {Observable} An Observable of buffers, which are arrays of\n * values.\n * @method buffer\n * @owner Observable\n */\nfunction buffer(closingNotifier) {\n return buffer_1.buffer(closingNotifier)(this);\n}\nexports.buffer = buffer;\n\n\n/***/ }),\n/* 763 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bufferCount_1 = __webpack_require__(764);\nObservable_1.Observable.prototype.bufferCount = bufferCount_1.bufferCount;\n\n\n/***/ }),\n/* 764 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bufferCount_1 = __webpack_require__(331);\n/**\n * Buffers the source Observable values until the size hits the maximum\n * `bufferSize` given.\n *\n * Collects values from the past as an array, and emits\n * that array only when its size reaches `bufferSize`.\n *\n * \n *\n * Buffers a number of values from the source Observable by `bufferSize` then\n * emits the buffer and clears it, and starts a new buffer each\n * `startBufferEvery` values. If `startBufferEvery` is not provided or is\n * `null`, then new buffers are started immediately at the start of the source\n * and when each buffer closes and is emitted.\n *\n * @example Emit the last two click events as an array\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2);\n * buffered.subscribe(x => console.log(x));\n *\n * @example On every click, emit the last two click events as an array\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferCount(2, 1);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link pairwise}\n * @see {@link windowCount}\n *\n * @param {number} bufferSize The maximum size of the buffer emitted.\n * @param {number} [startBufferEvery] Interval at which to start a new buffer.\n * For example if `startBufferEvery` is `2`, then a new buffer will be started\n * on every other value from the source. A new buffer is started at the\n * beginning of the source by default.\n * @return {Observable} An Observable of arrays of buffered values.\n * @method bufferCount\n * @owner Observable\n */\nfunction bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) { startBufferEvery = null; }\n return bufferCount_1.bufferCount(bufferSize, startBufferEvery)(this);\n}\nexports.bufferCount = bufferCount;\n\n\n/***/ }),\n/* 765 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bufferTime_1 = __webpack_require__(766);\nObservable_1.Observable.prototype.bufferTime = bufferTime_1.bufferTime;\n\n\n/***/ }),\n/* 766 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar async_1 = __webpack_require__(17);\nvar isScheduler_1 = __webpack_require__(49);\nvar bufferTime_1 = __webpack_require__(332);\n/* tslint:enable:max-line-length */\n/**\n * Buffers the source Observable values for a specific time period.\n *\n * Collects values from the past as an array, and emits\n * those arrays periodically in time.\n *\n * \n *\n * Buffers values from the source for a specific time duration `bufferTimeSpan`.\n * Unless the optional argument `bufferCreationInterval` is given, it emits and\n * resets the buffer every `bufferTimeSpan` milliseconds. If\n * `bufferCreationInterval` is given, this operator opens the buffer every\n * `bufferCreationInterval` milliseconds and closes (emits and resets) the\n * buffer every `bufferTimeSpan` milliseconds. When the optional argument\n * `maxBufferSize` is specified, the buffer will be closed either after\n * `bufferTimeSpan` milliseconds or when it contains `maxBufferSize` elements.\n *\n * @example Every second, emit an array of the recent click events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(1000);\n * buffered.subscribe(x => console.log(x));\n *\n * @example Every 5 seconds, emit the click events from the next 2 seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferTime(2000, 5000);\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferToggle}\n * @see {@link bufferWhen}\n * @see {@link windowTime}\n *\n * @param {number} bufferTimeSpan The amount of time to fill each buffer array.\n * @param {number} [bufferCreationInterval] The interval at which to start new\n * buffers.\n * @param {number} [maxBufferSize] The maximum buffer size.\n * @param {Scheduler} [scheduler=async] The scheduler on which to schedule the\n * intervals that determine buffer boundaries.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferTime\n * @owner Observable\n */\nfunction bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = async_1.async;\n if (isScheduler_1.isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return bufferTime_1.bufferTime(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler)(this);\n}\nexports.bufferTime = bufferTime;\n\n\n/***/ }),\n/* 767 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bufferToggle_1 = __webpack_require__(768);\nObservable_1.Observable.prototype.bufferToggle = bufferToggle_1.bufferToggle;\n\n\n/***/ }),\n/* 768 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bufferToggle_1 = __webpack_require__(333);\n/**\n * Buffers the source Observable values starting from an emission from\n * `openings` and ending when the output of `closingSelector` emits.\n *\n * Collects values from the past as an array. Starts\n * collecting only when `opening` emits, and calls the `closingSelector`\n * function to get an Observable that tells when to close the buffer.\n *\n * \n *\n * Buffers values from the source by opening the buffer via signals from an\n * Observable provided to `openings`, and closing and sending the buffers when\n * a Subscribable or Promise returned by the `closingSelector` function emits.\n *\n * @example Every other second, emit the click events from the next 500ms\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var openings = Rx.Observable.interval(1000);\n * var buffered = clicks.bufferToggle(openings, i =>\n * i % 2 ? Rx.Observable.interval(500) : Rx.Observable.empty()\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferWhen}\n * @see {@link windowToggle}\n *\n * @param {SubscribableOrPromise} openings A Subscribable or Promise of notifications to start new\n * buffers.\n * @param {function(value: O): SubscribableOrPromise} closingSelector A function that takes\n * the value emitted by the `openings` observable and returns a Subscribable or Promise,\n * which, when it emits, signals that the associated buffer should be emitted\n * and cleared.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferToggle\n * @owner Observable\n */\nfunction bufferToggle(openings, closingSelector) {\n return bufferToggle_1.bufferToggle(openings, closingSelector)(this);\n}\nexports.bufferToggle = bufferToggle;\n\n\n/***/ }),\n/* 769 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar bufferWhen_1 = __webpack_require__(770);\nObservable_1.Observable.prototype.bufferWhen = bufferWhen_1.bufferWhen;\n\n\n/***/ }),\n/* 770 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bufferWhen_1 = __webpack_require__(334);\n/**\n * Buffers the source Observable values, using a factory function of closing\n * Observables to determine when to close, emit, and reset the buffer.\n *\n * Collects values from the past as an array. When it\n * starts collecting values, it calls a function that returns an Observable that\n * tells when to close the buffer and restart collecting.\n *\n * \n *\n * Opens a buffer immediately, then closes the buffer when the observable\n * returned by calling `closingSelector` function emits a value. When it closes\n * the buffer, it immediately opens a new buffer and repeats the process.\n *\n * @example Emit an array of the last clicks every [1-5] random seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var buffered = clicks.bufferWhen(() =>\n * Rx.Observable.interval(1000 + Math.random() * 4000)\n * );\n * buffered.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n * @see {@link bufferTime}\n * @see {@link bufferToggle}\n * @see {@link windowWhen}\n *\n * @param {function(): Observable} closingSelector A function that takes no\n * arguments and returns an Observable that signals buffer closure.\n * @return {Observable} An observable of arrays of buffered values.\n * @method bufferWhen\n * @owner Observable\n */\nfunction bufferWhen(closingSelector) {\n return bufferWhen_1.bufferWhen(closingSelector)(this);\n}\nexports.bufferWhen = bufferWhen;\n\n\n/***/ }),\n/* 771 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar combineAll_1 = __webpack_require__(772);\nObservable_1.Observable.prototype.combineAll = combineAll_1.combineAll;\n\n\n/***/ }),\n/* 772 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar combineAll_1 = __webpack_require__(335);\n/**\n * Converts a higher-order Observable into a first-order Observable by waiting\n * for the outer Observable to complete, then applying {@link combineLatest}.\n *\n * Flattens an Observable-of-Observables by applying\n * {@link combineLatest} when the Observable-of-Observables completes.\n *\n * \n *\n * Takes an Observable of Observables, and collects all Observables from it.\n * Once the outer Observable completes, it subscribes to all collected\n * Observables and combines their values using the {@link combineLatest}\n * strategy, such that:\n * - Every time an inner Observable emits, the output Observable emits.\n * - When the returned observable emits, it emits all of the latest values by:\n * - If a `project` function is provided, it is called with each recent value\n * from each inner Observable in whatever order they arrived, and the result\n * of the `project` function is what is emitted by the output Observable.\n * - If there is no `project` function, an array of all of the most recent\n * values is emitted by the output Observable.\n *\n * @example Map two click events to a finite interval Observable, then apply combineAll\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev =>\n * Rx.Observable.interval(Math.random()*2000).take(3)\n * ).take(2);\n * var result = higherOrder.combineAll();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineLatest}\n * @see {@link mergeAll}\n *\n * @param {function} [project] An optional function to map the most recent\n * values from each inner Observable into a new result. Takes each of the most\n * recent values from each collected inner Observable as arguments, in order.\n * @return {Observable} An Observable of projected results or arrays of recent\n * values.\n * @method combineAll\n * @owner Observable\n */\nfunction combineAll(project) {\n return combineAll_1.combineAll(project)(this);\n}\nexports.combineAll = combineAll;\n\n\n/***/ }),\n/* 773 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar combineLatest_1 = __webpack_require__(774);\nObservable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;\n\n\n/***/ }),\n/* 774 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar combineLatest_1 = __webpack_require__(149);\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return combineLatest_1.combineLatest.apply(void 0, observables)(this);\n}\nexports.combineLatest = combineLatest;\n\n\n/***/ }),\n/* 775 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar concat_1 = __webpack_require__(776);\nObservable_1.Observable.prototype.concat = concat_1.concat;\n\n\n/***/ }),\n/* 776 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concat_1 = __webpack_require__(336);\nvar concat_2 = __webpack_require__(102);\nexports.concatStatic = concat_2.concat;\n/* tslint:enable:max-line-length */\n/**\n * Creates an output Observable which sequentially emits all values from every\n * given input Observable after the current Observable.\n *\n * Concatenates multiple Observables together by\n * sequentially emitting their values, one Observable after the other.\n *\n * \n *\n * Joins this Observable with multiple other Observables by subscribing to them\n * one at a time, starting with the source, and merging their results into the\n * output Observable. Will wait for each Observable to complete before moving\n * on to the next.\n *\n * @example Concatenate a timer counting from 0 to 3 with a synchronous sequence from 1 to 10\n * var timer = Rx.Observable.interval(1000).take(4);\n * var sequence = Rx.Observable.range(1, 10);\n * var result = timer.concat(sequence);\n * result.subscribe(x => console.log(x));\n *\n * // results in:\n * // 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3 -immediate-> 1 ... 10\n *\n * @example Concatenate 3 Observables\n * var timer1 = Rx.Observable.interval(1000).take(10);\n * var timer2 = Rx.Observable.interval(2000).take(6);\n * var timer3 = Rx.Observable.interval(500).take(10);\n * var result = timer1.concat(timer2, timer3);\n * result.subscribe(x => console.log(x));\n *\n * // results in the following:\n * // (Prints to console sequentially)\n * // -1000ms-> 0 -1000ms-> 1 -1000ms-> ... 9\n * // -2000ms-> 0 -2000ms-> 1 -2000ms-> ... 5\n * // -500ms-> 0 -500ms-> 1 -500ms-> ... 9\n *\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n *\n * @param {ObservableInput} other An input Observable to concatenate after the source\n * Observable. More than one input Observables may be given as argument.\n * @param {Scheduler} [scheduler=null] An optional IScheduler to schedule each\n * Observable subscription on.\n * @return {Observable} All values of each passed Observable merged into a\n * single Observable, in order, in serial fashion.\n * @method concat\n * @owner Observable\n */\nfunction concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return concat_1.concat.apply(void 0, observables)(this);\n}\nexports.concat = concat;\n\n\n/***/ }),\n/* 777 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar concatAll_1 = __webpack_require__(778);\nObservable_1.Observable.prototype.concatAll = concatAll_1.concatAll;\n\n\n/***/ }),\n/* 778 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concatAll_1 = __webpack_require__(202);\n/* tslint:enable:max-line-length */\n/**\n * Converts a higher-order Observable into a first-order Observable by\n * concatenating the inner Observables in order.\n *\n * Flattens an Observable-of-Observables by putting one\n * inner Observable after the other.\n *\n * \n *\n * Joins every Observable emitted by the source (a higher-order Observable), in\n * a serial fashion. It subscribes to each inner Observable only after the\n * previous inner Observable has completed, and merges all of their values into\n * the returned observable.\n *\n * __Warning:__ If the source Observable emits Observables quickly and\n * endlessly, and the inner Observables it emits generally complete slower than\n * the source emits, you can run into memory issues as the incoming Observables\n * collect in an unbounded buffer.\n *\n * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));\n * var firstOrder = higherOrder.concatAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link combineAll}\n * @see {@link concat}\n * @see {@link concatMap}\n * @see {@link concatMapTo}\n * @see {@link exhaust}\n * @see {@link mergeAll}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable emitting values from all the inner\n * Observables concatenated.\n * @method concatAll\n * @owner Observable\n */\nfunction concatAll() {\n return concatAll_1.concatAll()(this);\n}\nexports.concatAll = concatAll;\n\n\n/***/ }),\n/* 779 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar concatMap_1 = __webpack_require__(780);\nObservable_1.Observable.prototype.concatMap = concatMap_1.concatMap;\n\n\n/***/ }),\n/* 780 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concatMap_1 = __webpack_require__(231);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, in a serialized fashion waiting for each one to complete before\n * merging the next.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link concatAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each new inner Observable is\n * concatenated with the previous inner Observable.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMapTo}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking values from each projected inner\n * Observable sequentially.\n * @method concatMap\n * @owner Observable\n */\nfunction concatMap(project, resultSelector) {\n return concatMap_1.concatMap(project, resultSelector)(this);\n}\nexports.concatMap = concatMap;\n\n\n/***/ }),\n/* 781 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar concatMapTo_1 = __webpack_require__(782);\nObservable_1.Observable.prototype.concatMapTo = concatMapTo_1.concatMapTo;\n\n\n/***/ }),\n/* 782 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar concatMapTo_1 = __webpack_require__(337);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in a serialized fashion on the output Observable.\n *\n * It's like {@link concatMap}, but maps each value\n * always to the same inner Observable.\n *\n * \n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then flattens those resulting Observables into one\n * single Observable, which is the output Observable. Each new `innerObservable`\n * instance emitted on the output Observable is concatenated with the previous\n * `innerObservable` instance.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMapTo` is equivalent to `mergeMapTo` with concurrency parameter\n * set to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMapTo(Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMap}\n * @see {@link mergeMapTo}\n * @see {@link switchMapTo}\n *\n * @param {ObservableInput} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An observable of values merged together by joining the\n * passed observable with itself, one after the other, for each value emitted\n * from the source.\n * @method concatMapTo\n * @owner Observable\n */\nfunction concatMapTo(innerObservable, resultSelector) {\n return concatMapTo_1.concatMapTo(innerObservable, resultSelector)(this);\n}\nexports.concatMapTo = concatMapTo;\n\n\n/***/ }),\n/* 783 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar count_1 = __webpack_require__(784);\nObservable_1.Observable.prototype.count = count_1.count;\n\n\n/***/ }),\n/* 784 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar count_1 = __webpack_require__(338);\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return count_1.count(predicate)(this);\n}\nexports.count = count;\n\n\n/***/ }),\n/* 785 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar dematerialize_1 = __webpack_require__(786);\nObservable_1.Observable.prototype.dematerialize = dematerialize_1.dematerialize;\n\n\n/***/ }),\n/* 786 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dematerialize_1 = __webpack_require__(339);\n/**\n * Converts an Observable of {@link Notification} objects into the emissions\n * that they represent.\n *\n * Unwraps {@link Notification} objects as actual `next`,\n * `error` and `complete` emissions. The opposite of {@link materialize}.\n *\n * \n *\n * `dematerialize` is assumed to operate an Observable that only emits\n * {@link Notification} objects as `next` emissions, and does not emit any\n * `error`. Such Observable is the output of a `materialize` operation. Those\n * notifications are then unwrapped using the metadata they contain, and emitted\n * as `next`, `error`, and `complete` on the output Observable.\n *\n * Use this operator in conjunction with {@link materialize}.\n *\n * @example Convert an Observable of Notifications to an actual Observable\n * var notifA = new Rx.Notification('N', 'A');\n * var notifB = new Rx.Notification('N', 'B');\n * var notifE = new Rx.Notification('E', void 0,\n * new TypeError('x.toUpperCase is not a function')\n * );\n * var materialized = Rx.Observable.of(notifA, notifB, notifE);\n * var upperCase = materialized.dematerialize();\n * upperCase.subscribe(x => console.log(x), e => console.error(e));\n *\n * // Results in:\n * // A\n * // B\n * // TypeError: x.toUpperCase is not a function\n *\n * @see {@link Notification}\n * @see {@link materialize}\n *\n * @return {Observable} An Observable that emits items and notifications\n * embedded in Notification objects emitted by the source Observable.\n * @method dematerialize\n * @owner Observable\n */\nfunction dematerialize() {\n return dematerialize_1.dematerialize()(this);\n}\nexports.dematerialize = dematerialize;\n\n\n/***/ }),\n/* 787 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar debounce_1 = __webpack_require__(788);\nObservable_1.Observable.prototype.debounce = debounce_1.debounce;\n\n\n/***/ }),\n/* 788 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar debounce_1 = __webpack_require__(340);\n/**\n * Emits a value from the source Observable only after a particular time span\n * determined by another Observable has passed without another source emission.\n *\n * It's like {@link debounceTime}, but the time span of\n * emission silence is determined by a second Observable.\n *\n * \n *\n * `debounce` delays values emitted by the source Observable, but drops previous\n * pending delayed emissions if a new value arrives on the source Observable.\n * This operator keeps track of the most recent value from the source\n * Observable, and spawns a duration Observable by calling the\n * `durationSelector` function. The value is emitted only when the duration\n * Observable emits a value or completes, and if no other value was emitted on\n * the source Observable since the duration Observable was spawned. If a new\n * value appears before the duration Observable emits, the previous value will\n * be dropped and will not be emitted on the output Observable.\n *\n * Like {@link debounceTime}, this is a rate-limiting operator, and also a\n * delay-like operator since output emissions do not necessarily occur at the\n * same time as they did on the source Observable.\n *\n * @example Emit the most recent click after a burst of clicks\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.debounce(() => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n * @see {@link throttle}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the timeout\n * duration for each source value, returned as an Observable or a Promise.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified duration Observable returned by\n * `durationSelector`, and may drop some values if they occur too frequently.\n * @method debounce\n * @owner Observable\n */\nfunction debounce(durationSelector) {\n return debounce_1.debounce(durationSelector)(this);\n}\nexports.debounce = debounce;\n\n\n/***/ }),\n/* 789 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar defaultIfEmpty_1 = __webpack_require__(790);\nObservable_1.Observable.prototype.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;\n\n\n/***/ }),\n/* 790 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar defaultIfEmpty_1 = __webpack_require__(216);\n/* tslint:enable:max-line-length */\n/**\n * Emits a given value if the source Observable completes without emitting any\n * `next` value, otherwise mirrors the source Observable.\n *\n * If the source Observable turns out to be empty, then\n * this operator will emit a default value.\n *\n * \n *\n * `defaultIfEmpty` emits the values emitted by the source Observable or a\n * specified default value if the source Observable is empty (completes without\n * having emitted any `next` value).\n *\n * @example If no clicks happen in 5 seconds, then emit \"no clicks\"\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksBeforeFive = clicks.takeUntil(Rx.Observable.interval(5000));\n * var result = clicksBeforeFive.defaultIfEmpty('no clicks');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link empty}\n * @see {@link last}\n *\n * @param {any} [defaultValue=null] The default value used if the source\n * Observable is empty.\n * @return {Observable} An Observable that emits either the specified\n * `defaultValue` if the source Observable emits no items, or the values emitted\n * by the source Observable.\n * @method defaultIfEmpty\n * @owner Observable\n */\nfunction defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) { defaultValue = null; }\n return defaultIfEmpty_1.defaultIfEmpty(defaultValue)(this);\n}\nexports.defaultIfEmpty = defaultIfEmpty;\n\n\n/***/ }),\n/* 791 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar delay_1 = __webpack_require__(290);\nObservable_1.Observable.prototype.delay = delay_1.delay;\n\n\n/***/ }),\n/* 792 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar delayWhen_1 = __webpack_require__(793);\nObservable_1.Observable.prototype.delayWhen = delayWhen_1.delayWhen;\n\n\n/***/ }),\n/* 793 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar delayWhen_1 = __webpack_require__(341);\n/**\n * Delays the emission of items from the source Observable by a given time span\n * determined by the emissions of another Observable.\n *\n * It's like {@link delay}, but the time span of the\n * delay duration is determined by a second Observable.\n *\n * \n *\n * `delayWhen` time shifts each emitted value from the source Observable by a\n * time span determined by another Observable. When the source emits a value,\n * the `delayDurationSelector` function is called with the source value as\n * argument, and should return an Observable, called the \"duration\" Observable.\n * The source value is emitted on the output Observable only when the duration\n * Observable emits a value or completes.\n *\n * Optionally, `delayWhen` takes a second argument, `subscriptionDelay`, which\n * is an Observable. When `subscriptionDelay` emits its first value or\n * completes, the source Observable is subscribed to and starts behaving like\n * described in the previous paragraph. If `subscriptionDelay` is not provided,\n * `delayWhen` will subscribe to the source Observable as soon as the output\n * Observable is subscribed.\n *\n * @example Delay each click by a random amount of time, between 0 and 5 seconds\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delayWhen(event =>\n * Rx.Observable.interval(Math.random() * 5000)\n * );\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounce}\n * @see {@link delay}\n *\n * @param {function(value: T): Observable} delayDurationSelector A function that\n * returns an Observable for each value emitted by the source Observable, which\n * is then used to delay the emission of that item on the output Observable\n * until the Observable returned from this function emits a value.\n * @param {Observable} subscriptionDelay An Observable that triggers the\n * subscription to the source Observable once it emits any value.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by an amount of time specified by the Observable returned by\n * `delayDurationSelector`.\n * @method delayWhen\n * @owner Observable\n */\nfunction delayWhen(delayDurationSelector, subscriptionDelay) {\n return delayWhen_1.delayWhen(delayDurationSelector, subscriptionDelay)(this);\n}\nexports.delayWhen = delayWhen;\n\n\n/***/ }),\n/* 794 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar distinct_1 = __webpack_require__(795);\nObservable_1.Observable.prototype.distinct = distinct_1.distinct;\n\n\n/***/ }),\n/* 795 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar distinct_1 = __webpack_require__(342);\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.\n *\n * If a keySelector function is provided, then it will project each value from the source observable into a new value that it will\n * check for equality with previously projected values. If a keySelector function is not provided, it will use each value from the\n * source observable directly with an equality check against previous values.\n *\n * In JavaScript runtimes that support `Set`, this operator will use a `Set` to improve performance of the distinct value checking.\n *\n * In other runtimes, this operator will use a minimal implementation of `Set` that relies on an `Array` and `indexOf` under the\n * hood, so performance will degrade as more values are checked for distinction. Even in newer browsers, a long-running `distinct`\n * use might result in memory leaks. To help alleviate this in some scenarios, an optional `flushes` parameter is also provided so\n * that the internal `Set` can be \"flushed\", basically clearing it of values.\n *\n * @example A simple example with numbers\n * Observable.of(1, 1, 2, 2, 2, 1, 2, 3, 4, 3, 2, 1)\n * .distinct()\n * .subscribe(x => console.log(x)); // 1, 2, 3, 4\n *\n * @example An example using a keySelector function\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * .distinct((p: Person) => p.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n *\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [keySelector] Optional function to select which value you want to check as distinct.\n * @param {Observable} [flushes] Optional Observable for flushing the internal HashSet of the operator.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinct\n * @owner Observable\n */\nfunction distinct(keySelector, flushes) {\n return distinct_1.distinct(keySelector, flushes)(this);\n}\nexports.distinct = distinct;\n\n\n/***/ }),\n/* 796 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar root_1 = __webpack_require__(37);\nfunction minimalSetImpl() {\n // THIS IS NOT a full impl of Set, this is just the minimum\n // bits of functionality we need for this library.\n return (function () {\n function MinimalSet() {\n this._values = [];\n }\n MinimalSet.prototype.add = function (value) {\n if (!this.has(value)) {\n this._values.push(value);\n }\n };\n MinimalSet.prototype.has = function (value) {\n return this._values.indexOf(value) !== -1;\n };\n Object.defineProperty(MinimalSet.prototype, \"size\", {\n get: function () {\n return this._values.length;\n },\n enumerable: true,\n configurable: true\n });\n MinimalSet.prototype.clear = function () {\n this._values.length = 0;\n };\n return MinimalSet;\n }());\n}\nexports.minimalSetImpl = minimalSetImpl;\nexports.Set = root_1.root.Set || minimalSetImpl();\n\n\n/***/ }),\n/* 797 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar distinctUntilChanged_1 = __webpack_require__(798);\nObservable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;\n\n\n/***/ }),\n/* 798 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar distinctUntilChanged_1 = __webpack_require__(232);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example A simple example with numbers\n * Observable.of(1, 1, 2, 2, 2, 1, 1, 2, 3, 3, 4)\n * .distinctUntilChanged()\n * .subscribe(x => console.log(x)); // 1, 2, 1, 2, 3, 4\n *\n * @example An example using a compare function\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'})\n * { age: 6, name: 'Foo'})\n * .distinctUntilChanged((p: Person, q: Person) => p.name === q.name)\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilKeyChanged}\n *\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values.\n * @method distinctUntilChanged\n * @owner Observable\n */\nfunction distinctUntilChanged(compare, keySelector) {\n return distinctUntilChanged_1.distinctUntilChanged(compare, keySelector)(this);\n}\nexports.distinctUntilChanged = distinctUntilChanged;\n\n\n/***/ }),\n/* 799 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar distinctUntilKeyChanged_1 = __webpack_require__(800);\nObservable_1.Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;\n\n\n/***/ }),\n/* 800 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar distinctUntilKeyChanged_1 = __webpack_require__(343);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,\n * using a property accessed by using the key provided to check if the two items are distinct.\n *\n * If a comparator function is provided, then it will be called for each item to test for whether or not that value should be emitted.\n *\n * If a comparator function is not provided, an equality check is used by default.\n *\n * @example An example comparing the name of persons\n *\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo'},\n * { age: 6, name: 'Foo'})\n * .distinctUntilKeyChanged('name')\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo' }\n *\n * @example An example comparing the first letters of the name\n *\n * interface Person {\n * age: number,\n * name: string\n * }\n *\n * Observable.of(\n * { age: 4, name: 'Foo1'},\n * { age: 7, name: 'Bar'},\n * { age: 5, name: 'Foo2'},\n * { age: 6, name: 'Foo3'})\n * .distinctUntilKeyChanged('name', (x: string, y: string) => x.substring(0, 3) === y.substring(0, 3))\n * .subscribe(x => console.log(x));\n *\n * // displays:\n * // { age: 4, name: 'Foo1' }\n * // { age: 7, name: 'Bar' }\n * // { age: 5, name: 'Foo2' }\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n *\n * @param {string} key String key for object property lookup on each item.\n * @param {function} [compare] Optional comparison function called to test if an item is distinct from the previous item in the source.\n * @return {Observable} An Observable that emits items from the source Observable with distinct values based on the key specified.\n * @method distinctUntilKeyChanged\n * @owner Observable\n */\nfunction distinctUntilKeyChanged(key, compare) {\n return distinctUntilKeyChanged_1.distinctUntilKeyChanged(key, compare)(this);\n}\nexports.distinctUntilKeyChanged = distinctUntilKeyChanged;\n\n\n/***/ }),\n/* 801 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar do_1 = __webpack_require__(275);\nObservable_1.Observable.prototype.do = do_1._do;\nObservable_1.Observable.prototype._do = do_1._do;\n\n\n/***/ }),\n/* 802 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar exhaust_1 = __webpack_require__(803);\nObservable_1.Observable.prototype.exhaust = exhaust_1.exhaust;\n\n\n/***/ }),\n/* 803 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar exhaust_1 = __webpack_require__(344);\n/**\n * Converts a higher-order Observable into a first-order Observable by dropping\n * inner Observables while the previous inner Observable has not yet completed.\n *\n * Flattens an Observable-of-Observables by dropping the\n * next inner Observables while the current inner is still executing.\n *\n * \n *\n * `exhaust` subscribes to an Observable that emits Observables, also known as a\n * higher-order Observable. Each time it observes one of these emitted inner\n * Observables, the output Observable begins emitting the items emitted by that\n * inner Observable. So far, it behaves like {@link mergeAll}. However,\n * `exhaust` ignores every new inner Observable if the previous Observable has\n * not yet completed. Once that one completes, it will accept and flatten the\n * next inner Observable and repeat this process.\n *\n * @example Run a finite timer for each click, only if there is no currently active timer\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(5));\n * var result = higherOrder.exhaust();\n * result.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link switch}\n * @see {@link mergeAll}\n * @see {@link exhaustMap}\n * @see {@link zipAll}\n *\n * @return {Observable} An Observable that takes a source of Observables and propagates the first observable\n * exclusively until it completes before subscribing to the next.\n * @method exhaust\n * @owner Observable\n */\nfunction exhaust() {\n return exhaust_1.exhaust()(this);\n}\nexports.exhaust = exhaust;\n\n\n/***/ }),\n/* 804 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar exhaustMap_1 = __webpack_require__(805);\nObservable_1.Observable.prototype.exhaustMap = exhaustMap_1.exhaustMap;\n\n\n/***/ }),\n/* 805 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar exhaustMap_1 = __webpack_require__(345);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable only if the previous projected Observable has completed.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link exhaust}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. When it projects a source value to\n * an Observable, the output Observable begins emitting the items emitted by\n * that projected Observable. However, `exhaustMap` ignores every new projected\n * Observable if the previous projected Observable has not yet completed. Once\n * that one completes, it will accept and flatten the next projected Observable\n * and repeat this process.\n *\n * @example Run a finite timer for each click, only if there is no currently active timer\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.exhaustMap((ev) => Rx.Observable.interval(1000).take(5));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMap}\n * @see {@link exhaust}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable containing projected Observables\n * of each item of the source, ignoring projected Observables that start before\n * their preceding Observable has completed.\n * @method exhaustMap\n * @owner Observable\n */\nfunction exhaustMap(project, resultSelector) {\n return exhaustMap_1.exhaustMap(project, resultSelector)(this);\n}\nexports.exhaustMap = exhaustMap;\n\n\n/***/ }),\n/* 806 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar expand_1 = __webpack_require__(807);\nObservable_1.Observable.prototype.expand = expand_1.expand;\n\n\n/***/ }),\n/* 807 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar expand_1 = __webpack_require__(346);\n/* tslint:enable:max-line-length */\n/**\n * Recursively projects each source value to an Observable which is merged in\n * the output Observable.\n *\n * It's similar to {@link mergeMap}, but applies the\n * projection function to every source value as well as every output value.\n * It's recursive.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger. *Expand* will re-emit on the output\n * Observable every source value. Then, each output value is given to the\n * `project` function which returns an inner Observable to be merged on the\n * output Observable. Those output values resulting from the projection are also\n * given to the `project` function to produce new output values. This is how\n * *expand* behaves recursively.\n *\n * @example Start emitting the powers of two on every click, at most 10 of them\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var powersOfTwo = clicks\n * .mapTo(1)\n * .expand(x => Rx.Observable.of(2 * x).delay(1000))\n * .take(10);\n * powersOfTwo.subscribe(x => console.log(x));\n *\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n *\n * @param {function(value: T, index: number) => Observable} project A function\n * that, when applied to an item emitted by the source or the output Observable,\n * returns an Observable.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @param {Scheduler} [scheduler=null] The IScheduler to use for subscribing to\n * each projected inner Observable.\n * @return {Observable} An Observable that emits the source values and also\n * result of applying the projection function to each value emitted on the\n * output Observable and and merging the results of the Observables obtained\n * from this transformation.\n * @method expand\n * @owner Observable\n */\nfunction expand(project, concurrent, scheduler) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n if (scheduler === void 0) { scheduler = undefined; }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return expand_1.expand(project, concurrent, scheduler)(this);\n}\nexports.expand = expand;\n\n\n/***/ }),\n/* 808 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar elementAt_1 = __webpack_require__(809);\nObservable_1.Observable.prototype.elementAt = elementAt_1.elementAt;\n\n\n/***/ }),\n/* 809 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar elementAt_1 = __webpack_require__(347);\n/**\n * Emits the single value at the specified `index` in a sequence of emissions\n * from the source Observable.\n *\n * Emits only the i-th value, then completes.\n *\n * \n *\n * `elementAt` returns an Observable that emits the item at the specified\n * `index` in the source Observable, or a default value if that `index` is out\n * of range and the `default` argument is provided. If the `default` argument is\n * not given and the `index` is out of range, the output Observable will emit an\n * `ArgumentOutOfRangeError` error.\n *\n * @example Emit only the third click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.elementAt(2);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // click 1 = nothing\n * // click 2 = nothing\n * // click 3 = MouseEvent object logged to console\n *\n * @see {@link first}\n * @see {@link last}\n * @see {@link skip}\n * @see {@link single}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `elementAt(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0` or the\n * Observable has completed before emitting the i-th `next` notification.\n *\n * @param {number} index Is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {T} [defaultValue] The default value returned for missing indices.\n * @return {Observable} An Observable that emits a single item, if it is found.\n * Otherwise, will emit the default value if given. If not, then emits an error.\n * @method elementAt\n * @owner Observable\n */\nfunction elementAt(index, defaultValue) {\n return elementAt_1.elementAt(index, defaultValue)(this);\n}\nexports.elementAt = elementAt;\n\n\n/***/ }),\n/* 810 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar filter_1 = __webpack_require__(277);\nObservable_1.Observable.prototype.filter = filter_1.filter;\n\n\n/***/ }),\n/* 811 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar finally_1 = __webpack_require__(271);\nObservable_1.Observable.prototype.finally = finally_1._finally;\nObservable_1.Observable.prototype._finally = finally_1._finally;\n\n\n/***/ }),\n/* 812 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar find_1 = __webpack_require__(813);\nObservable_1.Observable.prototype.find = find_1.find;\n\n\n/***/ }),\n/* 813 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar find_1 = __webpack_require__(233);\n/* tslint:enable:max-line-length */\n/**\n * Emits only the first value emitted by the source Observable that meets some\n * condition.\n *\n * Finds the first value that passes some test and emits\n * that.\n *\n * \n *\n * `find` searches for the first item in the source Observable that matches the\n * specified condition embodied by the `predicate`, and returns the first\n * occurrence in the source. Unlike {@link first}, the `predicate` is required\n * in `find`, and does not emit an error if a valid value is not found.\n *\n * @example Find and emit the first click that happens on a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.find(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link first}\n * @see {@link findIndex}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the first item that matches the\n * condition.\n * @method find\n * @owner Observable\n */\nfunction find(predicate, thisArg) {\n return find_1.find(predicate, thisArg)(this);\n}\nexports.find = find;\n\n\n/***/ }),\n/* 814 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar findIndex_1 = __webpack_require__(815);\nObservable_1.Observable.prototype.findIndex = findIndex_1.findIndex;\n\n\n/***/ }),\n/* 815 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar findIndex_1 = __webpack_require__(348);\n/**\n * Emits only the index of the first value emitted by the source Observable that\n * meets some condition.\n *\n * It's like {@link find}, but emits the index of the\n * found value, not the value itself.\n *\n * \n *\n * `findIndex` searches for the first item in the source Observable that matches\n * the specified condition embodied by the `predicate`, and returns the\n * (zero-based) index of the first occurrence in the source. Unlike\n * {@link first}, the `predicate` is required in `findIndex`, and does not emit\n * an error if a valid value is not found.\n *\n * @example Emit the index of first click that happens on a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.findIndex(ev => ev.target.tagName === 'DIV');\n * result.subscribe(x => console.log(x));\n *\n * @see {@link filter}\n * @see {@link find}\n * @see {@link first}\n * @see {@link take}\n *\n * @param {function(value: T, index: number, source: Observable): boolean} predicate\n * A function called with each item to test for condition matching.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of the index of the first item that\n * matches the condition.\n * @method find\n * @owner Observable\n */\nfunction findIndex(predicate, thisArg) {\n return findIndex_1.findIndex(predicate, thisArg)(this);\n}\nexports.findIndex = findIndex;\n\n\n/***/ }),\n/* 816 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar first_1 = __webpack_require__(200);\nObservable_1.Observable.prototype.first = first_1.first;\n\n\n/***/ }),\n/* 817 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar groupBy_1 = __webpack_require__(818);\nObservable_1.Observable.prototype.groupBy = groupBy_1.groupBy;\n\n\n/***/ }),\n/* 818 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar groupBy_1 = __webpack_require__(349);\nexports.GroupedObservable = groupBy_1.GroupedObservable;\n/* tslint:enable:max-line-length */\n/**\n * Groups the items emitted by an Observable according to a specified criterion,\n * and emits these grouped items as `GroupedObservables`, one\n * {@link GroupedObservable} per group.\n *\n * \n *\n * @example Group objects by id and return as array\n * Observable.of({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs3'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], []))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // [ { id: 1, name: 'aze1' },\n * // { id: 1, name: 'erg1' },\n * // { id: 1, name: 'df1' } ]\n * //\n * // [ { id: 2, name: 'sf2' },\n * // { id: 2, name: 'dg2' },\n * // { id: 2, name: 'sfqfb2' },\n * // { id: 2, name: 'qsgqsfg2' } ]\n * //\n * // [ { id: 3, name: 'qfs3' } ]\n *\n * @example Pivot data on the id field\n * Observable.of({id: 1, name: 'aze1'},\n * {id: 2, name: 'sf2'},\n * {id: 2, name: 'dg2'},\n * {id: 1, name: 'erg1'},\n * {id: 1, name: 'df1'},\n * {id: 2, name: 'sfqfb2'},\n * {id: 3, name: 'qfs1'},\n * {id: 2, name: 'qsgqsfg2'}\n * )\n * .groupBy(p => p.id, p => p.name)\n * .flatMap( (group$) => group$.reduce((acc, cur) => [...acc, cur], [\"\" + group$.key]))\n * .map(arr => ({'id': parseInt(arr[0]), 'values': arr.slice(1)}))\n * .subscribe(p => console.log(p));\n *\n * // displays:\n * // { id: 1, values: [ 'aze1', 'erg1', 'df1' ] }\n * // { id: 2, values: [ 'sf2', 'dg2', 'sfqfb2', 'qsgqsfg2' ] }\n * // { id: 3, values: [ 'qfs1' ] }\n *\n * @param {function(value: T): K} keySelector A function that extracts the key\n * for each item.\n * @param {function(value: T): R} [elementSelector] A function that extracts the\n * return element for each item.\n * @param {function(grouped: GroupedObservable): Observable} [durationSelector]\n * A function that returns an Observable to determine how long each group should\n * exist.\n * @return {Observable>} An Observable that emits\n * GroupedObservables, each of which corresponds to a unique key value and each\n * of which emits those items from the source Observable that share that key\n * value.\n * @method groupBy\n * @owner Observable\n */\nfunction groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return groupBy_1.groupBy(keySelector, elementSelector, durationSelector, subjectSelector)(this);\n}\nexports.groupBy = groupBy;\n\n\n/***/ }),\n/* 819 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar root_1 = __webpack_require__(37);\nvar MapPolyfill_1 = __webpack_require__(820);\nexports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();\n\n\n/***/ }),\n/* 820 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar MapPolyfill = (function () {\n function MapPolyfill() {\n this.size = 0;\n this._values = [];\n this._keys = [];\n }\n MapPolyfill.prototype.get = function (key) {\n var i = this._keys.indexOf(key);\n return i === -1 ? undefined : this._values[i];\n };\n MapPolyfill.prototype.set = function (key, value) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n this._keys.push(key);\n this._values.push(value);\n this.size++;\n }\n else {\n this._values[i] = value;\n }\n return this;\n };\n MapPolyfill.prototype.delete = function (key) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n return false;\n }\n this._values.splice(i, 1);\n this._keys.splice(i, 1);\n this.size--;\n return true;\n };\n MapPolyfill.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this.size = 0;\n };\n MapPolyfill.prototype.forEach = function (cb, thisArg) {\n for (var i = 0; i < this.size; i++) {\n cb.call(thisArg, this._values[i], this._keys[i]);\n }\n };\n return MapPolyfill;\n}());\nexports.MapPolyfill = MapPolyfill;\n\n\n/***/ }),\n/* 821 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar FastMap = (function () {\n function FastMap() {\n this.values = {};\n }\n FastMap.prototype.delete = function (key) {\n this.values[key] = null;\n return true;\n };\n FastMap.prototype.set = function (key, value) {\n this.values[key] = value;\n return this;\n };\n FastMap.prototype.get = function (key) {\n return this.values[key];\n };\n FastMap.prototype.forEach = function (cb, thisArg) {\n var values = this.values;\n for (var key in values) {\n if (values.hasOwnProperty(key) && values[key] !== null) {\n cb.call(thisArg, values[key], key);\n }\n }\n };\n FastMap.prototype.clear = function () {\n this.values = {};\n };\n return FastMap;\n}());\nexports.FastMap = FastMap;\n\n\n/***/ }),\n/* 822 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar ignoreElements_1 = __webpack_require__(823);\nObservable_1.Observable.prototype.ignoreElements = ignoreElements_1.ignoreElements;\n\n\n/***/ }),\n/* 823 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ignoreElements_1 = __webpack_require__(350);\n/**\n * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.\n *\n * \n *\n * @return {Observable} An empty Observable that only calls `complete`\n * or `error`, based on which one is called by the source Observable.\n * @method ignoreElements\n * @owner Observable\n */\nfunction ignoreElements() {\n return ignoreElements_1.ignoreElements()(this);\n}\nexports.ignoreElements = ignoreElements;\n;\n\n\n/***/ }),\n/* 824 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar isEmpty_1 = __webpack_require__(825);\nObservable_1.Observable.prototype.isEmpty = isEmpty_1.isEmpty;\n\n\n/***/ }),\n/* 825 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isEmpty_1 = __webpack_require__(351);\n/**\n * If the source Observable is empty it returns an Observable that emits true, otherwise it emits false.\n *\n * \n *\n * @return {Observable} An Observable that emits a Boolean.\n * @method isEmpty\n * @owner Observable\n */\nfunction isEmpty() {\n return isEmpty_1.isEmpty()(this);\n}\nexports.isEmpty = isEmpty;\n\n\n/***/ }),\n/* 826 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar audit_1 = __webpack_require__(827);\nObservable_1.Observable.prototype.audit = audit_1.audit;\n\n\n/***/ }),\n/* 827 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar audit_1 = __webpack_require__(204);\n/**\n * Ignores source values for a duration determined by another Observable, then\n * emits the most recent value from the source Observable, then repeats this\n * process.\n *\n * It's like {@link auditTime}, but the silencing\n * duration is determined by a second Observable.\n *\n * \n *\n * `audit` is similar to `throttle`, but emits the last value from the silenced\n * time window, instead of the first value. `audit` emits the most recent value\n * from the source Observable on the output Observable as soon as its internal\n * timer becomes disabled, and ignores source values while the timer is enabled.\n * Initially, the timer is disabled. As soon as the first source value arrives,\n * the timer is enabled by calling the `durationSelector` function with the\n * source value, which returns the \"duration\" Observable. When the duration\n * Observable emits a value or completes, the timer is disabled, then the most\n * recent source value is emitted on the output Observable, and this process\n * repeats for the next source value.\n *\n * @example Emit clicks at a rate of at most one click per second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.audit(ev => Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounce}\n * @see {@link delayWhen}\n * @see {@link sample}\n * @see {@link throttle}\n *\n * @param {function(value: T): SubscribableOrPromise} durationSelector A function\n * that receives a value from the source Observable, for computing the silencing\n * duration, returned as an Observable or a Promise.\n * @return {Observable} An Observable that performs rate-limiting of\n * emissions from the source Observable.\n * @method audit\n * @owner Observable\n */\nfunction audit(durationSelector) {\n return audit_1.audit(durationSelector)(this);\n}\nexports.audit = audit;\n\n\n/***/ }),\n/* 828 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar auditTime_1 = __webpack_require__(203);\nObservable_1.Observable.prototype.auditTime = auditTime_1.auditTime;\n\n\n/***/ }),\n/* 829 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar last_1 = __webpack_require__(830);\nObservable_1.Observable.prototype.last = last_1.last;\n\n\n/***/ }),\n/* 830 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar last_1 = __webpack_require__(352);\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits only the last item emitted by the source Observable.\n * It optionally takes a predicate function as a parameter, in which case, rather than emitting\n * the last item from the source Observable, the resulting Observable will emit the last item\n * from the source Observable that satisfies the predicate.\n *\n * \n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {function} predicate - The condition any source emitted item has to satisfy.\n * @return {Observable} An Observable that emits only the last item satisfying the given condition\n * from the source, or an NoSuchElementException if no such items are emitted.\n * @throws - Throws if no items that match the predicate are emitted by the source Observable.\n * @method last\n * @owner Observable\n */\nfunction last(predicate, resultSelector, defaultValue) {\n return last_1.last(predicate, resultSelector, defaultValue)(this);\n}\nexports.last = last;\n\n\n/***/ }),\n/* 831 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar let_1 = __webpack_require__(832);\nObservable_1.Observable.prototype.let = let_1.letProto;\nObservable_1.Observable.prototype.letBind = let_1.letProto;\n\n\n/***/ }),\n/* 832 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/**\n * @param func\n * @return {Observable}\n * @method let\n * @owner Observable\n */\nfunction letProto(func) {\n return func(this);\n}\nexports.letProto = letProto;\n\n\n/***/ }),\n/* 833 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar every_1 = __webpack_require__(834);\nObservable_1.Observable.prototype.every = every_1.every;\n\n\n/***/ }),\n/* 834 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar every_1 = __webpack_require__(353);\n/**\n * Returns an Observable that emits whether or not every item of the source satisfies the condition specified.\n *\n * @example A simple example emitting true if all elements are less than 5, false otherwise\n * Observable.of(1, 2, 3, 4, 5, 6)\n * .every(x => x < 5)\n * .subscribe(x => console.log(x)); // -> false\n *\n * @param {function} predicate A function for determining if an item meets a specified condition.\n * @param {any} [thisArg] Optional object to use for `this` in the callback.\n * @return {Observable} An Observable of booleans that determines if all items of the source Observable meet the condition specified.\n * @method every\n * @owner Observable\n */\nfunction every(predicate, thisArg) {\n return every_1.every(predicate, thisArg)(this);\n}\nexports.every = every;\n\n\n/***/ }),\n/* 835 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar mapTo_1 = __webpack_require__(836);\nObservable_1.Observable.prototype.mapTo = mapTo_1.mapTo;\n\n\n/***/ }),\n/* 836 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar mapTo_1 = __webpack_require__(354);\n/**\n * Emits the given constant value on the output Observable every time the source\n * Observable emits a value.\n *\n * Like {@link map}, but it maps every source value to\n * the same output value every time.\n *\n * \n *\n * Takes a constant `value` as argument, and emits that whenever the source\n * Observable emits a value. In other words, ignores the actual source value,\n * and simply uses the emission moment to know when to emit the given `value`.\n *\n * @example Map every click to the string 'Hi'\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var greetings = clicks.mapTo('Hi');\n * greetings.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {any} value The value to map each source value to.\n * @return {Observable} An Observable that emits the given `value` every time\n * the source Observable emits something.\n * @method mapTo\n * @owner Observable\n */\nfunction mapTo(value) {\n return mapTo_1.mapTo(value)(this);\n}\nexports.mapTo = mapTo;\n\n\n/***/ }),\n/* 837 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar materialize_1 = __webpack_require__(838);\nObservable_1.Observable.prototype.materialize = materialize_1.materialize;\n\n\n/***/ }),\n/* 838 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar materialize_1 = __webpack_require__(355);\n/**\n * Represents all of the notifications from the source Observable as `next`\n * emissions marked with their original types within {@link Notification}\n * objects.\n *\n * Wraps `next`, `error` and `complete` emissions in\n * {@link Notification} objects, emitted as `next` on the output Observable.\n * \n *\n * \n *\n * `materialize` returns an Observable that emits a `next` notification for each\n * `next`, `error`, or `complete` emission of the source Observable. When the\n * source Observable emits `complete`, the output Observable will emit `next` as\n * a Notification of type \"complete\", and then it will emit `complete` as well.\n * When the source Observable emits `error`, the output will emit `next` as a\n * Notification of type \"error\", and then `complete`.\n *\n * This operator is useful for producing metadata of the source Observable, to\n * be consumed as `next` emissions. Use it in conjunction with\n * {@link dematerialize}.\n *\n * @example Convert a faulty Observable to an Observable of Notifications\n * var letters = Rx.Observable.of('a', 'b', 13, 'd');\n * var upperCase = letters.map(x => x.toUpperCase());\n * var materialized = upperCase.materialize();\n * materialized.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - Notification {kind: \"N\", value: \"A\", error: undefined, hasValue: true}\n * // - Notification {kind: \"N\", value: \"B\", error: undefined, hasValue: true}\n * // - Notification {kind: \"E\", value: undefined, error: TypeError:\n * // x.toUpperCase is not a function at MapSubscriber.letters.map.x\n * // [as project] (http://1…, hasValue: false}\n *\n * @see {@link Notification}\n * @see {@link dematerialize}\n *\n * @return {Observable>} An Observable that emits\n * {@link Notification} objects that wrap the original emissions from the source\n * Observable with metadata.\n * @method materialize\n * @owner Observable\n */\nfunction materialize() {\n return materialize_1.materialize()(this);\n}\nexports.materialize = materialize;\n\n\n/***/ }),\n/* 839 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar max_1 = __webpack_require__(840);\nObservable_1.Observable.prototype.max = max_1.max;\n\n\n/***/ }),\n/* 840 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar max_1 = __webpack_require__(356);\n/**\n * The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function),\n * and when source Observable completes it emits a single item: the item with the largest value.\n *\n * \n *\n * @example Get the maximal value of a series of numbers\n * Rx.Observable.of(5, 4, 7, 2, 8)\n * .max()\n * .subscribe(x => console.log(x)); // -> 8\n *\n * @example Use a comparer function to get the maximal item\n * interface Person {\n * age: number,\n * name: string\n * }\n * Observable.of({age: 7, name: 'Foo'},\n * {age: 5, name: 'Bar'},\n * {age: 9, name: 'Beer'})\n * .max((a: Person, b: Person) => a.age < b.age ? -1 : 1)\n * .subscribe((x: Person) => console.log(x.name)); // -> 'Beer'\n * }\n *\n * @see {@link min}\n *\n * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the\n * value of two items.\n * @return {Observable} An Observable that emits item with the largest value.\n * @method max\n * @owner Observable\n */\nfunction max(comparer) {\n return max_1.max(comparer)(this);\n}\nexports.max = max;\n\n\n/***/ }),\n/* 841 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar mergeAll_1 = __webpack_require__(842);\nObservable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll;\n\n\n/***/ }),\n/* 842 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar mergeAll_1 = __webpack_require__(134);\n/**\n * Converts a higher-order Observable into a first-order Observable which\n * concurrently delivers all values that are emitted on the inner Observables.\n *\n * Flattens an Observable-of-Observables.\n *\n * \n *\n * `mergeAll` subscribes to an Observable that emits Observables, also known as\n * a higher-order Observable. Each time it observes one of these emitted inner\n * Observables, it subscribes to that and delivers all the values from the\n * inner Observable on the output Observable. The output Observable only\n * completes once all inner Observables have completed. Any error delivered by\n * a inner Observable will be immediately emitted on the output Observable.\n *\n * @example Spawn a new interval Observable for each click event, and blend their outputs as one Observable\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000));\n * var firstOrder = higherOrder.mergeAll();\n * firstOrder.subscribe(x => console.log(x));\n *\n * @example Count from 0 to 9 every second for each click, but only allow 2 concurrent timers\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var higherOrder = clicks.map((ev) => Rx.Observable.interval(1000).take(10));\n * var firstOrder = higherOrder.mergeAll(2);\n * firstOrder.subscribe(x => console.log(x));\n *\n * @see {@link combineAll}\n * @see {@link concatAll}\n * @see {@link exhaust}\n * @see {@link merge}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switch}\n * @see {@link zipAll}\n *\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of inner\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits values coming from all the\n * inner Observables emitted by the source Observable.\n * @method mergeAll\n * @owner Observable\n */\nfunction mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeAll_1.mergeAll(concurrent)(this);\n}\nexports.mergeAll = mergeAll;\n\n\n/***/ }),\n/* 843 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar mergeMapTo_1 = __webpack_require__(844);\nObservable_1.Observable.prototype.flatMapTo = mergeMapTo_1.mergeMapTo;\nObservable_1.Observable.prototype.mergeMapTo = mergeMapTo_1.mergeMapTo;\n\n\n/***/ }),\n/* 844 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar mergeMapTo_1 = __webpack_require__(357);\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to the same Observable which is merged multiple\n * times in the output Observable.\n *\n * It's like {@link mergeMap}, but maps each value always\n * to the same inner Observable.\n *\n * \n *\n * Maps each source value to the given Observable `innerObservable` regardless\n * of the source value, and then merges those resulting Observables into one\n * single Observable, which is the output Observable.\n *\n * @example For each click event, start an interval Observable ticking every 1 second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.mergeMapTo(Rx.Observable.interval(1000));\n * result.subscribe(x => console.log(x));\n *\n * @see {@link concatMapTo}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeScan}\n * @see {@link switchMapTo}\n *\n * @param {ObservableInput} innerObservable An Observable to replace each value from\n * the source Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits items from the given\n * `innerObservable` (and optionally transformed through `resultSelector`) every\n * time a value is emitted on the source Observable.\n * @method mergeMapTo\n * @owner Observable\n */\nfunction mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeMapTo_1.mergeMapTo(innerObservable, resultSelector, concurrent)(this);\n}\nexports.mergeMapTo = mergeMapTo;\n\n\n/***/ }),\n/* 845 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar mergeScan_1 = __webpack_require__(846);\nObservable_1.Observable.prototype.mergeScan = mergeScan_1.mergeScan;\n\n\n/***/ }),\n/* 846 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar mergeScan_1 = __webpack_require__(358);\n/**\n * Applies an accumulator function over the source Observable where the\n * accumulator function itself returns an Observable, then each intermediate\n * Observable returned is merged into the output Observable.\n *\n * It's like {@link scan}, but the Observables returned\n * by the accumulator are merged into the outer Observable.\n *\n * @example Count the number of click events\n * const click$ = Rx.Observable.fromEvent(document, 'click');\n * const one$ = click$.mapTo(1);\n * const seed = 0;\n * const count$ = one$.mergeScan((acc, one) => Rx.Observable.of(acc + one), seed);\n * count$.subscribe(x => console.log(x));\n *\n * // Results:\n * 1\n * 2\n * 3\n * 4\n * // ...and so on for each click\n *\n * @param {function(acc: R, value: T): Observable} accumulator\n * The accumulator function called on each source value.\n * @param seed The initial accumulation value.\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of\n * input Observables being subscribed to concurrently.\n * @return {Observable} An observable of the accumulated values.\n * @method mergeScan\n * @owner Observable\n */\nfunction mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeScan_1.mergeScan(accumulator, seed, concurrent)(this);\n}\nexports.mergeScan = mergeScan;\n\n\n/***/ }),\n/* 847 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar min_1 = __webpack_require__(848);\nObservable_1.Observable.prototype.min = min_1.min;\n\n\n/***/ }),\n/* 848 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar min_1 = __webpack_require__(359);\n/**\n * The Min operator operates on an Observable that emits numbers (or items that can be compared with a provided function),\n * and when source Observable completes it emits a single item: the item with the smallest value.\n *\n * \n *\n * @example Get the minimal value of a series of numbers\n * Rx.Observable.of(5, 4, 7, 2, 8)\n * .min()\n * .subscribe(x => console.log(x)); // -> 2\n *\n * @example Use a comparer function to get the minimal item\n * interface Person {\n * age: number,\n * name: string\n * }\n * Observable.of({age: 7, name: 'Foo'},\n * {age: 5, name: 'Bar'},\n * {age: 9, name: 'Beer'})\n * .min( (a: Person, b: Person) => a.age < b.age ? -1 : 1)\n * .subscribe((x: Person) => console.log(x.name)); // -> 'Bar'\n * }\n *\n * @see {@link max}\n *\n * @param {Function} [comparer] - Optional comparer function that it will use instead of its default to compare the\n * value of two items.\n * @return {Observable} An Observable that emits item with the smallest value.\n * @method min\n * @owner Observable\n */\nfunction min(comparer) {\n return min_1.min(comparer)(this);\n}\nexports.min = min;\n\n\n/***/ }),\n/* 849 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar multicast_1 = __webpack_require__(850);\nObservable_1.Observable.prototype.multicast = multicast_1.multicast;\n\n\n/***/ }),\n/* 850 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar multicast_1 = __webpack_require__(79);\n/* tslint:enable:max-line-length */\n/**\n * Allows source Observable to be subscribed only once with a Subject of choice,\n * while still sharing its values between multiple subscribers.\n *\n * Subscribe to Observable once, but send its values to multiple subscribers.\n *\n * \n *\n * `multicast` is an operator that works in two modes.\n *\n * In the first mode you provide a single argument to it, which can be either an initialized Subject or a Subject\n * factory. As a result you will get a special kind of an Observable - a {@link ConnectableObservable}. It can be\n * subscribed multiple times, just as regular Observable, but it won't subscribe to the source Observable at that\n * moment. It will do it only if you call its `connect` method. This means you can essentially control by hand, when\n * source Observable will be actually subscribed. What is more, ConnectableObservable will share this one subscription\n * between all of its subscribers. This means that, for example, `ajax` Observable will only send a request once,\n * even though usually it would send a request per every subscriber. Since it sends a request at the moment of\n * subscription, here request would be sent when the `connect` method of a ConnectableObservable is called.\n *\n * The most common pattern of using ConnectableObservable is calling `connect` when the first consumer subscribes,\n * keeping the subscription alive while several consumers come and go and finally unsubscribing from the source\n * Observable, when the last consumer unsubscribes. To not implement that logic over and over again,\n * ConnectableObservable has a special operator, `refCount`. When called, it returns an Observable, which will count\n * the number of consumers subscribed to it and keep ConnectableObservable connected as long as there is at least\n * one consumer. So if you don't actually need to decide yourself when to connect and disconnect a\n * ConnectableObservable, use `refCount`.\n *\n * The second mode is invoked by calling `multicast` with an additional, second argument - selector function.\n * This function accepts an Observable - which basically mirrors the source Observable - and returns Observable\n * as well, which should be the input stream modified by any operators you want. Note that in this\n * mode you cannot provide initialized Subject as a first argument - it has to be a Subject factory. If\n * you provide selector function, `multicast` returns just a regular Observable, instead of ConnectableObservable.\n * Thus, as usual, each subscription to this stream triggers subscription to the source Observable. However,\n * if inside the selector function you subscribe to the input Observable multiple times, actual source stream\n * will be subscribed only once. So if you have a chain of operators that use some Observable many times,\n * but you want to subscribe to that Observable only once, this is the mode you would use.\n *\n * Subject provided as a first parameter of `multicast` is used as a proxy for the single subscription to the\n * source Observable. It means that all values from the source stream go through that Subject. Thus, if a Subject\n * has some special properties, Observable returned by `multicast` will have them as well. If you want to use\n * `multicast` with a Subject that is one of the ones included in RxJS by default - {@link Subject},\n * {@link AsyncSubject}, {@link BehaviorSubject}, or {@link ReplaySubject} - simply use {@link publish},\n * {@link publishLast}, {@link publishBehavior} or {@link publishReplay} respectively. These are actually\n * just wrappers around `multicast`, with a specific Subject hardcoded inside.\n *\n * Also, if you use {@link publish} or {@link publishReplay} with a ConnectableObservables `refCount` operator,\n * you can simply use {@link share} and {@link shareReplay} respectively, which chain these two.\n *\n * @example Use ConnectableObservable\n * const seconds = Rx.Observable.interval(1000);\n * const connectableSeconds = seconds.multicast(new Subject());\n *\n * connectableSeconds.subscribe(value => console.log('first: ' + value));\n * connectableSeconds.subscribe(value => console.log('second: ' + value));\n *\n * // At this point still nothing happens, even though we subscribed twice.\n *\n * connectableSeconds.connect();\n *\n * // From now on `seconds` are being logged to the console,\n * // twice per every second. `seconds` Observable was however only subscribed once,\n * // so under the hood Observable.interval had only one clock started.\n *\n * @example Use selector\n * const seconds = Rx.Observable.interval(1000);\n *\n * seconds\n * .multicast(\n * () => new Subject(),\n * seconds => seconds.zip(seconds) // Usually zip would subscribe to `seconds` twice.\n * // Because we are inside selector, `seconds` is subscribed once,\n * ) // thus starting only one clock used internally by Observable.interval.\n * .subscribe();\n *\n * @see {@link publish}\n * @see {@link publishLast}\n * @see {@link publishBehavior}\n * @see {@link publishReplay}\n * @see {@link share}\n * @see {@link shareReplay}\n *\n * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate Subject through\n * which the source sequence's elements will be multicast to the selector function input Observable or\n * ConnectableObservable returned by the operator.\n * @param {Function} [selector] - Optional selector function that can use the input stream\n * as many times as needed, without causing multiple subscriptions to the source stream.\n * Subscribers to the input source will receive all notifications of the source from the\n * time of the subscription forward.\n * @return {Observable|ConnectableObservable} An Observable that emits the results of invoking the selector\n * on the source stream or a special {@link ConnectableObservable}, if selector was not provided.\n *\n * @method multicast\n * @owner Observable\n */\nfunction multicast(subjectOrSubjectFactory, selector) {\n return multicast_1.multicast(subjectOrSubjectFactory, selector)(this);\n}\nexports.multicast = multicast;\n\n\n/***/ }),\n/* 851 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar observeOn_1 = __webpack_require__(852);\nObservable_1.Observable.prototype.observeOn = observeOn_1.observeOn;\n\n\n/***/ }),\n/* 852 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar observeOn_1 = __webpack_require__(137);\n/**\n *\n * Re-emits all notifications from source Observable with specified scheduler.\n *\n * Ensure a specific scheduler is used, from outside of an Observable.\n *\n * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule\n * notifications emitted by the source Observable. It might be useful, if you do not have control over\n * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless.\n *\n * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable,\n * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal\n * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits\n * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`.\n * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split\n * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source\n * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a\n * little bit more, to ensure that they are emitted at expected moments.\n *\n * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications\n * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn`\n * will delay all notifications - including error notifications - while `delay` will pass through error\n * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator\n * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used\n * for notification emissions in general.\n *\n * @example Ensure values in subscribe are called just before browser repaint.\n * const intervals = Rx.Observable.interval(10); // Intervals are scheduled\n * // with async scheduler by default...\n *\n * intervals\n * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame\n * .subscribe(val => { // scheduler to ensure smooth animation.\n * someDiv.style.height = val + 'px';\n * });\n *\n * @see {@link delay}\n *\n * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable.\n * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled.\n * @return {Observable} Observable that emits the same notifications as the source Observable,\n * but with provided scheduler.\n *\n * @method observeOn\n * @owner Observable\n */\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return observeOn_1.observeOn(scheduler, delay)(this);\n}\nexports.observeOn = observeOn;\n\n\n/***/ }),\n/* 853 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar onErrorResumeNext_1 = __webpack_require__(854);\nObservable_1.Observable.prototype.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;\n\n\n/***/ }),\n/* 854 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar onErrorResumeNext_1 = __webpack_require__(230);\n/* tslint:enable:max-line-length */\n/**\n * When any of the provided Observable emits an complete or error notification, it immediately subscribes to the next one\n * that was passed.\n *\n * Execute series of Observables no matter what, even if it means swallowing errors.\n *\n * \n *\n * `onErrorResumeNext` is an operator that accepts a series of Observables, provided either directly as\n * arguments or as an array. If no single Observable is provided, returned Observable will simply behave the same\n * as the source.\n *\n * `onErrorResumeNext` returns an Observable that starts by subscribing and re-emitting values from the source Observable.\n * When its stream of values ends - no matter if Observable completed or emitted an error - `onErrorResumeNext`\n * will subscribe to the first Observable that was passed as an argument to the method. It will start re-emitting\n * its values as well and - again - when that stream ends, `onErrorResumeNext` will proceed to subscribing yet another\n * Observable in provided series, no matter if previous Observable completed or ended with an error. This will\n * be happening until there is no more Observables left in the series, at which point returned Observable will\n * complete - even if the last subscribed stream ended with an error.\n *\n * `onErrorResumeNext` can be therefore thought of as version of {@link concat} operator, which is more permissive\n * when it comes to the errors emitted by its input Observables. While `concat` subscribes to the next Observable\n * in series only if previous one successfully completed, `onErrorResumeNext` subscribes even if it ended with\n * an error.\n *\n * Note that you do not get any access to errors emitted by the Observables. In particular do not\n * expect these errors to appear in error callback passed to {@link subscribe}. If you want to take\n * specific actions based on what error was emitted by an Observable, you should try out {@link catch} instead.\n *\n *\n * @example Subscribe to the next Observable after map fails\n * Rx.Observable.of(1, 2, 3, 0)\n * .map(x => {\n * if (x === 0) { throw Error(); }\n return 10 / x;\n * })\n * .onErrorResumeNext(Rx.Observable.of(1, 2, 3))\n * .subscribe(\n * val => console.log(val),\n * err => console.log(err), // Will never be called.\n * () => console.log('that\\'s it!')\n * );\n *\n * // Logs:\n * // 10\n * // 5\n * // 3.3333333333333335\n * // 1\n * // 2\n * // 3\n * // \"that's it!\"\n *\n * @see {@link concat}\n * @see {@link catch}\n *\n * @param {...ObservableInput} observables Observables passed either directly or as an array.\n * @return {Observable} An Observable that emits values from source Observable, but - if it errors - subscribes\n * to the next passed Observable and so on, until it completes or runs out of Observables.\n * @method onErrorResumeNext\n * @owner Observable\n */\nfunction onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i - 0] = arguments[_i];\n }\n return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, nextSources)(this);\n}\nexports.onErrorResumeNext = onErrorResumeNext;\n\n\n/***/ }),\n/* 855 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar pairwise_1 = __webpack_require__(856);\nObservable_1.Observable.prototype.pairwise = pairwise_1.pairwise;\n\n\n/***/ }),\n/* 856 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar pairwise_1 = __webpack_require__(360);\n/**\n * Groups pairs of consecutive emissions together and emits them as an array of\n * two values.\n *\n * Puts the current value and previous value together as\n * an array, and emits that.\n *\n * \n *\n * The Nth emission from the source Observable will cause the output Observable\n * to emit an array [(N-1)th, Nth] of the previous and the current value, as a\n * pair. For this reason, `pairwise` emits on the second and subsequent\n * emissions from the source Observable, but not on the first emission, because\n * there is no previous value in that case.\n *\n * @example On every click (starting from the second), emit the relative distance to the previous click\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var pairs = clicks.pairwise();\n * var distance = pairs.map(pair => {\n * var x0 = pair[0].clientX;\n * var y0 = pair[0].clientY;\n * var x1 = pair[1].clientX;\n * var y1 = pair[1].clientY;\n * return Math.sqrt(Math.pow(x0 - x1, 2) + Math.pow(y0 - y1, 2));\n * });\n * distance.subscribe(x => console.log(x));\n *\n * @see {@link buffer}\n * @see {@link bufferCount}\n *\n * @return {Observable>} An Observable of pairs (as arrays) of\n * consecutive values from the source Observable.\n * @method pairwise\n * @owner Observable\n */\nfunction pairwise() {\n return pairwise_1.pairwise()(this);\n}\nexports.pairwise = pairwise;\n\n\n/***/ }),\n/* 857 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar partition_1 = __webpack_require__(858);\nObservable_1.Observable.prototype.partition = partition_1.partition;\n\n\n/***/ }),\n/* 858 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar partition_1 = __webpack_require__(361);\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.\n *\n * \n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * @example Partition click events into those on DIV elements and those elsewhere\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var parts = clicks.partition(ev => ev.target.tagName === 'DIV');\n * var clicksOnDivs = parts[0];\n * var clicksElsewhere = parts[1];\n * clicksOnDivs.subscribe(x => console.log('DIV clicked: ', x));\n * clicksElsewhere.subscribe(x => console.log('Other clicked: ', x));\n *\n * @see {@link filter}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted on the first Observable in the returned array, if\n * `false` the value is emitted on the second Observable in the array. The\n * `index` parameter is the number `i` for the i-th source emission that has\n * happened since the subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {[Observable, Observable]} An array with two Observables: one\n * with values that passed the predicate, and another with values that did not\n * pass the predicate.\n * @method partition\n * @owner Observable\n */\nfunction partition(predicate, thisArg) {\n return partition_1.partition(predicate, thisArg)(this);\n}\nexports.partition = partition;\n\n\n/***/ }),\n/* 859 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nfunction not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\nexports.not = not;\n\n\n/***/ }),\n/* 860 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar pluck_1 = __webpack_require__(861);\nObservable_1.Observable.prototype.pluck = pluck_1.pluck;\n\n\n/***/ }),\n/* 861 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar pluck_1 = __webpack_require__(362);\n/**\n * Maps each source value (an object) to its specified nested property.\n *\n * Like {@link map}, but meant only for picking one of\n * the nested properties of every emitted object.\n *\n * \n *\n * Given a list of strings describing a path to an object property, retrieves\n * the value of a specified nested property from all values in the source\n * Observable. If a property can't be resolved, it will return `undefined` for\n * that value.\n *\n * @example Map every click to the tagName of the clicked target element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var tagNames = clicks.pluck('target', 'tagName');\n * tagNames.subscribe(x => console.log(x));\n *\n * @see {@link map}\n *\n * @param {...string} properties The nested properties to pluck from each source\n * value (an object).\n * @return {Observable} A new Observable of property values from the source values.\n * @method pluck\n * @owner Observable\n */\nfunction pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i - 0] = arguments[_i];\n }\n return pluck_1.pluck.apply(void 0, properties)(this);\n}\nexports.pluck = pluck;\n\n\n/***/ }),\n/* 862 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar publish_1 = __webpack_require__(863);\nObservable_1.Observable.prototype.publish = publish_1.publish;\n\n\n/***/ }),\n/* 863 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar publish_1 = __webpack_require__(363);\n/* tslint:enable:max-line-length */\n/**\n * Returns a ConnectableObservable, which is a variety of Observable that waits until its connect method is called\n * before it begins emitting items to those Observers that have subscribed to it.\n *\n * \n *\n * @param {Function} [selector] - Optional selector function which can use the multicasted source sequence as many times\n * as needed, without causing multiple subscriptions to the source sequence.\n * Subscribers to the given source will receive all notifications of the source from the time of the subscription on.\n * @return A ConnectableObservable that upon connection causes the source Observable to emit items to its Observers.\n * @method publish\n * @owner Observable\n */\nfunction publish(selector) {\n return publish_1.publish(selector)(this);\n}\nexports.publish = publish;\n\n\n/***/ }),\n/* 864 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar publishBehavior_1 = __webpack_require__(865);\nObservable_1.Observable.prototype.publishBehavior = publishBehavior_1.publishBehavior;\n\n\n/***/ }),\n/* 865 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar publishBehavior_1 = __webpack_require__(364);\n/**\n * @param value\n * @return {ConnectableObservable}\n * @method publishBehavior\n * @owner Observable\n */\nfunction publishBehavior(value) {\n return publishBehavior_1.publishBehavior(value)(this);\n}\nexports.publishBehavior = publishBehavior;\n\n\n/***/ }),\n/* 866 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar publishReplay_1 = __webpack_require__(867);\nObservable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;\n\n\n/***/ }),\n/* 867 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar publishReplay_1 = __webpack_require__(365);\n/* tslint:enable:max-line-length */\n/**\n * @param bufferSize\n * @param windowTime\n * @param selectorOrScheduler\n * @param scheduler\n * @return {Observable | ConnectableObservable}\n * @method publishReplay\n * @owner Observable\n */\nfunction publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n return publishReplay_1.publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler)(this);\n}\nexports.publishReplay = publishReplay;\n\n\n/***/ }),\n/* 868 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar publishLast_1 = __webpack_require__(869);\nObservable_1.Observable.prototype.publishLast = publishLast_1.publishLast;\n\n\n/***/ }),\n/* 869 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar publishLast_1 = __webpack_require__(366);\n/**\n * @return {ConnectableObservable}\n * @method publishLast\n * @owner Observable\n */\nfunction publishLast() {\n //TODO(benlesh): correct type-flow through here.\n return publishLast_1.publishLast()(this);\n}\nexports.publishLast = publishLast;\n\n\n/***/ }),\n/* 870 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar race_1 = __webpack_require__(871);\nObservable_1.Observable.prototype.race = race_1.race;\n\n\n/***/ }),\n/* 871 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar race_1 = __webpack_require__(367);\n// NOTE: to support backwards compatability with 5.4.* and lower\nvar race_2 = __webpack_require__(229);\nexports.raceStatic = race_2.race;\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that mirrors the first source Observable to emit an item\n * from the combination of this Observable and supplied Observables.\n * @param {...Observables} ...observables Sources used to race for which Observable emits first.\n * @return {Observable} An Observable that mirrors the output of the first Observable to emit an item.\n * @method race\n * @owner Observable\n */\nfunction race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return race_1.race.apply(void 0, observables)(this);\n}\nexports.race = race;\n\n\n/***/ }),\n/* 872 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar reduce_1 = __webpack_require__(873);\nObservable_1.Observable.prototype.reduce = reduce_1.reduce;\n\n\n/***/ }),\n/* 873 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar reduce_1 = __webpack_require__(110);\n/* tslint:enable:max-line-length */\n/**\n * Applies an accumulator function over the source Observable, and returns the\n * accumulated result when the source completes, given an optional seed value.\n *\n * Combines together all values emitted on the source,\n * using an accumulator function that knows how to join a new source value into\n * the accumulation from the past.\n *\n * \n *\n * Like\n * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce),\n * `reduce` applies an `accumulator` function against an accumulation and each\n * value of the source Observable (from the past) to reduce it to a single\n * value, emitted on the output Observable. Note that `reduce` will only emit\n * one value, only when the source Observable completes. It is equivalent to\n * applying operator {@link scan} followed by operator {@link last}.\n *\n * Returns an Observable that applies a specified `accumulator` function to each\n * item emitted by the source Observable. If a `seed` value is specified, then\n * that value will be used as the initial value for the accumulator. If no seed\n * value is specified, the first item of the source is used as the seed.\n *\n * @example Count the number of click events that happened in 5 seconds\n * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click')\n * .takeUntil(Rx.Observable.interval(5000));\n * var ones = clicksInFiveSeconds.mapTo(1);\n * var seed = 0;\n * var count = ones.reduce((acc, one) => acc + one, seed);\n * count.subscribe(x => console.log(x));\n *\n * @see {@link count}\n * @see {@link expand}\n * @see {@link mergeScan}\n * @see {@link scan}\n *\n * @param {function(acc: R, value: T, index: number): R} accumulator The accumulator function\n * called on each source value.\n * @param {R} [seed] The initial accumulation value.\n * @return {Observable} An Observable that emits a single value that is the\n * result of accumulating the values emitted by the source Observable.\n * @method reduce\n * @owner Observable\n */\nfunction reduce(accumulator, seed) {\n // providing a seed of `undefined` *should* be valid and trigger\n // hasSeed! so don't use `seed !== undefined` checks!\n // For this reason, we have to check it here at the original call site\n // otherwise inside Operator/Subscriber we won't know if `undefined`\n // means they didn't provide anything or if they literally provided `undefined`\n if (arguments.length >= 2) {\n return reduce_1.reduce(accumulator, seed)(this);\n }\n return reduce_1.reduce(accumulator)(this);\n}\nexports.reduce = reduce;\n\n\n/***/ }),\n/* 874 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar repeat_1 = __webpack_require__(875);\nObservable_1.Observable.prototype.repeat = repeat_1.repeat;\n\n\n/***/ }),\n/* 875 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar repeat_1 = __webpack_require__(368);\n/**\n * Returns an Observable that repeats the stream of items emitted by the source Observable at most count times.\n *\n * \n *\n * @param {number} [count] The number of times the source Observable items are repeated, a count of 0 will yield\n * an empty Observable.\n * @return {Observable} An Observable that repeats the stream of items emitted by the source Observable at most\n * count times.\n * @method repeat\n * @owner Observable\n */\nfunction repeat(count) {\n if (count === void 0) { count = -1; }\n return repeat_1.repeat(count)(this);\n}\nexports.repeat = repeat;\n\n\n/***/ }),\n/* 876 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar repeatWhen_1 = __webpack_require__(877);\nObservable_1.Observable.prototype.repeatWhen = repeatWhen_1.repeatWhen;\n\n\n/***/ }),\n/* 877 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar repeatWhen_1 = __webpack_require__(369);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of a `complete`. If the source\n * Observable calls `complete`, this method will emit to the Observable returned from `notifier`. If that Observable\n * calls `complete` or `error`, then this method will call `complete` or `error` on the child subscription. Otherwise\n * this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(notifications: Observable): Observable} notifier - Receives an Observable of notifications with\n * which a user can `complete` or `error`, aborting the repetition.\n * @return {Observable} The source Observable modified with repeat logic.\n * @method repeatWhen\n * @owner Observable\n */\nfunction repeatWhen(notifier) {\n return repeatWhen_1.repeatWhen(notifier)(this);\n}\nexports.repeatWhen = repeatWhen;\n\n\n/***/ }),\n/* 878 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar retry_1 = __webpack_require__(879);\nObservable_1.Observable.prototype.retry = retry_1.retry;\n\n\n/***/ }),\n/* 879 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar retry_1 = __webpack_require__(370);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will resubscribe to the source Observable for a maximum of `count` resubscriptions (given\n * as a number parameter) rather than propagating the `error` call.\n *\n * \n *\n * Any and all items emitted by the source Observable will be emitted by the resulting Observable, even those emitted\n * during failed subscriptions. For example, if an Observable fails at first but emits [1, 2] then succeeds the second\n * time and emits: [1, 2, 3, 4, 5] then the complete stream of emissions and notifications\n * would be: [1, 2, 1, 2, 3, 4, 5, `complete`].\n * @param {number} count - Number of retry attempts before failing.\n * @return {Observable} The source Observable modified with the retry logic.\n * @method retry\n * @owner Observable\n */\nfunction retry(count) {\n if (count === void 0) { count = -1; }\n return retry_1.retry(count)(this);\n}\nexports.retry = retry;\n\n\n/***/ }),\n/* 880 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar retryWhen_1 = __webpack_require__(881);\nObservable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;\n\n\n/***/ }),\n/* 881 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar retryWhen_1 = __webpack_require__(371);\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nfunction retryWhen(notifier) {\n return retryWhen_1.retryWhen(notifier)(this);\n}\nexports.retryWhen = retryWhen;\n\n\n/***/ }),\n/* 882 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar sample_1 = __webpack_require__(883);\nObservable_1.Observable.prototype.sample = sample_1.sample;\n\n\n/***/ }),\n/* 883 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar sample_1 = __webpack_require__(372);\n/**\n * Emits the most recently emitted value from the source Observable whenever\n * another Observable, the `notifier`, emits.\n *\n * It's like {@link sampleTime}, but samples whenever\n * the `notifier` Observable emits something.\n *\n * \n *\n * Whenever the `notifier` Observable emits a value or completes, `sample`\n * looks at the source Observable and emits whichever value it has most recently\n * emitted since the previous sampling, unless the source has not emitted\n * anything since the previous sampling. The `notifier` is subscribed to as soon\n * as the output Observable is subscribed.\n *\n * @example On every click, sample the most recent \"seconds\" timer\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = seconds.sample(clicks);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link audit}\n * @see {@link debounce}\n * @see {@link sampleTime}\n * @see {@link throttle}\n *\n * @param {Observable} notifier The Observable to use for sampling the\n * source Observable.\n * @return {Observable} An Observable that emits the results of sampling the\n * values emitted by the source Observable whenever the notifier Observable\n * emits value or completes.\n * @method sample\n * @owner Observable\n */\nfunction sample(notifier) {\n return sample_1.sample(notifier)(this);\n}\nexports.sample = sample;\n\n\n/***/ }),\n/* 884 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar sampleTime_1 = __webpack_require__(885);\nObservable_1.Observable.prototype.sampleTime = sampleTime_1.sampleTime;\n\n\n/***/ }),\n/* 885 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar async_1 = __webpack_require__(17);\nvar sampleTime_1 = __webpack_require__(373);\n/**\n * Emits the most recently emitted value from the source Observable within\n * periodic time intervals.\n *\n * Samples the source Observable at periodic time\n * intervals, emitting what it samples.\n *\n * \n *\n * `sampleTime` periodically looks at the source Observable and emits whichever\n * value it has most recently emitted since the previous sampling, unless the\n * source has not emitted anything since the previous sampling. The sampling\n * happens periodically in time every `period` milliseconds (or the time unit\n * defined by the optional `scheduler` argument). The sampling starts as soon as\n * the output Observable is subscribed.\n *\n * @example Every second, emit the most recent click at most once\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.sampleTime(1000);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link auditTime}\n * @see {@link debounceTime}\n * @see {@link delay}\n * @see {@link sample}\n * @see {@link throttleTime}\n *\n * @param {number} period The sampling period expressed in milliseconds or the\n * time unit determined internally by the optional `scheduler`.\n * @param {Scheduler} [scheduler=async] The {@link IScheduler} to use for\n * managing the timers that handle the sampling.\n * @return {Observable} An Observable that emits the results of sampling the\n * values emitted by the source Observable at the specified time interval.\n * @method sampleTime\n * @owner Observable\n */\nfunction sampleTime(period, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return sampleTime_1.sampleTime(period, scheduler)(this);\n}\nexports.sampleTime = sampleTime;\n\n\n/***/ }),\n/* 886 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar scan_1 = __webpack_require__(887);\nObservable_1.Observable.prototype.scan = scan_1.scan;\n\n\n/***/ }),\n/* 887 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar scan_1 = __webpack_require__(214);\n/* tslint:enable:max-line-length */\n/**\n * Applies an accumulator function over the source Observable, and returns each\n * intermediate result, with an optional seed value.\n *\n * It's like {@link reduce}, but emits the current\n * accumulation whenever the source emits a value.\n *\n * \n *\n * Combines together all values emitted on the source, using an accumulator\n * function that knows how to join a new source value into the accumulation from\n * the past. Is similar to {@link reduce}, but emits the intermediate\n * accumulations.\n *\n * Returns an Observable that applies a specified `accumulator` function to each\n * item emitted by the source Observable. If a `seed` value is specified, then\n * that value will be used as the initial value for the accumulator. If no seed\n * value is specified, the first item of the source is used as the seed.\n *\n * @example Count the number of click events\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var ones = clicks.mapTo(1);\n * var seed = 0;\n * var count = ones.scan((acc, one) => acc + one, seed);\n * count.subscribe(x => console.log(x));\n *\n * @see {@link expand}\n * @see {@link mergeScan}\n * @see {@link reduce}\n *\n * @param {function(acc: R, value: T, index: number): R} accumulator\n * The accumulator function called on each source value.\n * @param {T|R} [seed] The initial accumulation value.\n * @return {Observable} An observable of the accumulated values.\n * @method scan\n * @owner Observable\n */\nfunction scan(accumulator, seed) {\n if (arguments.length >= 2) {\n return scan_1.scan(accumulator, seed)(this);\n }\n return scan_1.scan(accumulator)(this);\n}\nexports.scan = scan;\n\n\n/***/ }),\n/* 888 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar sequenceEqual_1 = __webpack_require__(889);\nObservable_1.Observable.prototype.sequenceEqual = sequenceEqual_1.sequenceEqual;\n\n\n/***/ }),\n/* 889 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar sequenceEqual_1 = __webpack_require__(374);\n/**\n * Compares all values of two observables in sequence using an optional comparor function\n * and returns an observable of a single boolean value representing whether or not the two sequences\n * are equal.\n *\n * Checks to see of all values emitted by both observables are equal, in order.\n *\n * \n *\n * `sequenceEqual` subscribes to two observables and buffers incoming values from each observable. Whenever either\n * observable emits a value, the value is buffered and the buffers are shifted and compared from the bottom\n * up; If any value pair doesn't match, the returned observable will emit `false` and complete. If one of the\n * observables completes, the operator will wait for the other observable to complete; If the other\n * observable emits before completing, the returned observable will emit `false` and complete. If one observable never\n * completes or emits after the other complets, the returned observable will never complete.\n *\n * @example figure out if the Konami code matches\n * var code = Rx.Observable.from([\n * \"ArrowUp\",\n * \"ArrowUp\",\n * \"ArrowDown\",\n * \"ArrowDown\",\n * \"ArrowLeft\",\n * \"ArrowRight\",\n * \"ArrowLeft\",\n * \"ArrowRight\",\n * \"KeyB\",\n * \"KeyA\",\n * \"Enter\" // no start key, clearly.\n * ]);\n *\n * var keys = Rx.Observable.fromEvent(document, 'keyup')\n * .map(e => e.code);\n * var matches = keys.bufferCount(11, 1)\n * .mergeMap(\n * last11 =>\n * Rx.Observable.from(last11)\n * .sequenceEqual(code)\n * );\n * matches.subscribe(matched => console.log('Successful cheat at Contra? ', matched));\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} compareTo The observable sequence to compare the source sequence to.\n * @param {function} [comparor] An optional function to compare each value pair\n * @return {Observable} An Observable of a single boolean value representing whether or not\n * the values emitted by both observables were equal in sequence.\n * @method sequenceEqual\n * @owner Observable\n */\nfunction sequenceEqual(compareTo, comparor) {\n return sequenceEqual_1.sequenceEqual(compareTo, comparor)(this);\n}\nexports.sequenceEqual = sequenceEqual;\n\n\n/***/ }),\n/* 890 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar shareReplay_1 = __webpack_require__(891);\nObservable_1.Observable.prototype.shareReplay = shareReplay_1.shareReplay;\n\n\n/***/ }),\n/* 891 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar shareReplay_1 = __webpack_require__(375);\n/**\n * @method shareReplay\n * @owner Observable\n */\nfunction shareReplay(bufferSize, windowTime, scheduler) {\n return shareReplay_1.shareReplay(bufferSize, windowTime, scheduler)(this);\n}\nexports.shareReplay = shareReplay;\n;\n\n\n/***/ }),\n/* 892 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar single_1 = __webpack_require__(893);\nObservable_1.Observable.prototype.single = single_1.single;\n\n\n/***/ }),\n/* 893 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar single_1 = __webpack_require__(376);\n/**\n * Returns an Observable that emits the single item emitted by the source Observable that matches a specified\n * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no\n * such items, notify of an IllegalArgumentException or NoSuchElementException respectively.\n *\n * \n *\n * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`\n * callback if the Observable completes before any `next` notification was sent.\n * @param {Function} predicate - A predicate function to evaluate items emitted by the source Observable.\n * @return {Observable} An Observable that emits the single item emitted by the source Observable that matches\n * the predicate.\n .\n * @method single\n * @owner Observable\n */\nfunction single(predicate) {\n return single_1.single(predicate)(this);\n}\nexports.single = single;\n\n\n/***/ }),\n/* 894 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar skip_1 = __webpack_require__(895);\nObservable_1.Observable.prototype.skip = skip_1.skip;\n\n\n/***/ }),\n/* 895 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar skip_1 = __webpack_require__(377);\n/**\n * Returns an Observable that skips the first `count` items emitted by the source Observable.\n *\n * \n *\n * @param {Number} count - The number of times, items emitted by source Observable should be skipped.\n * @return {Observable} An Observable that skips values emitted by the source Observable.\n *\n * @method skip\n * @owner Observable\n */\nfunction skip(count) {\n return skip_1.skip(count)(this);\n}\nexports.skip = skip;\n\n\n/***/ }),\n/* 896 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar skipLast_1 = __webpack_require__(897);\nObservable_1.Observable.prototype.skipLast = skipLast_1.skipLast;\n\n\n/***/ }),\n/* 897 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar skipLast_1 = __webpack_require__(378);\n/**\n * Skip the last `count` values emitted by the source Observable.\n *\n * \n *\n * `skipLast` returns an Observable that accumulates a queue with a length\n * enough to store the first `count` values. As more values are received,\n * values are taken from the front of the queue and produced on the result\n * sequence. This causes values to be delayed.\n *\n * @example Skip the last 2 values of an Observable with many values\n * var many = Rx.Observable.range(1, 5);\n * var skipLastTwo = many.skipLast(2);\n * skipLastTwo.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 1 2 3\n *\n * @see {@link skip}\n * @see {@link skipUntil}\n * @see {@link skipWhile}\n * @see {@link take}\n *\n * @throws {ArgumentOutOfRangeError} When using `skipLast(i)`, it throws\n * ArgumentOutOrRangeError if `i < 0`.\n *\n * @param {number} count Number of elements to skip from the end of the source Observable.\n * @returns {Observable} An Observable that skips the last count values\n * emitted by the source Observable.\n * @method skipLast\n * @owner Observable\n */\nfunction skipLast(count) {\n return skipLast_1.skipLast(count)(this);\n}\nexports.skipLast = skipLast;\n\n\n/***/ }),\n/* 898 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar skipUntil_1 = __webpack_require__(899);\nObservable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil;\n\n\n/***/ }),\n/* 899 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar skipUntil_1 = __webpack_require__(379);\n/**\n * Returns an Observable that skips items emitted by the source Observable until a second Observable emits an item.\n *\n * \n *\n * @param {Observable} notifier - The second Observable that has to emit an item before the source Observable's elements begin to\n * be mirrored by the resulting Observable.\n * @return {Observable} An Observable that skips items from the source Observable until the second Observable emits\n * an item, then emits the remaining items.\n * @method skipUntil\n * @owner Observable\n */\nfunction skipUntil(notifier) {\n return skipUntil_1.skipUntil(notifier)(this);\n}\nexports.skipUntil = skipUntil;\n\n\n/***/ }),\n/* 900 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar skipWhile_1 = __webpack_require__(901);\nObservable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile;\n\n\n/***/ }),\n/* 901 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar skipWhile_1 = __webpack_require__(380);\n/**\n * Returns an Observable that skips all items emitted by the source Observable as long as a specified condition holds\n * true, but emits all further source items as soon as the condition becomes false.\n *\n * \n *\n * @param {Function} predicate - A function to test each item emitted from the source Observable.\n * @return {Observable} An Observable that begins emitting items emitted by the source Observable when the\n * specified predicate becomes false.\n * @method skipWhile\n * @owner Observable\n */\nfunction skipWhile(predicate) {\n return skipWhile_1.skipWhile(predicate)(this);\n}\nexports.skipWhile = skipWhile;\n\n\n/***/ }),\n/* 902 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar startWith_1 = __webpack_require__(280);\nObservable_1.Observable.prototype.startWith = startWith_1.startWith;\n\n\n/***/ }),\n/* 903 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar Observable_1 = __webpack_require__(0);\nvar subscribeOn_1 = __webpack_require__(904);\nObservable_1.Observable.prototype.subscribeOn = subscribeOn_1.subscribeOn;\n\n\n/***/ }),\n/* 904 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar subscribeOn_1 = __webpack_require__(905);\n/**\n * Asynchronously subscribes Observers to this Observable on the specified IScheduler.\n *\n * \n *\n * @param {Scheduler} scheduler - The IScheduler to perform subscription actions on.\n * @return {Observable} The source Observable modified so that its subscriptions happen on the specified IScheduler.\n .\n * @method subscribeOn\n * @owner Observable\n */\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return subscribeOn_1.subscribeOn(scheduler, delay)(this);\n}\nexports.subscribeOn = subscribeOn;\n\n\n/***/ }),\n/* 905 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar SubscribeOnObservable_1 = __webpack_require__(906);\n/**\n * Asynchronously subscribes Observers to this Observable on the specified IScheduler.\n *\n * \n *\n * @param {Scheduler} scheduler - The IScheduler to perform subscription actions on.\n * @return {Observable} The source Observable modified so that its subscriptions happen on the specified IScheduler.\n .\n * @method subscribeOn\n * @owner Observable\n */\nfunction subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nexports.subscribeOn = subscribeOn;\nvar SubscribeOnOperator = (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable_1.SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n\n\n/***/ }),\n/* 906 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = __webpack_require__(0);\nvar asap_1 = __webpack_require__(381);\nvar isNumeric_1 = __webpack_require__(106);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar SubscribeOnObservable = (function (_super) {\n __extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) { delayTime = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n _super.call(this);\n this.source = source;\n this.delayTime = delayTime;\n this.scheduler = scheduler;\n if (!isNumeric_1.isNumeric(delayTime) || delayTime < 0) {\n this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = asap_1.asap;\n }\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) { delay = 0; }\n if (scheduler === void 0) { scheduler = asap_1.asap; }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n /** @deprecated internal use only */ SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable_1.Observable));\nexports.SubscribeOnObservable = SubscribeOnObservable;\n\n\n/***/ }),\n/* 907 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Immediate_1 = __webpack_require__(908);\nvar AsyncAction_1 = __webpack_require__(104);\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If a microtask has already been scheduled, don't schedule another\n // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n // the current scheduled microtask id.\n return scheduler.scheduled || (scheduler.scheduled = Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n // If the scheduler queue is empty, cancel the requested microtask and\n // set the scheduled flag to undefined so the next AsapAction will schedule\n // its own.\n if (scheduler.actions.length === 0) {\n Immediate_1.Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n };\n return AsapAction;\n}(AsyncAction_1.AsyncAction));\nexports.AsapAction = AsapAction;\n\n\n/***/ }),\n/* 908 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\nSome credit for this helper goes to http://github.com/YuzuJS/setImmediate\n*/\n\nvar root_1 = __webpack_require__(37);\nvar ImmediateDefinition = (function () {\n function ImmediateDefinition(root) {\n this.root = root;\n if (root.setImmediate && typeof root.setImmediate === 'function') {\n this.setImmediate = root.setImmediate.bind(root);\n this.clearImmediate = root.clearImmediate.bind(root);\n }\n else {\n this.nextHandle = 1;\n this.tasksByHandle = {};\n this.currentlyRunningATask = false;\n // Don't get fooled by e.g. browserify environments.\n if (this.canUseProcessNextTick()) {\n // For Node.js before 0.9\n this.setImmediate = this.createProcessNextTickSetImmediate();\n }\n else if (this.canUsePostMessage()) {\n // For non-IE10 modern browsers\n this.setImmediate = this.createPostMessageSetImmediate();\n }\n else if (this.canUseMessageChannel()) {\n // For web workers, where supported\n this.setImmediate = this.createMessageChannelSetImmediate();\n }\n else if (this.canUseReadyStateChange()) {\n // For IE 6–8\n this.setImmediate = this.createReadyStateChangeSetImmediate();\n }\n else {\n // For older browsers\n this.setImmediate = this.createSetTimeoutSetImmediate();\n }\n var ci = function clearImmediate(handle) {\n delete clearImmediate.instance.tasksByHandle[handle];\n };\n ci.instance = this;\n this.clearImmediate = ci;\n }\n }\n ImmediateDefinition.prototype.identify = function (o) {\n return this.root.Object.prototype.toString.call(o);\n };\n ImmediateDefinition.prototype.canUseProcessNextTick = function () {\n return this.identify(this.root.process) === '[object process]';\n };\n ImmediateDefinition.prototype.canUseMessageChannel = function () {\n return Boolean(this.root.MessageChannel);\n };\n ImmediateDefinition.prototype.canUseReadyStateChange = function () {\n var document = this.root.document;\n return Boolean(document && 'onreadystatechange' in document.createElement('script'));\n };\n ImmediateDefinition.prototype.canUsePostMessage = function () {\n var root = this.root;\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `root.postMessage` means something completely different and can't be used for this purpose.\n if (root.postMessage && !root.importScripts) {\n var postMessageIsAsynchronous_1 = true;\n var oldOnMessage = root.onmessage;\n root.onmessage = function () {\n postMessageIsAsynchronous_1 = false;\n };\n root.postMessage('', '*');\n root.onmessage = oldOnMessage;\n return postMessageIsAsynchronous_1;\n }\n return false;\n };\n // This function accepts the same arguments as setImmediate, but\n // returns a function that requires no arguments.\n ImmediateDefinition.prototype.partiallyApplied = function (handler) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var fn = function result() {\n var _a = result, handler = _a.handler, args = _a.args;\n if (typeof handler === 'function') {\n handler.apply(undefined, args);\n }\n else {\n (new Function('' + handler))();\n }\n };\n fn.handler = handler;\n fn.args = args;\n return fn;\n };\n ImmediateDefinition.prototype.addFromSetImmediateArguments = function (args) {\n this.tasksByHandle[this.nextHandle] = this.partiallyApplied.apply(undefined, args);\n return this.nextHandle++;\n };\n ImmediateDefinition.prototype.createProcessNextTickSetImmediate = function () {\n var fn = function setImmediate() {\n var instance = setImmediate.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent, handle));\n return handle;\n };\n fn.instance = this;\n return fn;\n };\n ImmediateDefinition.prototype.createPostMessageSetImmediate = function () {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var root = this.root;\n var messagePrefix = 'setImmediate$' + root.Math.random() + '$';\n var onGlobalMessage = function globalMessageHandler(event) {\n var instance = globalMessageHandler.instance;\n if (event.source === root &&\n typeof event.data === 'string' &&\n event.data.indexOf(messagePrefix) === 0) {\n instance.runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n onGlobalMessage.instance = this;\n root.addEventListener('message', onGlobalMessage, false);\n var fn = function setImmediate() {\n var _a = setImmediate, messagePrefix = _a.messagePrefix, instance = _a.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n instance.root.postMessage(messagePrefix + handle, '*');\n return handle;\n };\n fn.instance = this;\n fn.messagePrefix = messagePrefix;\n return fn;\n };\n ImmediateDefinition.prototype.runIfPresent = function (handle) {\n // From the spec: 'Wait until any invocations of this algorithm started before this one have completed.'\n // So if we're currently running a task, we'll need to delay this invocation.\n if (this.currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // 'too much recursion' error.\n this.root.setTimeout(this.partiallyApplied(this.runIfPresent, handle), 0);\n }\n else {\n var task = this.tasksByHandle[handle];\n if (task) {\n this.currentlyRunningATask = true;\n try {\n task();\n }\n finally {\n this.clearImmediate(handle);\n this.currentlyRunningATask = false;\n }\n }\n }\n };\n ImmediateDefinition.prototype.createMessageChannelSetImmediate = function () {\n var _this = this;\n var channel = new this.root.MessageChannel();\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n _this.runIfPresent(handle);\n };\n var fn = function setImmediate() {\n var _a = setImmediate, channel = _a.channel, instance = _a.instance;\n var handle = instance.addFromSetImmediateArguments(arguments);\n channel.port2.postMessage(handle);\n return handle;\n };\n fn.channel = channel;\n fn.instance = this;\n return fn;\n };\n ImmediateDefinition.prototype.createReadyStateChangeSetImmediate = function () {\n var fn = function setImmediate() {\n var instance = setImmediate.instance;\n var root = instance.root;\n var doc = root.document;\n var html = doc.documentElement;\n var handle = instance.addFromSetImmediateArguments(arguments);\n // Create a